1
0
Fork 0
forked from wry/wry
Commit graph

331 commits

Author SHA1 Message Date
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
Daniel Shiposha
104e248abd fix: cargo fmt 2023-05-13 16:33:55 +02:00
Daniel Shiposha
701d9792c0 fix: use XCURSOR_THEME 2023-05-13 11:24:10 +02:00
Julian Orth
403de8e24a config: damage screen after changing capture setting 2023-02-04 14:36:38 +01:00
Julian Orth
036af4abaa all: address clippy issues 2023-02-04 14:20:10 +01:00
Julian Orth
9c7299234a config: allow capturing only selected workspaces 2023-02-04 14:07:55 +01:00
Julian Orth
de71be0674 tests: fix tests 2023-01-01 23:08:09 +01:00
Julian Orth
9863957779 all: update dependencies 2022-12-31 22:18:48 +01:00
Julian Orth
913b9d7213 wayland: update wl_output to v4 2022-12-31 21:49:02 +01:00
Julian Orth
9812a02f87 io: use io_uring for all io
There should no longer be any

- read
- write
- connect
- sendmsg
- recvmsg
- accept

calls in the codebase. Previously we were using a mix of io_uring and
these calls which had some negative effects: Since we were using the old
system calls, we had to set the file descriptors to non-blocking. But
our io_uring code did not handle EAGAIN. This lead to programs sometimes
being killed when the wayland IO was actually blocking.

Now all file descriptors are set to blocking, but io_uring makes it
non-blocking from our perspective. The one exception are evdev files
because they are read via libinput and libinput uses the old system
calls.
2022-12-31 17:56:58 +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
0b46391789 all: fix clippy lints 2022-11-13 22:50:18 +01:00
Julian Orth
13bcdecd1b video: actually created the bridge BO in the render device 2022-11-13 21:40:02 +01:00
Julian Orth
28e91e0c5d metal: support multi-gpu systems via copying 2022-11-13 21:35:14 +01:00
Julian Orth
79ee6900fa video: prefer non-nvidia devices when selecting render device 2022-11-13 16:53:02 +01:00
Julian Orth
141997d9d6 video: choose render device in the frontend 2022-11-13 16:53:02 +01:00
Julian Orth
049b86f4e2 config: add DrmDevice::make_render_device 2022-11-13 16:53:02 +01:00
Julian Orth
c6c87bdaa1 backend: add DevicesEnumerated event 2022-11-13 16:53:02 +01:00
Julian Orth
dddd68ba06 x: add XDrmDevice 2022-11-13 13:11:55 +01:00
Julian Orth
e29fd0e70c metal: log drm device model 2022-11-13 00:16:36 +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
729e47a756 build: upgrade to rust 1.65 2022-11-03 19:23:55 +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
8059457afb video: add support for a/xbgr8888 formats 2022-10-10 19:02:20 +02:00
Julian Orth
ab6a39bd34 clippy: call drop explicitly 2022-10-10 19:01:36 +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
2af6d29554 all: run rustfmt 2022-08-20 23:05:34 +02:00
Julian Orth
d67eefdaf0 tree: destroy layer shell surfaces when output is disconnected 2022-08-20 23:03:29 +02:00
Julian Orth
ae991b9038 all: address clippy lints 2022-08-13 17:46:23 +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
a8f627f15c tree: render top layer over fullscreen windows 2022-07-31 13:18:20 +02:00
Julian Orth
3c074fe4cf tests: fix compilation 2022-07-31 12:00:03 +02:00
Julian Orth
35dbd483bc all: run rustfmt 2022-07-31 11:55:18 +02:00
Julian Orth
9c21d118d6 tree: render overlayes over fullscreen windows 2022-07-31 11:28:25 +02:00
Julian Orth
a162055f1d portal: add a desktop portal 2022-07-31 11:25:57 +02:00
Julian Orth
8b93957f31 text: add metrics and dynamic height 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
2512470231 wayland: add a generic wayland client 2022-07-30 13:16:58 +02:00
Julian Orth
163adbd893 renderer: add renderer_base 2022-07-30 12:55:09 +02:00
Julian Orth
f84b4619ba dbus: expose more functionality 2022-07-30 12:48:45 +02:00
Julian Orth
fc9795cb5d tree: use create_workspace where appropriate 2022-07-30 12:08:21 +02:00
Julian Orth
1bdfa4c85e tree: batch output render data updates 2022-07-30 12:08:21 +02:00
Julian Orth
5a4e48e54a wayland: add jay_screencast 2022-07-30 12:08:18 +02:00