aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-07-20completions: Update for river-layout-v3novakane3-7/+4
2021-07-20river-layout: update to v3Isaac Freund11-436/+321
- Remove advertise_view and advertise_done events. Using the information provided by these for any purpose would make the layout far less predictable. Futhermore, in the months this has been available for use, to my knowledge nobody has actually used it for anything useful. - Replace the set/mod layout value events with a single user_command event. This simplifies the protocol and is more flexible for clients. - Add a layout_name argument to the commit request. This name is an arbitrary, user-facing string that might, for example, be displayed by a status bar. This was present in early drafts of the protocol, but was removed in favor of river-options. Since river-options itself has since been removed and this feature is nice to have, re-add it. - Rename main factor to main ratio in rivertile. The "factor" name was just legacy from dwm, "ratio" is much more accurate.
2021-07-20river: remove opacity commandIsaac Freund13-240/+6
This code is complex and increases maintenance burden but doesn't add any functionality, only eye-candy. Futhermore, neither I nor any of the core contributors use it. There may be a place in river for such eye-candy down the line, in which case this code could be revived. Currently river is early enough in its development that our focus should be on core functionality instead.
2021-07-20docs: improve formatting consistencyIsaac Freund2-5/+5
2021-07-19Fix typo s/ouput/output/ in function nameAlexander Taylor1-3/+3
2021-07-17docs: mention man pages before wikiIsaac Freund1-1/+2
Don't want people getting the idea that the wiki is more important. The man pages are the only official documentation.
2021-07-17docs: simplify READMEIsaac Freund1-14/+5
2021-07-17river: remove system /etc dir from init search pathsIsaac Freund4-56/+38
A true "default" config doesn't make sense for river. Everyone who uses river seriously will customize their init script. Futhermore, the current behavior of embedding the install path of the default system config in the river binary is complex and prone to breaking.
2021-07-15river: add focus-previous-tags commandViktor Nagy7-0/+30
2021-07-15command: make args type 0-terminatedIsaac Freund26-77/+67
Since we often need to pass these args back C code, keeping the 0 byte around saves some allocations.
2021-07-14view: fix typo causing UB on resizing xwayland viewsIsaac Freund1-1/+1
2021-07-14xdg-shell: set resizing state during interactive resizeIsaac Freund3-13/+36
2021-07-12config: use hash sets for filters, clean up codeIsaac Freund5-98/+77
2021-07-12river: make CSD-filters apply to existing viewsLeon Henrik Plickat4-6/+62
2021-07-12river: add commands to remove filter entriesLeon Henrik Plickat3-18/+52
2021-07-07README: add a link to the wikinovakane1-1/+5
2021-07-02completions: typoSteef Hegeman1-1/+1
focus-follows-cursor instead of focus-follow-cursor
2021-06-30doc: remove dead wiki link from readmeIsaac Freund1-3/+0
river is now in nixpkgs so this page and the link are undeeded.
2021-06-27render: @panic() if CLOCK_MONOTONIC is not supportedIsaac Freund1-1/+1
Making this unreachable and invoking illegal behavior is incorrect.
2021-06-26completions: add set-cursor-warp for zsh/fishIsaac Freund2-2/+5
2021-06-26completions: Add bash completion for set-cursor-warp commandsLeon Henrik Plickat1-0/+2
2021-06-26cursor: add option to warp on output changeLeon Henrik Plickat5-2/+48
On output change, if the cursor is not already on the newly focused output, it will now be warped to its center. The check is necessary, since focusing outputs with the pointer will be implemented in the future.
2021-06-24Revert "build: assert wlroots version at comptime"Isaac Freund2-8/+0
zig-wlroots now has this assert built in This reverts commit 3392b21aa8982c1a9d5bf25307830a4294e5ae4c.
2021-06-24build: assert wlroots version at comptimeIsaac Freund2-0/+8
This will prevent people compiling river against the wrong wlroots version and wondering why it crashes.
2021-06-23ci: build wlroots from sourceIsaac Freund1-8/+26
2021-06-23code: update to wlroots 0.14.0Isaac Freund7-21/+17
2021-06-23Add spacial output operationsLeon Henrik Plickat5-124/+106
List based output operations are tedious for complex output layouts.
2021-06-22layer-shell: handle commits before mapIsaac Freund4-36/+46
A client is free to change its mind and request a different size/anchor/etc after recieving the initial configure but before attaching and committing the first buffer. This means that we should respond to such a situation with a new configure. mako has been observed doing this in the wild for example.
2021-06-17xdg-toplevel: remove listeners before view destroyIsaac Freund3-4/+6
Currently in handleUnmap() we call View.unmap() before removing listeners. However View.unmap() may destroy the view before returning if the transaction started doesn't have to wait on any configures. To ensure that we don't try to remove listeners which have already been free'd, do this before calling View.unmap().
2021-06-16render: damage on background/border color changeIsaac Freund1-0/+9
2021-06-16Ignore move and resize requests from fullscreened XDG toplevelsLeon Henrik Plickat1-2/+2
2021-06-16completions: add fish completion for input commandFollieHiyuki1-5/+60
2021-06-16completions/zsh: add input commandsnovakane1-78/+135
2021-06-14decoration: remove listeners on destroyIsaac Freund1-0/+2
2021-06-14layout: fix use-after-free in destroy()Isaac Freund1-2/+2
2021-06-14view: ensure surface_box is initailized before useIsaac Freund2-5/+13
2021-06-14output: handle OutputDamage destroyIsaac Freund1-0/+11
This may be destroyed before our output destroy listener is called.
2021-06-14root: simplify noop output handlingIsaac Freund2-38/+26
Instead of removing the listeners of the noop output early, simply never add them.
2021-06-13add bash completion for input commandsLeon Henrik Plickat1-1/+38
2021-06-13Add `list-input-configs` commandLeon Henrik Plickat3-0/+67
2021-06-13Add `list-inputs` commandLeon Henrik Plickat3-0/+35
2021-06-13doc: Document input config commandsLeon Henrik Plickat1-0/+63
2021-06-13Add basic input configurationLeon Henrik Plickat7-2/+521
2021-06-09ci: add gcc to fix buildIsaac Freund1-2/+2
Zig relies on the existence of a system c compiler in order to find the native libc include paths.
2021-06-09output: destroy Layouts on Output removalIsaac Freund3-2/+13
The Layout struct holds a pointer to the Output which becomes invalid when the Output is destroyed so we must ensure all the layouts of an Output are destroyed first.
2021-06-08config: make attach-mode globalnovakane7-12/+13
2021-06-08view_stack: update tests for zig 0.8.0novakane1-76/+76
2021-06-08river: don't extend timeout on transaction preemptionIsaac Freund1-10/+13
This avoids locking up the compositor if a client is unresponsive and the user continuously initiates new transactions through their actions.
2021-06-08view: send activated/fullscreen configures immediatelyIsaac Freund5-27/+72
The transaction system exists to coordinate size changes of all views in a layout in order to achieve frame perfection. Since many clients do not need to commit a new buffer in response to a activated state change alone, this breaks things when such a configure event is tracked by the transaction system. Instead, simply send activated and fullscreen configures right away but still track this state in a double-buffered way so that e.g. border color changes based on focus are frame-perfect. This also fixes a related issue with the transaction system where views that did not need to commit in response to our first configure were not rendered until their next frame.
2021-06-08code: remove now unnecessary zig fmt directivesIsaac Freund11-26/+2
zig fmt does what we want since zig 0.8.0