Topic: Herbstluftwm thread? - Herbstluftwm thread!
I'm using hlwm as my default wm since two months and I'm really happy with it. When I first installed it, I was totally new to manual tiling but I picked it up quite fast, as hlwm's default keybindings are really intuitive for vim-users and you get used to the look and feel in no time... Anyway I thought I'd make a thread to share configs with other users (I hope there are some here
) and provide help for beginners.
You can get Herbstluftwm and some documentation here: http://wwwcip.cs.fau.de/~re06huxa/herbstluftwm/
Short Introduction:
- Herbstluftwm is a manual tiling window manger, the layout is based on frames, which can be split up into subframes and those can be split up again and so on. Each frame can contain one or more clients and can be resized, added and removed freely.
- It's minimalistic and very lightweight: All it gives you is total control over your clients and and a tool to interact with it (herbstclient)
- It uses a bash script as the config file
- The dump/load feature is another cool thing, it dumps the layout of your current tag in a format, you can use to load it at startup or whenever you feel like it.
- It's somewhat early in development, so it still lacks some feature and there are a few bugs (although I only experienced two crashes since I'm using it and the bug responsible for those got fixed the day after.)
So here is my config, based on the default/example one:
#!/bin/bash
# this is an simple config for herbstluftwm
function hc() {
herbstclient "$@"
}
# autostart daemons'n'stuff
nitrogen --restore &
#xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &
xbindkeys &
udiskie &
dzenconky.sh; dzendate.sh
twmnd &
#add padding for dzen2
hc pad 0 14 0 0 0
# keybindings
Mod=Mod4
hc keybind $Mod-q quit
hc keybind $Mod-Shift-r reload
hc keybind $Mod-x close
hc keybind $Mod-Return spawn urxvt
# tags
hc rename default 1 || true
for i in {1..9} ; do
hc add "$i"
hc keybind "$Mod-$i" use "$i"
hc keybind "$Mod-Shift-$i" move "$i"
done
# layouting
hc keybind $Mod-r remove
hc keybind $Mod-space cycle_layout 1
hc keybind $Mod-u split vertical 0.5
hc keybind $Mod-o split horizontal 0.5
hc keybind $Mod-s floating toggle
# mouse
hc mousebind $Mod-Button1 move
hc mousebind $Mod-Button3 resize
hc mousebind $Mod-Button2 zoom
# resizing
RESIZESTEP=0.05
hc keybind $Mod-Control-h resize left +$RESIZESTEP
hc keybind $Mod-Control-j resize down +$RESIZESTEP
hc keybind $Mod-Control-k resize up +$RESIZESTEP
hc keybind $Mod-Control-l resize right +$RESIZESTEP
# 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-c cycle
hc keybind $Mod-h focus left
hc keybind $Mod-j focus down
hc keybind $Mod-k focus up
hc keybind $Mod-l focus right
hc keybind $Mod-Shift-h shift left
hc keybind $Mod-Shift-j shift down
hc keybind $Mod-Shift-k shift up
hc keybind $Mod-Shift-l shift right
#dmenu
hc keybind $Mod-p spawn dmenu_run -fn -*-terminus-medium-*-*-*-12-*-*-*-*-*-* -nb rgb:00/00/00 -nf rgb:CC/CC/CC -sb rgb:CC/CC/CC -sf rgb:33/33/33
# colors
hc set frame_border_active_color '#000000'
hc set frame_border_normal_color '#2B2B2B'
hc set frame_bg_normal_color '#CCCCCC'
hc set frame_bg_active_color '#666666'
hc set frame_border_width 1
hc set window_border_width 1
hc set window_border_normal_color '#000000'
hc set window_border_active_color '#CCCCCC'
#settings
hc floating 3 on
hc set snap_distance 7
hc set snap_gap 3
hc set window_gap 0
hc set frame_bg_transparent 1
hc set focus_follows_mouse 1
hc set focus_follows_shift 1
hc set tree_style "╾│ ├└╼─┐"
# load layout
hc load "(split horizontal:0.399800:0 (split vertical:0.250000:1 (clients vertical:0 0x2e00006) (split vertical:0.500000:1 (clients vertical:0 0x3000006) (clients vertical:0 0x2c00006))) (split vertical:0.750000:0 (clients vertical:0 0x2800006) (clients vertical:0 0x3200006)))"
#autostart apps
if [ ! $(pidof mpd) ]; then
mpd
fi
hc spawn urxvt
hc spawn urxvt
hc spawn urxvt
hc spawn urxvt -e centerim
hc spawn urxvt -e rangerHere's a screenshot of my usual setup on tag 1
Last edited by Doomicide (2011-09-25 13:43:29)