Commit Graph

73 Commits

Author SHA1 Message Date
Isaac Freund
1b63c463a7
security-context: implement protocol
Sensitive Wayland protocols such as wlr_screencopy and wlr_data_control
(clipboard managment) are now blocked by default inside security
contexts (e.g. flatpak 1.15.6 or later).

User configuration of the allowlist/blocklist is TODO.
2024-03-15 14:47:43 +01:00
Isaac Freund
46dbbe9799
deps: switch to codeberg upstreams, update 2024-03-12 14:12:54 +01:00
Isaac Freund
49a779b24d
tablet-v2: implement tablet tool support
There is not any pointer emulation for tablet tool input. This means
that only clients implementing the tablet-v2 protocol will be able to
process tablet tool input.

Tablet pad support is TODO
2024-03-11 15:05:42 +01:00
Isaac Freund
0eacde7d01
deps: update to latest zig-wayland and zig-wlroots 2024-03-02 17:36:47 +01:00
LordMZTE
0cb7c49cc3
command/input: add map-to-output 2024-02-23 12:22:42 +01:00
tiosgz
93c2a2fd08 deps: update zig-wlroots
Simplifies wlr_seat.keyboardNotifyEnter() signature.
2024-02-18 16:08:51 +00:00
Isaac Freund
540ca043df
Keyboard: fix mapping XF86ScreenSaver 2024-01-06 20:36:53 -06:00
Isaac Freund
afbc84c994
river: re-add wl_drm support for now
It seems to be a bit too early to drop support for this legacy protocol.

Xwayland apparently still relies on it for hardware acceleration as do
fairly recent mesa versions still in widespread use.
2024-01-06 19:23:55 -06:00
Isaac Freund
913770975b
Cursor: clean up cursor theme loading
wlroots will now load xcursor themes at the correct scale automatically
based on the scale of the outputs where ther cursors are displayed.

Also make the error handling a bit more robust.
2024-01-04 14:44:51 -06:00
MaxVerevkin
9ce4525f08
river: Implement cursor_shape_v1 2024-01-04 14:14:00 -06:00
Isaac Freund
80ced04f68
river: drop support for wl_drm
wl_drm is a legacy interface superseded by the linux-dmabuf
protocol. All clients should migrate.

This commit drops support for the protocol which should help find
whatever problematic clients are left in the wild.

If it turns out that this is too soon we can easily keep supporting
wl_drm for a little while longer as wlroots has not yet dropped support
for it.
2024-01-03 17:22:00 -06:00
MaxVerevkin
6a74ed99fa
river: Implement fractional_scale_v1 2024-01-03 12:47:31 -06:00
Isaac Freund
a128a574a4
output-management: work around wlroots crash 2024-01-01 22:52:25 -06:00
Isaac Freund
b440767b54
gamma-control: track wlroots 0.17 changes 2023-12-29 16:22:15 -06:00
Isaac Freund
677766956e
deps: update to lastest zig-wlroots
This fixes a few issues with the XwaylandSurface bindings
2023-12-06 11:00:45 +01:00
Isaac Freund
7ee6c79b6b
build: update to wlroots 0.17 2023-12-01 17:29:05 +01:00
Doclic
bf4154007d river: add outputs rule 2023-10-19 12:58:11 +02:00
Isaac Freund
2e586c7061
build: update to Zig 0.11.0 2023-10-16 16:27:03 +02:00
Isaac Freund
05eac54b07
xdg-decoration: clean up implementation
We now send some protocol errors that wlroots 0.16 is missing [1].
This also allows us to access the xdg decoration from a view, which will
be necessary for some future changes.

