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
6e1df67e03
Use xdg-shell version 6
...
This gives us window "suspended" events. Theoretically these could be
used to implement glfwWindowIconified() and thereby not render suspended
OS windows. However let's wait a bit and see how this stabilizes. There
are all sorts of bugs around this currently, for example:
https://gitlab.gnome.org/GNOME/mutter/-/issues/3435
https://gitlab.gnome.org/GNOME/mutter/-/issues/3229
https://bugreports.qt.io/browse/QTBUG-124450
2024-05-05 13:24:45 +05:30
Kovid Goyal
aecf07bcba
Wayland: Fix infinite loop causing bad performance when using IME via fcitx5 due to a change in fcitx5
...
Fix #7396
2024-04-28 11:30:48 +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
b7e22a357f
...
2024-04-24 08:57:49 +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
63ffa2606c
Give the close X a distressed look
2024-04-17 11:05:05 +05:30
Kovid Goyal
f66ee68834
Wayland GNOME: Draw the titlebar buttons without using a font
...
Fixes #7349
2024-04-17 10:39:30 +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
e531791f79
Code to get peer pid on a few more platforms
2024-04-15 19:14:29 +05:30
Kovid Goyal
5b587060a4
Fix #7346
2024-04-15 16:07:38 +05:30
Kovid Goyal
e57692e4f5
Possibly fix #7327
2024-04-09 21:19:25 +05:30
Kovid Goyal
ac4eef7eb3
Another try at pointer frame support on Wayland
...
This time I think I got the wheel handling correct. At least works with
my wheel mouse.
2024-04-08 19:07:52 +05:30
Kovid Goyal
48ed574b4f
...
2024-04-08 13:04:11 +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
208490f4e1
...
2024-04-08 11:18:32 +05:30
Kovid Goyal
d392aba64d
Wayland CSD: Dont render window shadows for docked windows
2024-04-08 10:59:03 +05:30
Kovid Goyal
d630b3d8a7
Change the maximize icon to restore when window is maximized
2024-04-08 09:36:38 +05:30
Kovid Goyal
bf60321466
Use individual surfaces for corner and bar shadows
...
Simplifies a bunch of code and also gives us the option at a later date
to turn off some shadows selectively when the window is in a tiled
state.
2024-04-07 22:28:41 +05:30
Kovid Goyal
eb96830aa0
Make CSD API functions naming consistent
2024-04-07 10:18:13 +05:30
Kovid Goyal
334bb36745
Dont enable CSD for non XDG top-level windows such as layer shell surfaces
2024-04-07 10:08:02 +05:30
Kovid Goyal
283eba9667
Wayland: Respect top level bounds sent by compositor
2024-04-06 17:29:17 +05:30
Kovid Goyal
c651312a88
Adjust button colors
2024-04-06 17:24:55 +05:30
Kovid Goyal
5b1fdc34eb
Wire up the buttons
2024-04-06 14:58:31 +05:30
Kovid Goyal
a158fa108b
CSD pointer enter is the same as move
2024-04-06 12:51:09 +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
416d52bdac
...
2024-04-05 21:33:41 +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
2c4ffba0f3
Wayland: A new option to turn off IME
2024-04-05 14:56:11 +05:30
Kovid Goyal
18b595a7e7
Map keymap fd using MAP_PRIVATE as required by the spec
...
Also report failures
2024-04-05 13:10:04 +05:30
Kovid Goyal
0198b7fa5a
...
2024-04-05 12:57:58 +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
ecee7086a8
Report compositor missing capabilities in debug output
2024-04-04 16:56:13 +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