Commit Graph

125 Commits

Author SHA1 Message Date
Peter Kaplan
fa1a1b01bd river: add new screen capture protocols
* ext-image-copy-capture-v1
* ext-image-capture-source-v1 (without toplevel capture)
2026-03-30 01:07:08 +02:00
Isaac Freund
ceb50e8c88 Server: implement color management protocols
Thank you wlroots!
2026-03-29 19:42:53 +02:00
Isaac Freund
47b64bda73 build: update to wlroots 0.20 2026-03-27 18:50:21 +01:00
Isaac Freund
d72408df18 build: update to Zig 0.15 2025-08-22 15:09:07 +02:00
Isaac Freund
037314823e build: update to wlroots 0.19 2025-06-18 12:22:17 +02:00
Isaac Freund
60f954c2b0 build: eliminate duplicate version string
There is now a single source of truth for river's version. It is no
longer possible for the versions in build.zig and build.zig.zon to get
out of sync as build.zig now parses the version from build.zig.zon.
2025-03-10 08:17:17 +01:00
Isaac Freund
933701d7f9 build: update to zig 0.14.0 2025-03-07 12:44:28 +01:00
Isaac Freund
295bbb241a build: bump version to 0.3.8-dev 2025-01-04 11:39:28 -06:00
Isaac Freund
189cf6e68b build: bump version to 0.3.7 2025-01-04 11:35:17 -06:00
Isaac Freund
6254211a26 build: bump version to 0.3.7-dev 2024-12-09 15:07:58 +01:00
Isaac Freund
4b24287da7 build: bump version to 0.3.6 2024-12-09 15:01:53 +01:00
tiosgz
b281d196e4 build: load tablet-v2 protocol from its new location
(cherry picked from commit fbb9cc0f76)
2024-12-09 14:59:39 +01:00
Violet Purcell
aa1ef64448 tearing-control-v1: implement
Implement the wp-tearing-control-v1 protocol allowing window to hint
the compositor that they prefer async "tearing" page flips.

Add tearing/no-tearing rules to allow the user to manually
enabled/disable tearing for a window.

Use async "tearing" page flips when a window that should be allowed to
tear is fullscreen.

This still requires several kernel patches to work with the wlroots
atomic DRM backend. For now, either set WLR_DRM_NO_ATOMIC=1 or use a
custom kernel that includes the unmerged patches (such as CachyOS).

Closes: https://codeberg.org/river/river/issues/1094
(cherry picked from commit 066baa5753)
2024-12-09 14:59:09 +01:00
Isaac Freund
dcc8e5cb9d build: bump version to 0.3.6-dev 2024-07-22 17:25:15 +02:00
Isaac Freund
0e1b1862ca build: bump version to 0.3.5 2024-07-22 17:21:01 +02:00
Isaac Freund
eb32deaf76 build: update to wlroots 0.18.0
(cherry picked from commit 99ef96a389)
2024-07-22 17:19:44 +02:00
Isaac Freund
dc0d8112a6 build: bump version to 0.3.5-dev 2024-07-10 12:58:47 +02:00
Isaac Freund
4f39ce79e9 build: bump version to 0.3.4 2024-07-10 12:55:32 +02:00
Isaac Freund
64e2555505 build: bump version to 0.3.4-dev 2024-06-07 14:16:32 +02:00
Isaac Freund
1e65e652c2 build: bump version to 0.3.3 2024-06-07 14:11:31 +02:00
Isaac Freund
a17270721e build: update to Zig 0.13.0
(cherry picked from commit 8da69699e9)
2024-06-07 14:10:24 +02:00
Isaac Freund
5cd22edb58 build: bump version to 0.3.3-dev 2024-05-20 12:17:38 +02:00
Isaac Freund
3ff620fae3 build: bump version to 0.3.2 2024-05-20 12:14:13 +02:00
Isaac Freund
b1bac96731 build: switch to the Zig package manager
No more git submodules!

