Julian Orth
78b557b4a1
input: implement wl_seat version 9
2024-02-04 19:56:45 +01:00
Julian Orth
24e410a5b5
render: hide graphics API behind traits
2023-10-22 20:42:35 +02:00
Julian Orth
d650b3375d
render: split module into gfx_apis and renderer
2023-10-22 20:28:32 +02:00
Julian Orth
5e8a6eb86f
render: split rendering into two phases
...
In the first phase we collect a list of simple operations (copying
textures and filling rectangles.)
In the second phase we send this list to the graphics API to be
executed.
As part of this, we also remove the use of scissors.
2023-10-22 16:10:12 +02:00
Julian Orth
a2a04512ed
all: address clippy lints
2023-10-22 16:01:40 +02:00
Julian Orth
a09e8bfbd3
all: update dependencies
2023-10-22 15:58:28 +02:00
Daniel Shiposha
975147d831
fix: xdg_surface requested_serial init 1
2023-07-15 18:55:33 +02:00
Daniel Shiposha
0b23abb4c3
Revert "fix: xdg_surface configure serial"
...
This reverts commit 0478cea9b6 .
2023-07-15 18:54:03 +02:00
Daniel Shiposha
0478cea9b6
fix: xdg_surface configure serial
2023-07-15 18:34:13 +02:00
Julian Orth
9c7299234a
config: allow capturing only selected workspaces
2023-02-04 14:07:55 +01:00
Julian Orth
913b9d7213
wayland: update wl_output to v4
2022-12-31 21:49:02 +01: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
cd47baa934
wayland: implement tearing-control-v1
...
Currently has no effect because there are no tearing atomic commits. But
by implementing this we make mesa expose VK_PRESENT_MODE_IMMEDIATE_KHR.
2022-11-18 19:43:03 +01:00
Julian Orth
28e91e0c5d
metal: support multi-gpu systems via copying
2022-11-13 21:35:14 +01:00
Julian Orth
5b2eb5855a
tree: update to latest version of wp_fractional_scale
2022-11-12 15:05:58 +01:00
Julian Orth
e61d6ab074
all: fix clippy lints
2022-11-03 19:26:35 +01:00
Julian Orth
335677bbcd
wayland: implement xwayland_shell_v1
2022-10-18 17:43:49 +02:00
Julian Orth
1f64fefc86
registry: implement xwayland-only globals
2022-10-16 21:05:44 +02:00
Julian Orth
887fab0936
xwayland: don't send raw wl_surface's to xwm
...
This handles a race where the surface was already destroyed when the
message was handled.
2022-10-16 20:58:21 +02:00
Julian Orth
6193569596
xwayland: add x-surface indirection
2022-10-16 20:53:59 +02:00
Julian Orth
a5e17142de
xdg_decoration: send toplevel-configure after configure
...
This works around a bug in chrome where it fails to start if the first
xdg_surface::configure does not contain the toplevel configuration
itself.
2022-10-10 19:00:42 +02:00
Julian Orth
d67eefdaf0
tree: destroy layer shell surfaces when output is disconnected
2022-08-20 23:03:29 +02: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
2568b7b1f5
pipewire: add pipewire client
2022-07-31 11:25:57 +02:00
Julian Orth
5a4e48e54a
wayland: add jay_screencast
2022-07-30 12:08:18 +02:00
Julian Orth
022d8d1db0
wayland: add jay_workspace_watcher
2022-07-30 12:03:55 +02:00
Julian Orth
83baa6aadb
wayland: add jay_workspace
2022-07-30 12:03:55 +02:00
Julian Orth
53ca7b5b2a
wayland: add jay_render_ctx
2022-07-30 12:03:55 +02:00
Julian Orth
b3c20c5309
wayland: add jay_pointer
2022-07-30 12:03:55 +02:00
Julian Orth
3e3bc38920
wayland: add jay_output
2022-07-30 12:03:53 +02:00
Julian Orth
6bc7330989
input: ignored caps_lock and num_lock during modifire matching
2022-07-27 07:55:48 +02:00
Julian Orth
4bbca6abdc
layer-surface: set surface output
2022-07-26 20:32:16 +02:00
Julian Orth
5de4f0962f
input: don't send motion events when cursor is locked
2022-07-22 13:11:57 +02:00
Julian Orth
38d1267ec9
tree: implement pointer constraints
2022-07-21 20:16:22 +02:00
mahkoh
d4c4497043
Merge pull request #39 from mahkoh/xdg-cap
2022-07-11 10:35:04 +02:00
Julian Orth
b89d72fcd9
seat: uniformly convert scroll steps to scroll px
2022-06-05 14:14:53 +02:00
Julian Orth
615d1953aa
wayland: implement xdg_toplevel.wm_capabilities
2022-06-03 21:03:37 +02:00
Julian Orth
2ced50f3a7
cli: add seat-test
2022-06-03 12:00:08 +02:00
Julian Orth
375d7da2f2
cursor: don't overwrite busy hardware buffers
2022-06-01 22:24:57 +02:00
Julian Orth
b9ce5f22d8
cursor: dispatch frame requests after rendering hardware cursor
2022-06-01 22:11:15 +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
Julian Orth
16aec8f87e
wl_surface: unset viewporter in break_loops
2022-05-28 23:03:38 +02:00
Julian Orth
97e8d487a0
wayland: add support for NV12 format
2022-05-28 22:04:00 +02:00
Julian Orth
95327685c1
wayland: implement surface transformations
...
- buffer scale
- buffer transform
- viewporter
2022-05-28 18:18:29 +02:00
Julian Orth
20f0fba553
input: rename axix_smooth to axis_px
2022-05-27 17:02:44 +02:00
Julian Orth
c0afc5cf2a
config: allow setting per-device scroll wheel speed
2022-05-27 16:00:16 +02:00
Julian Orth
50c87d6da7
wayland: implement wl_seat v8
2022-05-27 15:39:48 +02:00
Julian Orth
145e4dbc24
wayland: add times to all input events
2022-05-26 12:25:59 +02:00