Julian Orth
0dc5d9adb8
metal: wait for rendering to complete before committing buffers
2024-09-10 23:38:10 +02:00
Julian Orth
80c7a1f47c
util: add GeometricDecay util
2024-09-10 23:37:40 +02:00
Julian Orth
d40e605f66
surface: use async uploads for shm buffers
2024-09-09 11:14:39 +02:00
Julian Orth
80310f4c0d
utils: add DoubleBuffered
2024-09-08 19:35:22 +02:00
Julian Orth
b57d86c1bc
vulkan: add async staging buffer allocation
2024-09-08 19:32:10 +02:00
Julian Orth
ed4ef3c8e7
cpu_worker: add worker-thread framework
2024-09-08 14:29:49 +02:00
Julian Orth
e1d1fe7fda
util: add OnDrop2 for non-copy closures
2024-09-08 09:59:05 +02:00
Julian Orth
69c0cf4031
fdclosor: assign name to thread
2024-09-08 09:59:05 +02:00
Julian Orth
9f98603121
vulkan: move OnDrop out of vulkan module
2024-09-08 09:06:08 +02:00
Julian Orth
e377470f3f
all: use expect attribute where possible
2024-09-06 11:08:22 +02:00
Julian Orth
dbb9bd2299
util: add generic event listener framework
2024-09-01 11:03:12 +02:00
Julian Orth
07b55e42c9
linked-list: make detached nodes safe
2024-09-01 11:02:31 +02:00
Julian Orth
665127e6c0
portal: implement RemoteDesktop portal
2024-07-25 19:40:29 +02:00
Julian Orth
40e87f8f91
ei: add support for libei
2024-07-25 19:40:29 +02:00
Julian Orth
8227d3ccad
metal: prevent infinite loop in hardware-cursor update
2024-07-23 22:28:15 +02:00
Julian Orth
84d7632341
all: address clippy lints
2024-07-02 17:13:20 +02:00
Julian Orth
af80fada6c
vulkan: optimize shm handling
2024-05-23 22:30:38 +02:00
Julian Orth
0d7a07ec40
all: add HashMapExt
2024-05-08 15:59:43 +02:00
Julian Orth
7ed499eabd
wayland: implement tablet-v2
2024-05-03 11:16:07 +02:00
Julian Orth
3473b89fb9
all: clear more reference cycles at shutdown
2024-05-02 21:20:47 +02:00
Julian Orth
84f7f88399
all: address clippy lints
2024-05-02 20:00:50 +02:00
Julian Orth
8cee61122e
all: remove dead code
2024-05-02 19:37:19 +02:00
Julian Orth
ee24971c6d
wayland: implement pointer-gestures-unstable-v1
2024-04-27 17:56:14 +02:00
Julian Orth
abbc847144
wayland: implement wp-drm-lease-v1
2024-04-26 15:46:51 +02:00
Julian Orth
5e2cdef388
seat: add KeyboardState and dynamically switch between states
2024-04-14 13:16:18 +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
15a1b600f3
it: test workspace restoration
2024-04-03 17:15:01 +02:00
Julian Orth
3b0757ee53
it: test explicit sync
2024-04-03 17:14:58 +02:00
Julian Orth
99be020c19
wayland: implement wlr-data-control
2024-03-31 20:36:15 +02:00
Julian Orth
aaf73d6fdc
wayland: implement linux-drm-syncobj-v1
2024-03-27 18:34:12 +01:00
Julian Orth
544f23ffb0
xwayland: fix logging of stderr
2024-03-23 09:00:16 +01:00
Julian Orth
4d6f226254
portal: start portal automatically with compositor
2024-03-19 21:00:36 +01:00
Julian Orth
efae1cd16a
cli: add an input subcommand
2024-03-12 17:43:26 +01:00
Julian Orth
20ac21e412
cli: add randr subcommand
2024-03-05 14:17:36 +01:00
Julian Orth
d425768760
tree: support toggling floating with double clicks
2024-03-03 14:18:46 +01:00
Julian Orth
54d93f84da
all: add (Clone)Cell::is_some and is_none
2024-03-02 18:09:40 +01:00
Julian Orth
7d3b8b6278
render: simplify buffer coordinates
2024-02-28 16:52:52 +01:00
Julian Orth
b57555584d
all: remove c_variadic feature
2024-02-22 23:51:24 +01:00
Julian Orth
64e133caf6
metal: simplify framebuffer swapchain
2024-02-19 17:38:09 +01:00
Julian Orth
9a024fe72c
wayland: implement ext-idle-notifier
2024-02-15 22:47:34 +01:00
Julian Orth
3f7b1ddd49
wayland: implement ext-foreign-toplevel-list-v1
2024-02-14 21:13:41 +01:00
Julian Orth
41d7531cd5
wayland: implement xdg-activation
2024-02-14 18:33:17 +01:00
Julian Orth
cf332e8436
render: implement a vulkan renderer
2024-02-08 15:24: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
ae991b9038
all: address clippy lints
2022-08-13 17:46:23 +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
38d1267ec9
tree: implement pointer constraints
2022-07-21 20:16:22 +02:00