| ARGENCTL(1) | General Commands Manual | ARGENCTL(1) |
NAME
argenctl - command-line interface for controlling argen
SYNOPSIS
argenctl command [subcommand] [command specific arguments...]
DESCRIPTION
argenctl is a command-line utility used to control and configure argen(1), a river(1)-based Wayland tiling window manager. It sends commands to argen over a Unix domain socket and prints responses to stdout/stderr.
VALUE SYNTAX
- n : set to absolute value
- +n : increment by n
- -n : decrement by n
COMMANDS
WINDOW ACTIONS
The window id is a unique window identifier following the ext-foreign-toplevel-list-v1 protocol.
window focus next|prev
window focus id
window swap next|prev
window swap id [id]
window send next|prev
window send output_name|output_id
window attach id
window detach [id]
window toggle id
window close [id]
window float
window fullscreen
window merge left|right
window split left|right
window resize width|height int
If the window is tiled, the layout decides how the window is resized within the layout.
CONTEXT ACTIONS
context new [name]
context switch name
context switch --last
context rename [old-name] new-name
context close [name]
OUTPUT ACTIONS
Outputs are addressed by name (e.g. DP-1) or by id. The id is a 16-digit hex string derived from the name and the output's make, model and serial.
The output order is defined from left to right in the global coordinate space, top to bottom among outputs sharing the same x coordinate.
output focus next|prev
output focus name|id
LAYOUT ACTIONS
layout switch next|prev
layout switch layout
layout set [--name layout] key value
--name selects which layout to configure. If omitted, the active layout is used.
float and int follow the VALUE SYNTAX described above.
Supported parameters by layout.
stacktile
secondary-ratio float
inner-padding int
outer-padding int
monocle
columns
outer-padding int
scrolling
outer-padding int
offset int
CONFIG ACTIONS
Global window manager configuration.
float and int follows the VALUE SYNTAX described above.
config set border-width int
config set border-color-focused 0xRRGGBB|0xRRGGBBAA
config set border-color-captured 0xRRGGBB|0xRRGGBBAA
config set border-color-unfocused 0xRRGGBB|0xRRGGBBAA
config set capture-indicator bar|none
config set capture-indicator-color 0xRRGGBB|0xRRGGBBAA
config set repeat rate delay
config set label-mode mode
transient[:ms]
modifier[:key]
always
never
config set default-layout layout
config set layout key value
MODE ACTIONS
There are two pre-existing modes: normal and locked. normal is the initial mode on startup. The locked mode is automatically entered while the session is locked (e.g. due to a screenlocker). It cannot be entered or exited manually.
mode declare name
mode enter name
EXIT ACTIONS
exit [--argen-only]
RUN ACTIONS
This can be used to run external commands or programs. Processes started with this are double-forked and therefore detached from argen or river.
exec cmd [arg...]
sh shell_cmd
Argenctl itself can be called within such an inline script to allow complex interactions with argen. See the `example/init` file in the project repository for example uses.
BINDING COMMANDS
binding set [--repeat] mode modifiers keysym action
--repeat: If passed, activate binding repeatedly until key release.
mode: Name of the mode for which to create the binding. The binding is only activated if mode is active. See also the MODE ACTIONS section.
modifiers: +-separated list of modifier names. The following are availabe:
- Super
- Shift
- Control
- Alt
- Mod3
- Mod5
- None
Alt and Super are also known as Mod1 and Mod4 respectively. None allows creating bindings without modifiers.
keysym: An XKB key symbol name. They are matched case-insensitive.
For the complete list see /usr/include/xkbcommon/xkbcommon-keysyms.h.
action: Any argenctl action (see above).
Overrides an existing binding for this mode modifiers keysym combination.
binding unset mode modifiers keysym
POINTER BINDING COMMANDS
pointer-binding set mode modifiers button action
mode: Name of the mode for which to create the binding. The binding is only activated if mode is active. See also the MODE ACTIONS section.
modifiers: Follows the same syntax as for binding set.
button: A Linux input event code name, commonly used are the mouse the buttons BTN_LEFT, BTN_RIGHT, and BTN_MIDDLE.
A complete list may be found in /usr/include/linux/input-event-codes.h.
action: Any argenctl action, or one of the following interactive actions.
move-window
resize-window
scroll
Overrides an existing bindind for this mode modifiers button combination.
pointer-binding unset mode modifiers button
RULE COMMANDS
rule add type [--app-id glob] [--title glob]
If multiple rules from the same category (e.g. float and no-float) match, the most recently added one takes effect. Rules from different categories don't interact.
The following rule type are available:
float | no-float
This rule is applied when a window spawns or when its app-id or title changes.
tearing | no-tearing
rule del type [--app-id glob] [--title glob]
QUERY COMMANDS
The default output format is one item per line, with tab-separated fields where applicable, and can be used together with tools like dmenu(1), rofi(1), or fuzzel(1).
The --json flag outputs information in a JSON structure. This provides additional information compared to the default output and allows filtering with tools like jq(1).
context list [--json]
In JSON mode each context contains its outputs, and each output the windows placed on it in layout order, with their position and size. See argen(1) CONCEPTS for the underlying model.
window list [--json]
In JSON mode each window is listed once, with its app id, title and the contexts it is attached to.
output list [--json]
rule list [--json]
mode get
layout get
SEE ALSO
| 39a69a1 | 2026-09-17 | ARGENCTL(1) |