Commit | Line | Data |
---|---|---|
17d2cfa0 AB |
1 | exec --no-startup-id ~/.local/bin/startup-progs |
2 | ||
3 | # super | |
4 | set $mod Mod4 | |
5 | # alt | |
6 | set $mod2 Mod1 | |
7 | # hyper | |
8 | set $mod3 Mod3 | |
9 | ||
10 | # window title and bar font (unless specified differently in 'bar {}' | |
8060c968 AB |
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 | |
17d2cfa0 AB |
15 | |
16 | # for dragging floating windows with mouse | |
17 | floating_modifier $mod | |
18 | ||
19 | # default tabbed | |
20 | workspace_layout tabbed | |
21 | ||
22 | # terminal | |
08b0fb0a AB |
23 | bindsym $mod+Return exec xterm |
24 | bindsym $mod+Shift+Return exec xterm -name floating | |
25 | for_window [class="XTerm" instance="floating"] floating enable | |
17d2cfa0 AB |
26 | |
27 | # kill focused window (not necessarily its application) | |
28 | bindsym $mod+Shift+w kill | |
29 | # kill an application | |
30 | #bindsym --release $mod+Shift+x exec xkill | |
31 | ||
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 | |
36 | ||
37 | # brightness | |
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 | |
41 | ||
42 | # volume | |
e064bdbf | 43 | bindsym $mod+semicolon exec rofi-pamixer # rofi-based volume chooser |
17d2cfa0 AB |
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 | |
48 | ||
49 | # window focus | |
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 | |
58 | ||
59 | # window move | |
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 | |
68 | ||
69 | # horizontal and vertical orientation | |
70 | bindsym $mod+shift+backslash split h | |
71 | bindsym $mod+minus split v | |
72 | ||
73 | # enter fullscreen mode for the focused container | |
74 | bindsym $mod+f fullscreen toggle | |
75 | ||
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 | |
80 | ||
81 | # toggle tiling / floating | |
82 | bindsym $mod+Shift+f floating toggle | |
230f7fe8 | 83 | bindsym $mod+period floating toggle |
17d2cfa0 AB |
84 | # toggle tiling / floating focus |
85 | bindsym $mod+grave focus mode_toggle | |
230f7fe8 | 86 | bindsym $mod+comma focus mode_toggle |
17d2cfa0 AB |
87 | |
88 | # toggle sticky | |
89 | bindsym $mod+shift+s sticky toggle | |
90 | ||
91 | # focus parent / child | |
92 | bindsym $mod+a focus parent | |
93 | bindsym $mod+Shift+a focus child | |
94 | ||
95 | # switch to workspace | |
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 | |
108 | ||
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 | |
122 | ||
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 | |
128 | ||
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" | |
137 | ||
138 | bindsym Return mode "default" | |
139 | bindsym Escape mode "default" | |
140 | bindsym q mode "default" | |
141 | } | |
142 | ||
143 | bindsym $mod+Shift+c reload | |
144 | bindsym $mod+Shift+r restart | |
145 | bindsym $mod+Shift+e mode "$mode_system" | |
146 | ||
147 | # resize window (you can also use the mouse for that) | |
148 | mode "resize" { | |
149 | # These bindings trigger as soon as you enter the resize mode | |
150 | ||
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 | |
159 | ||
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 | |
165 | ||
166 | # back to normal: Enter or Escape | |
167 | bindsym Return mode "default" | |
168 | bindsym Escape mode "default" | |
169 | } | |
170 | bindsym $mod+r mode "resize" | |
171 | ||
298f42fe AB |
172 | # change theme mode |
173 | set $mode_theme theme (d)ark | (l)ight | |
174 | mode "$mode_theme" { | |
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" | |
180 | } | |
181 | bindsym $mod+t mode "$mode_theme" | |
182 | ||
17d2cfa0 AB |
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 | |
188 | ||
189 | # no title bars | |
190 | for_window [class="^.*"] border pixel 4 | |
191 | ||
192 | # i3bar and system info from i3status | |
193 | bar { | |
194 | status_command i3status | my-i3status | |
195 | tray_output primary | |
196 | } |