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