diff options
| author | Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de> | 2020-10-02 15:53:08 +0200 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2021-04-20 18:27:03 +0200 |
| commit | f72656b72e5822481a4bc15b75d19b61b1bb7bc8 (patch) | |
| tree | 525e40d5fa1e4279810f7f7537830f2bf89b1608 /doc/river-layouts.7.scd | |
| parent | df3e9930137c0ec4871208b09832e59d537453b7 (diff) | |
| download | river-f72656b72e5822481a4bc15b75d19b61b1bb7bc8.tar.gz river-f72656b72e5822481a4bc15b75d19b61b1bb7bc8.tar.xz | |
river-layout: create and implement protocol
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>
Diffstat (limited to 'doc/river-layouts.7.scd')
| -rw-r--r-- | doc/river-layouts.7.scd | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/doc/river-layouts.7.scd b/doc/river-layouts.7.scd deleted file mode 100644 index 6b76846..0000000 --- a/doc/river-layouts.7.scd +++ /dev/null @@ -1,86 +0,0 @@ -RIVER-LAYOUTS(7) "github.com/ifreund/river" - -# NAME - -river-layouts - Details on layout generators for river - -# DESCRIPTION - -River can use external window management layouts. To get such a layout, river -will run an executable and parse its output. This document outlines how such a -layout generator interacts with river. - -# INPUT - -When running the executable, river will provide it with five parameters which -are appended to the end of the command in the following order: - -. The amount of visible clients (integer) -. The amount of views dedicated as main (integer) -. The screen size multiplier for the main area (float between 0.0 and 1.0) -. The useable width of the output (integer) -. The useable height of the output (integer) - -A layout generator may choose to ignore any of these values except -for the first one. - -# OUTPUT - -River expects four integer values for each window: The x position, the y -position, the width and the height. These must be separated by spaces. A window -configuration having fewer or more than four values is an error and will cause -river to fall back the full layout. - -A layout generator needs to output position and size for every visible window. -The window configurations are separated by a newline. Too few or too many -outputted window configurations is an error and will cause river to fall back -to the full layout. - -River will apply the position and dimensions in the order they are outputted to -the visible windows in the stack from top to bottom. - -The output of a layout generator is not required to remain the same when called -with identical parameters. Layouts are allowed to also depend on external -factors or be completely random. - -# WINDOW DIMENSIONS and POSITION - -Layout generators are not supposed to include padding or leave space for window -borders. The window dimensions will be shrunk by river to make space for these. -River enforces a minimal window width and height of 50. - -Layout generators operate on a special coordinate grid from 0 to the maximum -useable width or height of an output with the coordinate 0-0 being positioned -at the top-left corner of the useable area of an output. While layout -generators are free to place windows everywhere (including coordinates below -zero or above the maximum width or height of an output), beware that the -relative positioning of this grid on the screen can not be expected to remain -constant. River applies an offset to window positions, depending on outer -padding and the presence of desktop widgets like bars. Layout generators can -therefore not position windows at exact screen coordinates. - -Layout generators are not required to make use of the entire available space. -Windows may overlap. - -# EXAMPLE - -Below is an example output of a layout generator for four visible windows. In -this example layout all four windows have a size of 500 by 500 and are arranged -in a grid. - -``` -0 0 500 500 -500 0 500 500 -0 500 500 500 -500 500 500 500 -``` - -# AUTHORS - -Maintained by Isaac Freund <ifreund@ifreund.xyz> who is assisted by open -source contributors. For more information about river's development, see -<https://github.com/ifreund/river>. - -# SEE ALSO - -*river*(1), *riverctl*(1), *rivertile*(1) |
