HERBSTLUFTWM(1) HERBSTLUFTWM(1) (NAME) herbstluftwm - X11 (SYNOPSIS) herbstluftwm [OPTION ...] (DESCRIPTION) herbstluftwm DISPLAY . herbstclient(1) . . OPTION : -v, --version -h, --help -c, --autostart PATH PATH $XDG_CONFIG_HOME --replace . -l, --locked monitors_locked 1. : herbstluftwm unlock ( autostart) . --locked autostart unlock ( ) herbstluftwm . ! --exit-on-xerror herbstluftwm xlib. . --no-transparency . --no-tag-import ( ) . --verbose (stderr). verbose . . herbstluftwm-tutorial(7) . (TILING ALGORITHM) . . : 1. : . : o vertical - o horizontal - o max - () o grid - 2. : () . ( ). . . . . ( ) . : : C ( split vertical 0.5) : V / \ C C : V / \ H C / \ C C : H / \ C C layout . (FRAME INDEX) . : o 0: o 1: o .: o /: o @: . . . o p: o e: : ( ) : o o 00 . o 1e . o /@ "" o @p/ (TAGS) . . . . (MONITORS) herbstluftwm . . . add_monitor rename_monitor . rename_monitor . + - . : o list_monitors . o : + - () : +3 o : -l -r -u -d . o "" ( ) . o . (COMMANDS) herbstluftwm herbstclient(1) . quit herbstluftwm . reload autostart . version herbstluftwm . echo [ARGS ...] ARGS . true ( 0) . false ( 1) . help [OBJECT|ATTRIBUTE] . : o help clients.focus o help monitors o help types.color list_commands . list_monitors (index) ( ) ( ) (tag) . list_rules . (label) . list_keybinds . . ! list_clients [--tag=TAG|--monitor=MONITOR] [--frame=FRAME_PATH|--floating|--tiling] [--title] (window ids) TAG MONITOR ( ) . (--frame=) . --title . lock monitors_locked . ( ) . : unlock unlock monitors_locked . monitors_locked 0 . : lock keybind KEY COMMAND [ARGS ...] . KEY . KEY COMMAND ( ARGS ) . ( ) (Mod1 Mod2 Mod3 Mod4 Mod5 Alt Super Control/Ctrl Shift) ( keysymdef.h ). - + . KEY Release- Release-Mod1-Shift-p Mod1-Shift-p p . : o keybind Mod4+Ctrl+q quit o keybind Mod4-Shift-d attr clients.focus.decorated toggle o keybind Mod1-Shift-space cycle_layout -1 o keybind Release-Mod4-Shift-p spawn scrot p Mod4 Shift . keyunbind KEY|-F|--all KEY . KEY keybind . -F --all . mousebind BUTTON ACTION [COMMAND ...] . BUTTON ACTION . BUTTON KEY keybind : ( - + keybind ) : o B1 Button1 o B2 Button2 o ... o B9 Button9 ACTION : o move: . o resize: . o zoom: . o call: COMMAND client.dragged BUTTON . ACTION client.dragged . : o mousebind Mod1-Button3 zoom o mousebind Mod1-B4 call substitute WID clients.dragged.winid spawn transset-df --inc -i WID 0.05 o mousebind Mod1-B5 call substitute WID clients.dragged.winid spawn transset-df --dec -i WID -m 0.2 0.05 drag WINID ACTION WINID ACTION ( mousebind ). drag '' resize . mouseunbind . spawn EXECUTABLE [ARGS ...] EXECUTABLE ARGS . man 3 execvp . : o spawn xterm -e man 3 execvp wmexec [WINDOWMANAGER [ARGS ...]] WINDOWMANAGER ARGS . . WINDOWMANAGER herbstluftwm . man 3 execvp . : o wmexec openbox chain SEPARATOR [COMMANDS ...] chain SEPARATOR COMMANDS . SEPARATOR . SEPARATOR SEPARATOR . "chain" . : o "foo" : chain , add foo , use foo o : chain .-. lock .-. rotate .-. rotate .-. rotate .-. unlock : o ",foo" : chain , add foo, use foo o "." "," : chain . add foo , use foo and SEPARATOR [COMMANDS ...] "and" chain COMMANDS 0 . or SEPARATOR [COMMANDS ...] "or" chain COMMANDS 0 . ! COMMAND "!" . "!" 0 "!" 1 . try COMMAND "try" ( 0) . silent COMMAND "silent" . focus_nth INDEX n- . INDEX 0 . INDEX . cycle [DELTA] DELTA . DELTA DELTA = 1 . DELTA DELTA = -1 : 1. cycle_all [--skip-invisible] [DIRECTION] . DIRECTION = 1 ( ) DIRECTION = -1 DIRECTION = 0 . cycle . --skip-invisible max ( max ). . cycle_frame [DIRECTION] . DIRECTION = 1 DIRECTION = -1 DIRECTION = 0 . DIRECTION 1 . cycle_layout [DELTA [LAYOUTS ...]] DELTA . DELTA 1 . . LAYOUTS cycle_layout . LAYOUTS DELTA . LAYOUTS . : o cycle_layout -1 o cycle_layout 1 vertical grid set_layout LAYOUT LAYOUT . . close WINID . (WINDOW IDS) . close_or_remove . close . close_and_remove . close . split ALIGN [FRACTION [FRAMEINDEX]] ( FRAMEINDEX (frame index) ) FRACTION 0 1 0.5 . ALIGN : o top o bottom (= vertical) o left o right (= horizontal) o explode o auto ( ) . . . ALIGN explode ( ALIGN FRACTION 0.5 ). : o split explode o split bottom 0.5 o split horiz 0.3 o split vertical 0.5 o split h o split top 0.2 '' ( ) focus [-i|-e|--level=LEVEL] DIRECTION DIRECTION : o l[eft] o r[ight] o u[p] o d[own] LEVEL frame DIRECTION . LEVEL visible default_direction_external_only DIRECTION . tabs LEVEL tabbed_max . all max . -i --level=visible -e --level=frame . : . ( 0 1). ( ) DIRECTION . . : A . focus right C . Tree: H,0 Screen: (before) | B || C | V,1 V,0 | A* || D | B A* C D Tree: H,1 Screen: (after focus right) | B || C* | V,1 V,0 | A || D | B A C* D . focus_crosses_monitor_boundaries DIRECTION DIRECTION . focus_edge [-i|-e] DIRECTION DIRECTION . DIRECTIONS -e focus . -i () default_direction_external_only . . ( ) (Raise). ( stack ) . (WINDOW IDS) . . lower WINID ( ) (Lower) raise: ( ) ( ). jumpto WINID . (WINDOW IDS) . bring WINID . . (WINDOW IDS) . resize DIRECTION [FRACTIONDELTA] DIRECTION () FRACTIONDELTA ( 0.02 ). DIRECTION focus . DIRECTION ( FRACTIONDELTA ). : o resize right +0.05 o resize down -0.1 shift_edge [-i|-e] DIRECTION DIRECTION () . DIRECTIONS focus -i -e focus_edge . shift [-i|-e|--level=LEVEL] DIRECTION DIRECTION () . DIRECTIONS -i|-e|--level=LEVEL focus . . focus_crosses_monitor_boundaries DIRECTION . shift_to_monitor MONITOR MONITOR () . (MONITORS) . remove . rotate . . mirror [vertical|horizontal|both] () horizontal () . . set NAME VALUE NAME VALUE . on true off false toggle . (settings) . get NAME NAME . (settings) . toggle NAME NAME (Toggle) . cycle_value PATH VALUES ... PATH VALUES : VALUES . PATH . : o cycle_value settings.frame_gap 0 5 10 15 o cycle_value theme.active.inner_color red green blue o cycle_layout +1 cycle_value tags.focus.tiling.focused_frame.algorithm cycle_monitor [DELTA] DELTA . DELTA 1 . focus_monitor MONITOR . (MONITORS) . add TAG TAG . use TAG TAG . use_index INDEX [--skip-visible] TAG INDEX () . INDEX + - INDEX TAG . --skip-visible INDEX . : o use_index -1 --skip-visible use_previous . merge_tag TAG [TARGET] TAG TARGET . TARGET . rename OLDTAG NEWTAG OLDTAG NEWTAG . move TAG TAG . move_index INDEX [--skip-visible] INDEX . use_index: INDEX + - . --skip-visible . lock_tag [MONITOR] . . use use_index . swap_monitors_to_get_tag . "[LOCKED]" list_monitors . unlock_tag [MONITOR] . . lock_tag . disjoin_rects RECTS ... (disjoint) . ! set_monitors . o disjoin_rects 600x400+0+0 600x400+300+250 : 300x150+300+250 600x250+0+0 300x150+0+250 300x150+600+250 600x250+300+400 o : | | | | | | | disjoin | || || | | > | | set_monitors RECTS ... : o i- RECT () i- o RECTS o RECTS detect_monitors -l|--list|--list-all|--no-disjoin . Xinerama xrandr . disjoin_rects . -l --list . hc detect_monitors : hc set_monitors $(hc disjoin_rects $(hc detect_monitors -l)). --list-all (xinerama xrandr) . add_monitor RECT [TAG [NAME]] RECT TAG . TAG . RECT WxH+-X+-Y . TAG monitors.tag_selection_strategy / . NAME . : o add_monitor 1024x768-20+0 mynewtag main remove_monitor MONITOR . move_monitor MONITOR RECT [PADUP [PADRIGHT [PADDOWN [PADLEFT]]]] RECT . RECT add_monitor . (pad) . raise_monitor [MONITOR] MONITOR (Raise). rename_monitor MONITOR NAME . NAME . stack . . tree_style . monitor_rect [[-p] MONITOR] : X Y W H MONITOR cur . -p (pad) . pad MONITOR [PADUP [PADRIGHT [PADDOWN [PADLEFT]]]] (pad) . . list_padding [MONITOR] (padding) . layout [TAG [INDEX]] INDEX TAG . tree_style . TAG . INDEX . INDEX TAG ( ) TAG . : horizontal 50% selection=1 vertical: 0xe00009 vertical 50% selection=0 vertical: 0xa00009 [FOCUS] vertical: 0x1000009 dump [TAG [INDEX]] layout . load . ( ): (split horizontal:0.500000:1 (clients vertical:0 0xe00009) (split vertical:0.500000:1 (clients vertical:0 0xa00009) (clients vertical:0 0x1000009))) load [TAG] LAYOUT LAYOUT TAG TAG . (Caution) LAYOUT . () ! complete POSITION [COMMAND ARGS ...] Tab COMMAND ARGS . Tab bash zsh fish . : o complete 0 m m o complete 1 toggle fra fra (toggle) complete_shell POSITION [COMMAND ARGS ...] complete posix : o (Escape sequences) COMMAND ARGS . o . o . emit_hook NAME ARGS ... (hook) NAME herbstclient . tag_status [MONITOR] MONITOR . MONITOR . : o . o : o + MONITOR . o # MONITOR . o - MONITOR . o % MONITOR . o ! (urgent) (Warning) (Tab) tag_status . floating [[TAG] on|off|toggle|status] TAG / . TAG . (toggle) . status TAG on off . rule [[--]FLAG|[--]LABEL|[--]CONDITION|[--]CONSEQUENCE ...] . (RULES) . unrule LABEL|--all|-F LABEL . --all -F . apply_rules WINID|--all WINID . --all . apply_tmp_rule WINID|--all [RULEDESCRIPTION...] RULEDESCRIPTION WINID (--all) . RULEDESCRIPTION rule (RULES) . . apply_tmp_rule . fullscreen [on|off|toggle] . (toggle) . pseudotile [on|off|toggle] (pseudotile) . - . . . object_tree [PATH] . PATH PATH . (OBJECTS) . attr [PATH [NEWVALUE] PATH . PATH . NEWVALUE NEWVALUE PATH . (OBJECTS) . get_attr ATTRIBUTE ATTRIBUTE OBJECTS. set_attr ATTRIBUTE NEWVALUE NEWVALUE ATTRIBUTE OBJECTS. attr_type ATTRIBUTE ATTRIBUTE . new_attr bool|color|int|string|uint PATH [VALUE] PATH . . my_ . VALUE ( ). watch PATH PATH. OLDVALUE NEWVALUE : attribute_changed PATH OLDVALUE NEWVALUE remove_attr PATH PATH . substitute IDENTIFIER ATTRIBUTE COMMAND [ARGS ...] IDENTIFIER COMMAND ARGS ATTRIBUTE . COMMAND IDENTIFIER . . : o substitute MYTITLE clients.focus.title echo MYTITLE . sprintf IDENTIFIER FORMAT [FORMATARG ...] COMMAND [CMDARGS ...] IDENTIFIER COMMAND CMDARGS FORMAT . FORMAT printf(1): o %s FORMATARG o %c (<<>> "constant") FORMATARG . o %{ATTR} ATTR . ATTR . foreach . o %% % . : o sprintf STR title=%s clients.focus.title echo STR title= . o sprintf X "%c %s tags" "there are" tags.count echo X there are N tags N . o sprintf X tag=%s tags.focus.name rule once X . o sprintf X %s/%s tags.focus.index tags.count echo X o sprintf l somelongstring echo l l l somelongstring . o sprintf VALUE "%{%c.client_count}" tags.0 echo VALUE 0 o foreach --filter-name="[0-9]*" T tags. sprintf S "%{%c.client_count}" T echo T S . o substitute X tags.count sprintf Y "number=%c" X echo Y sprintf Y "number=%s" tags.count echo Y ( %c %s ) foreach IDENTIFIER OBJECT [--recursive] [--unique] [--filter-name=REGEX] COMMAND [ARGS ...] OBJECT COMMAND ARGS IDENTIFIER . : o --filter-name=REGEX REGEX . o --unique ( clients.focus) o --recursive OBJECT . --unique . . : o foreach T tags.by-name. echo T : tags.by-name.1 tags.by-name.2 tags.by-name.3 [...] o foreach foreach S settings echo S settings . o foreach C clients. echo C clients. : clients.focus. o foreach F tags.focus.tiling.root. --recursive echo F . mktemp [bool|int|string|uint] IDENTIFIER COMMAND [ARGS ...] IDENTIFIER COMMAND ARGS . . COMMAND . compare ATTRIBUTE OPERATOR VALUE ATTRIBUTE VALUE OPERATOR . 0 1 . : o =: ATTRIBUTE VALUE o !=: ATTRIBUTE VALUE o le: ATTRIBUTE <= VALUE o lt: ATTRIBUTE < VALUE o ge: ATTRIBUTE >= VALUE o gt: ATTRIBUTE > VALUE OPERATORs le lt ge gt ATTRIBUTE . . substitute : substitute FC tags.focus.frame_count \ compare tags.focus.client_count gt FC . getenv NAME NAME . setenv NAME VALUE NAME VALUE . export . unsetenv NAME NAME . export NAME=VALUE NAME VALUE . export ( = ). herbstluftwm export FOO=BAR herbstluftwm herbstclient export FOO=BAR . export setenv . debug_css [FLAGS] herbstluftwm hlwm . . FLAGS : o --stylesheet=CSS . o --print-css o --tree=TREE DOM ( ) . . o --print-tree TREE . o --pretty-client-tree=CLIENT CLIENT . css . . o --query-tree-indices=SELECTOR ( ) SELECTOR css . o --compute-style=INDEX TREE INDEX . (RULES) apply_rules . ( CONSEQUENCE ). : rule [[--]FLAG|[--]LABEL|[--]CONDITION|[--]CONSEQUENCE ...] FLAG CONDITION CONSEQUENCE LABEL . ( (--) iptables(8) ). LABEL : o [--]label=VALUE . (index) unrule -F ( ) . . LABEL . printlabel . herbstluftwm : CONDITION CONSEQUENCE . ( ) CONDITION property () value . : o ~ property (regex) value . o = property value . properties : instance WM_CLASS . class WM_CLASS . title . pid (pid) (: pid . _NET_WM_PID pid ). pgid (pgid) . pgid pid . maxage value . = . maxage ( ) . ( .) windowtype _NET_WM_WINDOW_TYPE . _NET_WM_WINDOW_TYPE . windowrole WM_WINDOW_ROLE . fixedsize ( ) ( ). . : hc rule fixedsize floating=on CONSEQUENCE NAME=VALUE . NAMES : tag (tag) VALUE . monitor VALUE . tag switchtag VALUE . tag switchtag . focus . off . VALUE (on off). switchtag focus switchtag . swap_monitors_to_get_tag . VALUE (on off). manage . on . VALUE (on off). index . VALUE frame index . floating . VALUE . pseudotile (pseudotile) . VALUE . sticky (sticky) . VALUE . ewmhrequests ( ) ewmh . . VALUE on . ewmhnotify hlwm EWMH ( ) . . VALUE on . fullscreen . VALUE . hook rule VALUE WINID WINID . hook . keymask (keymask) ( keymask ). keys_inactive ( keys_inactive ). floatplacement . VALUE : o none o center o smart . . o topleft, topright, bottomleft, bottomright settings.snap_gap . floating_geometry floating_geometry . VALUE . floatplacement ( ) floating_geometry . floatplacement=none . FLAGS : o not: CONDITION . o !: not. o once: ( ). o printlabel: stdout . o prepend: . . : o rule --class=Netscape --tag=6 --focus=off Netscape . o rule not class~.*[Tt]erm tag=2 term Term . o rule class=Thunderbird index=/0 Thunderbird . o rule --windowtype=_NET_WM_WINDOW_TYPE_DIALOG --focus=on _NET_WM_WINDOW_TYPE . (WINDOW IDS) close. : o -- -- . o urgent (urgent) . o 0xHEXID -- HEXID -- X11 HEXID . o longest-minimized . o last-minimized . o DECID -- DECID -- X11 DECID . (OBJECTS) /sys . ( ...) . object_tree : $ herbstclient object_tree tags | by-name | | 1 | | ... | | 9 | focus clients | 0x1400022 | focus monitors by-name focus PATH object_tree . PATH . () tags.by-name: $ herbstclient object_tree tags.by-name. tags.by-name. 1 2 ... 9 PATH attr : $ herbstclient attr tags. 2 children: by-name. focus. 1 attributes: .---- type | .-- writable V V u - count = 9 $ herbstclient attr tags.focus. 0 children. 6 attributes: .---- type | .-- writable V V s w name = "1" b w floating = false i - frame_count = 2 i - client_count = 1 i - curframe_windex = 0 i - curframe_wcount = 1 : attr : o o b (boolean) o c (color) o i (integer) o r (regex) o s (string) o u (unsigned integer) o : w - . o o ( ) attr get_attr : $ herbstclient attr clients.focus.title herbstluftwm.txt = (~/dev/c/herbstluftwm/doc) - VIM $ herbstclient get_attr clients.focus.title herbstluftwm.txt = (~/dev/c/herbstluftwm/doc) - VIM attr set_attr : $ herbstclient attr tags.focus.floating false $ herbstclient attr tags.focus.floating true $ herbstclient attr tags.focus.floating true $ herbstclient set_attr tags.focus.floating false $ herbstclient attr tags.focus.floating false help : $ herbstclient help clients.focus . : autostart: o string global_path = globalAutostart: autostart . o int last_status = 0: autostart. autostart running autostart . o string path = autostartFromCmdLine: autostart . autostart $XDG_CONFIG_HOME $HOME . o uint pid = 0: (PID) autostart. autostart pid . o bool running = false: autostart ( pid ) . clients: . () . o dragged: . mousebind . : clients.focus o focus: ( ). o string class: ( WM_CLASS) o Rectangle content_geometry: . . o bool decorated = true: o Rectangle decoration_geometry: . o bool ewmhnotify = true: ewmh o bool ewmhrequests = true: ewmh o bool floating = false: () . . o bool floating_effectively = false: . . X11 HLWM_FLOATING_WINDOW HLWM_TILING_WINDOW . o Rectangle floating_geometry = 0: . . o bool fullscreen = false: . o string instance: ( WM_CLASS) o regex keymask = "": ( list_keybinds ) . . . keymask () . o regex keys_inactive = "": . ( list_keybinds) . o bool minimized = false: ( ). o int pgid = -1 o int pid = -1: ( -1). o bool pseudotile = false: . o bool sizehints_floating = true: (sizehints) o bool sizehints_tiling = false: (sizehints) o bool sticky = false: . . o string tag: . o string title = "": o bool urgent = false: ( : ). . o bool visible = visible_already: o string winid = "": ( 0x) o parent_frame: . : tags.focus.tiling.root monitors: . . INDEX INDEX . o uint count o TagSelectionStrategy tag_selection_strategy = any_unshown: . o any_unshown: o only_empty: o +prefer_empty: o by-name: name name . . o focus: . . pad ( ) . o Rectangle content_geometry: pad . . o Rectangle geometry = rect_: o uint index = 0: ( 0) o bool lock_tag = false: . o string name = "": ( ) o int pad_down = 0: o int pad_left = 0: o int pad_right = 0: o int pad_up = 0: o string tag: panels: . o uint count o bool geometry_fallback = false: : . o 0xWindowID: . _NET_WM_STRUT . . o string class: ( WM_CLASS) o Rectangle geometry: o string instance: ( WM_CLASS) o WindowID winid = winid: (settings): herbstluftwm set get toggle . settings. (attribute) . (wrapper) . o bool always_show_frame = false: (DEPRECATED) show_frame_decorations . show_frame_decorations all ( focused ). o bool auto_detect_monitors = false: detect_monitors . o bool auto_detect_panels = true: EWMH ( pad ). . o bool default_direction_external_only = false: focus shift -e -i . focus shift DIRECTION . DIRECTION . o LayoutAlgorithm default_frame_layout = vertical: ( ) . . o string ellipsis = ...: . o bool focus_crosses_monitor_boundaries = true: focus shift . focus . shift . o bool focus_follows_mouse = false: ( sloppy focus ). . ( max) . o bool focus_stealing_prevention = true: (taskbars) . . o int frame_active_opacity = 100: . (compositing manager) . o color frame_bg_active_color = black: . o color frame_bg_normal_color = black: ( show_frame_decorations ). o bool frame_bg_transparent = false: . frame_transparent_width . frame_active_opacity frame_normal_opacity . o color frame_border_active_color = red: . o color frame_border_inner_color = black: . o int frame_border_inner_width = 0: . frame_border_width . o color frame_border_normal_color = blue: . o int frame_border_width = 2: . o int frame_gap = 5: . o int frame_normal_opacity = 100: . . o int frame_padding = 0: (padding) . o int frame_transparent_width = 0: frame_bg_active_color frame_bg_transparent . o bool gapless_grid = true: (grid) . . . o bool hide_covered_windows = false: max . . max . o uint monitors_locked = 0: 0 . 0 . lock unlock . o int mouse_recenter_gap = 0: (gap) . . . 0 () . o int pseudotile_center_threshold = 10: 0 . pseudotile_center_threshold . o bool raise_on_click = true: (raise). . o bool raise_on_focus = false: . . o bool raise_on_focus_temporarily = false: . . o ShowFrameDecorations show_frame_decorations = focused_if_multiple: . o none o nonempty o if_multiple o if_empty o if_multiple_empty o focused o focused_if_multiple . o all . o SmartFrameSurroundings smart_frame_surroundings = off: hide_all . hide_gaps . off . o SmartWindowSurroundings smart_window_surroundings = off: one_window ( on ) . one_window_and_frame . theme.minimal . off . o int snap_distance = 10: snap_distance (snap). o int snap_gap = 5: . snap_gap 0 . o bool swap_monitors_to_get_tag = true: : . . o bool tabbed_max = true: max . o string tree_style = "*| +`--.": . . X|:#+*-. : X-. #-. child 0 | #-* child 00 | +-* child 01 +-. child 1 : #-* child 10 : +-* child 11 tree_style : | -| |'--. | . o bool update_dragged_clients = false: . . o bool verbose = false: stderr herbstluftwm . --verbose . o color window_border_active_color: . : theme.active.color . o color window_border_inner_color: . : theme.inner_color . o int window_border_inner_width: . window_border_width . : theme.inner_width . o color window_border_normal_color: . : theme.normal.color . o color window_border_urgent_color: (urgent). : theme.urgent.color . o int window_border_width: . : theme.border_width . o int window_gap = 0: () . o string wmname = herbstluftwm: _NET_WM_NAME (root window) . _NET_WM_NAME . : o cycle_value wmname herbstluftwm LG3D (tags): ( ). index index . o uint count o by-name: : monitors.by-name o focus: . o bool at_end = false: . scratchpad . o int client_count: o int curframe_wcount: o int curframe_windex: o bool floating = false: o bool floating_focused = false: ( ) o int frame_count: o uint index = 0: ( 0 ) o string name = name_: ( ) o int urgent_count: o bool visible = false: o focused_client: : clients.focus o tiling: o focused_frame: () . : tags.focus.tiling.root o root (frame leaf) . o LayoutAlgorithm algorithm o int client_count o Rectangle content_geometry: . o string index: 0 1 . . 0 ( 1) ( ) . o int selection o root (frame split) . o Rectangle content_geometry: . o decimal fraction o string index: 0 1 . . 0 ( 1) ( ) . o int selection o SplitAlign split_type o 0 . : tags.focus.tiling.root o 0 . : tags.focus.tiling.root o 1 . : tags.focus.tiling.root o 1 . : tags.focus.tiling.root theme: inner_color/inner_width outer_color/outer_width | | | | -. border_width | | color | } + title_height + title_depth | | -' + padding_top | |====================....| | | |== window content ==....| | | |====================.. background_color | |........................| | | | border_width + padding_bottom theme tiling floating . tab_... . . o color background_color = black: o uint border_width = 0: o color color = black: o color inner_color = black: o uint inner_width = 0: o CssFile::Ptr name: css. . o color outer_color = black: o uint outer_width = 0: o uint padding_bottom = 0: o uint padding_left = 0: o uint padding_right = 0: o uint padding_top = 0: o string reset: o CssSource style_override: css . o MaybeColor tab_color = Inherit: o MaybeColor tab_outer_color = Inherit: . o MaybeULong tab_outer_width = Inherit: o MaybeColor tab_title_color = Inherit: o bool tight_decoration = false: (size hints) ( sizehints_tiling ) o TextAlign title_align = left: . : left center right o color title_color = black o MaybeInt title_depth = 0: (baseline) '' . o font title_font = fixed o MaybeULong title_height = 0: (baseline) '' . o TitleWhen title_when = always: : always never max (one_tab) multiple_tabs . o active: . o color background_color = black: o uint border_width = 0: o color color = black: o color inner_color = black: o uint inner_width = 0: o color outer_color = black: o uint outer_width = 0: o uint padding_bottom = 0: o uint padding_left = 0: o uint padding_right = 0: o uint padding_top = 0: o string reset: o MaybeColor tab_color = Inherit: o MaybeColor tab_outer_color = Inherit: . o MaybeULong tab_outer_width = Inherit: o MaybeColor tab_title_color = Inherit: o bool tight_decoration = false: (size hints) ( sizehints_tiling ) o TextAlign title_align = left: . : left center right o color title_color = black o MaybeInt title_depth = 0: (baseline) '' . o font title_font = fixed o MaybeULong title_height = 0: (baseline) '' . o TitleWhen title_when = always: : always never max (one_tab) multiple_tabs . o floating: tiling . o color background_color = black: o uint border_width = 0: o color color = black: o color inner_color = black: o uint inner_width = 0: o color outer_color = black: o uint outer_width = 0: o uint padding_bottom = 0: o uint padding_left = 0: o uint padding_right = 0: o uint padding_top = 0: o string reset: o MaybeColor tab_color = Inherit: o MaybeColor tab_outer_color = Inherit: . o MaybeULong tab_outer_width = Inherit: o MaybeColor tab_title_color = Inherit: o bool tight_decoration = false: (size hints) ( sizehints_tiling ) o TextAlign title_align = left: . : left center right o color title_color = black o MaybeInt title_depth = 0: (baseline) '' . o font title_font = fixed o MaybeULong title_height = 0: (baseline) '' . o TitleWhen title_when = always: : always never max (one_tab) multiple_tabs . o active: . theme.active o normal: . theme.active o urgent: . theme.active o fullscreen: . theme.floating o minimal: smart_window_surroundings . theme.floating o normal: . theme.active o tiling: active normal urgent . theme.floating o urgent: . theme.active (types): . o bool: on (/) off (/) true false. toggle . o string fullname: o string shortname: () attr o color: . : 1. #RRGGBB R G B (0-9 A-F) RR GG BB . 2. #RRGGBBAA AA . 00 FF / . 3. red, blue, orange . types.bool . o decimal: 0.34. types.bool . o font: ( ) : o Fontconfig. (antialiased) : o Dejavu Sans:pixelsize=12 o Bitstream Vera Sans:size=12:bold o X XLFD (X logical font description) xfontsel . . : o -*-fixed-medium-r-*-*-13-*-*-*-*-*-*-* . types.bool . o int: . +=N -=N ( N ) . +=3 . types.bool . o names: ( horizontal vertical ). types.bool . o rectangle: . WxH+X+Y W H X Y : X Y . ( X Y + - ). : 800x600+800+0 400x200-10+30. types.bool . o regex: POSIX (POSIX extended regular expression). . 9.4.6 : https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04_06. types.bool . o string: . types.bool . o uint: ( ) . +=N -=N ( N ) . types.bool . o windowid: . ( ) ( ) . 0xHEX HEX ( 0-9 a-f) ( ) ( 0 ) . 0xHEX . types.bool . (watchers): o uint count: (AUTOSTART FILE) (autostart) . reload . --autostart autostart $XDG_CONFIG_HOME/herbstluftwm/autostart ~/.config/herbstluftwm/autostart . herbstclient . autostart autostart ( /etc/xdg/herbstluftwm/autostart ) . autostart ~/.config/herbstluftwm/ . (HOOKS) herbstluftwm ( ) . herbstclient(1) . emit_hook . herbstluftwm : attribute_changed PATH OLDVALUE NEWVALUE PATH OLDVALUE NEWVALUE . PATH watch . fullscreen [on|off] WINID WINID [on|off] . tag_changed TAG MONITOR TAG MONITOR . focus_changed WINID TITLE WINID . TITLE . window_title_changed WINID TITLE . WINID TITLE . tag_flags ( ) . tag_added TAG TAG . tag_removed TAG TAG . tag_renamed OLD NEW OLD NEW . urgent [on|off] WINID WINID [on|off] . rule NAME WINID WINID hook=NAME . herbstluftwm emit_hook : quit_panel . panel.sh . . reload autostart -- . autostart . (THEMES/STYLESHEETS) theme. CSS . . (STACKING) . EWMH : o ( raise_on_focus_temporarily ) o o o . raise_monitor . stack . EWMH X11 (EWMH AND X11 PROPERTIES) herbstluftwm EWMH . : o . o . o focus_stealing_prevention . herbstluftwm X11 HLWM_FLOATING_WINDOW HLWM_TILING_WINDOW floating_effectively . (ENVIRONMENT VARIABLES) DISPLAY DISPLAY . (FILES) herbstluftwm : o autostart AUTOSTART FILE . (EXIT STATUS) 0 . wmexec EXIT_FAILURE . (BUGS) (Issues) herbstluftwm : https://github.com/herbstluftwm/herbstluftwm/issues (COMMUNITY) IRC #herbstluftwm irc.libera.chat . (AUTHOR) herbstluftwm Thorsten Wissmann . AUTHORS herbstluftwm . (RESOURCES) : http://herbstluftwm.org : http://github.com/herbstluftwm/herbstluftwm : hlwm@lists.herbstluftwm.org (COPYING) 2011-2020 Thorsten Wissmann. . <> . LICENSE . herbstluftwm 0.9.6 2026-04-03 HERBSTLUFTWM(1)