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 -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
14 # for dragging floating windows with mouse
15 floating_modifier $mod
18 workspace_layout tabbed
21 bindsym $mod+Return exec urxvt
22 bindsym $mod+Shift+Return exec urxvt -name floating
23 for_window [class="URxvt" instance="floating"] floating enable
25 # kill focused window (not necessarily its application)
26 bindsym $mod+Shift+w kill
28 #bindsym --release $mod+Shift+x exec xkill
30 # rofi launcher and pass
31 bindsym $mod+space exec rofi -show run -display-run ' > ' -display-window ' 🗔 '
32 bindsym $mod+backslash exec rofi -show window -display-run ' > ' -display-window ' 🗔 '
33 bindsym $mod+Shift+space exec rofi-pass
36 bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser
37 bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness
38 bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness
41 bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
42 bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
43 bindsym XF86AudioMute exec pamixer --toggle-mute
44 bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
47 bindsym $mod+h focus left
48 bindsym $mod+j focus down
49 bindsym $mod+k focus up
50 bindsym $mod+l focus right
51 bindsym $mod+Left focus left
52 bindsym $mod+Down focus down
53 bindsym $mod+Up focus up
54 bindsym $mod+Right focus right
57 bindsym $mod+Shift+h move left
58 bindsym $mod+Shift+j move down
59 bindsym $mod+Shift+k move up
60 bindsym $mod+Shift+l move right
61 bindsym $mod+Shift+Left move left
62 bindsym $mod+Shift+Down move down
63 bindsym $mod+Shift+Up move up
64 bindsym $mod+Shift+Right move right
66 # horizontal and vertical orientation
67 bindsym $mod+shift+backslash split h
68 bindsym $mod+minus split v
70 # enter fullscreen mode for the focused container
71 bindsym $mod+f fullscreen toggle
73 # change container layout (stacked, tabbed, toggle split)
74 bindsym $mod+s layout stacking
75 bindsym $mod+w layout tabbed
76 bindsym $mod+e layout toggle split
78 # toggle tiling / floating
79 bindsym $mod+Shift+f floating toggle
80 # toggle tiling / floating focus
81 bindsym $mod+grave focus mode_toggle
84 bindsym $mod+shift+s sticky toggle
86 # focus parent / child
87 bindsym $mod+a focus parent
88 bindsym $mod+Shift+a focus child
91 bindsym $mod+1 workspace 1
92 bindsym $mod+2 workspace 2
93 bindsym $mod+3 workspace 3
94 bindsym $mod+4 workspace 4
95 bindsym $mod+5 workspace 5
96 bindsym $mod+6 workspace 6
97 bindsym $mod+7 workspace 7
98 bindsym $mod+8 workspace 8
99 bindsym $mod+9 workspace 9
100 bindsym $mod+0 workspace 10
101 bindsym $mod+bracketleft workspace prev
102 bindsym $mod+bracketright workspace next
104 # move focused container to workspace
105 bindsym $mod+Shift+1 move container to workspace 1
106 bindsym $mod+Shift+2 move container to workspace 2
107 bindsym $mod+Shift+3 move container to workspace 3
108 bindsym $mod+Shift+4 move container to workspace 4
109 bindsym $mod+Shift+5 move container to workspace 5
110 bindsym $mod+Shift+6 move container to workspace 6
111 bindsym $mod+Shift+7 move container to workspace 7
112 bindsym $mod+Shift+8 move container to workspace 8
113 bindsym $mod+Shift+9 move container to workspace 9
114 bindsym $mod+Shift+0 move container to workspace 10
115 bindsym $mod+Shift+bracketleft move container to workspace prev
116 bindsym $mod+Shift+bracketright move container to workspace next
118 # bspwm-esque workspace switch and container move
119 bindsym $mod2+bracketleft exec b-ws-util i3 switch prev
120 bindsym $mod2+bracketright exec b-ws-util i3 switch next
121 bindsym $mod2+Shift+bracketleft exec b-ws-util i3 move prev follow
122 bindsym $mod2+Shift+bracketright exec b-ws-util i3 move next follow
124 set $mode_system System (l)ock | (e)xit i3 | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown
125 mode "$mode_system" {
126 bindsym l exec i3lock, mode "default"
127 bindsym e exec i3-msg exit, mode "default"
128 bindsym s exec systemctl suspend, mode "default"
129 bindsym h exec systemctl hibernate, mode "default"
130 bindsym r exec systemctl reboot, mode "default"
131 bindsym Shift+s exec systemctl poweroff -i, mode "default"
133 bindsym Return mode "default"
134 bindsym Escape mode "default"
135 bindsym q mode "default"
138 bindsym $mod+Shift+c reload
139 bindsym $mod+Shift+r restart
140 bindsym $mod+Shift+e mode "$mode_system"
142 # resize window (you can also use the mouse for that)
144 # These bindings trigger as soon as you enter the resize mode
146 # Pressing left will shrink the window’s width.
147 # Pressing right will grow the window’s width.
148 # Pressing up will shrink the window’s height.
149 # Pressing down will grow the window’s height.
150 bindsym j resize shrink width 10 px or 10 ppt
151 bindsym k resize grow height 10 px or 10 ppt
152 bindsym l resize shrink height 10 px or 10 ppt
153 bindsym semicolon resize grow width 10 px or 10 ppt
155 # same bindings, but for the arrow keys
156 bindsym Left resize shrink width 10 px or 10 ppt
157 bindsym Down resize grow height 10 px or 10 ppt
158 bindsym Up resize shrink height 10 px or 10 ppt
159 bindsym Right resize grow width 10 px or 10 ppt
161 # back to normal: Enter or Escape
162 bindsym Return mode "default"
163 bindsym Escape mode "default"
165 bindsym $mod+r mode "resize"
167 # application-specific window configurations
168 for_window [class="mpv"] floating enable
169 for_window [class="Mumble"] floating enable
170 for_window [class="Nm-connection-editor"] floating enable
171 for_window [class="Virt-manager"] floating enable
174 for_window [class="^.*"] border pixel 4
176 # i3bar and system info from i3status
178 status_command i3status | my-i3status