1
0
Fork 0
forked from wry/wry
Commit graph

157 commits

Author SHA1 Message Date
Julian Orth
9c7299234a config: allow capturing only selected workspaces 2023-02-04 14:07:55 +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
5b2eb5855a tree: update to latest version of wp_fractional_scale 2022-11-12 15:05:58 +01:00
Julian Orth
ae991b9038 all: address clippy lints 2022-08-13 17:46:23 +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
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
3e3bc38920 wayland: add jay_output 2022-07-30 12:03:53 +02:00
Julian Orth
f7e77ca94c wayland: register most singletons before starting async work 2022-07-03 00:21:13 +02:00
Julian Orth
2ced50f3a7 cli: add seat-test 2022-06-03 12:00:08 +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
7476e6f2d9 tree: restore workspaces after monitor reconnect 2022-05-20 12:55:45 +02:00
Julian Orth
d42add4d18 all: implement screen locking 2022-05-19 23:39:11 +02:00
Julian Orth
e5c0916a25 all: fix memory leaks 2022-05-18 22:42:36 +02:00
Julian Orth
858e777f5a tree: activate workspace on click 2022-05-17 18:58:30 +02:00
Julian Orth
9416efeabe runtime: replace epoll by io-uring 2022-05-12 22:50:33 +02:00
Julian Orth
98cc85e2d3 acceptor: rebase from EventLoop onto AsyncEngine 2022-05-12 21:35:08 +02:00
Julian Orth
3037ee439c sighand: rebase from EventLoop onto AsyncEngine 2022-05-12 21:22:32 +02:00
Julian Orth
dcdd91c0b0 io-uring: add readable/writable 2022-05-12 20:33:58 +02:00
Julian Orth
3875c63172 async: rebase wheel on top of async engine 2022-05-12 17:23:17 +02:00
Julian Orth
285724b4f1 xwayland: use io_uring to prevent lockups
See https://gitlab.freedesktop.org/wayland/wayland/-/issues/296
2022-05-11 21:45:44 +02:00
Julian Orth
e27cf29693 config: tell the config about drm devices 2022-05-10 16:43:09 +02:00
Julian Orth
d6fabcb2b5 xwayland: implement copy/paste 2022-05-10 01:47:36 +02:00
Julian Orth
b970965ed9 tree: switch workspace by scrolling 2022-05-07 18:27:20 +02:00
Julian Orth
5e21e00059 config: generate graphics-initialized event in the frontend 2022-05-06 17:15:13 +02:00
Julian Orth
d2913449ea metal: handle gpu reset
Unfortunately this doesn't seem to work on amdgpu [1]. I've tested that
it works on i915.

[1] https://gitlab.freedesktop.org/drm/amd/-/issues/1749
2022-05-06 16:45:56 +02:00
Julian Orth
9904717c71 all: fix memory leaks 2022-05-02 22:11:59 +02:00
Julian Orth
e212e0b8b1 config: add TestConfig 2022-05-02 20:53:07 +02:00
Julian Orth
7b40b42990 config: implement config reloading 2022-05-02 16:20:25 +02:00
Julian Orth
ca13469f0c config: implement config loading 2022-05-02 14:14:58 +02:00
Julian Orth
04580c4aeb autocommit 2022-05-01 21:44:09 CEST 2022-05-01 21:44:09 +02:00
Julian Orth
e1d5bf0e5d autocommit 2022-05-01 17:23:55 CEST 2022-05-01 17:23:55 +02:00
Julian Orth
ed0beb8ff5 autocommit 2022-04-28 20:33:24 CEST 2022-04-28 20:33:24 +02:00
Julian Orth
fa1ec0b36c autocommit 2022-04-20 14:58:34 CEST 2022-04-20 14:58:34 +02:00
Julian Orth
c1773c0fee autocommit 2022-04-19 13:08:10 CEST 2022-04-19 13:08:10 +02:00
Julian Orth
1eb0d3e173 autocommit 2022-04-17 17:59:45 CEST 2022-04-17 17:59:45 +02:00
Julian Orth
a30306e3d5 autocommit 2022-04-17 17:08:31 CEST 2022-04-17 17:08:31 +02:00
Julian Orth
50b792db78 autocommit 2022-04-16 13:42:13 CEST 2022-04-16 13:42:13 +02:00
Julian Orth
fdf0ab7388 autocommit 2022-04-15 20:23:03 CEST 2022-04-15 20:23:03 +02:00
Julian Orth
5f13954dbc autocommit 2022-04-14 19:52:11 CEST 2022-04-14 19:52:11 +02:00
Julian Orth
35ddfbcbe3 autocommit 2022-04-14 16:06:11 CEST 2022-04-14 16:06:11 +02:00
Julian Orth
8924936079 autocommit 2022-04-12 17:26:33 CEST 2022-04-12 17:26:33 +02:00
Julian Orth
d9d1addbf5 autocommit 2022-04-11 19:56:52 CEST 2022-04-11 19:56:52 +02:00
Julian Orth
86ca98c38a autocommit 2022-04-11 13:11:56 CEST 2022-04-11 13:11:56 +02:00
Julian Orth
6b3316e920 autocommit 2022-04-10 18:26:13 CEST 2022-04-10 18:26:13 +02:00
Julian Orth
0bd9a70e69 autocommit 2022-04-08 00:04:55 CEST 2022-04-08 00:04:55 +02:00
Julian Orth
be32036824 autocommit 2022-04-07 17:31:31 CEST 2022-04-07 17:31:31 +02:00