Stipe Kotarac
a1dfc473a2
rect: safer construction
2026-01-09 09:41:46 +01:00
Julian Orth
286857971a
all: use let chains
2025-07-01 11:20:48 +02:00
Mostafa Ibrahim
0930f00356
implement zwlr_foreign_toplevel_management protocol ( #452 )
...
* implement zwlr_foreign_toplevel_management protocol
* check if initial id is empty
2025-05-28 13:53:29 +02:00
Julian Orth
5ad6ca4dd3
config: add WM_WINDOW_ROLE window criteria
2025-05-07 22:41:43 +02:00
Julian Orth
faa0b27ef8
config: add WM_CLASS window criteria
2025-05-07 22:41:43 +02:00
Julian Orth
2b5be7fbd9
config: add client window criteria
2025-05-07 22:41:43 +02:00
Julian Orth
3338909170
all: set rust edition to 2024
2025-02-21 10:44:29 +01:00
Julian Orth
52c9fac23b
xwayland: improve damage tracking
2025-02-19 16:59:15 +01:00
Julian Orth
9694854d0c
xwm: don't send take-focus messages for client-initiated focus change
2025-01-27 09:10:21 +01:00
Julian Orth
487efafdf5
ipc: remove X-only code from traits
2024-10-25 15:29:07 +02:00
Julian Orth
19b07fa7dc
xwayland: allow windows to scale themselves
2024-10-08 11:14:30 +02:00
Julian Orth
ccad3cf0fb
all: use tracy for tracing
2024-09-15 18:08:54 +02:00
Julian Orth
e377470f3f
all: use expect attribute where possible
2024-09-06 11:08:22 +02:00
Julian Orth
bb9e6ba3b5
all: fetch current time only once per iteration
2024-07-12 20:05:31 +02:00
Julian Orth
498e01a8bb
xwayland: don't transmute setup data to 'static
2024-07-02 17:12:24 +02:00
Julian Orth
0d7a07ec40
all: add HashMapExt
2024-05-08 15:59:43 +02:00
Julian Orth
3473b89fb9
all: clear more reference cycles at shutdown
2024-05-02 21:20:47 +02:00
Julian Orth
99be020c19
wayland: implement wlr-data-control
2024-03-31 20:36:15 +02:00
Julian Orth
8bca8b0e86
ipc: create separate offers/sources for X
2024-03-31 20:24:16 +02:00
Julian Orth
4e9dacce1a
ipc: use trait objects for source/offer
2024-03-31 14:59:31 +02:00
Julian Orth
d2f818b0f2
xwm: use attention request when activating invisible windows
2024-03-03 16:40:44 +01:00
Julian Orth
54d93f84da
all: add (Clone)Cell::is_some and is_none
2024-03-02 18:09:40 +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
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
335677bbcd
wayland: implement xwayland_shell_v1
2022-10-18 17:43:49 +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
ae991b9038
all: address clippy lints
2022-08-13 17:46:23 +02:00
Julian Orth
feddb25ee4
xwayland: allocate sockets from id 500
2022-07-26 20:31:40 +02:00
Julian Orth
f7320d2332
xwayland: destroy map_link on window destroy
2022-06-06 17:16:11 +02:00
Julian Orth
a39d1868f7
xwayland: destroy stack_link on window destroy
2022-06-06 17:14:52 +02:00
Julian Orth
a474033bff
xwayland: disallow focusing invisible windows
2022-06-04 14:07:34 +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
ad85d89641
io-uring: add timeout argument to write
2022-05-13 18:24:12 +02:00
Julian Orth
e4f97287bc
io-uring: add sendmsg
2022-05-13 17:37:20 +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
5573b2a1b7
xwayland: remove leftover logging
2022-05-10 17:18:57 +02:00
Julian Orth
d6fabcb2b5
xwayland: implement copy/paste
2022-05-10 01:47:36 +02:00
Julian Orth
d52dc5f6e9
xwayland: prevent activation loops
2022-05-08 23:28:14 +02:00
Julian Orth
3abd72b330
all: run rustfmt
2022-05-07 00:28:02 +02:00
Julian Orth
cc090b1d0f
xwayland: fix mapping of windows whose size is already correct at map time
...
IntelliJ in particular opens new windows with the exact same size as the
existing window. In a mono layout, this is the resulting window size.
For some reason, IntelliJ will not draw itself properly if it doesn't
get resized after mapping. So send a dummy 1x1 configure at map time.
2022-05-07 00:26:18 +02:00
Julian Orth
8c3106f631
tree: ensure that node is marked active after un-fullscreening
2022-05-04 16:33:28 +02:00
Julian Orth
e3b3d848c3
autocommit 2022-04-23 00:55:20 CEST
2022-04-23 00:55:20 +02:00
Julian Orth
32fe8b64ca
autocommit 2022-04-21 18:25:34 CEST
2022-04-21 18:25:34 +02:00
Julian Orth
dae9e52347
autocommit 2022-04-20 20:20:36 CEST
2022-04-20 20:20:36 +02:00
Julian Orth
34e665cd8b
autocommit 2022-04-20 18:33:59 CEST
2022-04-20 18:33:59 +02:00
Julian Orth
085ca95835
autocommit 2022-04-18 13:38:52 CEST
2022-04-18 13:38:52 +02:00