aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-04-27command/map: layout-pinned mappingsPeter Kaplan9-55/+130
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-20completions: fish: new completions for the ‘hide-cursor’ commandDaniel Eklöf1-0/+8
2022-04-20completions: bash: new completions for the ‘hide-cursor’ commandDaniel Eklöf1-0/+9
2022-04-20completions: zsh: new completions for the ‘hide-cursor’ commandDaniel Eklöf1-0/+33
2022-04-19Cursor: Don't passthrough() on update if hiddenIsaac Freund1-0/+4
Currently when the surface under the hidden cursor changes, we passthrough() which results in the cursor being made visible and giving pointer focus to the surface under the cursor if any. Obviously this is not desirable as the cursor is supposed to remain hidden until moved. This added check prevents this.
2022-04-14command/hide-cursor: fix crash on missing optionPeter Kaplan1-0/+1
2022-04-14Cursor: Add a hide-cursor commandDuncan Overbruck6-0/+122
From the riverctl.1 man page: *hide-cursor* *timeout* _timeout_ Hide the cursor if it wasn't moved in the last _timeout_ milliseconds until it is moved again. The default value is 0, which disables automatically hiding the cursor. Show the cursor again on any movement. *hide-cursor* *when-typing* *enabled*|*disabled* Hide the cursor when pressing any non-modifier key. Show the cursor again on any movement.
2022-04-14input: add map-switch/unmap-switch commandsPeter Kaplan11-4/+344
This allows running a command on a laptop's lid being opened/closed or a tablet's button/switch being pressed/toggled.
2022-03-28layer-shell: fix overflow with large bottom marginIsaac Freund1-4/+8
2022-03-06ci: Fix builds manifestsHugo Machet3-3/+3
Remove `.git` suffix from river repo in `sources` section as the suffix make the ci only clone the repo. Without the suffix the ci checkout the correct commit to build river. We don't need to remove the suffix from others sources as cloning the repo and checkout the tag version we want is enough.
2022-03-05layer-shell: allow surfaces larger than the outputIsaac Freund1-22/+2
The motivation for this change is to simplify the implementation and remove a massive footgun that is currently present and causing UB/crashes. If a layer surface is destroyed in arrangeLayers() then the code in LayerSurface.handleCommit() after the arrangeLayers() call accesses free'd memory. This is of course possible to fix, but it's far simpler to loosen up the protocol implementation a bit. The new implementation is also in line with what sway and the new wlroots layer shell helper do and is perfectly valid according to the protocol.
2022-03-05docs: fix typo in river(1) man pageLeonardo Gibrowski Faé1-1/+1
2022-03-02view: stop enforcing custom minimum sizetiosgz4-24/+8
I have encountered a crash (failing assert) if a view specified a fixed size less than this minimum, and according to ifreund this behavior was planned to be removed, anyway.
2022-03-02doc: Add additional style rule to CONTRIBUTING.mdIsaac Freund1-0/+19
2022-02-26DragIcon: Properly initialize if already mappedIsaac Freund1-0/+2
2022-02-26rivertile: use u31s to remove most @intCast()sIsaac Freund1-44/+40
2022-02-26rivertile: Use saturating arithmetics to prevent over-/underflow when using ↵Leon Henrik Plickat1-14/+14
user defined values
2022-02-21rivertile: properly validate -main-ratio flagIsaac Freund1-1/+5
2022-02-17ci: Update to zig 0.9.1Hugo Machet4-17/+17
2022-02-08command: Remove allocator argHugo Machet25-106/+44
2022-02-08code: Cleanup use of std library for consistancyHugo Machet25-97/+103
2022-02-08Mode: Use ArrayListUnmanaged to save memoryHugo Machet4-26/+17
2022-02-06command: allow targeting outputs by namepmkap3-6/+18
This extends focus-output and send-to-output to allow targeting outputs by name instead of relative position.
2022-02-05ci: Add sourcehut buildsHugo Machet3-0/+178
- alpine (musl) - archlinux (glibc) - freebsd
2022-02-05input: Improve input device name formatLeon Henrik Plickat2-3/+9
The name now includes the type, for the case of a physical device advertising more than one logical device.
2022-02-05input: keep applying input configs after first matchLeon Henrik Plickat1-1/+0
Device identifiers aren't so unique after all
2022-02-05View: use last set fullscreen state in applyPending()Isaac Freund4-6/+35
This avoids a race where the fullscreen set is e.g. set then unset before the transaction has been completed and the current state has been updated.
2022-02-03View: fix/simplify logic in applyPending()Isaac Freund3-27/+22
In particular, this fixes a crash that can happen if a client is made non-fullscreen and then, while that transaction is ongoing, made fullscreen again.
2022-01-31code: relicense to GPL-3.0-onlyIsaac Freund65-130/+65
I don't need anyone's permission to make this change since GPL-3.0-or-later is one-way compatible with GPL-3.0-only.
2022-01-29Cursor: update image if needed on xcursor theme changeLeon Henrik Plickat1-1/+6
2022-01-29ci: run on 0.1.x branchIsaac Freund1-0/+2
2022-01-28wlr-output-management: simplify implementationIsaac Freund2-107/+83
Notably, we no longer call both wlr_output_test and wlr_output_commit when applying an output config, which seems to fix or workaround an occasional crash since updating to wlroots 0.15.0.
2022-01-25layer-shell: center when opposing anchors are setIsaac Freund1-10/+12
Currently river will place the surface at the top or left edge if opposing anchors are set without a 0 width/height. Instead, center the surface between the anchors.
2022-01-23XdgPopup: remove commit listener on destroy if mappedIsaac Freund1-0/+2
Since the destroy() function may be called by river while the popup is mapped, we must handle this case.
2022-01-23docs: fix typo in river(1) man pageIsaac Freund1-1/+1
2022-01-23docs: Fix typo in readmeJustin Wood1-1/+1
2022-01-18Xwayland: Handle minimize requestHugo Machet1-0/+20
Fix X11 clients getting stuck minimized, and displaying a black screen after they lose focus.
2022-01-17command/map: Warn users on keybinding overwrittenHugo Machet1-3/+14
2022-01-17example/init: Use Alt/Super aliasesIsaac Freund1-72/+71
2022-01-17command/map: add Alt/Super as aliases for Mod1/Mod4Isaac Freund2-4/+9
I personally made the mistake of using Alt instead of Mod1 when messing with my config. This change makes things a bit more user friendly/intuitive.
2022-01-15rivertile: Use saturating additionHugo Machet1-5/+1
2022-01-12XdgPopup: fix unconstrain from box coordsIsaac Freund1-18/+24
We currently don't properly handle xdg surface geometry of the parent, which causes popups to render partially off-screen in some cases. GTK4 clients such as easyeffects seem to trigger this issue reliably.
2022-01-08contrib: add desktop fileNick Hastings1-0/+5
2022-01-05Cursor: remove minor outdated workaroundIsaac Freund1-5/+1
Since Zig 0.9 @tagName() and other similar builtins return 0 terminated data.
2022-01-02Seat: do a better job of cleaning up listenersIsaac Freund1-0/+6
I thought this should be fine as river won't yield to the event loop when Seat.deinit() is called before the wlroots seat is destroyed, but a segfault on exit has been reported with a stack trace mentioning wlr_seat_destroy(). Let's hope this clears that up.
2022-01-02Xwayland: move window to top of X11 stack on focusIsaac Freund2-0/+1
This is required for X11 input handling to work properly with overlapping windows.
2021-12-29Cursor: fix down mode motion events for subsurfacesIsaac Freund1-62/+77
There are a couple of TODOs here that are not worth resolving until after moving to the scene graph api.
2021-12-24docs: update zig version required in readmeHugo Machet1-1/+1
2021-12-24build: update to zig version 0.9.0Isaac Freund62-379/+345
2021-12-22docs: soften the README disclaimer a bitIsaac Freund1-3/+4