Change to scdoc for man page generation

This commit is contained in:
project-repo 2021-05-05 12:09:25 +02:00
commit d675f369db
3 changed files with 159 additions and 207 deletions

View file

@ -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 <key> <command> is equivalent to
definekey root <key> <command>
> 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 <key> <command>` is equivalent to
>> `definekey root <key> <command>`
definekey <mode> <key> <command>
**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 <mode>
**definekey - Bind key to action in arbitrary mode**
*escape*
Defines the key with which the current mode can be changed to "root".
escape <key> is equivalent to definekey top <key> 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 <mode> <key> <command>`
*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 <mode>`
*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 <key>` is equivalent to `definekey top <key> switch_mode root`
*exec*
Executes the supplied shell command using *sh -c "<command>"*. Synopsis:
**exchangedown**
exec <command>
> 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 <mode>*
Enter mode "<mode>". After a keybinding is processed, return to default mode
> Executes the supplied shell command using *`sh -c "<command>"`*. Synopsis:
>
>> `exec <command>`
*movetonextscreen*
Move the current window to the next screen
**focus**
*movetoworkspace <n>*
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 <name> [[pos <xpos> <ypos> res <width>x<height> rate <rate>] | enable | disable]*
Configure the output "<name>". <xpos> and <ypos> are the position of the monitor
in pixels. The top-left monitor should have the coordinates 0 0. <width> and
<height> specify the resolution in pixels and <rate> sets the refresh rate of
the monitor (often this is 50 or 60). The options enable and disable
enable or disable the output <name>. Note that if <output> is the only enabled
output, *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 <mode>*
Set the default mode to <mode>
> Split current tile horizontally
*switchvt <n>*
Switch to tty n
**mode <mode>**
*time*
Display time
> Enter mode "`<mode>`". After a keybinding is processed, return to default mode
*vsplit*
Split current tile vertically
**movetonextscreen**
*workspace <n>*
Change to the n-th workspace
> Move the current window to the next screen
**movetoworkspace <n>**
> 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 <name> [[pos <xpos> <ypos> res <width>x<height> rate <rate>] | enable | disable]**
> Configure the output "<name>". <xpos> and <ypos> are the position of the monitor
> in pixels. The top-left monitor should have the coordinates 0 0. <width> and
> <height> specify the resolution in pixels and <rate> sets the refresh rate of
> the monitor (often this is 50 or 60). The options enable and disable
> enable or disable the output <name>. Note that if <output> is the only enabled
> output, `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 <mode>**
> Set the default mode to `<mode>`
**switchvt <n>**
> Switch to tty n
**time**
> Display time
**vsplit**
> Split current tile vertically
**workspace <n>**
> 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:
> `<mod>-<key>`
<mod>-<key>
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

View file

@ -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

View file

@ -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
)