-
Notifications
You must be signed in to change notification settings - Fork 4
/
config
240 lines (210 loc) · 8.98 KB
/
config
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
# Variables
set $conf $HOME/.config/i3
set $alt Mod1
set $super Mod4
set $ctrl Ctrl
set $shift Shift
set $disp1 DP-5
set $disp2 DP-1
# General
font pango:RobotoMono Nerd Font 8
focus_follows_mouse no
mouse_warping none
workspace_auto_back_and_forth yes
floating_modifier $super
hide_edge_borders smart
# class border backgr. text indicator child_border
client.focused #4c789980 #28557780 #ffffff #2e9ef480 #28557780
client.focused_inactive #33333380 #5f676a80 #ffffff #484e5080 #5f676a80
client.unfocused #33333380 #22222280 #888888 #292d2e80 #22222280
client.urgent #2f343a80 #90000080 #ffffff #90000080 #90000080
client.placeholder #00000080 #0c0c0c80 #ffffff #00000080 #0c0c0c80
client.background #ffffff80
# Per workspace settings
workspace 1 output $disp1
workspace 2 output $disp2
workspace 3 output $disp1
workspace 4 output $disp2
workspace 5 output $disp1
workspace 6 output $disp2
workspace 7 output $disp1
workspace 8 output $disp2
workspace 9 output $disp1
workspace 10 output $disp2
# Gui
bar {
output $disp1
position top
workspace_buttons no
tray_output none
i3bar_command i3bar -t
status_command i3blocks -c "$conf/settings/i3blocks.top.left.conf"
height 25
colors {
background #00000088
statusline #ffffffff
}
}
bar {
output $disp2
position top
tray_output none
workspace_buttons no
i3bar_command i3bar -t
status_command i3blocks -c "$conf/settings/i3blocks.top.right.conf"
height 25
colors {
background #00000088
statusline #ffffffff
}
}
bar {
output $disp1
position bottom
tray_output none
# tray_output $disp1
i3bar_command i3bar -t
status_command i3blocks -c "$conf/settings/i3blocks.bottom.left.conf"
height 30
colors {
background #00000088
statusline #ffffffff
}
}
bar {
output $disp2
position bottom
tray_output $disp2
i3bar_command i3bar -t
# status_command i3blocks -c "$conf/settings/i3blocks.bottom.right.conf"
height 30
colors {
background #00000088
statusline #ffffffff
}
}
# Per Window Layouts
for_window [window_type="dialog"] floating enable
for_window [window_type="utility"] floating enable
for_window [window_type="toolbar"] floating enable
for_window [window_type="splash"] floating enable
for_window [window_type="menu"] floating enable
for_window [window_type="dropdown_menu"] floating enable
for_window [window_type="popup_menu"] floating enable
for_window [window_type="tooltip"] floating enable
for_window [window_type="notification"] floating enable
## Custom Window Layouts
for_window [class="baka-mplayer"] floating enable
for_window [class="mochi-player"] floating enable
for_window [class="insync.py"] floating enable
# Key Bindings
## General Key Bindings
bindsym XF86Sleep exec --no-startup-id systemctl suspend
bindsym $super+l exec --no-startup-id loginctl lock-session
bindsym $super+q kill
bindsym $super+z floating toggle
bindsym $ctrl+$super+c reload
bindsym $ctrl+$super+q exec --no-startup-id bash -c "$conf/blocks/shutdown_menu" -c
bindsym $ctrl+$super+r restart
bindsym $ctrl+$super+x exit
## Mouse Bindings
bindsym --whole-window $super+button2 floating toggle
bindsym --whole-window $super+$shift+button2 sticky toggle
## Focus Key Bindings
bindsym $super+Up focus up
bindsym $super+Down focus down
bindsym $super+Left focus left
bindsym $super+Right focus right
bindsym $super+Home focus parent
bindsym $super+End focus child
bindsym $super+Tab workspace next
bindsym $super+$shift+Tab workspace prev
## Movement Key Bindings
### Relative
bindsym $super+$shift+Up move up
bindsym $super+$shift+Down move down
bindsym $super+$shift+Left move left
bindsym $super+$shift+Right move right
bindsym $alt+$super+Left exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh -1"
bindsym $alt+$super+Right exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh 1"
bindsym $alt+$super+Down exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh -2"
bindsym $alt+$super+Up exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh 2"
bindsym $alt+$super+$shift+Left exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh -1 true"
bindsym $alt+$super+$shift+Right exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh 1 true"
bindsym $alt+$super+$shift+Down exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh -2 true"
bindsym $alt+$super+$shift+Up exec --no-startup-id bash -c "$conf/scripts/relative_workspace.sh 2 true"
### Absolute
bindsym $super+g [urgent=latest] focus
bindsym $super+1 workspace number 1
bindsym $super+2 workspace number 2
bindsym $super+3 workspace number 3
bindsym $super+4 workspace number 4
bindsym $super+5 workspace number 5
bindsym $super+6 workspace number 6
bindsym $super+7 workspace number 7
bindsym $super+8 workspace number 8
bindsym $super+9 workspace number 9
bindsym $super+0 workspace number 10
bindsym $super+$shift+1 move container to workspace number 1
bindsym $super+$shift+2 move container to workspace number 2
bindsym $super+$shift+3 move container to workspace number 3
bindsym $super+$shift+4 move container to workspace number 4
bindsym $super+$shift+5 move container to workspace number 5
bindsym $super+$shift+6 move container to workspace number 6
bindsym $super+$shift+7 move container to workspace number 7
bindsym $super+$shift+8 move container to workspace number 8
bindsym $super+$shift+9 move container to workspace number 9
bindsym $super+$shift+0 move container to workspace number 10
## Layout Key Bindings
bindsym $ctrl+$super+Return fullscreen toggle
bindsym $ctrl+$super+s layout stacked
bindsym $ctrl+$super+Tab layout tabbed
bindsym $ctrl+$super+Up layout splitv
bindsym $ctrl+$super+Down split v
bindsym $ctrl+$super+Left layout splith
bindsym $ctrl+$super+Right split h
## Media Keys
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 2%+
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 2%-
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
## Custom Application Key Bindings
bindsym $super+a exec --no-startup-id atom -n "$($conf/scripts/context_aware_dir.sh)"
bindsym $super+$shift+a exec --no-startup-id atom -n
bindsym $super+b exec --no-startup-id baka-mplayer "$($conf/scripts/context_aware_dir.sh)"
bindsym $super+$shift+b exec --no-startup-id baka-mplayer
bindsym $super+c exec --no-startup-id clementine
bindsym $super+e exec --no-startup-id dolphin --new-window "$($conf/scripts/context_aware_dir.sh)"
bindsym $super+$shift+e exec --no-startup-id dolphin --new-window
bindsym $super+f exec --no-startup-id rofi -show window -theme "$conf/settings/rofi.rasi"
bindsym $super+i exec --no-startup-id konsole -e env CONTEXT="$($conf/scripts/context_aware_dir.sh)" $conf/scripts/with_context.sh ipython --profile=shell
bindsym $super+$shift+i exec --no-startup-id konsole -e ipython --profile=shell
bindsym $super+m exec --no-startup-id bash -c "$conf/scripts/random_wallpaper.sh"
bindsym $super+n exec --no-startup-id konsole -e env CONTEXT="$($conf/scripts/context_aware_dir.sh)" $conf/scripts/with_context.sh jupyter notebook
bindsym $super+o exec --no-startup-id libreoffice
bindsym $super+p exec --no-startup-id rofi -show run -theme "$conf/settings/rofi.rasi"
bindsym $super+r exec --no-startup-id rofi -show drun -show-icons -theme "$conf/settings/rofi.rasi"
bindsym $super+s exec --no-startup-id subl3 -n "$($conf/scripts/context_aware_dir.sh)"
bindsym $super+$shift+s exec --no-startup-id subl3 -n
bindsym $super+t exec --no-startup-id konsole -e env CONTEXT="$($conf/scripts/context_aware_dir.sh)" $conf/scripts/with_context.sh "${SHELL}"
bindsym $super+$shift+t exec --no-startup-id konsole
bindsym $super+v exec --no-startup-id $conf/scripts/code_with_context.sh "$($conf/scripts/context_aware_dir.sh)"
bindsym $super+$shift+v exec --no-startup-id code -n
bindsym $super+w exec --no-startup-id chromium --new-window
bindsym $super+$shift+w exec --no-startup-id chromium --new-window --profile-directory="Guest Profile"
bindsym $super+$ctrl+v exec --no-startup-id bash -c "$conf/scripts/sudo_paste.sh"
bindsym $super+$shift+x exec --no-startup-id bash -c "$conf/scripts/rm_wallpaper.sh"
bindsym --release $ctrl+Print exec --no-startup-id xfce4-screenshooter -wc
bindsym --release $shift+Print exec --no-startup-id xfce4-screenshooter -rc
bindsym --release $alt+Print exec --no-startup-id xfce4-screenshooter -fc
bindsym $shift+$ctrl+Escape exec --no-startup-id ksysguard
bindsym $shift+Num_Lock exec --no-startup-id bash -c "$conf/scripts/cycle_mousekeys.sh"
bindsym $super+grave exec --no-startup-id code -n "$HOME/Notes"
## Restartable Daemons
exec_always --no-startup-id bash -c "$conf/scripts/setup_autoname.sh" &
exec_always --no-startup-id xfsettingsd --replace &
exec_always --no-startup-id picom --config "$conf/settings/picom.conf" &
## Persistent Daemons
exec --no-startup-id dex -a -s $HOME/.config/autostart:$HOME/.config/i3/settings/autostart &