121 Commits

Author SHA1 Message Date
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 fbb9cc0f76da5e19f25ef2bc32f4e89febc95435)
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 066baa575340a1926bc300cbeebba8ee735839a0)
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 99ef96a389eb3e350a7fd3294d1033263751b1a1)
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 8da69699e952ee6163bb626c637c34ad7754bab7)
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 958f8798b6fdfab40aa29e1538827fa74e833a1c)
2024-05-20 12:13:18 +02:00
Isaac Freund
9cbd66f543
build: add -Dno-llvm build option
(cherry picked from commit 045ee7bd25963d1a12635fd83af0629474c5575f)
2024-05-20 12:07:52 +02:00
Isaac Freund
312465e0cb
build: update to Zig 0.12
(cherry picked from commit 033cad47bf63f2914865c19fc10b4dc991007515)
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
Isaac Freund
7c440b834e
build: follow semantic versioning for -dev versions
The new version format is 0.2.0-dev.76+d1cf95b which is compliant to the
semantic versioning 2.0.0 spec and sorts better than the old format.
2022-05-16 22:34:43 +02:00
Isaac Freund
d47be3b592
deps: update to latest zig-wayland 2022-05-11 18:02:32 +02:00
Hugo Machet
da59632cea code: Cleanup use of std library for consistancy 2022-02-08 12:02:05 +01:00
Isaac Freund
c1d985ac29
build: update to zig version 0.9.0 2021-12-24 05:28:14 +00:00