#!/bin/bash # this is a simple config for herbstluftwm alias hc=herbstclient hc lock hc emit_hook reload # misc hc set smart_window_surroundings 0 hc set smart_frame_surroundings 1 hc set default_frame_layout 2 hc set mouse_recenter_gap 0 hc set always_show_frame 1 hc set raise_on_focus 1 # frame hc set frame_border_active_color '#0492f7' hc set frame_border_normal_color '#111111' hc set frame_bg_normal_color '#000000' hc set frame_bg_active_color '#000000' hc set frame_border_width 1 hc set frame_padding 1 hc set frame_gap 1 # window hc set window_border_normal_color '#000000' hc set window_border_active_color '#0492f7' hc set window_border_inner_width 0 hc set window_border_width 1 hc set window_gap -1 # remove all existing keybindings hc keyunbind --all # keybindings Mod=Mod4 hc keybind $Mod-Shift-q quit hc keybind Control-Mod1-r reload hc keybind $Mod-Escape close hc keybind $Mod-Return spawn urxvtc # tags TAG_NAMES=( {1..5} ) TAG_KEYS=( {1..5} 0 ) hc rename default "${TAG_NAMES[0]}" || true for i in ${!TAG_NAMES[@]} ; do hc add "${TAG_NAMES[$i]}" key="${TAG_KEYS[$i]}" if ! [ -z "$key" ] ; then hc keybind "$Mod-$key" use_index "$i" hc keybind "$Mod-Shift-$key" move_index "$i" fi done # cycle through tags hc keybind Mod1-Control-Right use_index +1 --skip-visible hc keybind Mod1-Control-Left use_index -1 --skip-visible # layouting hc keybind $Mod-d remove hc keybind $Mod-space cycle_layout 1 hc keybind $Mod-v split vertical 0.5 hc keybind $Mod-h split horizontal 0.5 hc keybind $Mod-s floating toggle hc keybind $Mod-f fullscreen toggle hc keybind $Mod-p pseudotile toggle # resizing hc keybind $Mod-Control-Right resize right +0.03 hc keybind $Mod-Control-Left resize left +0.03 hc keybind $Mod-Control-Down resize down +0.05 hc keybind $Mod-Control-Up resize up +0.05 # mouse hc mouseunbind --all hc mousebind $Mod-Button1 move hc mousebind $Mod-Button2 zoom hc mousebind $Mod-Button3 resize # focus hc keybind $Mod-BackSpace cycle_monitor hc keybind $Mod-Tab cycle_all +1 hc keybind $Mod-Shift-Tab cycle_all -1 hc keybind $Mod-z cycle -1 hc keybind $Mod-c cycle hc keybind $Mod-Left focus left hc keybind $Mod-Down focus down hc keybind $Mod-Up focus up hc keybind $Mod-Right focus right hc keybind $Mod-u jumpto urgent # shift hc keybind $Mod-Shift-Left shift left hc keybind $Mod-Shift-Down shift down hc keybind $Mod-Shift-Up shift up hc keybind $Mod-Shift-Right shift right # rules hc unrule -F #hc rule class=XTerm tag=3 # move all xterms to tag 3 hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on focus=on hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK)' manage=off # unlock, just to be sure hc unlock herbstclient set tree_style '╾│ ├└╼─┐' # do multi monitor setup here, e.g.: # hc set_monitors 1280x1024+0+0 1280x1024+1280+0 # or simply: # hc detect_monitors # find the panel panel=~/.config/herbstluftwm/panel.sh [ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh for monitor in $(herbstclient list_monitors | cut -d: -f1) ; do # start it on each monitor $panel $monitor & done # xor hc set focus_follows_mouse 1 hc pad 0 0 71 0 0 hc set_layout max hc rule instance=findDialog_popup pseudotile=on focus=on hc rule class=Conky manage=off hc rule class=xmms manage=off #jdownloader hc rule title="Please confirm" pseudotile=on hc rule title="Add URL(s)" pseudotile=on hc rule title="Terms of Service are not accepted" pseudotile=on hc rule title="Deep Decryption?" pseudotile=on hc keybind $Mod-t spawn urxvtc hc keybind $Mod-x spawn dmenu-x hc rule focus=on hc keybind $Mod-r rotate hc set wmname LG3D