diff --git a/man/cagebreak-config.5.md b/man/cagebreak-config.5.md index 5480bcb..ef9b11b 100644 --- a/man/cagebreak-config.5.md +++ b/man/cagebreak-config.5.md @@ -1,253 +1,211 @@ -% CAGEBREAK-CONFIG(1) Version 1.7.1 | Cagebreak Manual +cagebreak-config(1) # NAME -**cagebreak-config** — Cagebreak config file +*cagebreak-config* — Cagebreak config file # SYNOPSIS -**\$XDG_CONFIG_PATH/cagebreak/config** +*\$XDG_CONFIG_PATH/cagebreak/config* # DESCRIPTION -The `cagebreak` configuration file is a simple plain text file which configures -the way `cagebreak` behaves. +The cagebreak configuration file is a simple plain text file which configures +the way cagebreak behaves. Each line constitutes a separate command which is parsed independently from the rest of the file. Comments can be added by prepending a line with the # symbol. ## COMMANDS -**abort** +*abort* + Return to the default mode without running any command -> Return to the default mode without running any command +*background - Set background color* + Set the background color. This command expects three floating point numbers + between 0 and 1, specifying the r, g and b values respectively. + (e.g. "background 1.0 0.0 0.0" sets to background color to red) + There is no support for specifying a background image. -**background - Set background color** +*bind - Bind key to command in root mode* + This command requires a key (see *KEY DEFINITIONS*) and a command (see *COMMANDS*) as an argument. + Subsequently, pressing this key while in command mode executes the + supplied action. bind is equivalent to + definekey root -> Set the background color. This command expects three floating point numbers -> between 0 and 1, specifying the r, g and b values respectively. -> (e.g. "background 1.0 0.0 0.0" sets to background color to red) -> There is no support for specifying a background image. +*close - Close current window* + This command closes the current window. It may be useful for windows of applications which + do not offer any method of closing them. -**bind - Bind key to command in root mode** +*definekey - Bind key to action in arbitrary mode* + This command behaves similarly to the *bind* command with the + difference that the mode in which the keybinding is activated is + specified by the user. A call to this function is to be structured as follows: -> This command requires a key (see **KEY DEFINITIONS**) and a command (see **COMMANDS**) as an argument. -> Subsequently, pressing this key while in command mode executes the -> supplied action. `bind ` is equivalent to ->> `definekey root ` + definekey -**close - Close current window** +*definemode* + This command requires a single argument; the name of the mode to be defined. + Subsequent to a call to this function, the defined mode may be used along with + the definekey command to create a custom key mapping. Synopsis: -> This command closes the current window. It may be useful for windows of applications which -> do not offer any method of closing them. + definemode -**definekey - Bind key to action in arbitrary mode** +*escape* + Defines the key with which the current mode can be changed to "root". + escape is equivalent to definekey top switch_mode root -> This command behaves similarly to the **bind** command with the -> difference that the mode in which the keybinding is activated is -> specified by the user. A call to this function is to be structured as follows: -> ->> `definekey ` +*exchangedown* + Exchange the current window with the window in the tile to the bottom -**definemode** +*exchangeleft* + Exchange the current window with the window in the tile to the left -> This command requires a single argument; the name of the mode to be defined. -> Subsequent to a call to this function, the defined mode may be used along with -> the definekey command to create a custom key mapping. Synopsis: -> ->> `definemode ` +*exchangeright* + Exchange the current window with the window in the tile to the right -**escape** +*exchangeup* + Exchange the current window with the window in the tile to the top -> Defines the key with which the current mode can be changed to "root". -> `escape ` is equivalent to `definekey top switch_mode root` +*exec* + Executes the supplied shell command using *sh -c ""*. Synopsis: -**exchangedown** + exec -> Exchange the current window with the window in the tile to the bottom +*focus* + Focus next tile -**exchangeleft** +*focusdown* + Focus the tile to the bottom -> Exchange the current window with the window in the tile to the left +*focusleft* + Focus the tile to the left -**exchangeright** +*focusprev* + Focus previous tile -> Exchange the current window with the window in the tile to the right +*focusright* + Focus the tile to the right -**exchangeup** +*focusup* + Focus the tile to the top -> Exchange the current window with the window in the tile to the top +*hsplit* + Split current tile horizontally -**exec** +*mode * + Enter mode "". After a keybinding is processed, return to default mode -> Executes the supplied shell command using *`sh -c ""`*. Synopsis: -> ->> `exec ` +*movetonextscreen* + Move the current window to the next screen -**focus** +*movetoworkspace * + Move the currently focused window to the n-th workspace -> Focus next tile +*next* + Focus next window in current tile -**focusdown** +*nextscreen* + Focus the next screen -> Focus the tile to the bottom +*only* + Remove all splits and make the current window fill the entire screen -**focusleft** +*output [[pos res x rate ] | enable | disable]* + Configure the output "". and are the position of the monitor + in pixels. The top-left monitor should have the coordinates 0 0. and + specify the resolution in pixels and sets the refresh rate of + the monitor (often this is 50 or 60). The options enable and disable + enable or disable the output . Note that if is the only enabled + output, *output disable* has no effect. -> Focus the tile to the left +*prev* + Focus previous window in current tile -**focusprev** +*prevscreen* + Focus the previous screen -> Focus previous tile +*quit* + Exit cagebreak -**focusright** +*resizedown* + Resize the current tile towards the bottom -> Focus the tile to the right +*resizeleft* + Resize the current tile towards the left -**focusup** +*resizeright* + Resize the current tile towards the right -> Focus the tile to the top +*resizeup* + Resize the current tile towards the top -**hsplit** +*setmode * + Set the default mode to -> Split current tile horizontally +*switchvt * + Switch to tty n -**mode ** +*time* + Display time -> Enter mode "``". After a keybinding is processed, return to default mode +*vsplit* + Split current tile vertically -**movetonextscreen** +*workspace * + Change to the n-th workspace -> Move the current window to the next screen - -**movetoworkspace ** - -> Move the currently focused window to the n-th workspace - -**next** - -> Focus next window in current tile - -**nextscreen** - -> Focus the next screen - -**only** - -> Remove all splits and make the current window fill the entire screen - -**output [[pos res x rate ] | enable | disable]** - -> Configure the output "". and are the position of the monitor -> in pixels. The top-left monitor should have the coordinates 0 0. and -> specify the resolution in pixels and sets the refresh rate of -> the monitor (often this is 50 or 60). The options enable and disable -> enable or disable the output . Note that if is the only enabled -> output, `output disable` has no effect. - -**prev** - -> Focus previous window in current tile - -**prevscreen** - -> Focus the previous screen - -**quit** - -> Exit cagebreak - -**resizedown** - -> Resize the current tile towards the bottom - -**resizeleft** - -> Resize the current tile towards the left - -**resizeright** - -> Resize the current tile towards the right - -**resizeup** - -> Resize the current tile towards the top - -**setmode ** - -> Set the default mode to `` - -**switchvt ** - -> Switch to tty n - -**time** - -> Display time - -**vsplit** - -> Split current tile vertically - -**workspace ** - -> Change to the n-th workspace - -**workspaces** - -> Requires a single integer larger than 1 and less than 30 as an argument. Sets the number of -> workspaces to the supplied number +*workspaces* + Requires a single integer larger than 1 and less than 30 as an argument. Sets the number of + workspaces to the supplied number # MODES By default, three modes are defined: -**top** +*top* + The default mode. Keybindings defined in this mode can be accessed + directly, without the use of an escape key. -> The default mode. Keybindings defined in this mode can be accessed -> directly, without the use of an escape key. +*root* + The command mode. Keybindings defined in this mode can be accessed + after pressing the key defined by the *escape* command. -**root** - -> The command mode. Keybindings defined in this mode can be accessed -> after pressing the key defined by the `escape` command. - -**resize** - -> Resize mode. This mode is used for resizing tiles. +*resize* + Resize mode. This mode is used for resizing tiles. # KEY DEFINITIONS -Keys are specified by their names as displayed for example by *`xev`*. +Keys are specified by their names as displayed for example by *xev*. In addition, modifiers can be specified using the following syntax: -> `-` + - The supported modifiers are: -**A - Alt** +*A - Alt* -**C - Control** +*C - Control* -**L - Logo** +*L - Logo* -**S - Shift** +*S - Shift* -**2 - Mod2** +*2 - Mod2* -**3 - Mod 3** +*3 - Mod 3* -**5 - Mod 5** +*5 - Mod 5* For example to specify the keybinding Control+t, the expression: ->`C-t` + C-t is used. # SEE ALSO -**cagebreak(1)** +*cagebreak(1)* # BUGS diff --git a/man/cagebreak.1.md b/man/cagebreak.1.md index 1de1e1e..ed23c5f 100644 --- a/man/cagebreak.1.md +++ b/man/cagebreak.1.md @@ -1,79 +1,70 @@ -% CAGEBREAK(1) Version 1.7.1 | Cagebreak Manual +cagebreak(1) # NAME -**cagebreak** — A Wayland tiling compositor to the likes of ratpoison +cagebreak - A Wayland tiling compositor to the likes of ratpoison # SYNOPSIS -| **cagebreak** [OPTIONS] +*cagebreak* [OPTIONS] # DESCRIPTION -`cagebreak` is a slim, keyboard-controlled, tiling compositor for -wayland conceptually based on the X11 window manager `ratpoison`. +cagebreak is a slim, keyboard-controlled, tiling compositor for +wayland conceptually based on the X11 window manager ratpoison. It allows for the screen to be split into non-overlapping tiles and, -in contrast to the original `ratpoison`, has native support for +in contrast to the original ratpoison, has native support for multi-workspace operation. -All interactions between the user and `cagebreak` are done via +All interactions between the user and cagebreak are done via the keyboard. Configuration of this behaviour is specified in the -**\$XDG_CONFIG_PATH/cagebreak/config** file (See **cagebreak-config(5)**). +*\$XDG_CONFIG_PATH/cagebreak/config* file (See *cagebreak-config(5)*). Scripting support is provided through the IPC -socket specified in the environment variable **\$CAGEBREAK_SOCKET**. +socket specified in the environment variable *\$CAGEBREAK_SOCKET*. The syntax accepted through this socket is identical to -that of the configuration file (see **cagebreak-config(5)**). +that of the configuration file (see *cagebreak-config(5)*). Errors which occur during interaction over IPC channel are displayed in a message box at the top right of the screen. # OPTIONS --h +*-h* + Display help message and exit -: Display help message and exit +*-r* + Rotate the output 90 degrees clockwise, can be specified up to three times --r - -: Rotate the output 90 degrees clockwise, can be specified up to three times - --v - -: Show version number and exit +*-v* + Show version number and exit # ENVIRONMENT -`CAGEBREAK_SOCKET` +*CAGEBREAK_SOCKET* + The IPC unix domain socket address accepting + commands as specified in *cagebreak-config(5)* -: The IPC unix domain socket address accepting -commands as specified in **cagebreak-config(5)** +*XKB_DEFAULT_LAYOUT* + The keyboard layout to be used (See *xkeyboard-config(7)*) -`XKB_DEFAULT_LAYOUT` +*XKB_DEFAULT_MODEL* + The keyboard model to be used (See *xkeyboard-config(7)*) -: The keyboard layout to be used (See **xkeyboard-config(7)**) +*XKB_DEFAULT_VARIANT* + The keyboard variant to be used (See *xkeyboard-config(7)*) -`XKB_DEFAULT_MODEL` +*XKB_DEFAULT_RULES* + The xkb rules to be used -: The keyboard model to be used (See **xkeyboard-config(7)**) - -`XKB_DEFAULT_VARIANT` - -: The keyboard variant to be used (See **xkeyboard-config(7)**) - -`XKB_DEFAULT_RULES` - -: The xkb rules to be used - -`XKB_DEFAULT_OPTIONS` - -: The xkb options to be used +*XKB_DEFAULT_OPTIONS* + The xkb options to be used # SEE ALSO -**cagebreak-config(5)** +*cagebreak-config(5)* # BUGS diff --git a/meson.build b/meson.build index 3380e10..6c42fd3 100644 --- a/meson.build +++ b/meson.build @@ -248,14 +248,16 @@ executable( ) if get_option('man-pages') - pandoc = find_program('pandoc') + scdoc = find_program('scdoc') + sh = find_program('sh') mandir1 = join_paths(get_option('mandir'), 'man1') mandir5 = join_paths(get_option('mandir'), 'man5') cagebreak_man = custom_target('cagebreak_man', output : 'cagebreak.1', input : 'man/cagebreak.1.md', - command : [pandoc, '-i', '@INPUT@', '-o', '@OUTPUT@', '-f', 'markdown-smart', '-t', 'man', '-s'], + capture : true, + command : [sh, '-c', '@0@ < @INPUT@'.format(scdoc.path())], install: true, install_dir: mandir1 ) @@ -263,7 +265,8 @@ if get_option('man-pages') cagebreak_man = custom_target('cagebreak_config_man', output : 'cagebreak-config.5', input : 'man/cagebreak-config.5.md', - command : [pandoc, '-i', '@INPUT@', '-o', '@OUTPUT@', '-f', 'markdown-smart', '-t', 'man', '-s'], + capture : true, + command : [sh, '-c', '@0@ < @INPUT@'.format(scdoc.path())], install: true, install_dir: mandir5 )