Commit Graph

1386 Commits

Author SHA1 Message Date
Isaac Freund 914f5fae20 ci: cleanup messy tar invocations
(cherry picked from commit c5b1d1de4e)
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 25675e4fcb ci: drop FreeBSD CI for now
There is no FreeBSD tarball from ziglang.org and FreeBSD itself has not
yet updated their Zig package to 0.12.0. This commit should be reverted
when a good way is found to obtain Zig 0.12.0 for the FreeBSD CI.

(cherry picked from commit 7fdba05b82)
2024-05-20 12:13:18 +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 a019045a16 PointerConstraint: remove overly tight assert 2
This is a second copy of the same assert that was removed in the last
commit. It should have been removed by that commit as well but was
overlooked.

(cherry picked from commit 680cb8ef69)
2024-05-18 17:07:48 +02:00
Isaac Freund 7b42c38276 PointerConstraint: remove overly tight assert
This assert is incorrect if Xwayland is enabled and an Override Redirect
window steals the keyboard focus from the parent surface.

It also seems likely to be hit if a Wayland client attempts to use a
pointer constraint on a subsurface. I don't think a pointer constraint
on a subsurface is likely to work entirely correctly and I don't know of
any Wayland clients that try such a thing. We can't let them crash river
by trying though.

(cherry picked from commit 5d1fc034bc)
2024-05-18 17:07:48 +02:00
Isaac Freund fa077d31b4 InputPopup: fix minor issues, simplify code
(cherry picked from commit c75d32c88b)
2024-05-18 13:41:28 +02:00
Isaac Freund cc5a249e9e TextInput: ignore enable requests without focus
(cherry picked from commit b35a40b9df)
2024-05-18 13:41:28 +02:00
Isaac Freund 84ec97aff2 InputPopup: fix naming
(cherry picked from commit ba6023e38a)
2024-05-18 13:41:28 +02:00
leviathan 7db9ade574 input-method-v2: Implement popups
(cherry picked from commit 74baf7225a)
2024-05-18 13:41:28 +02:00
Isaac Freund 9c56eb051f Server: fix filtering of newly created globals
Fixes: https://codeberg.org/river/river/issues/1068
(cherry picked from commit b5a80c7b9b)
2024-05-18 13:41:28 +02:00
ymcx 9b0e90cdb4 command/swap: fix cursor warp on focus change
(cherry picked from commit bed50f0dd2)
2024-05-18 13:41:28 +02:00
Isaac Freund cfb67b9e7a Keyboard: fix redundant leave/enter on creation
Currently if a second keyboard input device is created river will send
a wl_keyboard.leave event immediately followed by a wl_keyboard.enter
event. This serves no purpose and can confuse clients, in particular due
to fctix creating/destroying virtual keyboards on focus change.

Fixes: https://codeberg.org/river/river/issues/1062
References: https://github.com/fcitx/fcitx5/issues/1044
(cherry picked from commit 1e3ef88bd5)
2024-05-18 13:41:05 +02:00
Isaac Freund 717894b007 Cursor: don't hide while pointer constraint active
Fixes: https://codeberg.org/river/river/issues/1053
(cherry picked from commit f66eec9248)
2024-05-18 13:30:59 +02:00
Zander671 ed9e9c4d16 Remove assert that was causing crashes 2024-05-16 00:55:37 -07:00
Zander671 930dcb7dcd Fix current view tags status 2024-05-15 19:20:48 -07:00
Zander671 929db0098a Merge branch 'master' of https://codeberg.org/river/river 2024-05-15 04:36:26 -07:00
Isaac Freund b5a80c7b9b Server: fix filtering of newly created globals
Fixes: https://codeberg.org/river/river/issues/1068
2024-05-15 09:48:55 +02:00
ymcx bed50f0dd2 command/swap: fix cursor warp on focus change 2024-05-14 23:37:10 +02:00
Isaac Freund ad0b71c310 github: automatically close prs 2024-05-14 13:02:29 +02:00
Isaac Freund 1e3ef88bd5 Keyboard: fix redundant leave/enter on creation
Currently if a second keyboard input device is created river will send
a wl_keyboard.leave event immediately followed by a wl_keyboard.enter
event. This serves no purpose and can confuse clients, in particular due
to fctix creating/destroying virtual keyboards on focus change.

Fixes: https://codeberg.org/river/river/issues/1062
References: https://github.com/fcitx/fcitx5/issues/1044
2024-05-12 16:16:04 +02:00
Isaac Freund f66eec9248 Cursor: don't hide while pointer constraint active
Fixes: https://codeberg.org/river/river/issues/1053
2024-05-12 10:42:19 +02:00
Zander671 16d76ae86c Add tags field to focused_view event 2024-05-03 03:02:41 -07:00
LordMZTE e29d66f1de Xwayland: disallow negative output coordinates
Xwayland clients on outputs at negative positions don't currently
receive mouse events due to a bug in Xwayland. As a workaround, we
disallow negative output positions when Xwayland is enabled.

