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 | |
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 | |
45 | ||
46 | # window focus | |
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 | |
55 | ||
56 | # window move | |
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 | |
65 | ||
66 | # horizontal and vertical orientation | |
67 | bindsym $mod+shift+backslash split h | |
68 | bindsym $mod+minus split v | |
69 | ||
70 | # enter fullscreen mode for the focused container | |
71 | bindsym $mod+f fullscreen toggle | |
72 | ||
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 | |
77 | ||
78 | # toggle tiling / floating | |
79 | bindsym $mod+Shift+f floating toggle | |
80 | # toggle tiling / floating focus | |
81 | bindsym $mod+grave focus mode_toggle | |
82 | ||
83 | # toggle sticky | |
84 | bindsym $mod+shift+s sticky toggle | |
85 | ||
86 | # focus parent / child | |
87 | bindsym $mod+a focus parent | |
88 | bindsym $mod+Shift+a focus child | |
89 | ||
90 | # switch to workspace | |
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 | |
103 | ||
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 | |
117 | ||
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 | |
123 | ||
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" | |
132 | ||
133 | bindsym Return mode "default" | |
134 | bindsym Escape mode "default" | |
135 | bindsym q mode "default" | |
136 | } | |
137 | ||
138 | bindsym $mod+Shift+c reload | |
139 | bindsym $mod+Shift+r restart | |
140 | bindsym $mod+Shift+e mode "$mode_system" | |
141 | ||
142 | # resize window (you can also use the mouse for that) | |
143 | mode "resize" { | |
144 | # These bindings trigger as soon as you enter the resize mode | |
145 | ||
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 | |
154 | ||
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 | |
160 | ||
161 | # back to normal: Enter or Escape | |
162 | bindsym Return mode "default" | |
163 | bindsym Escape mode "default" | |
164 | } | |
165 | bindsym $mod+r mode "resize" | |
166 | ||
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 | |
172 | ||
173 | # no title bars | |
174 | for_window [class="^.*"] border pixel 4 | |
175 | ||
176 | # i3bar and system info from i3status | |
177 | bar { | |
178 | status_command i3status | my-i3status | |
179 | tray_output primary | |
180 | } |