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
Kovid Goyal
65f1329635
Wayland: When the seat is closed remove any pending pointer animation and key repeat timers
...
Fixes #5145
2022-05-29 14:50:34 +05:30
Kovid Goyal
1b2d54d97a
Output a warning when libwayland-cursor returns incorrectly sized cursor images
2022-05-23 12:50:47 +05:30
Kovid Goyal
c48bf4fd85
Output debug lines for when kitty sets the pointer in Wayland
2022-04-30 09:13:08 +05:30
Kovid Goyal
1c3910de5c
Output debug info about resized being called
2022-03-10 19:32:17 +05:30
Alexander Orzechowski
d4b048735d
wayland: Fix CSD size calculations
...
This is a partial revert of e359094cff
window->wl.{width, height} and window->wl.current.{width, height}
represent different things. The former represents the actual size of the
egl surface viewport used for terminal rendering. The former represents
the size of the entire window including the CSD (client side decorations).
These numbers should be the same if CSD is disabled.
2022-03-10 05:56:56 -05:00
Alexander Orzechowski
e359094cff
wayland: move window state
2022-02-28 19:42:11 -05:00
Rui Ming (Max) Xiong
d2288d8f83
Scale touchpad input by display scale on wayland
2022-02-13 20:47:02 -05:00
Kovid Goyal
4b4f904aac
Dont use global variables for the axis discrete counts
2022-02-13 20:56:55 +05:30
Kovid Goyal
ee5cf90684
Cleanup previous PR and add changelog entry for it
...
Fixes #4694
2022-02-13 10:53:24 +05:30
Rui Ming (Max) Xiong
79fa9f1c95
Use counters for discrete flags instead
2022-02-12 17:45:28 -05:00
Rui Ming (Max) Xiong
40bf12af7a
Check for discrete mouse events on wayland
2022-02-12 02:12:59 -05:00
Kovid Goyal
be34af4555
Remove inline from .c files
...
It is ignored by compilers and hides unused static functions
2021-08-03 09:11:17 +05:30
Kovid Goyal
91d82ebf4b
Remove unused import
2021-07-31 11:27:29 +05:30
Kovid Goyal
9a2b0b6995
Wayland CSD: Double clicking on titlebar should toggle window maximize
2021-04-19 08:58:29 +05:30
Kovid Goyal
0593158a86
Refactor CSD code to avoid un-needed rerenders and use a single shm pool for all CSD buffers
2021-03-29 12:15:47 +05:30
Kovid Goyal
e7931b0121
Get rid of the no longer needed viewporter protocol
2021-03-29 12:15:47 +05:30
Kovid Goyal
aeb82e7fb0
Refactor the rendering of CSD on Wayland
2021-03-29 12:15:47 +05:30
Kovid Goyal
44df11c443
Move CSD metrics into the window object
...
Makes them potentially configurable
2021-03-25 12:52:09 +05:30
Kovid Goyal
63a50ec066
Use the correct mouse cursor theme on GNOME
...
Relies on a working desktop settings portal (xdg-desktop-portal-gtk)
2021-03-25 12:20:13 +05:30
Kovid Goyal
fc8e147e4a
Fix mouse handling when using client side decorations
...
The mouse co-ordinates used by glfw were all wrong.
2021-03-25 09:27:25 +05:30
Kovid Goyal
62997956a0
Start work on Wayland text input protocol support
2021-03-23 16:33:04 +05:30
Kovid Goyal
6d18223f17
Use an id for keyboard focus tracking as well
2021-01-29 11:22:39 +05:30
Kovid Goyal
0443e5ad7f
Wayland: Use window ids rather than pointers to track windows for key repeat
...
Might fix #3266
2021-01-29 08:43:00 +05:30
Kovid Goyal
cb5ac1fcf8
DRYer
2020-11-22 12:24:00 +05:30
Kovid Goyal
53797b9ead
Wayland: Fix key repeat being stopped by the release of an unrelated key
...
Fixes #2191
2020-11-22 12:14:52 +05:30