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