References: https://gitlab.freedesktop.org/xorg/xserver/-/issues/899
Closes: #1058
2024-05-02 14:08:34 +02:00
Alex Mirrlees-Black 442913fa82 input: change ScrollFactor and MapToOutput to align with other options
(cherry picked from commit 5262a4c5a6)
2024-04-27 13:39:47 +02:00
Alex Mirrlees-Black b5964d7f1f input: fix scroll-factor resetting if unspecified
(cherry picked from commit bd5da261eb)
2024-04-27 13:39:47 +02:00
Alex Mirrlees-Black 33cc85d5ef input: prevent duplicate input configs
(cherry picked from commit 5fbf174c36)
2024-04-27 13:39:47 +02:00
Isaac Freund b2c4d38e09 XdgToplevel: update clip on geometry x/y change
Currently if a client commits a geometry with a different x/y value but
does not change the width/height we might not update the clip
coordinates of the surface tree, potentially causing part of the surface
to be unintentionally clipped off.

To fix this, check for change in geometry x/y as well as width/height on
commit if the client is not currently part of an ongoing transaction.

Firefox for example it seems may respond to a configure non-atomically
with multiple commits:

1. commit new buffer and new geometry of a new width/height.
2. commit again with the same width/height but a new geometry x/y.

I don't think this is technically a bug but it doesn't seem like the
most efficient way to do things. I think this may also cause imperfect
frames. In any case, this should no longer cause river to crop off part
of firefox's surface.

(cherry picked from commit 9bbd34a0e3)
2024-04-27 13:39:47 +02:00
Isaac Freund dbfaa05a67 XdgToplevel: don't update geometry if configure inflight
(cherry picked from commit d1dc873408)
2024-04-27 13:39:47 +02:00
Alex Mirrlees-Black 5262a4c5a6 input: change ScrollFactor and MapToOutput to align with other options 2024-04-24 23:59:54 +10:00
Alex Mirrlees-Black bd5da261eb input: fix scroll-factor resetting if unspecified 2024-04-23 23:28:42 +10:00
Alex Mirrlees-Black 5fbf174c36 input: prevent duplicate input configs 2024-04-23 22:38:18 +10:00
Isaac Freund 822690146d build: bump version to 0.3.1-dev 2024-04-19 14:00:29 +02:00
Isaac Freund 9bbd34a0e3 XdgToplevel: update clip on geometry x/y change
Currently if a client commits a geometry with a different x/y value but
does not change the width/height we might not update the clip
coordinates of the surface tree, potentially causing part of the surface
to be unintentionally clipped off.

To fix this, check for change in geometry x/y as well as width/height on
commit if the client is not currently part of an ongoing transaction.

Firefox for example it seems may respond to a configure non-atomically
with multiple commits:

1. commit new buffer and new geometry of a new width/height.
2. commit again with the same width/height but a new geometry x/y.

I don't think this is technically a bug but it doesn't seem like the
most efficient way to do things. I think this may also cause imperfect
frames. In any case, this should no longer cause river to crop off part
of firefox's surface.
2024-04-19 13:46:08 +02:00
Isaac Freund d1dc873408 XdgToplevel: don't update geometry if configure inflight 2024-04-18 10:48:59 +02:00
Isaac Freund 6b86af4f85 build: bump version to 0.4.0-dev 2024-04-17 14:39:55 +02:00
Isaac Freund d3178ae13f build: bump version to 0.3.0 2024-04-16 14:03:17 +02:00
Isaac Freund f9e52f32bf docs: remove website url at top of readme
Codeberg lets me put this by the repository description.
2024-04-16 13:51:46 +02:00
Isaac Freund 6bae8efe01 docs: freshen up readme with text from website 2024-04-16 13:48:39 +02:00
Isaac Freund df5cb5dfe8 input: minor fixes and cleanups for scroll-factor 2024-04-16 13:26:01 +02:00
István Donkó 8a3018a311 input: add scroll-factor configuration 2024-04-16 13:25:40 +02:00
Isaac Freund 4a019142be layer-surface: close if exclusive zones too large
It seems layer-shell clients such as waybar can commit bogus exclusive
zones larger than the width/height of the output. While this client
behavior is questionable at best, it must not cause river to crash or
otherwise misbehave.

Therefore, close layer surfaces causing the usable (not exclusive zone)
area of an output to be reduced below half of the width/height.
2024-04-16 12:18:39 +02:00
Isaac Freund 70ad2af8f4 docs: update URL in man pages
Also remove the redundant URL in the footer and the redundant
"General Commands Manual" text (scdoc adds that by default based on the
section it seems).
2024-04-15 11:23:05 +02:00
Isaac Freund 14e941bae1 docs: redefine Code of Conduct scope 2024-04-09 14:18:47 +02:00
Isaac Freund 86d142aa47 logo: make readme logo bigger on small displays
The correct way to do this would be to use the max-width css attribute,
but codeberg seems to strip that when converting markdown to html.

The new value of 600em looks almost identical to 50% on large screens
and looks a lot better on small (mobile) screens.
2024-04-09 10:41:34 +02:00