| 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 send next|prev
window attach id
window detach [id]
window toggle id
window close [id]
window float
window fullscreen
CONTEXT ACTIONS
context new [name]
context switch name
context switch --last
context rename [old-name] new-name
context close [name]
OUTPUT ACTIONS
The output order is defined from left to right in the global coordinate space.
output focus next|prev
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
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-unfocused 0xRRGGBB|0xRRGGBBAA
config set repeat rate delay
config set label-mode transient[:ms]|modifier[:key]|always|never
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_command
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 interactive actions move-window or resize-window.
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]
window list [--json]
output list [--json]
rule list [--json]
mode get
layout get
SEE ALSO
| v0.1.2 | 2026-07-19 | ARGENCTL(1) |