Kovid Goyal
3cf24afdc0
Refactor drop API and implement it on Wayland
2026-02-08 22:05:14 +05:30
Kovid Goyal
9aab18d724
DRYer
2026-02-07 23:11:42 +05:30
Kovid Goyal
0d465f71a3
More work on cocoa darg drop still not functional
...
I think I am going to rewrite the API to integrate with the event loop,
now that I have a good handle on the semantics of DnD in the two major
platforms.
2026-02-07 23:00:23 +05:30
Kovid Goyal
19f24f2623
Get drag and drop to self working in cocoa backend
2026-02-07 16:42:56 +05:30
copilot-swe-agent[bot]
7ca6fd66f8
Fix self drag not working under Wayland
...
Fixes #9483
2026-02-07 15:10:54 +05:30
Kovid Goyal
07a9f2bcaa
API to start a drag
2026-02-07 13:50:16 +05:30
copilot-swe-agent[bot]
5ea35cbbfc
Refactor drag API to make it asynchronous
...
Fixes #9477
2026-02-07 08:59:34 +05:30
Kovid Goyal
b66f8e9ed8
...
2026-02-05 20:20:18 +05:30
Kovid Goyal
d51dec8187
When dropping, paste into window under mouse cursor rather than active window
2026-02-04 21:21:25 +05:30
Kovid Goyal
9a2ddc887b
Cleanup new chunked drop code and use it in kitty
...
Currently the chunking is useful but it will become useful for a future
drag and drop TUI protocol
2026-02-04 20:34:10 +05:30
copilot-swe-agent[bot]
ed5eb8f45c
Allow reading dropped data in chunks
...
Fixes #9470
2026-02-04 14:18:28 +05:30
copilot-swe-agent[bot]
fac4420804
Simplify new drag/drop API
...
Fixes #9466
2026-02-03 22:02:51 +05:30
copilot-swe-agent[bot]
9b35c1b535
Allow changing drag acceptance asynchronously
...
Fixes #9465
2026-02-03 14:43:44 +05:30
copilot-swe-agent[bot]
6744183027
Accept drags based on mime types in drag event callback
...
Fixes #9456
2026-02-02 21:30:25 +05:30
copilot-swe-agent[bot]
fa6c76d3e3
Add a GLFW API to support starting drag operations
...
Fixes #9454
Fixes #9455
2026-02-02 20:49:00 +05:30
Kovid Goyal
bc5c349d53
Linux: Rather than crashing on systems that give us broken keymaps just ignore key events
2026-01-30 19:00:46 +05:30
Kovid Goyal
d0249c1e72
Cleanup X11 momentum-scroll
...
Dont cancel on the synthetic key events x11 generates for scrolling.
Also use correct timestamp for duration and expiry of physical events.
2026-01-26 12:40:42 +05:30
copilot-swe-agent[bot]
027b73db64
Add momentum scrolling for X11 backend
...
Fixes #9421
2026-01-26 11:51:57 +05:30
Sébastien MORAND
0bf307c95f
macOS: Implement dictation support via accessibility and NSTextInputClient
...
This commit enables macOS dictation (triggered by pressing Fn twice) to work
in kitty by implementing the necessary accessibility methods.
The key fix is changing `selectedRange` to return `NSMakeRange(0, 0)` instead
of `kEmptyRange` (NSNotFound, 0). When selectedRange returns NSNotFound, macOS
dictation cannot determine where to insert text and fails silently.
Additional accessibility methods implemented:
- accessibilitySelectedTextRange: Returns cursor position for dictation
- accessibilityNumberOfCharacters: Returns 0 (terminal has no fixed buffer)
- accessibilityInsertionPointLineNumber: Returns 0
- accessibilityValue: Returns empty string
- setAccessibilityValue: Routes dictated text to keyboard input
This fix is inspired by the similar fix in Emacs v30 which restored dictation
by implementing selectedRange properly after migrating to NSTextInputClient.
Fixes: https://github.com/kovidgoyal/kitty/issues/3732
2026-01-20 10:35:54 +01:00
Kovid Goyal
0d0ee5474d
Cleanup previous PR
2026-01-15 19:26:27 +05:30
copilot-swe-agent[bot]
6436cda482
Add is_finger_based field to XIScrollDevice with detection logic
...
Fixes #9385
2026-01-15 19:18:27 +05:30
Kovid Goyal
9ef934cf54
Wayland: Remove usage of the Wayland color management protocol to inform compositors of the color space used by kitty
...
As is typical with Wayland, the protocol is poorly designed and
implemented even worse. Hyprland 0.53 has completely broken color
management.
https://github.com/hyprwm/Hyprland/discussions/12788
In addition it and mangowc crash when using color management with nouveau drivers.
https://github.com/kovidgoyal/kitty/issues/9030
KDE kwin does not support the sRGB transfer function. And the geniuses
at Wayland are any way planning to deprecate sRGB as a transfer function.
Only GNOME mutter seems to get it right.
Then there are people that are likely going to shoehorn this into EGL
instead of leaving it under application control via the protocol anyway.
https://github.com/KhronosGroup/EGL-Registry/issues/197
Sigh. Wayland.
2026-01-15 09:53:09 +05:30
Kovid Goyal
c389f4d5b8
Wayland: Fix doubled key repeat events when compositor sends repeat events
...
Fixes #9374
2026-01-15 08:13:37 +05:30
Kovid Goyal
da170555fa
Ignore master pointer device events since we use the slave devices
2026-01-11 12:57:56 +05:30
Kovid Goyal
1efded85bc
Support for old compilers
2026-01-11 11:02:14 +05:30
Kovid Goyal
69a25691c5
X11: Fix mouse motion events not being handled
...
The code to use XI_Motion for scroll events needed to handle motion
events too
2026-01-11 10:44:47 +05:30
copilot-swe-agent[bot]
bfc21fc7a4
X11: handle XI device hotplugging
...
Fixes #9370
2026-01-10 09:00:37 +05:30
Kovid Goyal
813c560e29
Implement proper scroll event type detection in X11
...
Uses libinput scroll mode property to detect high res devices.
2026-01-10 08:38:45 +05:30
Kovid Goyal
15206eda0b
Add XIGetQuery
2026-01-10 06:17:53 +05:30
Kovid Goyal
f8426d529c
...
2026-01-10 05:51:59 +05:30
Kovid Goyal
21da5350d3
Update changelog
2026-01-09 17:22:26 +05:30
copilot-swe-agent[bot]
c1a54a0cc0
Add XI2 smooth scrolling support for X11 backend
...
Fixes #9369
2026-01-09 17:13:24 +05:30
Kovid Goyal
dd9c61e5f6
...
2026-01-09 14:44:40 +05:30
Kovid Goyal
2ab0fcb373
Make Wayland momentum scrolling configurable
2026-01-09 13:46:49 +05:30
Kovid Goyal
1f43a75a07
DRYer
2026-01-09 13:26:44 +05:30
Kovid Goyal
c0add3198b
Use logical pixels for momentum velocity settings
2026-01-09 13:21:04 +05:30
Kovid Goyal
779fb0d5c5
Cancel momentum scroll on button and key events
2026-01-09 13:15:37 +05:30
Kovid Goyal
3232551c39
Revert to using a fixed timer interval
...
Sadly, we cant rely on the Wayland compositor to send us reliably timed
scroll events.
2026-01-09 13:10:16 +05:30
Kovid Goyal
858240e324
Momentum scroller: discard unsuitable physical events
2026-01-09 12:56:05 +05:30
Kovid Goyal
3c250a741d
Wayland: Fix line and v120 scroll event types being multiplied by screen scale
...
This does not match X11/macOS behavior. And I see no logical reason why
it should be so. The wheel_scroll_multiplier should be used to adjust
this by end users.
2026-01-09 12:50:07 +05:30
Kovid Goyal
48de08ded1
Derive timer interval in the momentum scroller from previous scroll events
2026-01-09 10:40:24 +05:30
Kovid Goyal
32f7f8d321
Remove unneeded axis event timestamp
2026-01-05 20:13:33 +05:30
Kovid Goyal
e825005861
Remove unused field
2026-01-05 20:08:09 +05:30
Kovid Goyal
e1199bcee2
Initial implementation of momentum for finger based scrolling on Wayland
...
Needs configuration and possibly the parameter adjustment once pixel
scrolling is merged.
2026-01-05 19:52:44 +05:30
Kovid Goyal
ba389d68b9
macOS: Fix changes to macos_titlebar_color while in full screen not being applied after exiting fullscreen
...
Fixes #9350
2026-01-03 00:19:03 +05:30
Kovid Goyal
0f1362524b
Store more information about axis events from Wayland
2026-01-01 13:25:30 +05:30
Kovid Goyal
ba3af8f2c3
Refactor GLFW scroll event callback to use a proper event struct
2025-12-31 23:40:34 +05:30
Kovid Goyal
06e7f5ec37
Fix #9306
2025-12-20 08:54:22 +05:30
Kovid Goyal
4f73374a12
YATB: Yet Another Tahoe Bug from the company that should stick to selling fruit
...
Fixes #9299
2025-12-18 11:13:38 +05:30
Kovid Goyal
99b1eca3c8
Disable NSAutoFillHeuristicController on spec
2025-12-18 10:16:59 +05:30
Kovid Goyal
71a7dda522
...
2025-12-05 07:51:04 +05:30
Kovid Goyal
3b78fd646e
...
2025-12-03 22:57:14 +05:30
Kovid Goyal
16008b950a
Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute
...
On compositors that support compositor key repeat events, use those, for
complete robustness. Sadly no actual compositor implements these yet.
Otherwise use a timer fd/pipe to queue the repeat events and only
dispatch them after events from the compositor are handled. This means
release events from the compositor will prevent spurious repeat events.
One can, in the worst case lose some repeat events if there is a very
large interval between the start of the timer and the next poll, but
that is unavoidable and is why repeat events should come from the compositor
in the first place.
Fixes #9224
2025-12-03 22:26:09 +05:30
Kovid Goyal
ca945563bb
Wayland: add support for compositor provided key repeat events
...
Far more robust. Sadly no actual compositors yet support this. Fifteen
years it takes Wayland developers to correct their most basic mistakes.
See #9224
2025-12-03 20:02:46 +05:30
Kovid Goyal
76f9cdc426
...
2025-11-22 20:03:01 +05:30
Kovid Goyal
35d95d7a43
Also remove shadow from zero sized window
...
Hopefully that means no clickable region at all?
2025-11-12 14:01:37 +05:30
Kovid Goyal
98e13787a9
...
2025-11-12 12:23:24 +05:30
Kovid Goyal
81f429d52b
Move the code to cycle through OS Windows into glfw
2025-11-12 12:02:38 +05:30
Kovid Goyal
a4a7f77ef1
Use __block rather than __weak since we are in manual ref counting regime
2025-11-12 09:31:31 +05:30
Kovid Goyal
33b9d858ad
Nano-optimisation: Avoid using a block with GCD
2025-10-22 13:40:42 +05:30
Kovid Goyal
6a6b0b47a3
Micro-optimize display link callback
...
Use a GCD block rather than a runtime selector with a boxed number
2025-10-22 13:35:02 +05:30
Kovid Goyal
878b502fc1
Cleanup previous PR
...
The locks were not being initialized, and since I was there did some
general cleanup as well, moved the locks array into displayLinks rather
than having another global namespaced variable.
2025-10-22 09:54:21 +05:30
Scott Lee
fc8f3ca6e2
Improve macOS idle wakeups handling
2025-10-22 07:38:10 +09:00
Kovid Goyal
94f3da53aa
Cleanup previous PR
2025-10-21 09:44:41 +05:30
Evan Goode
80a9bdb999
Smoothly handle VALUE120 scroll events
2025-10-20 09:32:59 -04:00
alex-huff
10e0d11093
panel: use an anchor of 0 for --edge=center-sized
...
Fixes #9116
2025-10-16 10:04:55 -05:00
Kovid Goyal
3ba6c3f4b9
macOS: Handle dropping of file promises into kitty in addition to file paths
...
Fixes #9084
2025-10-11 11:02:51 +05:30
alex-huff
1967fd9dd5
panel: implemented --edge=none on X11
2025-10-09 17:18:40 -05:00
Kovid Goyal
2babfa7ebf
macOS: Further restrict the live resize callback to only be used when live resize is actually in progress
2025-10-07 18:23:08 +05:30
Kovid Goyal
d3c5cb12c4
macOS: Dont do live resizing when window is fullscreen
...
The live resize causes crashes on some Tahoe machines due to macOS bugs.
It is not needed anyway when the window is fullscreen, so ignore it.
2025-10-07 08:57:57 +05:30
Kovid Goyal
a0699f5c9e
Remove the dropping of the first resize event since it did not fix the issue
...
Add a check to only callback if the thread is the main thread
2025-10-06 18:39:53 +05:30
Kovid Goyal
270c598f2c
macOS: Only live resize for resize events that occur in quick succession
...
Apparently on some systems Tahoe sends a resize event on wake from
sleep/lid open for obscure reasons and then proceeds to crash if one
redraws during that event. Sigh.
2025-10-02 19:39:13 +05:30
Kovid Goyal
a8e930c167
Fix titlebar color not working for opaque windows
...
As long as titlebar_color is not nil, we need a background view
2025-09-29 22:36:27 +05:30
Kovid Goyal
75ec41e08b
Make titlebar background view a child of the titlebar view itself
2025-09-29 22:02:38 +05:30
Kovid Goyal
13bbaee112
Only insert titlebar background view if the titlebar is transparent
2025-09-29 21:47:40 +05:30
Kovid Goyal
14f75c9a9b
DRYer
2025-09-29 17:44:24 +05:30
Kovid Goyal
d2cc22e7c6
macOS: React to changes in effective appearance of the NSApplication not the content view for each window
...
This is nicer now every OS Windows doesnt cause a notification. Also
fixes #9034 which was caused by us setting an explicit appearance on the
window when the titlebar is set to a specific color thereby preventing
the views in the window from getting appearance change notifications.
2025-09-29 17:17:46 +05:30
Kovid Goyal
f4867928b4
DRYer
2025-09-29 17:00:18 +05:30
Kovid Goyal
1252098016
DRYer
2025-09-29 09:09:49 +05:30
Kovid Goyal
fb4a3d7f17
Revert reversion of Tahoe fix in 7589bf4b11
...
It is still needed. Instead change the frame to havezero size and leaves
its origin unchanged.
2025-09-29 08:58:41 +05:30
Kovid Goyal
bdae74d7ed
Wayland: Ensure color manager get_surface is called just once
...
This should not be needed since create_surface is called just once, but
good to be safe.
2025-09-29 08:36:51 +05:30
Kovid Goyal
e542cd8378
macOS: Fix a big where the color of a transparent titlebar was off when running in the release build versus the build from source. Also fix using a transparent titlebar causing the background opacity to be darkened.
...
There were two issues.
1) Setting window background color to a non-zero opacity causes
darkening (essentially there were two layers of blending)
2) The titlebar background view could end up in the wrong position
because it was a child of the content view rather than its super view
Fix both issues setting the window background to clear color and
moving the background view into the super view while making sure it is
positioned correctly using explicit constraints. Phew.
2025-09-28 21:24:00 +05:30
Kovid Goyal
e024226b0c
Dont need to set origin since we are setting anchors
2025-09-28 20:22:40 +05:30
Kovid Goyal
8bef718c9a
Tighten the scope searched for sub views
2025-09-28 19:46:11 +05:30
Kovid Goyal
b6f9080486
Use explicit constraints for the titlebar bg view
...
Easier to reason about
2025-09-28 17:20:37 +05:30
Kovid Goyal
791902caad
...
2025-09-28 17:03:33 +05:30
Kovid Goyal
09133a7039
Use only one subview for translucent titlebar
2025-09-28 17:01:10 +05:30
Kovid Goyal
57345af8e9
Move titlebar background setting to after window stylemask is set
...
The titlebar height calculation depends on the stylemask
2025-09-28 16:20:52 +05:30
Ethan Wu
7589bf4b11
Revert "Workaround for latest Apple regression in Tahoe"
...
This reverts commit d837a64e36 .
Commit 24b31d96e9 fixes the original
problem of "ghost windows" that d837a64 was trying to solve. (I have no
idea how or why it does.)
One side-effect of the workaround from d837a64 is that it causes closed
windows to be moved to the (0,0) before being destroyed. This means that
when creating new windows, they are placed on the left-most display,
instead of the display in which the previously closed window was on as
you would expect. Reverting this kludge fixes this bug.
2025-09-22 16:50:31 -07:00
Kovid Goyal
982b5156e1
macOS: When toggling in the quick access terminal move it to the currently active screen
...
Fixes #9003
2025-09-22 20:04:42 +05:30
Kovid Goyal
7af7aa95c6
Another workaround for another macOS Tahoe bug
...
Dont redraw an OSWindow during a resize event if the resize event is
accompanied by a screen change as it causes a crash in macOS OpenGL
driver. Fixes #8983
2025-09-19 12:05:34 +05:30
Kovid Goyal
24b31d96e9
No need to use a block as Apple docs guarantee that NSApplicationDidChangeScreenParametersNotification is posted on the main thread
2025-09-19 08:52:09 +05:30
Kovid Goyal
177a3f9e51
DRYer
2025-09-16 08:18:42 +05:30
Kovid Goyal
148d60b9ea
Make CodeQL happy
2025-09-16 07:57:33 +05:30
Kovid Goyal
d837a64e36
Workaround for latest Apple regression in Tahoe
...
Now NSWindow::close no longer actually closes the window. Sigh. Have to
also set its frame to zero size, otherwise an invisible rect remains
that intercepts mouse events and takes up space in Mission Control.
Life is too short for this shit. Fixes #8952
2025-09-05 17:27:46 +05:30
Kovid Goyal
b7c4f42e96
Move preservation of OpenGL context into glfw
...
Allows us to avoid creating an extra hidden window.
2025-09-05 15:29:06 +05:30
Kovid Goyal
21fa5bb1ce
macOS: focusing of minimized window broken
...
This was done to fix #8913 in d7c2cdc .
Explicitly de-miniaturize before making key.
2025-08-23 07:49:06 +05:30
Kovid Goyal
d7c2cdccb1
macOS: Fix closing an OS Window when another OS Window is minimized causing the minimized window to be un-minimized
...
This is a bug we inherited from GLFW.
Fixes #8913
2025-08-18 21:26:54 +05:30
Kovid Goyal
3638adda6c
macOS: Elaborate dance to work around yet another Cocoa bug
...
Fixes #8740
2025-08-18 16:01:51 +05:30
Kovid Goyal
6beded7b49
Cleanup previous PR
2025-08-18 14:45:18 +05:30
zhaolei
ba8acf508f
make macos_titlebar_color background support transparent
2025-08-17 13:37:31 +08:00
Kovid Goyal
363afac8af
Fallback to eglGetDisplay() when eglGetPlatformDisplayEXT() returns EGL_NO_DISPLAY
2025-08-16 08:13:40 +05:30
Kovid Goyal
5ca22d660e
Nicer error handling when EGL context initialize fails
2025-08-16 08:04:48 +05:30
Kovid Goyal
caba27240b
Add some missing assertions
...
Port from upstream glfw: 38ec7abd3baffdd3ec4e6f8cbb5384cda8882ae3
2025-08-16 07:38:54 +05:30
Kovid Goyal
cb42fd82a4
EGL: Fix GLFW_CONTEXT_NO_ERROR on Mesa
...
Mesa EGL requires the context version to be set to 2.0 or greater before
EGL_CONTEXT_OPENGL_NO_ERROR_KHR in the attribute list.
Without this, context creation via Mesa EGL with
EGL_CONTEXT_OPENGL_NO_ERROR_KHR set fails with EGL_BAD_ATTRIBUTE.
Port from upstream glfw: eeeb56eb23c9a23866e8042fb23d7b0b4d96d106
2025-08-16 07:30:32 +05:30
Kovid Goyal
8e39041619
Add assertions for context function invariants
...
Port from upstream glfw
See 93d70cb6a8c9571b5b493936596633a1a8538cea
2025-08-16 07:27:20 +05:30
Kovid Goyal
8b9d802206
Specify the color space on Wayland surfaces
...
Uses sRGB with the sRGB transfer function. Seems to give identical
results as not specifying a color space. But sadly does not get the
compositor to blend in linear space, we need another wayland protocol
extension for that I suppose. Sigh.
2025-07-31 19:18:09 +05:30
Kovid Goyal
2ffa8cd7c2
Apparently gamma22 gives incorrect colors or at least colors different from rendering without color management. srgb transfer function gives expected colors.
2025-07-31 19:07:28 +05:30
Kovid Goyal
caa654b6b8
Also track needed color manager features
2025-07-31 18:53:24 +05:30
Kovid Goyal
12c6d799b7
...
2025-07-31 18:34:29 +05:30
Kovid Goyal
d37bd7afcf
Create the sRGB colorspace description we need
2025-07-31 18:30:47 +05:30
Kovid Goyal
df22e8c9b7
Only report missing features when color manager itself is supported
2025-07-31 15:41:17 +05:30
Kovid Goyal
fe860d170f
Track that the compositor supports the sRGB primary
2025-07-31 15:39:55 +05:30
Kovid Goyal
46114c251b
Create the color manager object for a window surface
2025-07-31 15:24:21 +05:30
Kovid Goyal
77106b1035
DRYer
2025-07-31 15:15:49 +05:30
Kovid Goyal
8762576a5b
Also track support for extlinear transfer function
2025-07-31 15:12:26 +05:30
Kovid Goyal
d0a862bedb
Get the color manager capabilities from the compositor
2025-07-31 15:09:18 +05:30
Kovid Goyal
f04e963683
Bind the wayland color manager interface
2025-07-31 14:37:42 +05:30
Kovid Goyal
55a2f2c55c
Cocoa: fix quick access terminal hide focus restore
...
Apple now makes kitty the front most application before sending the
service notification. So instead watch for front most application change
events from the shared workspace and restore focus to the last non-self
application.
2025-07-21 14:55:12 +05:30
Kovid Goyal
7738c55c4b
Wayland: Fix incorrect window size calculation when transitioning from fullscreen to non-fullscreen with client side decorations
...
Fixes #8826
2025-07-17 20:36:38 +05:30
Kovid Goyal
2456574992
Wayland: Only rely on keyboard enter/leave events for OS window focus state
...
GNOME has broken activated==focused assumption GLFW used to make. Also
follows upstream GLFW behavior. c2f0a0ae59
Fixes #8716
2025-06-09 06:52:56 +05:30
Kovid Goyal
255dd2845e
Implement grab keyboard for x11
2025-05-18 14:49:07 +05:30
Kovid Goyal
abc9b1fc48
...
2025-05-18 12:06:10 +05:30
Kovid Goyal
82523b14df
Wayland: Dont loose keyboard grab when new OS window created
2025-05-18 11:43:41 +05:30
Kovid Goyal
6f689f3221
Work on keyboard grabbing functionality
2025-05-18 11:37:11 +05:30
Jin Liu
4c6c38929b
panel kitten: on Wayland, use app-id for the LayerShellV1 namespace parameter
...
The Wayland LayerShellV1 protocol doesn't allow setting window class/name/role/type/appId.
Instead, it has a `namespace` parameter that we currently hardcode to `kitty`. It
seems suitable to use app-id for this parameter.
Example use case:
kwin use the `namespace` parameter and an undocumented mapping to set window type for
Layer Shell windows. E.g., "dock" maps to NET:Dock. So if we set `app_id dock` in
quick_access_terminal.conf, the panel would be considered a dock, and won't have the
normal scale in/out animation on shown/hidden.
2025-05-15 23:55:48 +08:00
Kovid Goyal
8017945551
Wayland: Add support for the xdg-toplevel-tag protocol
...
Now you can use --name or its alias --os-window-tag to set the tag.
2025-05-15 09:35:42 +05:30
Kovid Goyal
6282a46ff1
A new centered panel type that is sized
2025-05-13 16:38:57 +05:30
Kovid Goyal
88f4c829eb
Improve handling of output names
...
Now can use panel --output-name list to list available outputs.
Also, --output-name works on macOS
2025-05-13 15:29:37 +05:30
Kovid Goyal
8e12cccf26
...
2025-05-13 08:00:35 +05:30
Kovid Goyal
20d6a8e4c5
Fix building on older Cocoa
2025-05-13 07:45:11 +05:30
Kovid Goyal
9ed6be9272
Quick access terminal: Allow toggling the window to full screen and map using the standard kitty toggle_fullscreen shortcut
...
Fixes #8626
2025-05-12 15:20:48 +05:30
Kovid Goyal
015ee41d0f
...
2025-05-12 13:17:46 +05:30
Kovid Goyal
064bc963a8
macOS: Quick access terminal: Restore focus to previously active window when hiding the quick access terminal window
...
Fixes #8627
2025-05-12 13:15:42 +05:30
Kovid Goyal
8a14a5638a
...
2025-05-08 15:30:09 +05:30
Kovid Goyal
2fed0ec562
Linux: Handle desktop settings portals that are so old they don't implement ReadOne
...
Sigh, outdated Linux software, just creating busy work for everyone.
2025-05-08 15:22:42 +05:30
Kovid Goyal
d22381491d
Restore top/bottom panel functionality on i3
2025-05-03 11:12:32 +05:30
Kovid Goyal
43be32a3d7
More atoms
2025-05-02 12:20:54 +05:30
Kovid Goyal
958489f97d
X11: Workaround for floating window position on KDE
2025-05-02 10:11:15 +05:30
Kovid Goyal
afe7dc47c2
Update size in addition to position when updating layer properties
2025-05-02 09:35:25 +05:30
Kovid Goyal
11cb3adb8f
Reduce roundtrips to X server to fetch atom values
2025-05-02 09:28:24 +05:30
Kovid Goyal
a9bc9962f4
X11: add support for --output-name
2025-05-02 08:37:49 +05:30
Kovid Goyal
a2631448e5
X11: fix window type for non background layers
2025-05-02 08:20:51 +05:30
Kovid Goyal
be9624bbdd
Fix px suffix for lines/columns not working
2025-05-02 08:11:49 +05:30
Kovid Goyal
6c0e5f09d3
Fix layer size calculation on high DPI displays under X11
2025-05-02 08:01:35 +05:30
Kovid Goyal
ca688be41c
Use focus policy for controlling input on X11
2025-05-01 21:42:00 +05:30
Kovid Goyal
07342ca801
Fix strut allocation
2025-05-01 21:28:22 +05:30
Kovid Goyal
28dbb4681d
Fix margins for background and input for docks
2025-05-01 20:58:49 +05:30
Kovid Goyal
f04fc251bf
Start work on full panel support in X11
2025-05-01 15:44:08 +05:30
Kovid Goyal
a6b8a7305c
Better error message when X11 window manager doesnt support the needed Atoms for panels
2025-04-30 20:58:57 +05:30
Kovid Goyal
edcfd17ca9
Panel kitten: Add option to hide panel on focus loss
2025-04-30 07:46:41 +05:30
Kovid Goyal
df052edae8
Wayland: Also set layer shell surface layer when showing surface
...
Without this on KDE the layer is reset to background.
2025-04-30 06:38:12 +05:30
Kovid Goyal
4fa67c9ffd
macOS: Relayout layer shell windows on screen size change
2025-04-29 21:33:05 +05:30
Kovid Goyal
50b044f8a2
Allow popup menus from global menubar to function
2025-04-25 20:41:44 +05:30
Kovid Goyal
189d78283c
Get the quake terminal working on macOS
2025-04-25 20:27:26 +05:30
Kovid Goyal
2c2ddbb8f5
Remove useless animate parameter
2025-04-23 20:59:34 +05:30
Kovid Goyal
c3e1f2317b
Finish calculations for other panel types in cocoa
2025-04-23 20:36:35 +05:30
Kovid Goyal
5abc33bcf2
Layer shell: inform compositor of newly desired window size when changing layer shell config
...
Without this non-sway compositors dont send a layer shell configure
event after the surface commit.
Fixes #8566
2025-04-23 19:26:13 +05:30
Kovid Goyal
413a2b96e2
Prevent background panel launch taking focus from key window
2025-04-23 13:16:01 +05:30
Kovid Goyal
09eb5edcca
Get background panel basically working on macOS
2025-04-23 12:42:24 +05:30
Kovid Goyal
88735743cf
Allow negative margin values
2025-04-23 12:05:28 +05:30
Kovid Goyal
c1b6b4494a
Implement starting kitty hidden
...
Fixes #3466
2025-04-23 08:50:02 +05:30
Kovid Goyal
ca30b4196b
Prevent minimize/maximize/fullscreen for layer shell windows
2025-04-23 07:43:36 +05:30
Kovid Goyal
3c4a8a1e7e
Resize OS panels on font size change
2025-04-23 07:43:36 +05:30
Kovid Goyal
ae01cf3c1c
Refactor layer shell size callback to support multiple backends
2025-04-23 07:43:36 +05:30
Kovid Goyal
c9bf7e4236
Factor out Cocoa layer shell code into the proper function
2025-04-23 07:43:36 +05:30
Kovid Goyal
e93338a81c
Start work on macOS support for panel kitten
2025-04-23 07:43:36 +05:30
Kovid Goyal
40f18ac507
make kwin bug searchable
2025-04-22 14:57:08 +05:30
Kovid Goyal
dd5401ebed
...
2025-04-22 14:56:39 +05:30
Kovid Goyal
26affb3513
...
2025-04-22 14:54:23 +05:30
Kovid Goyal
4c0a7223c1
Fix show/hide of OS windows on wayland
2025-04-22 14:53:35 +05:30
Kovid Goyal
8b6a210ac1
Allow specifying --listen-on for panel kitten
2025-04-22 14:29:32 +05:30
Kovid Goyal
22fe41a047
Workaround KDE layer shell bug
2025-04-22 13:46:38 +05:30
Kovid Goyal
fc5fc7c9c4
Remote control: Allow modifying desktop panels and showing/hiding OS Windows using the kitten @ resize-os-window command
...
Also move the visibility toggle debounce into C code with a per OS
Window timer.
Fixes #8550
2025-04-22 13:34:09 +05:30
Kovid Goyal
c1a9873530
API to set layer shell config for existing window
2025-04-22 11:13:32 +05:30
Kovid Goyal
db5b691545
Show a debug message indicating we are waiting for layer shell configure event
2025-04-22 10:49:44 +05:30
Kovid Goyal
5e2d44ce15
Make passing layer shell config to glfw not use a global variable
2025-04-22 10:45:28 +05:30
Kovid Goyal
85d58de035
kitty can finally natively implement a quake like terminal dropdown
...
Currently Wayland (except for GNOME as usual) only.
2025-04-21 20:28:56 +05:30
Kovid Goyal
3ce734ce9c
launch: Allow creating desktop panels
...
Now users can use mappings or remote control to popup new desktop panels
on Wayland in addition to new desktop windows.
Fixes #8549
2025-04-21 14:59:31 +05:30
Kovid Goyal
a8693e45ef
Nicer error message when running panel kitten on a compositor that does not support layer shell
2025-04-21 13:39:16 +05:30
Kovid Goyal
64b5d2d187
More precise error on resize panel attempt
2025-04-21 12:32:20 +05:30
Kovid Goyal
e2cf1e9185
Dont crash when user attempts to resize panel via remote control
...
Fixes #8550
2025-04-20 15:19:35 +05:30
Kovid Goyal
5d2e258c35
Wayland: When the compositor supports the xdg-system-bell protocol use it to play the default bell sound
2025-04-16 15:48:51 +05:30
Kovid Goyal
49092f5a94
Add new wayland top level state enum values
2025-04-09 19:23:27 +05:30
Kovid Goyal
3c57cc02f7
Wayland: panel kitten: Fix incorrect initial font size on compositors such as Hyprland that set scale late in the window creation process
...
Fixes #8496
2025-03-30 16:19:52 +05:30
Kovid Goyal
2c0bc79be1
Typo causing crash on Waylnd compositors that dont support xdg-toplevel-icon
...
Fix #8471
2025-03-24 14:23:32 +05:30
Kovid Goyal
b34a88065b
Wire up clipboard lost events
2025-03-12 09:26:36 +05:30
Kovid Goyal
3b8e0e209b
Wayland: Allow overriding the kitty OS Window icon on compositors that implement the xdg-toplevel-icon protocol
2025-03-10 12:32:03 +05:30
alex-huff
9188d6a664
Wayland: added --edge=center option for panel kitten
2025-03-07 11:11:07 -06:00
alex-huff
a3a5f4fa24
Wayland: Updated anchor for edge=none to be consistent with documentation
2025-03-06 19:35:09 -06:00
Kovid Goyal
27df509206
Nicer fix for enter event mouse tracking
...
Send an explicit mouse event to child when pointer enters window instead
of relying on GLFW to send a cursor position update event.
2025-03-04 11:29:29 +05:30
Kovid Goyal
ac6c652a4d
Fix #8398
2025-03-04 09:49:34 +05:30
Kovid Goyal
0339d59851
Wayland: Fix mouse pointer position update not being sent when focus regained
...
GLFW Wayland backend was not sending a cursor position input event on
mouse entering the window surface.
Fixes #8397
2025-03-04 06:03:42 +05:30
Kovid Goyal
50f64d5981
Only use window occlusion on platforms where it is supported
2025-02-12 12:02:46 +05:30
Kovid Goyal
2cf83070a0
Report ancient xdg-shell versions
2025-02-12 11:31:28 +05:30
Kovid Goyal
0c47f81187
Remove special casing for Hyprland
...
Hyprland has now been fixed to send only a single fractional scale
event, so no need for special casing it.
2025-01-22 18:53:46 +05:30
Kovid Goyal
5e41de9505
...
2025-01-21 16:43:18 +05:30
Kovid Goyal
0527db876b
Wayland niri: Fix 250ms delay on startup when using scale 1
...
We special case Hyprland, hopefully the special casing can be removed
once https://github.com/hyprwm/Hyprland/issues/9126 is fixed.
Fixes #8236
2025-01-21 16:40:32 +05:30
Kovid Goyal
b256f56afb
...
2025-01-21 15:13:54 +05:30
Kovid Goyal
7346aca56d
Function to probe for Wayland compositor name
...
Maybe needed to workaround #8236
2025-01-21 15:10:07 +05:30