(cherry picked from commit 958f8798b6)
2024-05-20 12:13:18 +02:00
Isaac Freund
9cbd66f543 build: add -Dno-llvm build option
(cherry picked from commit 045ee7bd25)
2024-05-20 12:07:52 +02:00
Isaac Freund
312465e0cb build: update to Zig 0.12
(cherry picked from commit 033cad47bf)
2024-05-20 12:07:52 +02:00
Isaac Freund
c757e1b33e build: bump version to 0.3.2-dev 2024-05-18 17:43:46 +02:00
Isaac Freund
6a2eeba9ed bulid: bump version to 0.3.1 2024-05-18 17:09:03 +02:00
Isaac Freund
822690146d build: bump version to 0.3.1-dev 2024-04-19 14:00:29 +02:00
Isaac Freund
d3178ae13f build: bump version to 0.3.0 2024-04-16 14:03:17 +02:00
Isaac Freund
ed99d7bc14 docs: migrate to codeberg
wiki and release migration are TODO
2024-03-22 16:49:28 +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
50d4f25eee build: enable frame pointers in release safe
These are by default only enabled for debug builds but give a higher
chance of getting a usable stack trace out of bug reports as Zig's
builtin stack trace dumping code doesn't handle their absence well in
all cases yet. The cost should be negligible as river is not CPU-bound.
2024-03-07 16:46:42 +01:00
MaxVerevkin
9ce4525f08 river: Implement cursor_shape_v1 2024-01-04 14:14:00 -06:00
Isaac Freund
093b85d234 build: fix comment on scanner.generate() versions 2023-12-05 11:37:15 +01:00
Isaac Freund
2e586c7061 build: update to Zig 0.11.0 2023-10-16 16:27:03 +02:00
Isaac Freund
b2b2c9ed13 river: add rules system
This is a breaking change and replaces the previous
csd-filter-add/remove and float-filter-add/remove commands.

See the riverctl(1) man page for documentation on the new system.
2023-03-12 16:44:19 +01: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
b7b371cb4f pointer-constraints: implement protocol
Now with 50% less pointer warping!

The new implementation requires the user to move the cursor into the
constraint region before the constraint is activated in order to keep
behavior more predictable.
2023-03-05 23:11:54 +01:00
Isaac Freund
be4330288d river: rework core data structures & transactions 2023-02-28 18:28:17 +01:00
Isaac Freund
b7ac5becfb pointer-constraints: remove protocol
This implementation as it stands is incomplete/buggy and will make
updating to wlr_scene more complex.

It will be reimplemented after updating to wlr_scene is complete.
2023-02-28 14:55:58 +01:00
Isaac Freund
09f3f141ae deps: update to Zig 0.10 2023-01-08 16:21:42 +01:00
Isaac Freund
e49db7682c build: bump version to 0.3.0-dev 2023-01-02 01:55:16 +01:00
Isaac Freund
4d8f816305 build: bump to version 0.2.0 2023-01-02 01:12:11 +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
33187e0b09 ext-session-lock: implement protocol 2022-11-13 16:45:18 +01:00
Leon Henrik Plickat
844ffce037 river-layout: add user_command_tags event
It is not guaranteed that the next layout_demand event after a user_command
event has the same active tags (for example when there are no views visible).
As an example, a user could trigger a user_command while no views are visible,
then switch to a different tag set which has active views. The active tags of
the previous layout_demand may also be different.

Therefore it is impossible to correctly implement a layout generator which has
user commands apply only to the currently active tag set, which is solved by
this patch.
2022-08-16 13:40:07 +02:00
Isaac Freund
a413790158 build: don't scan xdg-output
This was used for the river-options protocol implementation in riverctl
and is no longer needed since the river options protocol got removed.
2022-06-03 23:31:07 +02:00
Isaac Freund
d657dc791b river-status: add mode event to seat status
This allows clients such as a status bar to display the currently active
mode.
2022-06-01 00:15:09 +02:00
Isaac Freund
3cb6428da6 build: add -Dstrip and -Dpie build options 2022-05-22 15:25:38 +02:00