-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
config
237 lines (190 loc) · 7.79 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
# i3 by and for kornicameister
# See http://i3wm.org/docs/userguide.html for guidence when lost
# vim:filetype=i3
#
###--- Settings---###
set $mod Mod4
set $sup Mod1
set $term alacritty
set $editor nvim
set $termexec -e $SHELL -i -c
floating_modifier $mod
## fonts
font pango:Iosevka Nerd Font 9
## workspace settings
workspace_layout default # default stacking tabbed
workspace_auto_back_and_forth yes
## gaps settings
smart_gaps on
gaps inner 7
gaps outer -2
hide_edge_borders both
new_window pixel 3
default_border pixel 3
## coloring
set_from_resource $bg i3wm.color0 #ff0000
set_from_resource $bg-alt i3wm.color14 #ff0000
set_from_resource $fg i3wm.color15 #ff0000
set_from_resource $fg-alt i3wm.color2 #ff0000
set_from_resource $hl i3wm.color13 #ff0000
client.focused $bg $bg $fg $bg $bg
client.focused_inactive $bg $bg $fg $bg $bg
client.unfocused $bg $bg $fg $bg $bg
client.urgent $bg $bg $fg $bg $bg
client.placeholder $bg $bg $fg $bg $bg
client.background $bg
###--- Autostart ---###
exec_always --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec_always --no-startup-id feh --bg-center "$HOME/.dotfiles/wallpapers/05_lake.jpg"
exec_always --no-startup-id wal --vte -R
exec_always --no-startup-id "$HOME/.config/polybar/launch.sh"
exec --no-startup-id wal-vtop
exec --no-startup-id picom -cC # compositor
exec --no-startup-id xset s 480 dpms 600 600 600 # powersavings for display:
exec --no-startup-id sleep 2 ; /usr/bin/dunst # notifications
exec --no-startup-id dex -a -s /etc/xdg/autostart/:~/.config/autostart # dex execute .desktop files
# start a terminal:
bindsym $mod+Return exec i3-msg exec i3-sensible-terminal
# kill focused window:
bindsym $mod+c kill
# start dmenu (a program launcher)
# bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus:
bindsym $mod+j focus left
bindsym $mod+Left focus left
bindsym $mod+k focus down
bindsym $mod+Down focus down
bindsym $mod+u focus up
bindsym $mod+Up focus up
bindsym $mod+ntilde focus right
bindsym $mod+Right focus right
# move focused window:
bindsym $mod+Shift+j move left
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+ntilde move right
bindsym $mod+Shift+Right move right
# split in horizontal orientation:
bindsym $mod+h split h
# split in vertical orientation:
bindsym $mod+v split v
# enter fullscreen mode for the focused container:
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split):
bindsym $mod+Shift+s layout stacking
bindsym $mod+Shift+w layout tabbed
bindsym $mod+Shift+e layout toggle split
# toggle tiling / floating:
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows:
bindsym $mod+space focus mode_toggle
# focus the parent container:
bindsym $mod+a focus parent
# focus the child container:
# bindsym $mod+d focus child
# workspace-edit:
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 ""
# resize floating windows with mouse scroll:
bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt
bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt
# switch to workspace:
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
# move focused container to workspace:
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session):
bindsym $mod+Shift+q exec ~/.config/i3/scripts/shutdown_menu -p rofi -c
# 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.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym ntilde resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# multimedia control
bindsym XF86AudioRaiseVolume exec volumectl raise
bindsym XF86AudioLowerVolume exec volumectl lower
bindsym XF86AudioMute exec volumectl mute
bindsym XF86MonBrightnessUp exec lightctl raise
bindsym XF86MonBrightnessDown exec lightctl lower
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
exec_always --no-startup-id "avizo-service"
for_window [class="Avizo"] border pixel 0 floating enable
# App shortcuts
bindsym $mod+b exec "/usr/bin/brave"
bindsym $mod+Shift+b exec "/usr/bin/brave --incognito"
bindsym $mod+n exec "/usr/bin/thunar"
bindsym $mod+l exec i3lock -i ~/.config/i3/i3-lock-screen.png -t -f
bindsym Print exec "scrot ~/%Y-%m-%d-%T-screenshot.png"
# rofi bindings fancy application menu
bindsym $mod+i exec rofi -modi drun -show drun -line-padding 4 \
-columns 2 -padding 50 -hide-scrollbar \
-show-icons -drun-icon-theme "Arc-X-D"
bindsym $mod+o exec rofi -show window -line-padding 4 \
-lines 6 -padding 50 -hide-scrollbar \
-show-icons -drun-icon-theme "Arc-X-D"
bindsym $mod+s exec ssh -show window -line-padding 4 \
-lines 6 -padding 50 -hide-scrollbar \
-show-icons -drun-icon-theme "Arc-X-D"
# per window customizations
for_window [class="Spotify"] move to workspace $ws9
for_window [class="jetbrains-pycharm" title="^ $"] floating enable
for_window [class="Yad" instance="yad"] floating enable
for_window [class="Galculator" instance="galculator"] floating enable
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
for_window [class="Xsane" instance="xsane"] floating enable
for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
for_window [class="qt5ct" instance="qt5ct"] floating enable
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
for_window [class="Pamac-manager"] floating enable