aboutsummaryrefslogtreecommitdiffstats
path: root/.config/herbstluftwm/autostart
diff options
context:
space:
mode:
Diffstat (limited to '.config/herbstluftwm/autostart')
-rwxr-xr-x.config/herbstluftwm/autostart191
1 files changed, 191 insertions, 0 deletions
diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart
new file mode 100755
index 0000000..1f18392
--- /dev/null
+++ b/.config/herbstluftwm/autostart
@@ -0,0 +1,191 @@
+#!/bin/bash
+
+# define colours
+bg_normal='#2d2d2d'
+fg_normal='#dcdcdc'
+bg_focus='#d64937'
+fg_focus='#fcfcfc'
+
+hc() {
+ herbstclient "$@"
+}
+
+# always start frames max (pt. 1)
+hc set default_frame_layout 2
+
+hc emit_hook reload
+
+xsetroot -solid '#5A8E3A'
+
+# remove all existing keybindings
+hc keyunbind --all
+
+# keybindings
+# if you have a super key you will be much happier with Mod set to Mod4
+#Mod=Mod1 # Use alt as the main modifier
+Mod=Mod4 # Use the super key as the main modifier
+
+hc keybind $Mod-Shift-r reload
+hc keybind $Mod-e close_or_remove
+
+# basic movement
+# focusing clients
+hc keybind $Mod-h focus left
+hc keybind $Mod-j focus down
+hc keybind $Mod-k focus up
+hc keybind $Mod-l focus right
+
+# moving clients
+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
+
+# cycle through clients
+hc keybind $Mod-d cycle 1
+hc keybind $Mod-a cycle -1
+
+# splitting frames
+# create an empty frame at the specified direction
+hc keybind $Mod-s chain .-. lock .-. split bottom 0.5 .-. focus -e d .-. unlock
+hc keybind $Mod-v chain .-. lock .-. split right 0.5 .-. focus -e r .-. unlock
+# let the current frame explode into subframes
+hc keybind $Mod-Shift-space split explode
+
+# resizing frames
+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
+
+# 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-Control-$key" move_index "$i"
+ fi
+done
+
+# always start frames max (pt. 2)
+hc set_layout max
+
+# cycle through tags
+hc keybind $Mod-period use_index +1 --skip-visible
+hc keybind $Mod-comma use_index -1 --skip-visible
+
+# layouting
+hc keybind $Mod-r remove
+hc keybind $Mod-f fullscreen toggle
+hc keybind $Mod-p pseudotile toggle
+
+# 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-i jumpto urgent
+
+################ launchers ################
+hc keybind XF86PowerOff spawn mate-session-save --shutdown-dialog
+
+# ranger
+hc keybind $Mod-Shift-Control-Return spawn urxvt -e ranger /home/shmibs
+hc keybind $Mod-Shift-Control-b spawn urxvt -e ranger /home/shmibs/backdrops
+hc keybind $Mod-Shift-Control-c spawn urxvt -e ranger /home/shmibs/comics
+hc keybind $Mod-Shift-Control-d spawn urxvt -e ranger /home/shmibs/downloads
+hc keybind $Mod-Shift-Control-s spawn urxvt -e ranger /home/shmibs/desktop
+hc keybind $Mod-Shift-Control-m spawn urxvt -e ranger /home/shmibs/music
+hc keybind $Mod-Shift-Control-g spawn urxvt -e ranger /home/shmibs/games
+hc keybind $Mod-Shift-Control-p spawn urxvt -e ranger /home/shmibs/projects
+hc keybind $Mod-Shift-Control-i spawn urxvt -e ranger /home/shmibs/images
+hc keybind $Mod-Shift-Control-t spawn urxvt -e ranger /home/shmibs/thcool
+hc keybind $Mod-Shift-Control-v spawn urxvt -e ranger /home/shmibs/videos
+
+# spawn
+hc keybind $Mod-Return spawn urxvt
+hc keybind $Mod-Shift-c spawn mate-calc
+hc keybind $Mod-Shift-d spawn ~/games/desura/desura
+hc keybind $Mod-Shift-f spawn firefox
+hc keybind $Mod-Shift-i spawn gimp
+hc keybind $Mod-Shift-m spawn mathematica
+hc keybind $Mod-Shift-o spawn ~/stuffs/tor/start-tor-browser
+hc keybind $Mod-Shift-t spawn transmission-gtk
+hc keybind $Mod-Shift-v spawn urxvt -e vim
+hc keybind $Mod-Shift-w spawn urxvt -e weechat
+
+# banshee
+hc keybind $Mod-Shift-Up spawn banshee --show
+hc keybind $Mod-Shift-Down spawn banshee --hide
+hc keybind $Mod-Left spawn banshee --restart-or-previous
+hc keybind $Mod-Right spawn banshee --next
+hc keybind $Mod-Down spawn banshee --toggle-playing
+
+# dmenu
+hc keybind $Mod-0 spawn dmenu_run -h 18 -nb $bg_normal -nf $fg_normal -sb $bg_focus -sf $fg_focus
+
+############## end launchers ##############
+
+
+# borders
+hc set frame_border_normal_color $bg_normal
+hc set frame_border_active_color $bg_focus
+hc set frame_bg_normal_color $bg_normal
+hc set frame_bg_active_color $bg_focus
+hc set window_border_normal_color $bg_normal
+hc set window_border_active_color $bg_focus
+hc set frame_border_width 2
+hc set frame_border_inner_width 0
+hc set window_border_width 2
+hc set window_border_inner_width 0
+hc set always_show_frame 0
+hc set frame_bg_transparent 1
+hc set frame_normal_opacity 100
+hc set frame_active_opacity 100
+hc set frame_transparent_width 0
+hc set frame_gap 0
+hc set frame_padding 0
+hc set smart_frame_surroundings 1
+hc set smart_window_surroundings 1
+
+# rules
+hc unrule -F
+hc rule focus=on
+# unmanage docs, dropdowns, etc
+hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK)' manage=off
+# set apppropriate things to pseudotile
+hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on
+hc rule class~'(Mate-calc|Pcsx2)' pseudotile=on
+
+# 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
+
+# add a tray
+tray=~/.config/herbstluftwm/tray.sh
+if [ -x "$tray" ]; then
+ "$tray"
+fi