-
-
Notifications
You must be signed in to change notification settings - Fork 14
/
i3.config.keycodes
242 lines (198 loc) · 9.4 KB
/
i3.config.keycodes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
# WARNING
# WARNING: This configuration file is a template for the i3-config-wizard to
# WARNING: generate a config which uses keysyms in your current layout. It does
# WARNING: not get loaded by i3. Please do not change it.
# WARNING
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# Use pactl to adjust volume in PulseAudio.
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
# Optional: Use amixer as pactl over amplifies volume above 100%.
#bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -q sset Master 10%+ unmute
#bindsym XF86AudioLowerVolume exec --no-startup-id amixer -q sset Master 10%- unmute
client.background dom0 #c4c4c4
client.focused dom0 #f7f7f7 #f5f5f5 #000000 #0a0a0a
client.focused_inactive dom0 #f7f7f7 #dcdcdc #191919 #232323
client.unfocused dom0 #f7f7f7 #c4c4c4 #323232 #3b3b3b
client.urgent dom0 #bd2727 #e79e27 #333333 #27bdbd
client.background red #841b1b
client.focused red #d06767 #bd2727 #ffffff #27bdbd
client.focused_inactive red #d06767 #971f1f #e5e5e5 #1f9797
client.unfocused red #d06767 #841b1b #cccccc #1b8484
client.urgent red #bd2727 #e79e27 #333333 #27bdbd
client.background orange #a16e1b
client.focused orange #eebb67 #e79e27 #000000 #2770e7
client.focused_inactive orange #eebb67 #b87e1f #191919 #1f59b8
client.unfocused orange #eebb67 #a16e1b #323232 #1b4ea1
client.urgent orange #bd2727 #e79e27 #333333 #27bdbd
client.background yellow #a1a023
client.focused yellow #eeec6f #e7e532 #000000 #3234e7
client.focused_inactive yellow #eeec6f #b8b728 #191919 #2829b8
client.unfocused yellow #eeec6f #a1a023 #323232 #2324a1
client.urgent yellow #bd2727 #e79e27 #333333 #27bdbd
client.background green #3e972c
client.focused green #8be379 #5ad840 #000000 #be40d8
client.focused_inactive green #8be379 #48ac33 #191919 #9833ac
client.unfocused green #8be379 #3e972c #323232 #852c97
client.urgent green #bd2727 #e79e27 #333333 #27bdbd
client.background gray #636368
client.focused gray #afafb4 #8e8e95 #ffffff #95958e
client.focused_inactive gray #afafb4 #717177 #e5e5e5 #777771
client.unfocused gray #afafb4 #636368 #cccccc #686863
client.urgent gray #bd2727 #e79e27 #333333 #27bdbd
client.background blue #275197
client.focused blue #739de3 #3874d8 #ffffff #d89c38
client.focused_inactive blue #739de3 #2c5cac #e5e5e5 #ac7c2c
client.unfocused blue #739de3 #275197 #cccccc #976d27
client.urgent blue #bd2727 #e79e27 #333333 #27bdbd
client.background purple #6f276f
client.focused purple #bb73bb #9f389f #ffffff #389f38
client.focused_inactive purple #bb73bb #7f2c7f #e5e5e5 #2c7f2c
client.unfocused purple #bb73bb #6f276f #cccccc #276f27
client.urgent purple #bd2727 #e79e27 #333333 #27bdbd
client.background black #141414
client.focused black #5b5b5b #333333 #ffffff #cccccc
client.focused_inactive black #5b5b5b #1e1e1e #e5e5e5 #e1e1e1
client.unfocused black #5b5b5b #141414 #cccccc #ebebeb
client.urgent black #bd2727 #e79e27 #333333 #27bdbd
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal in the domain of the currently active window
bindcode $mod+36 exec qubes-i3-sensible-terminal
# kill focused window
bindcode $mod+Shift+24 kill
# start dmenu (a program launcher)
bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -nb #d2d2d2 -nf #333333 -sb #63a0ff -sf #f5f5f5"
# change focus
bindcode $mod+44 focus left
bindcode $mod+45 focus down
bindcode $mod+46 focus up
bindcode $mod+47 focus right
# alternatively, you can use the cursor keys:
bindcode $mod+113 focus left
bindcode $mod+116 focus down
bindcode $mod+111 focus up
bindcode $mod+114 focus right
# move focused window
bindcode $mod+Shift+44 move left
bindcode $mod+Shift+45 move down
bindcode $mod+Shift+46 move up
bindcode $mod+Shift+47 move right
# alternatively, you can use the cursor keys:
bindcode $mod+Shift+113 move left
bindcode $mod+Shift+116 move down
bindcode $mod+Shift+111 move up
bindcode $mod+Shift+114 move right
# split in horizontal orientation
bindcode $mod+43 split h
# split in vertical orientation
bindcode $mod+55 split v
# enter fullscreen mode for the focused container
bindcode $mod+41 fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindcode $mod+39 layout stacking
bindcode $mod+25 layout tabbed
bindcode $mod+26 layout toggle split
# toggle tiling / floating
bindcode $mod+Shift+65 floating toggle
# change focus between tiling / floating windows
bindcode $mod+65 focus mode_toggle
# focus the parent container
bindcode $mod+38 focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindcode $mod+10 workspace number $ws1
bindcode $mod+11 workspace number $ws2
bindcode $mod+12 workspace number $ws3
bindcode $mod+13 workspace number $ws4
bindcode $mod+14 workspace number $ws5
bindcode $mod+15 workspace number $ws6
bindcode $mod+16 workspace number $ws7
bindcode $mod+17 workspace number $ws8
bindcode $mod+18 workspace number $ws9
bindcode $mod+19 workspace number $ws10
# move focused container to workspace
bindcode $mod+Shift+10 move container to workspace number $ws1
bindcode $mod+Shift+11 move container to workspace number $ws2
bindcode $mod+Shift+12 move container to workspace number $ws3
bindcode $mod+Shift+13 move container to workspace number $ws4
bindcode $mod+Shift+14 move container to workspace number $ws5
bindcode $mod+Shift+15 move container to workspace number $ws6
bindcode $mod+Shift+16 move container to workspace number $ws7
bindcode $mod+Shift+17 move container to workspace number $ws8
bindcode $mod+Shift+18 move container to workspace number $ws9
bindcode $mod+Shift+19 move container to workspace number $ws10
# reload the configuration file
bindcode $mod+Shift+54 reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindcode $mod+Shift+27 restart
# exit i3 (logs you out of your X session)
bindcode $mod+Shift+26 exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindcode 44 resize shrink width 10 px or 10 ppt
bindcode 45 resize grow height 10 px or 10 ppt
bindcode 46 resize shrink height 10 px or 10 ppt
bindcode 47 resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindcode 113 resize shrink width 10 px or 10 ppt
bindcode 116 resize grow height 10 px or 10 ppt
bindcode 111 resize shrink height 10 px or 10 ppt
bindcode 114 resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindcode 36 mode "default"
bindcode 9 mode "default"
bindcode $mod+27 mode "default"
}
bindcode $mod+27 mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command qubes-i3status
colors {
background #d2d2d2
statusline #333333
#class #border #backgr #text
focused_workspace #3874d8 #63a0ff #333333
active_workspace #333333 #888888 #f5f5f5
inactive_workspace #888888 #333333 #888888
urgent_workspace #bd2727 #e79e27 #333333
}
}
# Make sure all xdg autostart entries are started, this is (among other things)
# necessary to make sure transient vm's come up
exec --no-startup-id qubes-i3-xdg-autostart