blob: c796761ba944edbf1fda5b427cecb426b4872dc4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
exec --no-startup-id ~/.local/bin/startup-progs
# super
set $mod Mod4
# alt
set $mod2 Mod1
# hyper
set $mod3 Mod3
# window title and bar font (unless specified differently in 'bar {}'
font pango:Source Code Pro 9.5
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# for dragging floating windows with mouse
floating_modifier $mod
# default tabbed
workspace_layout tabbed
# terminal
bindsym $mod+Return exec xterm
bindsym $mod+Shift+Return exec xterm -name floating
for_window [class="XTerm" instance="floating"] floating enable
# kill focused window (not necessarily its application)
bindsym $mod+Shift+w kill
# kill an application
#bindsym --release $mod+Shift+x exec xkill
# rofi launcher and pass
bindsym $mod+space exec rofi -show run -display-run ' > ' -display-window ' 🗔 '
bindsym $mod+backslash exec rofi -show window -display-run ' > ' -display-window ' 🗔 '
bindsym $mod+Shift+space exec rofi-pass
# brightness
bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser
bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness
bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness
# volume
bindsym $mod+semicolon exec rofi-pamixer # rofi-based volume chooser
bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
bindsym XF86AudioMute exec pamixer --toggle-mute
bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
# window focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# window move
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# horizontal and vertical orientation
bindsym $mod+shift+backslash split h
bindsym $mod+minus split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+f floating toggle
bindsym $mod+period floating toggle
# toggle tiling / floating focus
bindsym $mod+grave focus mode_toggle
bindsym $mod+comma focus mode_toggle
# toggle sticky
bindsym $mod+shift+s sticky toggle
# focus parent / child
bindsym $mod+a focus parent
bindsym $mod+Shift+a focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
bindsym $mod+bracketleft workspace prev
bindsym $mod+bracketright workspace next
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
bindsym $mod+Shift+bracketleft move container to workspace prev
bindsym $mod+Shift+bracketright move container to workspace next
# bspwm-esque workspace switch and container move
bindsym $mod2+bracketleft exec b-ws-util i3 switch prev
bindsym $mod2+bracketright exec b-ws-util i3 switch next
bindsym $mod2+Shift+bracketleft exec b-ws-util i3 move prev follow
bindsym $mod2+Shift+bracketright exec b-ws-util i3 move next follow
set $mode_system System (l)ock | (e)xit i3 | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown
mode "$mode_system" {
bindsym l exec i3lock, mode "default"
bindsym e exec i3-msg exit, mode "default"
bindsym s exec systemctl suspend, mode "default"
bindsym h exec systemctl hibernate, mode "default"
bindsym r exec systemctl reboot, mode "default"
bindsym Shift+s exec systemctl poweroff -i, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym q mode "default"
}
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e mode "$mode_system"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# change theme mode
set $mode_theme theme (d)ark | (l)ight
mode "$mode_theme" {
bindsym d exec change-theme dark, mode "default"
bindsym l exec change-theme light, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym q mode "default"
}
bindsym $mod+t mode "$mode_theme"
# application-specific window configurations
for_window [class="mpv"] floating enable
for_window [class="Mumble"] floating enable
for_window [class="Nm-connection-editor"] floating enable
for_window [class="Virt-manager"] floating enable
# no title bars
for_window [class="^.*"] border pixel 4
# i3bar and system info from i3status
bar {
status_command i3status | my-i3status
tray_output primary
}
|