[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4051
2023-03-10 18:49:30 +01:00
Isaac Freund
8d9b6ab99e
deps: update zig-wlroots to fix Xwayland crash 2023-03-03 15:50:24 +01:00
Isaac Freund
8cb5ca9041
river: fix various fullscreen related bugs 2023-02-28 22:56:12 +01:00
Isaac Freund
c0c08ab919
deps: update to latest zig-wayland/zig-wlroots 2023-02-27 17:51:31 +01:00
Isaac Freund
0ccf0e65d5
deps: update to latest zig-wayland/zig-wlroots 2023-02-27 13:35:55 +01:00
Isaac Freund
946173005d
wlr-output-management: leverage new wlroots APIs
These new functions allow testing commits without messing up the
pending state of the output and needing to rollback. The new apply()
function also makes the code considerably more concise.
2023-01-24 13:55:40 +01:00
Isaac Freund
f20692e329
deps: update zig-wayland to fix build on aarch64 2023-01-09 14:55:18 +01:00
Isaac Freund
09f3f141ae
deps: update to Zig 0.10 2023-01-08 16:21:42 +01:00
Isaac Freund
2c86c2b6e5
river-control: update zig-wayland to fix leak
It was forgotten to destroy the callback server side object when sending
the destructor event. With the new zig-wayland version, this cannot be
forgotten.
2022-12-31 23:22:47 +01:00
Andrea Feletto
2eb0a7a75c
river: support wp-single-pixel-buffer-v1 2022-12-24 20:14:30 +01:00
Isaac Freund
6ac3928556
idle: support ext-idle-notify-v1, drop KDE protocol
This commit is a breaking change as it drops support for the now
obsolete org_kde_kwin_idle protocol.
2022-12-24 18:18:09 +01:00
Isaac Freund
05c9194eba
build: handle wlroots built without xwayland support 2022-12-24 17:38:02 +01:00
MaxVerevkin
e603c5460a
river-status: correctly advertise version 4
This should have been a compile error but slipped through due to a bug
in zig-wayland. This bug has now been fixed and the submodule updated.
2022-12-02 15:19:13 +01:00
Isaac Freund
3ed71c51e2
deps: update to latest zig-wlroots
This fixes a crash handling switch toggle events
2022-11-20 11:33:42 +01:00
Isaac Freund
489a49735a
river: update to wlroots 0.16 2022-11-13 16:16:07 +01:00
Isaac Freund
7402cb8aea
deps: update to latest zig-wlroots
This fixes the return type of Foo.fromWlrSurface() functions which can
in fact return null in the edge case that the role matches but the
corresponding object has already been destroyed.
2022-07-01 20:53:45 +02:00
Isaac Freund
7d9d889226
deps: update to latest zig-wlroots
This fixes a nasty ABI bug that could cause river to crash when
hotplugging down to 0 outputs.
2022-06-23 18:50:00 +02:00
Isaac Freund
d47be3b592
deps: update to latest zig-wayland 2022-05-11 18:02:32 +02:00
Peter Kaplan
44aaee3a51 command/map: layout-pinned mappings
e.g. `riverctl map -layout 0 normal Super Y spawn foot`

When this mapping is checked against a pressed key, layout 0 will be used to translate the pressed key instead of the currently active layout.

The number denotes to an index of the layouts set with
`XKB_DEFAULT_LAYOUT`.
2022-04-27 18:31:08 +02:00
Peter Kaplan
60fdefc3fd
input: add map-switch/unmap-switch commands
This allows running a command on a laptop's lid being opened/closed
or a tablet's button/switch being pressed/toggled.
2022-04-14 12:49:47 +02:00
Isaac Freund
e16eabd928
Xwayland: move window to top of X11 stack on focus
This is required for X11 input handling to work properly with
overlapping windows.
2022-01-02 04:32:28 +00:00
Isaac Freund
c1d985ac29
build: update to zig version 0.9.0 2021-12-24 05:28:14 +00:00
Isaac Freund
6a093fecee
river: remove wlroots 0.14 workarounds
Since updating to wlroots 0.15 we can remove several workarounds we had
in place due to wlroots improvements.
2021-12-22 20:15:57 +00:00
Isaac Freund
2288778dd7
ci: update for wlroots 0.15.0 2021-12-22 03:56:47 +00:00
Isaac Freund
c34d850397
layer-shell: fix regression from wlroots 0.15 update
The way wlroots handles the layer surface configure flow has changed a
bit and river's logic needs updating.
2021-12-21 19:41:47 +00:00
Isaac Freund
4d19621f1e
river: update to wlroots 0.15.0 2021-12-21 03:18:30 +00:00
Isaac Freund
bd70c010e9
Cursor: add workaround in pointer drag termination
Currently wlroots sends use the drag destroy event before sending the
wl_data_device.leave event to the client, which makes things a bit
awkward. My patch fixing this has been merged to wlroots master so we
can remove this when upgrading to wlroots 0.15, but until then this
workaround will fix the issue.
2021-11-23 22:54:19 +01:00
Isaac Freund
50814e0ffe
pointer-constraints: fix coordinates
Currently the implementation treats the x/y coordinates of
View.State.box as layout coordinates instead of output-relative. This
causes issues when using an output not at 0,0.
2021-10-11 15:01:57 +02:00
novakane
e59c2a73d7 river: implement xdg-activation-v1
- add a new "urgent" border color
- add a new event to river-status-unstable-v1

Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2021-08-19 12:58:52 +00:00
Isaac Freund
505639432e
Revert "build: assert wlroots version at comptime"
zig-wlroots now has this assert built in

This reverts commit 3392b21aa8.
2021-06-24 20:21:07 +02:00
Isaac Freund
3392b21aa8
build: assert wlroots version at comptime
This will prevent people compiling river against the wrong wlroots
version and wondering why it crashes.
2021-06-24 19:34:15 +02:00
Isaac Freund
41874b47ae code: update to wlroots 0.14.0 2021-06-23 15:35:10 +02:00