1
0
Fork 0
forked from wry/wry
Commit graph

131 commits

Author SHA1 Message Date
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
Julian Orth
2a9c746781 all: replace standard sync types by parking_lot
Mostly because we'll start using egui which already has a dependency on
parking_lot.
2022-06-05 13:44:12 +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
20f0fba553 input: rename axix_smooth to axis_px 2022-05-27 17:02:44 +02:00
Julian Orth
64416d417b all: fix new compiler warnings 2022-05-27 16:03:30 +02:00
Julian Orth
50c87d6da7 wayland: implement wl_seat v8 2022-05-27 15:39:48 +02:00
Julian Orth
858e777f5a tree: activate workspace on click 2022-05-17 18:58:30 +02:00
Julian Orth
4780315f50 io-uring: ensure that timeouts are encoded in the same submission 2022-05-13 22:31:56 +02:00
Julian Orth
7cc6c945d3 io-uring: add recvmsg 2022-05-13 21:17:28 +02:00
Julian Orth
f50964d110 utils: use UnsafeCell in AsyncQueue 2022-05-13 20:15:31 +02:00
Julian Orth
837b5592bc io-uring: fix timeout detection 2022-05-13 18:05:34 +02:00
Julian Orth
e4f97287bc io-uring: add sendmsg 2022-05-13 17:37:20 +02:00
Julian Orth
9416efeabe runtime: replace epoll by io-uring 2022-05-12 22:50:33 +02:00
Julian Orth
4d8a340cd0 async: move timer out of async engine 2022-05-12 20:48:29 +02:00
Julian Orth
dcdd91c0b0 io-uring: add readable/writable 2022-05-12 20:33:58 +02:00