From 1cc02603b2c221ac4675a9799d1ce7577fc3b414 Mon Sep 17 00:00:00 2001 From: Lennard Hofmann Date: Wed, 17 Jun 2020 10:39:48 +0200 Subject: docs: small man pages fixes and updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Previous hard-coded settings can be now be changes with riverctl or via environment variables - Update "See also" - Mod → Mod1 --- doc/river-layouts.1.scd | 74 ------------------------------------------------- doc/river-layouts.7.scd | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/river.1.scd | 17 +++++++++--- doc/riverctl.1.scd | 16 +++++------ 4 files changed, 93 insertions(+), 87 deletions(-) delete mode 100644 doc/river-layouts.1.scd create mode 100644 doc/river-layouts.7.scd (limited to 'doc') diff --git a/doc/river-layouts.1.scd b/doc/river-layouts.1.scd deleted file mode 100644 index 92fc2db..0000000 --- a/doc/river-layouts.1.scd +++ /dev/null @@ -1,74 +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 master (integer) -. The screen size multiplier for the master 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 -``` - -# SEE ALSO -*river*(1), *riverctl*(1) - diff --git a/doc/river-layouts.7.scd b/doc/river-layouts.7.scd new file mode 100644 index 0000000..5cc9862 --- /dev/null +++ b/doc/river-layouts.7.scd @@ -0,0 +1,73 @@ +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 master (integer) +. The screen size multiplier for the master 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 +``` + +# SEE ALSO +*river*(1), *riverctl*(1), *rivertile*(1) diff --git a/doc/river.1.scd b/doc/river.1.scd index 932273f..e79e6cb 100644 --- a/doc/river.1.scd +++ b/doc/river.1.scd @@ -27,14 +27,23 @@ bspwm based on wlroots and written in Zig. # CONFIGURATION -View border width, gap sizes, and programs which should float are -configured in _Config.zig_. Make your changes and recompile. +You can define the list of programs which should float in _Config.zig_. +Make your changes and recompile. Experimental XWayland support can be enabled on compile-time with the _-Dxwayland=true_ flag. -Keyboard layout and other XKB options can be set in _Keyboard.zig_. +# ENVIRONMENT + +The following environment variables are used to configure the keyboard. See +*xkeyboard-config*(7) for possible values. + +- XKB_DEFAULT_MODEL +- XKB_DEFAULT_LAYOUT +- XKB_DEFAULT_VARIANT +- XKB_DEFAULT_OPTIONS +- XKB_DEFAULT_RULES # SEE ALSO -*riverctl*(1), *bspwm*(1), *dwm*(1) +*riverctl*(1), *river-layouts*(7), *rivertile*(1) diff --git a/doc/riverctl.1.scd b/doc/riverctl.1.scd index 98fb583..0d52de4 100644 --- a/doc/riverctl.1.scd +++ b/doc/riverctl.1.scd @@ -5,10 +5,8 @@ riverctl - command-line interface for controlling river # SYNOPSIS -*riverctl* *close*|*declare-mode*|*enter-mode*|*exit*|*focus-output*| -*focus-view*|*layout*|*map*|*mod-master-count*|*mod-master-factor*| -*send-to-output*|*set-focused-tags*|*set-view-tags*|*spawn*|*toggle-float*| -*toggle-focused-tags*|*toggle-view-tags*|*zoom* [_command specific arguments_] +*riverctl* +*close*|*declare-mode*|*enter-mode*|*exit*|*focus-output*|*focus-view*|*layout*|*map*|*mod-master-count*|*mod-master-factor*|*send-to-output*|*set-focused-tags*|*set-option*|*set-view-tags*|*spawn*|*toggle-float*|*toggle-focused-tags*|*toggle-view-tags*|*zoom* [_command specific arguments_] # DESCRIPTION @@ -34,8 +32,8 @@ used to control and configure river. *layout* *full*|_command_ Provide a command which river will use for generating the layout of non-floating windows on the currently focused output. See - *river-layouts*(1) for details on the expected formatting of the output - of layout commands. Alternatively, "full"can be given instead of a + *river-layouts*(7) for details on the expected formatting of the output + of layout commands. Alternatively, “full” can be given instead of a command to cause river to use its single internal layout, in which windows span the entire width and height of the output. @@ -94,14 +92,14 @@ that tag 1 through 9 are visible. Switch to given mode if it exits. *map* _mode_ _modifiers_ _key_ _command_ - _mode_ is either *normal* (the default mode) or a mode created with + _mode_ is either “normal” (the default mode) or a mode created with *declare-mode*. _modifiers_ is a list of one or more of the following modifiers separated with a plus sign: - Shift - Lock (Caps lock) - Control (Ctrl) - - Mod (Alt) + - Mod1 (Alt) - Mod2 - Mod3 - Mod4 (Super, Logo, Windows) @@ -132,4 +130,4 @@ See _contrib/config.sh_ for some basic keybindings. # SEE ALSO -*river*(1), *bspc*(1) +*river*(1), *river-layouts*(7), *rivertile*(1) -- cgit v1.2.3