Julian Orth
ee24971c6d
wayland: implement pointer-gestures-unstable-v1
2024-04-27 17:56:14 +02:00
Julian Orth
a12065a915
config: make focus-follows-mouse optional
2024-04-27 11:19:42 +02:00
Julian Orth
fa3d870935
tree: access outputs via root node
2024-04-26 15:45:16 +02:00
Julian Orth
25f363d086
wayland: implement ext-transient-seat-v1
2024-04-24 14:05:33 +02:00
Julian Orth
33a0a40857
portal: implement workspace capture
2024-04-20 13:49:46 +02:00
Julian Orth
17a0dfed5e
seat: add framework to select toplevels
2024-04-18 17:12:11 +02:00
Julian Orth
90dbde99ab
config: add support for mod masks in shortcuts
2024-04-16 18:58:35 +02:00
Julian Orth
18bc86d14f
config: allow consuming/forwarding key events
2024-04-15 18:42:59 +02:00
Julian Orth
daf52299db
seat: implement input methods
2024-04-15 15:34:00 +02:00
Julian Orth
5e2cdef388
seat: add KeyboardState and dynamically switch between states
2024-04-14 13:16:18 +02:00
Julian Orth
6c0e3a4fff
wayland: implement virtual-keyboard
2024-04-12 19:59:30 +02:00
Julian Orth
826f40adca
seat: implement per-device keymaps
2024-04-12 17:06:16 +02:00
Julian Orth
225995eb2f
seat: after keymap change, only send keymap to focused surface
2024-04-12 14:56:54 +02:00
Julian Orth
8d43eebc3d
seat: store pressed keys in a vector
2024-04-12 14:50:57 +02:00
Julian Orth
acb391335b
wire: generate trait for request handling
2024-04-08 20:02:29 +02:00
Julian Orth
e3a1a0b30f
wayland: make object versions type safe
2024-04-08 14:47:50 +02:00
Julian Orth
6448a14fb1
it: test cursor-shape protocol
2024-04-03 17:12:28 +02:00
Julian Orth
99be020c19
wayland: implement wlr-data-control
2024-03-31 20:36:15 +02:00
Julian Orth
8bca8b0e86
ipc: create separate offers/sources for X
2024-03-31 20:24:16 +02:00
Julian Orth
4e9dacce1a
ipc: use trait objects for source/offer
2024-03-31 14:59:31 +02:00
Julian Orth
7cbe5720c6
ipc: make source/offer ids type safe
2024-03-30 20:51:25 +01:00
Julian Orth
ba98103233
tree: make surface visibility tracking more robust
2024-03-29 21:17:45 +01:00
Julian Orth
be0935c8dd
seat: handle surface cursor lifetimes explicitly
2024-03-29 19:31:40 +01:00
Julian Orth
816315170f
render: add support for explicit sync
2024-03-27 18:15:53 +01:00
Julian Orth
1b4492c670
render: propagate errors
2024-03-27 18:15:53 +01:00
Julian Orth
3eb0f61ec1
tree: make scale and position of outputs persistent
2024-03-16 01:38:57 +01:00
Julian Orth
efae1cd16a
cli: add an input subcommand
2024-03-12 17:43:26 +01:00
Julian Orth
7381e5df37
cursor: respect XCURSOR_SIZE
2024-03-10 17:42:06 +01:00
Julian Orth
d425768760
tree: support toggling floating with double clicks
2024-03-03 14:18:46 +01:00
Julian Orth
364872258a
wayland: implement xdg-toplevel-drag
2024-03-03 01:48:24 +01:00
Julian Orth
54d93f84da
all: add (Clone)Cell::is_some and is_none
2024-03-02 18:09:40 +01:00
Julian Orth
b7d2964e19
all: implement output transforms
2024-02-28 20:11:40 +01:00
Julian Orth
ed129c1c3d
tree: damage screen when parent is focused
2024-02-22 14:10:03 +01:00
Julian Orth
0ab9ec3b75
tree: don't attach container node to parent during construction
2024-02-21 19:39:33 +01:00
Julian Orth
7f37e107af
tree: disallow moving focus to non-toplevel parent
2024-02-21 19:39:33 +01:00
Julian Orth
062bcb25ee
tree: fix toplevel float extent memoization
2024-02-19 22:58:58 +01:00
Julian Orth
d4fc672fb3
tree: move output scale to global
2024-02-16 19:15:03 +01:00
Julian Orth
9a024fe72c
wayland: implement ext-idle-notifier
2024-02-15 22:47:34 +01:00
Julian Orth
3acf0558a3
wayland: implement wp_cursor_shap_manager_v1
2024-02-08 14:13:18 +01:00
Julian Orth
71fc851705
render: keep track of outputs whose hardware cursor must be rendered
2024-02-07 21:43:01 +01:00
Julian Orth
0ac1bb8507
wayland: remove Object::num_requests
2024-02-06 12:05:03 +01:00
Julian Orth
78b557b4a1
input: implement wl_seat version 9
2024-02-04 19:56:45 +01:00
Julian Orth
a2a04512ed
all: address clippy lints
2023-10-22 16:01:40 +02:00
Julian Orth
2db0ee8995
seat: update hardware cursor upon identical re-attach
...
This happens if the client re-uses the same wl_surface in
wl_pointer::set_cursor. If, in the same call, the client changes the
hotspot, we have to re-render the hardware cursor.
2022-12-16 22:06:56 +01:00
Julian Orth
0fe59effe2
seat: ignore duplicate set_selection request
...
This works around [1] and [2].
[1]: https://gitlab.gnome.org/GNOME/gtk/-/issues/5097
[2]: https://github.com/mahkoh/jay/issues/47
2022-08-13 12:57:45 +02:00
Julian Orth
a162055f1d
portal: add a desktop portal
2022-07-31 11:25:57 +02:00
Julian Orth
b3c20c5309
wayland: add jay_pointer
2022-07-30 12:03:55 +02:00
Julian Orth
38d1267ec9
tree: implement pointer constraints
2022-07-21 20:16:22 +02:00
Julian Orth
3b8935cf55
all: implement hardware cursors
2022-06-01 21:46:31 +02:00
Julian Orth
e52a60b3b6
wayland: implement scaling
...
This involves many subsystems:
- config:
- allow setting the connector scale
- allow setting the cursor size
- cursors:
- load server cursors for all requested sizes and scales
- wl_surface:
- track the output the surface belongs to
- send wl_surface.enter/leave
- wl_output:
- implement wl_output.scale
- text:
- pre-render texts for all used scales
- renderer:
- properly align scale textures and rectangles
- wp_fractional_scale:
- new interface for fractional scaling
2022-05-30 17:00:25 +02:00