aboutsummaryrefslogtreecommitdiffstats
path: root/herbstluftwm
diff options
context:
space:
mode:
Diffstat (limited to 'herbstluftwm')
-rwxr-xr-xherbstluftwm/.config/herbstluftwm/autostart149
-rw-r--r--herbstluftwm/.config/herbstluftwm/hlwm-keybindings80
-rw-r--r--herbstluftwm/.config/herbstluftwm/hlwm-rules13
-rw-r--r--herbstluftwm/.config/herbstluftwm/hlwm-theming31
-rw-r--r--herbstluftwm/.config/herbstluftwm/theme.sh4
5 files changed, 136 insertions, 141 deletions
diff --git a/herbstluftwm/.config/herbstluftwm/autostart b/herbstluftwm/.config/herbstluftwm/autostart
index 683fbf1..416c38a 100755
--- a/herbstluftwm/.config/herbstluftwm/autostart
+++ b/herbstluftwm/.config/herbstluftwm/autostart
@@ -1,4 +1,4 @@
1#!/bin/bash 1#!/usr/bin/env bash
2 2
3# this is a simple config for herbstluftwm 3# this is a simple config for herbstluftwm
4 4
@@ -19,159 +19,28 @@ monitor_w=($(hc list_monitors | sed 's/^[0-9]: \([0-9]*\)x.*$/\1/'))
19panel_w=$(echo "$monitor_w - (2 * $window_p)" | bc) 19panel_w=$(echo "$monitor_w - (2 * $window_p)" | bc)
20dmenu_opts="-h $panel_h -w $panel_w -x $window_p -y $window_p -p Run: -nb $color_bg -nf $color_fg -sb $color_accent -sf $color_bg" 20dmenu_opts="-h $panel_h -w $panel_w -x $window_p -y $window_p -p Run: -nb $color_bg -nf $color_fg -sb $color_accent -sf $color_bg"
21 21
22# remove all existing keybindings 22# Tags
23hc keyunbind --all
24
25# keybindings
26Mod=Mod4 # Use the super key as the main modifier
27
28hc keybind $Mod-Shift-q quit
29hc keybind $Mod-Shift-r reload
30hc keybind $Mod-Shift-c close
31hc keybind $Mod-Return spawn xterm
32hc keybind $Mod-grave spawn dmenu_run $dmenu_opts
33hc keybind XF86AudioLowerVolume spawn amixer set Master 1%-
34hc keybind XF86AudioRaiseVolume spawn amixer set Master 1%+
35
36# basic movement
37# focusing clients
38#hc keybind $Mod-Left focus left
39#hc keybind $Mod-Down focus down
40#hc keybind $Mod-Up focus up
41#hc keybind $Mod-Right focus right
42hc keybind $Mod-h focus left
43hc keybind $Mod-j focus down
44hc keybind $Mod-k focus up
45hc keybind $Mod-l focus right
46
47# moving clients
48#hc keybind $Mod-Shift-Left shift left
49#hc keybind $Mod-Shift-Down shift down
50#hc keybind $Mod-Shift-Up shift up
51#hc keybind $Mod-Shift-Right shift right
52hc keybind $Mod-Shift-h shift left
53hc keybind $Mod-Shift-j shift down
54hc keybind $Mod-Shift-k shift up
55hc keybind $Mod-Shift-l shift right
56
57# splitting frames
58# create an empty frame at the specified direction
59hc keybind $Mod-u split bottom 0.5
60hc keybind $Mod-o split right 0.5
61# let the current frame explode into subframes
62hc keybind $Mod-Control-space split explode
63
64# resizing frames
65resizestep=0.05
66hc keybind $Mod-Control-h resize left +$resizestep
67hc keybind $Mod-Control-j resize down +$resizestep
68hc keybind $Mod-Control-k resize up +$resizestep
69hc keybind $Mod-Control-l resize right +$resizestep
70#hc keybind $Mod-Control-Left resize left +$resizestep
71#hc keybind $Mod-Control-Down resize down +$resizestep
72#hc keybind $Mod-Control-Up resize up +$resizestep
73#hc keybind $Mod-Control-Right resize right +$resizestep
74
75# tags
76tag_names=( I II III IV V VI VII VIII IX X ) 23tag_names=( I II III IV V VI VII VIII IX X )
77tag_keys=( {1..9} 0 ) 24tag_keys=( {1..9} 0 )
78 25
79# Selecting workspaces 26# Source hlwm-config-files
80#hc keybind Alt-Control-Left use_index -1 27source "$dir/hlwm-keybindings"
81#hc keybind Alt-Control-Right use_index +1 28source "$dir/hlwm-theming"
82hc keybind Alt-Control-h use_index -1 29source "$dir/hlwm-rules"
83hc keybind Alt-Control-l use_index +1
84hc rename default "${tag_names[0]}" || true
85for i in ${!tag_names[@]} ; do
86 hc add "${tag_names[$i]}"
87 key="${tag_keys[$i]}"
88 if ! [ -z "$key" ] ; then
89 hc keybind "$Mod-$key" use_index "$i"
90 hc keybind "$Mod-Shift-$key" move_index "$i"
91 fi
92done
93
94# cycle through tags
95hc keybind $Mod-period use_index +1 --skip-visible
96hc keybind $Mod-comma use_index -1 --skip-visible
97
98# layouting
99hc keybind $Mod-r remove
100hc keybind $Mod-space cycle_layout 1
101hc keybind $Mod-s floating toggle
102hc keybind $Mod-f fullscreen toggle
103hc keybind $Mod-p pseudotile toggle
104
105# mouse
106hc mouseunbind --all
107hc mousebind $Mod-Button1 move
108hc mousebind $Mod-Button2 zoom
109hc mousebind $Mod-Button3 resize
110
111# focus
112hc keybind $Mod-BackSpace cycle_monitor
113hc keybind $Mod-Tab cycle_all +1
114hc keybind $Mod-Shift-Tab cycle_all -1
115hc keybind $Mod-c cycle
116hc keybind $Mod-i jumpto urgent
117hc set focus_follows_mouse 1
118
119# theme
120hc attr theme.tiling.reset 1
121hc attr theme.floating.reset 1
122hc set frame_border_width 0
123hc set always_show_frame 0
124hc set frame_bg_transparent 1
125hc set frame_normal_opacity 0
126hc set frame_active_opacity 0
127hc set frame_transparent_width 0
128hc set frame_gap 0
129
130hc attr theme.active.color $color_accent
131hc attr theme.normal.color $color_bg
132hc attr theme.urgent.color orange
133hc attr theme.inner_width 1
134hc attr theme.inner_color $color_bg
135hc attr theme.border_width 3
136hc attr theme.floating.border_width 4
137hc attr theme.floating.outer_width 1
138hc attr theme.floating.outer_color $color_bg
139hc attr theme.active.inner_color $color_bg
140hc attr theme.active.outer_color $color_bg
141hc attr theme.background_color $color_bg
142
143hc set window_gap $window_p
144hc set frame_padding 0
145hc set smart_window_surroundings 0
146hc set smart_frame_surroundings 1
147hc set mouse_recenter_gap 1
148
149# rules
150hc unrule -F
151hc rule focus=on # normally focus new clients
152
153#hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on
154hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on
155hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off
156
157hc rule --class~'(.*[Ss]team.*)' --tag=IX --focus=off
158hc rule --class~'(.*[Hh]exchat.*)' --tag=X --focus=off
159hc rule --class~'(.*[Ss]potify.*)' --tag=X --focus=off
160hc rule --class~'(.*[Ss]kype.*)' --tag=VIII --focus=off
161 30
162# unlock, just to be sure 31# Unlock, just to be sure
163hc unlock 32hc unlock
164 33
165herbstclient set tree_style '╾│ ├└╼─┐' 34herbstclient set tree_style '╾│ ├└╼─┐'
166 35
167#Start panel in all monitors 36# Start panel in all monitors
168start_panel() { 37start_panel() {
169 for monitor in $(herbstclient list_monitors | cut -d: -f1) ; do 38 for monitor in $(herbstclient list_monitors | cut -d: -f1) ; do
170 "$1" $monitor& 39 "$1" $monitor&
171 done 40 done
172} 41}
173 42
174# find the panel 43# Find the panel
175panel=$dir/panel.sh 44panel=$dir/panel.sh
176[ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh 45[ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh
177if pgrep panel.sh >> /dev/null 46if pgrep panel.sh >> /dev/null
diff --git a/herbstluftwm/.config/herbstluftwm/hlwm-keybindings b/herbstluftwm/.config/herbstluftwm/hlwm-keybindings
new file mode 100644
index 0000000..4a6a614
--- /dev/null
+++ b/herbstluftwm/.config/herbstluftwm/hlwm-keybindings
@@ -0,0 +1,80 @@
1#!/usr/bin/env bash
2
3# Remove all existing keybindings
4hc keyunbind --all
5
6# Keybindings
7Mod=Mod4 # Use the super key as the main modifier
8
9hc keybind $Mod-Shift-q quit
10hc keybind $Mod-Shift-r reload
11hc keybind $Mod-Shift-c close
12hc keybind $Mod-Return spawn xterm
13hc keybind $Mod-grave spawn dmenu_run $dmenu_opts
14hc keybind XF86AudioLowerVolume spawn amixer set Master 1%-
15hc keybind XF86AudioRaiseVolume spawn amixer set Master 1%+
16
17# Basic movement
18# Focusing clients
19hc keybind $Mod-h focus left
20hc keybind $Mod-j focus down
21hc keybind $Mod-k focus up
22hc keybind $Mod-l focus right
23
24# Moving clients
25hc keybind $Mod-Shift-h shift left
26hc keybind $Mod-Shift-j shift down
27hc keybind $Mod-Shift-k shift up
28hc keybind $Mod-Shift-l shift right
29
30# Splitting frames
31# Create an empty frame at the specified direction
32hc keybind $Mod-u split bottom 0.5
33hc keybind $Mod-o split right 0.5
34# Let the current frame explode into subframes
35hc keybind $Mod-Control-space split explode