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