Kovid Goyal
627360e5ad
Bind the idle inhibit protocol even though it is currently unused
2024-08-27 11:32:06 +05:30
Kovid Goyal
a43188e778
Fix #7571
2024-06-24 18:21:28 +05:30
Kovid Goyal
48070ff38e
Fix #7481
2024-05-28 15:14:13 +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
8d1b0e54af
Use double for wayland float calculation
2024-04-19 22:23:01 +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
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
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
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
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
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
cd67184432
Output some info about compositor capabilities for --debug-rendering
2024-04-04 11:46:41 +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
5a62bbdd33
Revert "Wayland: Add support for pointer frame events. Code taken with thanks from SDL"
...
This reverts commit 506be129e1 .
Seems to have broken wheel scrolling and I lake the time/interest to
debug why. Since this commit didnt actually solve any real issue revert
it for now. Revisit in the future when I have more bandwidth.
Fix #7287
2024-03-31 20:33:58 +05:30
Kovid Goyal
274a9d7759
Suppress an unused header warning
2024-03-30 11:41:23 +05:30
Kovid Goyal
506be129e1
Wayland: Add support for pointer frame events. Code taken with thanks from SDL
2024-03-28 15:32:59 +05:30
Kovid Goyal
83fcd472bb
Debug output: Show name and version of Wayland compositor
2024-03-26 09:54:38 +05:30
Kovid Goyal
fe5ccc144b
Finish glfw side support for layer shell
2024-03-24 20:48:20 +05:30
Kovid Goyal
707e69a794
Start work on wayland layer shell support
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
5d0c25f5ea
Register the viewporter
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
2b6edbccbc
Start work on fractional scale support for Wayland
...
Register the interface on startup
2024-03-21 20:53:36 +05:30
Kovid Goyal
3c4db20d2d
DRYer
2024-03-21 11:27:41 +05:30
Jin Liu
e20eff277b
Fix Wayland cursor-shape-v1 cursor not updating
...
According to https://wayland.app/protocols/cursor-shape-v1#wp_cursor_shape_device_v1:request:set_shape
> The serial parameter must match the latest wl_pointer.enter or
> zwp_tablet_tool_v2.proximity_in serial number sent to the client.
So we can't use wl.serial or wl.pointer_serial, because they are also updated in other places.
2024-01-04 19:54:03 +08:00
Kovid Goyal
4519b3abee
Enable cursor shape on Wayland
...
Cant replicate the hyprland crash, so am not going to bother about it.
Fixes #6914
2023-12-24 22:56:01 +05:30
Kovid Goyal
cff490f881
Wayland: Add support for the new cursor-shape protocol
...
It is currently disabled because no compositor seems to support it.
Hyprland reports it as available but using it causes Hyprland to crash.
Plasma 6 is supposed to have it but I am not installing a beta just for
this.
Typical Wayland.
2023-12-24 18:45:17 +05:30
Kovid Goyal
7d8c017215
DRYer
2023-12-24 15:03:56 +05:30
Kovid Goyal
61429c73c7
Wayland: Fix primary selections not working with the river compositor
...
Fixes #6785
2023-11-03 19:57:54 +05:30
Kovid Goyal
4f1971c480
Rationalize mouse cursor shape handling
...
Now can use the full range of standard mouse cursor shapes similar to
those supported by browsers via the CSS cursor property.
Still needs to be fully implemented for cocoa backend.
2023-10-15 09:17:31 +05:30
Kovid Goyal
f63bbfc88c
Wayland: Do not request idle inhibition for full screen windows
...
Fixes #6613
2023-09-12 16:43:46 +05:30
Kovid Goyal
66801b6b28
GLFW API to track system color scheme dark/light
...
Implemented only on macOS and Wayland.
2023-04-13 13:16:33 +05:30
Kovid Goyal
ba8d30896b
Try to use the activation protocol to focus windows
2022-09-11 10:39:28 +05:30
Kovid Goyal
4d30ae55f3
Wayland: Mark windows in which a bell as urgent on compositors that support the xdg-activation protocol
2022-09-11 09:33:41 +05:30
Kovid Goyal
91c00fb5ac
Implement the new clipboard API for Wayland
2022-09-08 17:29:18 +05:30
Kovid Goyal
c58d217d32
Only warn about cursor size once
2022-09-08 16:28:40 +05:30
Kovid Goyal
646bdbd002
Wayland: Fix a regression in the previous release that caused mouse cursor animation and keyboard repeat to stop working when switching seats
...
Fixes #5188
2022-06-10 21:38:30 +05:30