aboutsummaryrefslogtreecommitdiff
path: root/example/init
AgeCommit message (Collapse)AuthorFilesLines
2021-09-06docs: update example init for float fitler changesIsaac Freund1-3/+3
2021-07-26config: change color format to 0xRRGGBBAAIsaac Freund1-0/+5
The current format of #RRGGBBAA is problematic as # starts a comment in POSIX compliant shells, requiring escaping/quoting and increasing complexity. This is a breaking change.
2021-07-21river: make spawn command take only one argumentIsaac Freund1-10/+10
Currently the spawn command takes any number of arguments and naively joins them together with spaces before passing them as the single argument of `/bin/sh -c`. This however produces unexpected results as soon as shell quoting gets involved in the arguments passed to spawn. For example, running riverctl spawn foo "bar baz" will execute `/bin/sh -c "foo bar baz"`, unexpectedly splitting bar and baz into separate arguments. To avoid this confusion, make the spawn command take only a single argument, forcing the user to quote properly to spawn multi-argument commands.
2021-07-21rivertile: simplify commandsIsaac Freund1-8/+8
Instead of having separate commands for modifying/setting a value, use the presence of a +/- sign to indicate modification.
2021-07-20river-layout: update to v3Isaac Freund1-10/+10
- 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 Freund1-3/+0
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-05-24example/init: use Mod+Shift E for exitIsaac Freund1-1/+1
I keep hitting Mod+E when testing because of colemak.
2021-05-03example/init: fix typo in introductory commentCallum R. Renwick1-1/+1
2021-05-03example/init: Fix typo for main view size changeCallum R. Renwick1-2/+2
2021-04-27example/init: use riverctl layout value commandsIsaac Freund1-12/+10
2021-04-27river-options: remove protocolIsaac Freund1-10/+10
This protocol involves far too much accidental complexity. The original motivating use-case was to provide a convenient way to send arbitrary data to layout clients at runtime in order to avoid layout clients needing to implement their own IPC and do this over a side-channel. Instead of implementing a quite complex but still rigid options protocol and storing this state in the compositor, instead we will simply add events to the layout protocol to support this use case. Consider the status quo event sequence: 1. send get_option_handle request (riverctl) 2. roundtrip waiting for first event (riverctl) 3. send set_foo_value request (riverctl) 4. receive set_foo_value request (river) 5. send foo_value event to all current handles (river) 6. receive foo_value event (rivertile) 7. send parameters_changed request (rivertile) 8. receive parameters_changed request (river) 9. send layout_demand (river) And compare with the event sequence after the proposed change: 1. send set_foo_value request (riverctl) 2. receive set_foo_value request (river) 3. send set_foo_value event (river) 4. send layout_demand (river) This requires *much* less back and forth between the server and clients and is clearly much simpler.
2021-04-20river-options: rework, bump to v2Isaac Freund1-18/+22
Options are now all global but may be overridden per-output. If an output local value is requested but none has been set, the global value is provided instead. This makes for much better ergonomics when configuring layout related options in particular.
2021-04-20river-layout: create and implement protocolLeon Henrik Plickat1-18/+14
Replace the current layout mechanism based on passing args to a child process and parsing it's stdout with a new wayland protocol. This much more robust and allows for more featureful layout generators. Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2021-01-07docs: fix typo in example init scriptIsaac Freund1-1/+1
2020-12-30build: install example config to /etc/river/initIsaac Freund1-0/+161