FreeBSD Manual Pages
HERBSTCLIENT(1) HERBSTCLIENT(1) NAME herbstclient - sends commands to a running herbstluftwm instance via X SYNOPSIS herbstclient [OPTIONS] COMMAND [ARGS ...] herbstclient [OPTIONS] [--wait|--idle] [FILTER ...] DESCRIPTION Sends a COMMAND with its (optional) arguments ARGS to a running herb- stluftwm(1) instance via Xlib. If COMMAND has an output, it is printed by herbstclient. If output does not end with a newline, then a newline is added to improve readability. See herbstluftwm(1) for a list of available COMMANDs and their ARGS. If --wait or --idle is passed, then it waits for hooks from herbstluftwm. The hook is printed, if it matches the optional FILTER. FILTERs are regular expressions. For a list of available hooks see herbstluftwm(1). OPTIONS -n, --no-newline Do not print a newline if output does not end with a newline. -0, --print0 Use the null character as delimiter between the output of hooks. -l, --last-arg When using -i or -w, only print the last argument of the hook. -i, --idle Wait for hooks instead of executing commands. -w, --wait Same as --idle but exit after first --count hooks. -c, --count COUNT Let --wait exit after COUNT hooks were received and printed. The de- fault COUNT is 1. -q, --quiet Do not print error messages if herbstclient cannot connect to the run- ning herbstluftwm instance. -v, --version Print the herbstclient version. To get the herbstluftwm version, use herbstclient version. -h, --help Print the herbstclient usage with its command line options. --binary-pipe Run multiple commands via a binary interface. The protocol is described in the BINARY PIPE section below. BINARY PIPE When --binary-pipe is passed, a binary communication channel to herb- stluftwm is established such that multiple commands can be run through a single herbstclient instance. Both stdin and stdout are in binary mode, whereas the stderr channel remains text mode. The interface consists of null-byte terminated UTF-8 text tokens. The following token sequences are supported on stdin, where 0 denotes a null-byte: * ARG 0 T 0 pushes the text token T to the next command to be run. * RUN 0 runs the command (i.e. sends it to herbstluftwm). * After writing RUN and the nullbyte to herbstclient's stdin, do not for- get to flush! On stdout, null-byte separated key-value pairs are printed, that is, the output will always be a sequence of the format KEY 0 VALUE 0. The protocol may be extended in the future, but will always stick to the key-value-for- mat. * STDOUT 0 TEXT 0 means that the stdout of the recently executed command is TEXT * STDERR 0 TEXT 0 means that the stderr of the recently executed command is TEXT * STATUS 0 N 0 means that the exit status of the recently executed com- mand is the integer N Whenever herbstluftwm quits or when the EOF of stdin is reached, then the binary pipe also closes and herbstclient exits. Example: printf 'ARG\0echo\0ARG\0hello world\0RUN\0ARG\0get_attr\0ARG\0tags.count\0RUN\0' \ | herbstclient --binary-pipe \ | hexdump -C ENVIRONMENT VARIABLES DISPLAY Specifies the DISPLAY to use, i.e. where herbstluftwm(1) is running. EXIT STATUS Returns the exit status of the COMMAND execution in herbstluftwm(1) server. 0 Success. other Failure. See herbstluftwm(1) for a list of error codes. BUGS See the herbstluftwm Github issues: https://github.com/herbstluftwm/herb- stluftwm/issues COMMUNITY Feel free to join the IRC channel #herbstluftwm on irc.libera.chat. AUTHOR herbstclient was written by Thorsten WiAmann. All contributors are listed in the herbstluftwm distribution AUTHORS file. RESOURCES Homepage: http://herbstluftwm.org Github page: http://github.com/herbstluftwm/herbstluftwm Patch submission and bug reporting: hlwm@lists.herbstluftwm.org COPYING Copyright 2011-2020 Thorsten WiAmann. All rights reserved. This software is licensed under the "Simplified BSD License". See LICENSE for details. herbstluftwm 0.9.6 2026-04-03 HERBSTCLIENT(1)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | BINARY PIPE | ENVIRONMENT VARIABLES | EXIT STATUS | BUGS | COMMUNITY | AUTHOR | RESOURCES | COPYING
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=herbstclient&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>
