Bot releases are hidden (Show)
NOTICE: This is the last river release that will be announced on github. The upstream river repository has moved to https://codeberg.org/river/river and this release as well as all past and future releases can be found there.
This one's been in the pipeline for quite a while, it's been over a year since 0.2.0 was released and river has seen significant improvements since then. The past few months I've done my best to fix as many bugs as possible but a non-bugfix release always entails new code reaching a lot of people with diverse setups. If you find a bug in river please open an issue.
Here's a summary of the important changes since river 0.2.
New features:
rule-add
in the riverctl(1)
man page. The following rule types are added in this release:
-current-tags
flag for send-to-output
-no-xwayland
flag for starting river with xwayland disabled even if built with support.above
, below
and after <N>
attach modes plus the ability to configure attach mode per output with the new output-attach-mode
riverctl command.-skip-floating
flag for focus-view
scroll-factor
input configuration optioninput-method-v2
and text-input-v3
protocols are supported, with the exception of input-method popups.presentation-time
protocol is supported.fractional-scale-v1
protocol is supported.cursor-shape-v1
protocol is supported.xdg-shell
protocol version 5 is supported, up from version 2.Breaking changes compared to 0.2:
riverctl rule-add ssd
may be used.float-filter-add
and csd-filter-add
riverctl commands have been removed, use rule-add
instead and see the riverctl(1)
man page for documentation.attach-mode
riverctl command is deprecated and currently aliased to the new default-attach-mode
command. The alias may be removed in the future.Packaging changes:
Community:
Thank you to everyone who has contributed code and bug reports to river! River would no be where it is today without you.
Thanks as well to everyone who has donated to me in support of river's development, your support means a lot to me.
If my work on river adds value to your life and you'd like to support me financially you can find donation information here.
Alexander Courtis (1):
wlr-output-management: apply adaptive sync state
Doclic (2):
river: make RuleList return deleted items
river: add outputs rule
Hugo Machet (9):
ci: Use meson setup command
View: fix pointer comparison in notifyTitle()
completions: Rewrite zsh
completions/zsh: Fix incomplete input names
river: add -no-xwayland cli flag
InputConfig: Implement disable while trackpointing
example/init: Replace light with brightnessctl
completions: Add missing completions
mailmap: map Hugo's old emails to new one
Isaac Freund (250):
build: bump version to 0.3.0-dev
rivertile: fix code to disallow 0 main count
session-lock: wait for present before locking
session-lock: fix assertion failure due to race
session-lock: fix assertion failure on abnormal client behavior
render: fix rounding for fractional scaling
deps: update to Zig 0.10
flags: further cleanup after Zig 0.10
deps: update zig-wayland to fix build on aarch64
Seat: rework Xwayland Override Redirect focus
command/layout: fix a memory leak
session-lock: properly handle disabled outputs
idle-inhibit: fix use-after-free
wlr-output-management: leverage new wlroots APIs
session-lock: fix assertion failure on hot-plug while locked
wlr-output-management: fix bug due to zig miscompilation
docs: fix typos in riverctl man page
docs: remove repology badge from readme
Seat: guard setFocusRaw() usage while locked
deps: update to latest zig-wayland/zig-wlroots
deps: update to latest zig-wayland/zig-wlroots
Keyboard: fix keyboard-layout mapping crash
pointer-constraints: remove protocol
render: remove damage tracking
wlr-foreign-toplevel-management: remove protocol
render: use wlr_scene to render views
Cursor: remove surfaceAt()
session-lock: use the scene graph
Output: use separate scene trees for layers
View: implement borders with scene graph
Xwayland: create scene tree
View: remove dead code
LayerSurface: render using the scene graph
XdgPopup: reimplement using the scene graph
xdg-shell: implement version 5
DragIcon: render using the scene graph
Xwayland: render using the scene graph
View: use saved surface trees for transactions
river: rework core data structures & transactions
OutputStatus: rework implementation
LayerSurface: fix use-after-free on destroy
river: fix various fullscreen related bugs
csd-filter-add/remove: add missing applyPending()
Root: centralize focus(null) calls in applyPending()
Output: inline renderOutput function
session-lock: fix race with multiple outputs
Root: fix more fullscreen bugs
View: move borders state to State struct
View: clamp to output on exiting float/fullscreen
Root: fix use of view.current before update
Output: fix background of transformed outputs
View: only send configures through transactions
View: fix frame perfection on unmap
river: render floating views above the layout
View: handle destroy during inflight layout demand
Xwayland: fix has_fixed_size heuristic for floating
XdgToplevel: fix size_changed check on commit
Root: keep all fullscreen views the correct size
Xwayland: hide override redirect windows if locked
deps: update zig-wlroots to fix Xwayland crash
Cursor: allow resizing from all edges
xdg-shell: honor client move/resize requests
View: rework configure abstraction
Cursor: store offset and warp cursor during move
river: fix a few leaks
river: clean up some uneeded TODOs
SceneNodeData: allow access from wlr_surfaces
Server: remove headless backend
presentation-time: support protocol
Cursor: use pending position to warp during move
Seat: use the grab aware API to clear focus
pointer-constraints: implement protocol
Xwayland: only raise views if activated
wlr-foreign-toplevel-management: implement protocol
river: improve comments on pending/inflight/current
Seat: fix potential assertion failure
layer-shell: apply exclusive zones in separate pass
Xwayland: eliminate unneeded user data usage
XdgToplevel: clean up wlr_surface data on destroy
river-status: only send layout name if changed
example/init: Fix confusing comments
xdg-shell: determine tiled state by float state
View: add `none` impl tag for better safety checks
xdg-decoration: clean up implementation
river: add rules system
docs: fix typo in riverctl man page
example/init: update for rules system
doc: fix typo in riverctl man page
Output: reinitialize output_status, cleanup
Root: remove incorrect assertions in addOutput()
Root: separate fallback list to handle 0 outputs
Cursor: fix warp on output change with no views
XdgToplevel: ensure view dimensions match geometry
Cursor: lock to current geometry during move/resize
Cursor: apply x/y change during resize on commit
build: work around zig 0.10.0 bug to fix CI
LayerSurface: handle focus when switching outputs
LayerSurface: fix surfaces on multiple outputs at once
session-lock: fix assertion failures and clean up
XdgToplevel: store scene node in wlr_surface data
river-layout: Remove incorrect assertion
build: update to Zig 0.11.0
View: clean up after Zig update
Cursor: use total delta for resize calculation
docs: explain unknown info in output identifiers
docs: update PACKAGING.md for Zig 0.11
DragIcon: set position on creation
rivertile: eliminate an @intCast()
Cursor: use inflight_mode as needed in updateState()
XdgToplevel: tweak fullscreen state policy
pointer-constraints: fix assertion failure
rules: rename "tag" action to "tags"
xdg-toplevel: ignore redundant move/resize requests
river: remove dead code
View: handle map while no outputs are available
Cursor: clamp cursor movement to resize bounds
Cursor: fix high polling rate resize regression
session-lock: fix pointer focus handling on map
build: update to wlroots 0.17
SceneNodeData: fix fromNode()
Output: fix regression of initial mode logic
Root: fix faulty assertion, cleanup
Output: fix initial commit for wayland backend
ci: fix arch and alpine
build: fix comment on scanner.generate() versions
deps: update to lastest zig-wlroots
gamma-control: track wlroots 0.17 changes
output-management: fix output config application
output-management: work around wlroots crash
build: require at least wlroots 0.17.1
TextInput: remove pending_focused_surface
TextInput: handle multiple text inputs correctly
TextInput/InputRelay: style nits
TextInput: fix consecutive enable requests
Keyboard: clarify keypress routing logic
XdgToplevel: fix frame perfection on unmap
river: drop support for wl_drm
linux-dmabuf: send better per-surface feedback
xdg-activation: fix race with transaction system
Cursor: clean up cursor theme loading
Keyboard: delete some uneeded code
Output: fix possible crash on destroy
river: re-add wl_drm support for now
Keyboard: fix mapping XF86ScreenSaver
Seat: fix potential crash in handleMapping()
Root: remove unneeded fallback.inflight lists
Root: fix stack order on restore from 0 outputs
river: log version during startup
Keyboard: check translated keysyms for mappings
Keyboard: don't send enter before keymap event
river: fix -log-level filtering
Root: use Output.PendingState for fallback
attach-mode: code/documentation style tweaks
xdg-toplevel: handle destroy before xdg-decoration
command/zoom: always warp cursor if configured
View: clip scene tree to output
XdgToplevel: handle configure timeout gracefully
View: don't clip off CSD shadow and the like
Keyboard: style/naming nits and comment tweaks
Keyboard: ignore >32 simultaneous key presses
command/input: cleanup memory manangement a bit
command/map: remove references to locked mods
Root: trival code cleanup in deactivateOutput()
InputConfig: simplify libinput API usage
XdgToplevel: handle timed out state in configure()
Root: fix crash on output disable
Root: fix crash on deinit()
rules: fix assertion failure
XdgToplevel: work around buggy clients
InputConfig: code style cleanups
output-management: fix output destroy handling
Root: fix auto-layout output coordinates
linux-dmabuf: disable per-surface feedback
deps: update to latest zig-wayland and zig-wlroots
river: only expose xwayland_shell_v1 to Xwayland
mailmap: map Isaac's old email to the new one
build: enable frame pointers in release safe
View: clean up attach-mode code, add assert
Root: reduce transaction timeout to 50ms
View: remove faulty assertion
tablet-v2: implement tablet tool support
build: require wlroots version 0.17.2
deps: switch to codeberg upstreams, update
View: improve transaction timeout handling
View: fix SSD desync on consecutive timeouts
Server: clean up initialization
Layout: eliminate "self" naming convention
Root: eliminate "self" naming convention
Seat: eliminate "self" naming convention
Output: eliminate "self" naming convention
View: eliminate "self" naming convention
Cursor: eliminate "self" naming convention
XdgToplevel: eliminate "self" naming convention
XwaylandView: eliminate "self" naming convention
Mapping: eliminate "self" naming convention
XwaylandOverrideRedirect: eliminate "self" naming convention
InputManager: eliminate "self" naming convention
Keyboard: eliminate "self" naming convention
Config: eliminate "self" naming convention
LayoutManager: eliminate "self" naming convention
idle-inhibit: fix naming, eliminate "self" naming convention
InputConfig: eliminate "self" naming convention
SeatStatus: eliminate "self" naming convention
StatusManager: eliminate "self" naming convention
PointerMapping: eliminate "self" naming convention
LayoutDemand: eliminate "self" naming convention
Mode: eliminate "self" naming convention
Control: eliminate "self" naming convention
SwitchMapping: eliminate "self" naming convention
Switch: eliminate "self" naming convention
Vector: eliminate "self" naming convention
RuleList: eliminate "self" naming convention
Server: remove all listeners on deinit()
pointer-gestures: move to input manager
security-context: implement protocol
XdgToplevel: validate move/resize request serial
touch: handle cancel event, fix assertion failure
deps: update zig-wayland for a minor cleanup
Root: increase transaction timeout to 100ms
View: fix potential assertion failure on destroy
layer-shell: crop surfaces to output bounds
docs: migrate to codeberg
command/map: add note about upstream xkbcommon fix
codeberg: add bug report issue template
codeberg: maybe fix issue template
codeberg: maybe fix issue template take 2
docs: update wiki url
docs: update release urls for codeberg migration
logo: add an official river logo
docs: update README stability disclaimer
docs: fix typo in previous commit
ci: migrate to codeberg
View: always check if current.output is null
logo: use adaptive color/no background for readme
View: fix assertion failure if focused while destroying
Output: fix possible assertion failure on enable
Root: fix leak on view destroy
View: add more assertions around destruction
river: raise the file descriptor limit
docs: add Code of Conduct
docs: fix broken link in coc
docs: fix another broken link in the coc
logo: make readme logo bigger on small displays
docs: redefine Code of Conduct scope
docs: update URL in man pages
layer-surface: close if exclusive zones too large
input: minor fixes and cleanups for scroll-factor
docs: freshen up readme with text from website
docs: remove website url at top of readme
build: bump version to 0.3.0
István Donkó (2):
keyboard: add the ability to load layout from file
input: add scroll-factor configuration
Leon Henrik Plickat (16):
completions: add keyboard-layout
riverctl: Add error messages for failed connections
river: allow settings child type of RuleList
river: change order of colums in list-rules command
river: add tags rule
river: fix crash when trying to add tag rule without tag argument
river: focus-view and swap by spatial direction
river: fix spatial direction focusing / swapping
Keyboard: Add new keyboards to groups if matched
keyboard-groups: use globber for identifier matching
refactor input configuration
river: fix names of input config settings
command/input: support globs
View: restore to previous output on reconnect
TabletTool: use "pencil" cursor shape
command/focus-view: add -skip-floating
LordMZTE (2):
river: clear up docs on -c parameter
command/input: add map-to-output
MaxVerevkin (4):
render: premultiply alpha for user-provided colors
river: Implement fractional_scale_v1
Cursor: actually set xcursor_name
river: Implement cursor_shape_v1
Orfeas (1):
attach-mode: implement after <N>
Pablo Ovelleiro Corral (1):
command/send-to-output: add -current-tags flag
Peter Kaplan (3):
command/attach-modes: above and below options
completions/zsh: Update attach-modes
View: Add attachRelative function
Sage Hane (1):
editorconfig: fix typo
Väinö Mäkelä (1):
XdgToplevel: keep wlroots updated on view sizes
Wouter van Heijst (1):
Cursor: Focus follows cursor focuses empty outputs
Yutaro Ohno (1):
README: update required wlroots version to 0.17.2
Zakariyya Von Forslun (2):
Seat: keep parent Xwayland view of a focused OR surface activated
Cursor: fix incorrect lock manager state assertion
alex (1):
river: fix bug in snap down / right
polykernel (2):
river: add position and dimensions rules
river: add fullscreen rule
praschke (5):
river: Implement input_method and text_input
input-method: setKeyboard already sends modifiers
input-method: send text-input enter event after all leave events
input-method: check that the input method is active when committing
input-method: address nits
tiosgz (19):
Server: remove debug leftover
river: update some comments
Root: rename field outputs to active_outputs
Root: make 'fallback output empty' assertion stricter
Root: migrate {all,active}_outputs to wl.list
Root: fix inflight_layout_demands counting
Cursor: keep focus_follows_cursor_target updated
riverctl: rule-{add,del}: reorder parameters
completions/fish: partial overhaul
completions/bash: complete input devices, fix typos
editorconfig: reflect state of bash completion
riverctl(1): add a section on terminology
Keyboard: fix key handling/eating logic
Keyboard: eat key before running mapping
KeycodeSet: move to Keyboard.zig
Keyboard: rework key processing semantic
deps: update zig-wlroots
Keyboard: don't crash when coming from a different tty
Keyboard: ignore multiple presses of a key
Published by ifreund 11 months ago
Well, I managed make a typo during the Zig upgrade for 0.2.5 which broke
input device identifiers. This release fixes that.
Hopefully that's the only regression I managed to introduce from 0.2.4 but
if something else comes up release numbers are luckily pretty cheap :)
Full changelog:
Isaac Freund (3):
build: bump version to 0.2.6-dev
InputDevice: fix identifier generation
build: bump version to 0.2.6
Published by ifreund 11 months ago
This release makes no functional changes since 0.2.4. The only difference
is that it requires Zig 0.11 rather than Zig 0.10.
I had originally planned for 0.3.0 to be the next release and to update the
zig version required then, but 0.3.0 is taking longer than expected to wrap up
at my quality standards. Distro maintainers requested a Zig 0.11 compatible
release to ease packaging until 0.3.0 is done.
Full changelog:
Isaac Freund (3):
build: bump version to 0.2.5-dev
build: update to Zig 0.11.0
build: bump version to 0.2.5
Published by ifreund over 1 year ago
This release fixes yet another small handful of bugs, including a couple of
assertion failures causing crashes. With luck this may be the last 0.2.x
bugfix release though if any more bugs are found and fixed I'll likely tag
another in a month or so. Thank you all for the bug reports and patches!
Full changelog:
Alexander Courtis (1):
wlr-output-management: apply adaptive sync state
Isaac Freund (6):
build: bump version to 0.2.4-dev
session-lock: fix assertion failure on hot-plug while locked
docs: fix typos in riverctl man page
docs: remove repology badge from readme
Seat: guard setFocusRaw() usage while locked
build: bump version to 0.2.4
Published by ifreund over 1 year ago
This release fixes a handful of bugs. Notably, dropdown menus and
similar should work more reliably for X11 clients using the Xwayland
compatibility layer. Thank you all for the bug reports and patches!
Full changelog:
Hugo Machet (1):
View: fix pointer comparison in notifyTitle()
Isaac Freund (7):
build: bump version to 0.2.3-dev
deps: update zig-wayland to fix build on aarch64
Seat: rework Xwayland Override Redirect focus
command/layout: fix a memory leak
session-lock: properly handle disabled outputs
idle-inhibit: fix use-after-free
build: bump version to 0.2.3
Zakariyya Von Forslun (2):
Seat: keep parent Xwayland view of a focused OR surface activated
Cursor: fix incorrect lock manager state assertion
Published by ifreund almost 2 years ago
This release updates the Zig version required to 0.10. Other than that,
there are no changes since version 0.2.1.
Full changelog:
Isaac Freund (4):
build: bump version to 0.2.2-dev
deps: update to Zig 0.10
flags: further cleanup after Zig 0.10
build: bump version to 0.2.2
Published by ifreund almost 2 years ago
This release contains a handful of bugfixes and minor improvements that
didn't quite make it in to the 0.2.0 release. Thank you all for the
bug reports and patches!
Full changelog:
Hugo Machet (1):
ci: Use meson setup command
Isaac Freund (7):
build: bump version to 0.2.1-dev
rivertile: fix code to disallow 0 main count
session-lock: wait for present before locking
session-lock: fix assertion failure due to race
session-lock: fix assertion failure on abnormal client behavior
render: fix rounding for fractional scaling
build: bump version to 0.2.1
Leon Henrik Plickat (1):
completions: add keyboard-layout
MaxVerevkin (1):
render: premultiply alpha for user-provided colors
alex (1):
river: fix bug in snap down / right
Published by ifreund almost 2 years ago
river 0.2.0
This release brings many new features and improvements, as well as a few
small breaking changes since river 0.1. Many thanks to everyone who
contributed and happy New Year!
New features:
ext-session-lock-v1
is supported. This is a more robust protocol forext-idle-notify-v1
is supported. This replaces the KDE idleriverctl focus-output
and riverctl send-to-output
may target anriverctl map
has a new -layout
flag which may be used to map keysriverctl keyboard-layout
allows setting the keyboard layout and xkbriverctl map-switch
allows running a command when e.g. a laptopriverctl map-pointer
may run arbitrary commands.riverctl focus-follows-cursor
has a new always
mode.riverctl set-cursor-warp
has a new on-focus-change
mode.riverctl hide-cursor
command.riverctl keyboard-group-create
and related commands.wlr-output-management-unstable-v1
version 4 is now implemented,wp-single-pixel-buffer-v1
is supported.river-status-unstable-v1
protocol has been extended to exposeriver-layout-v3
protocol has been extended to expose theBreaking changes compared to 0.1:
riverctl spawn-tagmask
command applies globally 39104ae.input-inhibit
protocol has been removed 78a46c3.ext-session-lock-v1
org_kde_kwin_idle
protocol has been removedext-idle-notify-v1
protocol should be used instead.Packaging changes:
Aiz (1):
river-status: fix typo in layout_name_clear description
Alexander Courtis (1):
map-pointer: allow running arbitrary commands
Andrea Feletto (1):
river: support wp-single-pixel-buffer-v1
Campbell Barton (1):
contrib: mention default-layout command in FAQ
Daniel Eklöf (3):
completions: zsh: new completions for the ‘hide-cursor’ command
completions: bash: new completions for the ‘hide-cursor’ command
completions: fish: new completions for the ‘hide-cursor’ command
Duncan Overbruck (1):
Cursor: Add a hide-cursor command
Hugo Machet (10):
docs: update zig version required in readme
rivertile: Use saturating addition
command/map: Warn users on keybinding overwritten
Xwayland: Handle minimize request
ci: Add sourcehut builds
Mode: Use ArrayListUnmanaged to save memory
code: Cleanup use of std library for consistancy
command: Remove allocator arg
ci: Update to zig 0.9.1
ci: Fix builds manifests
Isaac Freund (95):
build: bump version to 0.2.0-dev
docs: clarify description of dependencies
docs: remove reference to /etc/river/init
Cursor: fix pointer drags with focus-follows-cursor
Cursor: add workaround in pointer drag termination
layer-shell: tighten up handling of large margins
common/flags: make argFlag() return a slice
river: update to wlroots 0.15.0
Cursor: dedup XcursorManager.setCursorImage() calls
layer-shell: fix regression from wlroots 0.15 update
ci: update for wlroots 0.15.0
Cursor: properly handle clients setting the cursor image
Subsurface: add commit listener on create if mapped
river: remove wlroots 0.14 workarounds
docs: soften the README disclaimer a bit
build: update to zig version 0.9.0
Cursor: fix down mode motion events for subsurfaces
Xwayland: move window to top of X11 stack on focus
Seat: do a better job of cleaning up listeners
Cursor: remove minor outdated workaround
XdgPopup: fix unconstrain from box coords
command/map: add Alt/Super as aliases for Mod1/Mod4
example/init: Use Alt/Super aliases
docs: fix typo in river(1) man page
XdgPopup: remove commit listener on destroy if mapped
layer-shell: center when opposing anchors are set
wlr-output-management: simplify implementation
ci: run on 0.1.x branch
code: relicense to GPL-3.0-only
View: fix/simplify logic in applyPending()
View: use last set fullscreen state in applyPending()
rivertile: properly validate -main-ratio flag
rivertile: use u31s to remove most @intCast()s
DragIcon: Properly initialize if already mapped
doc: Add additional style rule to CONTRIBUTING.md
layer-shell: allow surfaces larger than the output
layer-shell: fix overflow with large bottom margin
Cursor: Don't passthrough() on update if hidden
ci: make wget output non verbose
deps: update to latest zig-wayland
layer-shell: fix overflow if desired size exceeds output bounds
build: follow semantic versioning for -dev versions
Output: remove overzealous assert
build: add -Dstrip and -Dpie build options
docs: create PACKAGING.md
docs: expand on -Dcpu in PACKAGING.md
docs: add note on example init file to PACKAGING.md
Xwayland: handle override redirect state changes
View: refactor initialization
ci: fix xbps invocation
Xwayland: Rename XwaylandUnmanaged to XwaylandOverrideRedirect
river-status: add mode event to seat status
river-status: only send mode event if client bound version 3
Cursor: revive 'always' focus-follows-cursor mode
build: don't scan xdg-output
example/init: don't use exec
InputDevice: move to separate file
InputDevice: use "switch" in input device names
Seat: refactor InputDevice handling
Cursor: implement initial touch support
deps: update to latest zig-wlroots
Xwayland: fix View.fromWlrSurface for OR surfaces
deps: update to latest zig-wlroots
ci: explicitly install libevdev
Seat: send enter event on keyboard device creation
river: fix SIGPIPE handling, cleanup fork/execve
layout: only arrange on user command if layout is active
layer-shell: start transaction on map
river: refactor keyboard groups implementation
river: update to wlroots 0.16
ci: update to wlroots 0.16.0 and wayland 1.21.0
ci: remove Void Linux CI
input-inhibit: remove support for protocol
ext-session-lock: implement protocol
session-lock: add basic logging
session-lock: send wl_pointer.enter immediately
deps: update to latest zig-wlroots
example/init: run rivertile in background
map-pointer: minor fixes and cleanups
river-layout: fix version of layout_name events
View: honor fullscreen requests before map
build: handle wlroots built without xwayland support
idle: support ext-idle-notify-v1, drop KDE protocol
flags: rewrite to allow [:0]const u8 arguments
command/keyboard-layout: use flags.zig, cleanup
docs: improve keyboard layout documentation
command/map: use flags.zig, cleanup
flags: automatically prepend '-'
session-lock: fix potential race
Config: use a single xkb keymap for all keyboards
touch: support drag and drop
layout: fix size of CSD views
river-control: update zig-wayland to fix leak
command/spawn-tagmask: apply globally
build: bump to version 0.2.0
Jackson Abascal (1):
input: fix typo in natural-scroll
Jan Evers (1):
example/init: fix typos
Justin Wood (1):
docs: Fix typo in readme
Leon Henrik Plickat (13):
Cursor: improve output focus handling on button press
Cursor: update image if needed on xcursor theme change
input: keep applying input configs after first match
input: Improve input device name format
rivertile: Use saturating arithmetics to prevent over-/underflow when using user defined values
river: error out if default init is not executable
river: keep floating views within bounds when sending to output
river-layout: add user_command_tags event
river: advertise correct version of layout protocol
river: add keyboard groups
river-status: expose current layout name
river: add keyboard-layout command
river: fix resize command
Leonardo Gibrowski Faé (1):
docs: fix typo in river(1) man page
MaxVerevkin (2):
river-status: correctly advertise version 4
river-control: mark callback events as destructors
Nick Hastings (1):
contrib: add desktop file
Peter Kaplan (4):
input: add map-switch/unmap-switch commands
command/hide-cursor: fix crash on missing option
command/map: layout-pinned mappings
Mapping: Do not translate keys with xkb
Wannes De Meyer (1):
docs: fix wlroots link in readme
Zakariyya Von Forslun (5):
xwayland-unmanaged: handle focus on map/cursor button
cursor: fix Xwayland unmanaged surfaceAt coordinates
Xwayland: add handling of override redirect listeners
Cursor: fix focus for Xwayland override redirect windows
Xwayland: restrict OR focus changes based on ICCCM input model
dfangx (1):
idle-inhibit: implement protocol
pmkap (1):
command: allow targeting outputs by name
shironeko (3):
river: ignore SIGPIPE to avoid weird exits
Cursor: add on-focus-change option
Rework focus-follows-cursor to work with warp
taupiqueur (1):
docs: fix typo in readme
tiosgz (9):
view: stop enforcing custom minimum size
Switch: register destroy listener
Keyboard: eat key release event for mappings
Seat: avoid leaking eaten keys to client on focus
docs: better connect 'index' to -layout in riverctl(1)
Output: retry other modes if preferred fails
XdgPopup: fix unconstrain rect with layer surfaces
LayoutDemand: handle too many view dimensions correctly
session-lock: handle output unplugging better
Published by ifreund over 2 years ago
This release contains many bug fixes and a few small improvements. Thank
you to all our users for the bug reports!
River's license has also been changed from GPL-3.0-or-later to GPL-3.0-only.
Full changelog:
Hugo Machet (4):
docs: update zig version required in readme
rivertile: Use saturating addition
command/map: Warn users on keybinding overwritten
Xwayland: Handle minimize request
Isaac Freund (17):
build: bump version to 0.1.3-dev
Cursor: fix down mode motion events for subsurfaces
Xwayland: move window to top of X11 stack on focus
Seat: do a better job of cleaning up listeners
Cursor: remove minor outdated workaround
XdgPopup: fix unconstrain from box coords
command/map: add Alt/Super as aliases for Mod1/Mod4
example/init: Use Alt/Super aliases
docs: fix typo in river(1) man page
XdgPopup: remove commit listener on destroy if mapped
layer-shell: center when opposing anchors are set
wlr-output-management: simplify implementation
ci: run on 0.1.x branch
code: relicense to GPL-3.0-only
View: fix/simplify logic in applyPending()
View: use last set fullscreen state in applyPending()
build: bump version to 0.1.3
Justin Wood (1):
docs: Fix typo in readme
Leon Henrik Plickat (2):
Cursor: update image if needed on xcursor theme change
input: keep applying input configs after first match
Nick Hastings (1):
contrib: add desktop file
Published by ifreund almost 3 years ago
This release updates the Zig version required to 0.9.0. Other than that,
there are no changes since version 0.1.1.
Full changelog:
Isaac Freund (3):
build: bump version to 0.1.2-dev
build: update to zig version 0.9.0
build: bump version to 0.1.2
Published by ifreund almost 3 years ago
This release updates the wlroots requirement to 0.15. It also contains a
handful of bug fixes and minor improvements. There are no breaking changes.
Full list of changes:
Isaac Freund (16):
build: bump version to 0.1.1-dev
docs: clarify description of dependencies
docs: remove reference to /etc/river/init
Cursor: fix pointer drags with focus-follows-cursor
Cursor: add workaround in pointer drag termination
layer-shell: tighten up handling of large margins
common/flags: make argFlag() return a slice
river: update to wlroots 0.15.0
Cursor: dedup XcursorManager.setCursorImage() calls
layer-shell: fix regression from wlroots 0.15 update
ci: update for wlroots 0.15.0
Cursor: properly handle clients setting the cursor image
Subsurface: add commit listener on create if mapped
river: remove wlroots 0.14 workarounds
docs: soften the README disclaimer a bit
build: bump version to 0.1.1
Leon Henrik Plickat (1):
Cursor: improve output focus handling on button press
Wannes De Meyer (1):
docs: fix wlroots link in readme
Published by ifreund almost 3 years ago
This is the first river release!
A brief introduction: https://isaacfreund.com/blog/river-intro
Thanks to all our wonderful contributors:
Isaac Freund
Leon Henrik Plickat
Marten Ringwelski
novakane
Lennard Hofmann
FollieHiyuki
Ben Fiedler
Bonicgamer
Keith Hubbard
Callum R. Renwick
lazy-dolphin
Alex Mohr
Alexander Taylor
Alexey Yerin
Anatole Lefort
Euro20179
Michal Siedlaczek
Peter Rice
Qiu
Rafael Escobar
Steef Hegeman
Viktor Nagy
foxfromabyss
skuzzymiglet