Commit Graph

347 Commits

Author SHA1 Message Date
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
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
c1b6b4494a Implement starting kitty hidden
Fixes #3466
2025-04-23 08:50:02 +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
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
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
af9e9fbc6f Fix #8138 2024-12-20 08:58:35 +05:30
Robin Carlier
2005069f90 Panel: fix height, exclusive zone flag, better helptext 2024-11-24 10:48:37 +01:00
Robin Carlier
5f1c603220 Panel: add options for margin 2024-11-23 21:07:57 +01:00
Robin Carlier
ce2bcbb92d Panel: add a edge=none option 2024-11-23 21:07:57 +01:00
Robin Carlier
4eb8e6052f Panel: choose the display layer 2024-11-23 21:07:57 +01:00
Kovid Goyal
16c82c7c16 Fix alpha conversion for wayland single pixel buffer 2024-10-20 09:35:28 +05:30
Kovid Goyal
3e8abaac58 ... 2024-08-27 10:30:35 +05:30
Kovid Goyal
68401eddba Wayland: Don't do two stage window creation
We cant make window visible after createwindow has returned because we
want to loop till the compositor fully creates the window and that loop
requires attaching a single pixel buffer to the window surface which
cannot be done once an OpenGL context is created for the window.

As far as I can see the preshow callback is not used on Wayland for
anything, so this should be OK to do.
2024-08-27 10:25:18 +05:30
Kovid Goyal
0594033b31 Wayland: Move creation of OpenGL context to end of window creation function
Apparently with explicit sync it is now not possible to attach a
temporary buffer to a surface that also has an OpenGL context. So we
first attach the temporary buffer, and only after we are done waiting
for window creation do we attach the OpenGL context to the window
surface.

Fixes #7767 (maybe, not installing sway-git to check)
2024-08-26 15:36:27 +05:30
Kovid Goyal
c18098d872 Cleanup DBUS send notification API 2024-07-26 23:57:36 +05:30
Kovid Goyal
190566be8e Wayland: Fix specifying the output name for the panel kitten not working
Fixes #7573
2024-06-25 12:53:37 +05:30
Kovid Goyal
48f053b8cc Fix #7555 2024-06-18 05:59:12 +05:30
Adam Schmalhofer
8fabc47776 Fix Gnome 44 invisible title bar on Wayland
a.k.a. title bar is completely missing

Fixes: https://github.com/kovidgoyal/kitty/issues/7425
2024-06-17 13:18:48 +02:00
Kovid Goyal
2a6870b21f Wayland labwc: Fix kitty timing out waiting for compositor to quit fucking around with scales on labwc
labwc is unique among Wayland compositors in implementing fractional
scale but not preferred integer buffer scale events. We didn't cater to
this particular combination of before. And to top it off it appears to
have no way for the user to set/control the scale so I cant even test
what it will do with fractional scales other than 1. Sigh. As with all
things Wayland, you need to be a masochist to subject yourself to them.

Fixes #7540
2024-06-16 15:01:46 +05:30
Kovid Goyal
88aa4d1de3 Revert 72272ab4fe
Apparently NVIDIA drivers dont handle this well. Sigh.

Go back to calling wl_egl_window_resize() before resizing the
framebuffer instead of before swapping in the resized framebuffer.
Logically, these should be equivalent, but...

Wayland is such an ongoing disaster.

Fixes #7493 (I hope).
2024-06-02 19:24:00 +05:30
Kovid Goyal
55417e4269 Move the window context changing during show fix into glfw code
It more logically belongs there.
2024-05-28 09:46:16 +05:30
Kovid Goyal
32f3d43aa0 Support setting urgency for DBUS notifications 2024-05-16 20:10:26 +05:30
Kovid Goyal
65f06e8fdb Wayland: Fix crash on compositors that dont support the window activation protocol 2024-05-06 08:52:01 +05:30
Kovid Goyal
ce4237c45d DRYer 2024-05-05 14:09:18 +05:30