Commit Graph

287 Commits

Author SHA1 Message Date
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
Kovid Goyal
de1dee6c3b Debug setting of exclusive zone 2024-03-24 21:57:52 +05:30
Kovid Goyal
0b6943fb5a ... 2024-03-24 20:48:20 +05:30
Kovid Goyal
333ea519ed Infrastructure to go from panel CLI opts all the way to wayland layer shell implementation 2024-03-24 20:48:20 +05:30
Kovid Goyal
fe5ccc144b Finish glfw side support for layer shell 2024-03-24 20:48:20 +05:30
Kovid Goyal
0641ec2d89 GLFW API for configuring a window as a layer shell 2024-03-24 20:48:20 +05:30
Kovid Goyal
1c9f9a74e8 Wayland KDE: Add support for background_blur under kwin using a kwin private Wayland protocol 2024-03-22 13:41:44 +05:30
Kovid Goyal
83468535dd Implement support for preferred buffer scale 2024-03-21 20:53:36 +05:30
Kovid Goyal
55115058d2 Scale pointer axis events by effective scale 2024-03-21 20:53:36 +05:30
Kovid Goyal
776bfa3d7e Basic fractional scale protocol works 2024-03-21 20:53:36 +05:30
Kovid Goyal
6979f1c5eb Add listener for fractional scale events 2024-03-21 20:53:36 +05:30
Kovid Goyal
eb42ad3a2b Rename scale to integer_scale
We will presumably have a fractional_scale soon
2024-03-21 20:53:36 +05:30
Kovid Goyal
ce2e1b0813 Ensure we dont pass a NULL pointer to wl_pointer_set_cursor()
Possible fix for #7139
2024-02-20 23:31:18 +05:30