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
Kovid Goyal
849dcd424d
Wayland: save energy by not rendering "suspended" windows on compositors that support that
...
Note that this breaks kitty on GNOME 45 which has a bug, but it fine on
GNOME 46.
2024-05-05 13:42:51 +05:30
Kovid Goyal
8c7994c0ac
Dont call wl_egl_window_resize on every swap
2024-04-24 10:04:06 +05:30
Kovid Goyal
8e59b598e0
Improve logging slightly
2024-04-24 09:38:59 +05:30
Kovid Goyal
72272ab4fe
Remove need for context switching
...
Call wl_egl_window_resize just buffer swapping buffers at which point
the context is already correct.
Also might workaround bugs in the NVIDIA driver: https://github.com/NVIDIA/egl-wayland/issues/52
2024-04-24 09:27:02 +05:30
Kovid Goyal
0f00b0cfb6
Use RAII for context management
2024-04-24 08:21:27 +05:30
Kovid Goyal
9755d0d879
Wayland: Ensure context is correct when calling wl_egl_window_resize
...
Fixes #7373 (I hope)
2024-04-22 18:07:34 +05:30
Kovid Goyal
fbefd8600f
output window id is debug logs useful for debugging issues with multiple os windows
2024-04-22 14:04:26 +05:30
Kovid Goyal
8d1b0e54af
Use double for wayland float calculation
2024-04-19 22:23:01 +05:30
Kovid Goyal
494892c7e4
Dont create the region unless actually needed
2024-04-16 18:16:28 +05:30
Kovid Goyal
6c1a83ffd7
Wayland KDE: Fix window background blur not adapting when window is grown. Also fix turning it on and off not working.
...
Fixes #7351
2024-04-16 18:11:26 +05:30
Kovid Goyal
8fc96c5bd7
Make the debug logging functions consistent
...
They now all output the same format of:
[time since program start] msg
2024-04-08 12:53:55 +05:30
Kovid Goyal
d392aba64d
Wayland CSD: Dont render window shadows for docked windows
2024-04-08 10:59:03 +05:30
Kovid Goyal
eb96830aa0
Make CSD API functions naming consistent
2024-04-07 10:18:13 +05:30
Kovid Goyal
283eba9667
Wayland: Respect top level bounds sent by compositor
2024-04-06 17:29:17 +05:30
Kovid Goyal
5b1fdc34eb
Wire up the buttons
2024-04-06 14:58:31 +05:30
Kovid Goyal
60cb0fa650
Move CSD pointer handling code into CSD file
2024-04-06 12:49:07 +05:30
Kovid Goyal
d4cc5aa698
Report errors when attempts are made to perform actions the compositor doesnt support
2024-04-06 11:09:22 +05:30
Kovid Goyal
235b8dc2e4
Assume all capabilities on compositors that dont support reporting of capabilities
2024-04-06 10:59:28 +05:30
Kovid Goyal
4f6faddbab
Implement rendering of window control buttons in CSD
...
They still need to be wired up
2024-04-06 08:32:07 +05:30
Kovid Goyal
9225bd772d
Reduce CSD API surface
2024-04-05 19:57:43 +05:30
Kovid Goyal
9e55951d5a
...
2024-04-05 19:37:41 +05:30
Kovid Goyal
d9663aa135
Make code a little clearer
2024-04-05 19:29:51 +05:30
Kovid Goyal
9d86448585
Wayland: Allow hiding window decorations on compositors with SSD as well
2024-04-05 19:23:42 +05:30
Kovid Goyal
1bffe89b5d
Wayland GNOME: titlebar color now follows system theme
...
When GNOME system theme is default, the color matches the background
color. When it is dark it is dark.
2024-04-04 21:52:56 +05:30
Kovid Goyal
bdfa57039c
Get rid of frame dependent size storage in kitty layer
...
This unifies behaviour with CSD and SSD. Now, in both cases the
remembered size is the size of the content area.
2024-04-04 19:39:02 +05:30
Kovid Goyal
f51c2f08a5
DRYer
2024-04-04 19:11:21 +05:30
Kovid Goyal
76999d1a67
Fix creation of single pixel buffer to use 32 bits per color channel
2024-04-04 16:13:28 +05:30
Kovid Goyal
b4bba99678
Use single pixel buffer protocol for more efficient temp buffer creation
2024-04-04 09:00:33 +05:30
Kovid Goyal
aca13a619a
Retry all the ssh kitten tests on failure once
2024-03-26 19:45:20 +05:30
Kovid Goyal
dd879c413a
Initialize temp wayland buffer with background color
2024-03-26 19:31:27 +05:30
Kovid Goyal
351e96ca75
Ensure temp buffer is destroyed once normal swapping is in place
2024-03-26 17:13:31 +05:30
Kovid Goyal
610390ed69
abort ready loop if window receives a close event
2024-03-26 15:44:02 +05:30
Kovid Goyal
a40a36d191
Wayland: Remove the 120ms penalty from waiting for window creation
...
When showing the window we loop in the wayland backend using a
temporary buffer of blank pixels to force the compositor to finish
setting up the top level surface pronto.
TODO: Set the color of the temmporary buffer to the background color
2024-03-26 15:40:13 +05:30
Kovid Goyal
073f78badb
...
2024-03-26 14:09:19 +05:30
Kovid Goyal
0c5e8be49a
...
2024-03-26 14:06:39 +05:30
Kovid Goyal
f7a7765ba2
Clean up debug rendering output
2024-03-26 13:06:08 +05:30
Kovid Goyal
adf5917325
Wayland: Only launch child after OS Window achieves its final size
...
Avoids a bunch of SIGIWNCH during child startup as not all programs
handle these correctly. Sadly adds about 0.1 seconds of latency to
startup. Will have to look into reducing that. The Wayland protocol is
*so badly* designed.
2024-03-26 12:48:45 +05:30
Kovid Goyal
f5314cb862
...
2024-03-26 11:48:57 +05:30
Kovid Goyal
6398dd5b75
Move xdg confugure response into its own function
2024-03-26 11:17:27 +05:30
Kovid Goyal
2edd332759
Flag to indicate that we expect scale from compositor
2024-03-26 10:41:40 +05:30
Kovid Goyal
006a047276
Also output pointer shape changes when debugging
2024-03-26 09:18:06 +05:30
Kovid Goyal
db3a49fc4b
Wayland KDE: Fix mouse cursor hiding not working in Plasma 6
...
kwin in Plasma 6 now requires usage of pointer_enter_serial instead of
last received serial for wl_set_cursor_image(). Hopefully, this wont
break any other compositors.
Fixes #7265
2024-03-26 09:02:59 +05:30
Kovid Goyal
a58187943d
...
2024-03-25 18:31:02 +05:30
Kovid Goyal
396def91e5
kwin requires layer properties to be set at creation time
2024-03-25 17:40:14 +05:30
Kovid Goyal
0dd2c3ea27
Edge panels now work
...
Tested under sway
2024-03-25 13:52:20 +05:30
Kovid Goyal
d56fbb88e5
More work on getting layer to actually render
2024-03-25 12:46:31 +05:30
Kovid Goyal
e9689ea50d
Fix wayland backend windowfocused() implementation
2024-03-25 10:33:27 +05:30
Kovid Goyal
5f7e53bfde
...
2024-03-25 08:54:10 +05:30