aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2021-07-24docs: add -help and -version options to man pagesIsaac Freund3-2/+22
2021-07-21river: make spawn command take only one argumentIsaac Freund1-5/+5
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-20/+20
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 Freund2-21/+28
- 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-20/+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-07-20docs: improve formatting consistencyIsaac Freund1-3/+3
2021-07-17river: remove system /etc dir from init search pathsIsaac Freund1-8/+6
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 Nagy1-0/+4
2021-07-12river: make CSD-filters apply to existing viewsLeon Henrik Plickat1-3/+3
2021-07-12river: add commands to remove filter entriesLeon Henrik Plickat1-2/+12
2021-06-26cursor: add option to warp on output changeLeon Henrik Plickat1-1/+8
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-23Add spacial output operationsLeon Henrik Plickat1-4/+5
List based output operations are tedious for complex output layouts.
2021-06-13Add `list-input-configs` commandLeon Henrik Plickat1-0/+3
2021-06-13Add `list-inputs` commandLeon Henrik Plickat1-0/+3
2021-06-13doc: Document input config commandsLeon Henrik Plickat1-0/+63
2021-06-08config: make attach-mode globalnovakane1-2/+1
2021-05-19doc: fixed command name in exampleLennard Hofmann1-1/+1
send-layout-value → set-layout-value
2021-05-03doc: remove outdated reference to river-layouts(1)Isaac Freund1-1/+1
2021-05-01rivertile: add -h/--help, improve man pageIsaac Freund1-6/+24
2021-04-27rivertile: support command line argumentsIsaac Freund1-1/+18
Add support for command line arguments to set default values for the various options of rivertile, bringing us back to rough feature parity with before the commit removing the river-options protocol.
2021-04-27river-layout: update to v2Isaac Freund2-0/+21
This implements the changes to the river-layout protocol proposed in the previous commit removing river-options.
2021-04-27river-options: remove protocolIsaac Freund2-55/+0
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-27river: get rid of all server-created optionsIsaac Freund1-11/+7
- Replace the layout option with new default-layout and output-layout commands. - Remove the ability to get/set the output title entirely.
2021-04-20river-options: rework, bump to v2Isaac Freund2-33/+40
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: send SIGTERM to init command process groupIsaac Freund1-4/+3
Run the init command in a new process group and send SIGTERM to the entire group on exit. Without doing this, only the sh invocation used for the `sh -c` would receive SIGTERM. This is particularly useful when starting a per-session server manager as the init command.
2021-04-20river-layout: create and implement protocolLeon Henrik Plickat3-138/+33
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-03-16Fix existing typosFollieHiyuki1-2/+2
2021-02-09riverctl: add mod-option commandLeon Henrik Plickat1-0/+3
2021-02-07riverctl: add -focused-output for option commandsIsaac Freund1-5/+6
This is more convenient for interactive usage and makes using the same bindings across multiple outputs easy.
2021-02-02output: add output_title default optionLeon Henrik Plickat1-1/+7
Outputs now have a default option, "output_title". If this changes, the outputs title is set to the option value. This title is currently only relevant when run nested in a wayland/X11 session. Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2021-01-18riverctl: implement river-options interfaceIsaac Freund1-0/+19
To make this cleaner, introduce some arg-parsing infrastructure that will useful when porting riverctl to river-control-v2 in the future as well.
2021-01-02command: Implement spawn-tagmaskMarten Ringwelski1-0/+10
2020-12-30docs: fix riverctl man page syntaxIsaac Freund1-4/+4
2020-12-30docs: fix syntax in riverctl man pageIsaac Freund1-1/+1
2020-12-30docs: Improve clarity of river/riverctl man pagesIsaac Freund2-117/+148
2020-12-30docs: improve startup and config informationIsaac Freund1-9/+23
2020-12-30command: s/master/main/g (breaking change)Isaac Freund3-17/+23
main is a better term to use here for several reasons: 1. It is more accurate: "master" implies that the designated views have some kind of control over the other views, which is not the case. "main" better expresses that the difference between the "main" view and others is one of importance/focus. 2. It is a shorter word. 2 whole characters saved! 3. It reduces the chance of future development time being lost to good-intentioned people complaining about usage of the word master as has recently happened with regards to the default git branch name.
2020-12-30docs: improve explanation of tagsIsaac Freund1-14/+23
"tagmask" is a misleading term as the arguments are used much more like a set of tags than a mask.
2020-12-13doc: Remove outdated configuration instructionsLeon Henrik Plickat1-3/+0
2020-12-13doc: unify scdoc styleLeon Henrik Plickat4-86/+103
This unifies the style of the man page source files. Most noticable are the now consistent line endings at 80 chars (assuming a tabwidth of 8).
2020-12-07focus-follow-cursor: Change output focus when neededMarten Ringwelski1-2/+5
2020-11-18control: implement set-repeatBonicgamer1-0/+4
2020-11-11doc: add AUTHORS section to man pagesIsaac Freund4-0/+24
2020-10-27Implement unmap-pointerMarten Ringwelski1-0/+4
2020-10-27Implement unmapMarten Ringwelski1-0/+4
2020-10-25control: implement swapMarten Ringwelski1-0/+6
2020-10-19Introduce mode "locked"Leon Henrik Plickat1-2/+2
This mode is automatically entered when the screen is locked.
2020-10-18Allow "None" as modifier string for bindings without modifiersLeon Henrik Plickat1-2/+1
This is more userfriendly than the empty string approach.
2020-10-07Implement "move", "snap" and "resize" commandsLeon Henrik Plickat1-0/+11
2020-10-05Implement configurable view opacity with fade effectLeon Henrik Plickat1-0/+15