blob: 5ff09298777391558464c17ea60583e64986e065 (
plain) (
blame)
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
|
## i3 config file (v4)
##
## Please see https://i3wm.org/docs/userguide.html for a complete reference!
## GENERAL
default_border pixel 2
default_floating_border pixel 2
font pango:sans-serif 13
force_display_urgency_hint 500 ms
hide_edge_borders smart
set $locker xautolock -locknow
set $mod Mod1
set $sigaudio pkill -75 i3blocks
title_align center
workspace_auto_back_and_forth yes
## WORKSPACES
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
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
bindsym $mod+0 workspace $ws10
bindsym $mod+Tab workspace back_and_forth
# 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+0 move container to workspace $ws10
## COLORS
# base colors -- set by WPG
set $coloract "#3b659f"
set $colorin "#28456d"
set_from_resource $color0 i3wm.color0 "#0a0b0a"
set_from_resource $color15 i3wm.color15 "#fffefe"
set_from_resource $color8 i3wm.color8 "#212521"
set_from_resource $coloru i3wm.color2 "#778655"
set_from_resource $split i3wm.color10 "#a0bc60"
# class border backgr text indicator child_border
client.background $color0
client.focused $coloract $coloract $color15 $split $coloract
client.focused_inactive $coloract $coloract $color15 $split $colorin
client.placeholder $color0 $color8 $color15 $color0 $color8
client.unfocused $colorin $colorin $color15 $split $colorin
client.urgent $coloru $coloru $color15 $coloru $coloru
## WINDOW CONTROL
# movement
floating_modifier $mod
set $down j
set $left h
set $right l
set $up k
# change focus
bindsym $mod+$down focus down
bindsym $mod+$left focus left
bindsym $mod+$right focus right
bindsym $mod+$up focus up
# move focused window
bindsym $mod+shift+$down move down
bindsym $mod+shift+$left move left
bindsym $mod+shift+$right move right
bindsym $mod+shift+$up move up
# resize
bindsym $mod+i resize grow height 100 or 10
bindsym $mod+o resize grow width 100 or 10
bindsym $mod+u resize shrink height 100 or 10
bindsym $mod+y resize shrink width 100 or 10
## LAYOUT
# split direction
bindsym $mod+q split toggle
# fullscreen mode
bindsym $mod+f fullscreen toggle
# container layout
bindsym $mod+shift+w layout toggle tabbed stacking
bindsym $mod+shift+e layout toggle split
# toggle tiling / floating / sticky
bindsym $mod+shift+space floating toggle
bindsym $mod+s sticky toggle
bindsym $mod+shift+s floating toggle; sticky toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
## SHORTCUTS
bindsym $mod+shift+F1 exec firefox /usr/local/share/doc/freebsd/handbook/book.html
bindsym $mod+F2 exec firefox
bindsym $mod+shift+F2 exec firefox --private-window
#bindsym $mod+F3 exec alacritty -e zsh -i -c "vifm ~ ~/downloads"
bindsym $mod+F4 exec alacritty -t "Reading Email" -e sh -i -c 'OLDPWD="$PWD" && cd ~/downloads/ && mutt && cd "$OLDPWD"' && mbsync -c ~/.config/mbsync/mbsyncrc -a && pkill -77 i3blocks
bindsym $mod+F5 exec alacritty -t "Reading News" -e zsh -i -c newsboat && pkill -78 i3blocks
bindsym $mod+F6 exec --no-startup-id url_handler.sh
bindsym $mod+F7 exec --no-startup-id dict.sh
bindsym $mod+F8 exec "pkill pwcview || exec pwcview -f 30 -s sif"
bindsym $mod+shift+F8 exec --no-startup-id toggle-screencast.sh
bindsym $mod+F9 exec --no-startup-id abraham-porter.sh
bindsym $mod+shift+F9 exec --no-startup-id "killall picom || exec picom"
bindsym $mod+F10 exec xautolock -toggle
bindsym $mod+F11 exec dockd.sh dock
bindsym $mod+shift+F11 exec dockd.sh undock
bindsym $mod+shift+F12 exec alacritty -e zsh -i -c mixertui && pkill -75 i3blocks
bindsym $mod+Return split horizontal; exec alacritty
bindsym $mod+shift+Return split vertical; exec alacritty
bindsym $mod+shift+Insert exec $locker
bindsym $mod+a exec rofi -show run
bindsym $mod+shift+q kill
bindsym --release Print exec import -window root ~/Nextcloud/InstantUpload/Screenshots/`date +"%Y-%m-%d-%H-%M-%S"`.png
bindsym --release shift+Print exec import ~/Nextcloud/InstantUpload/Screenshots/`date +"%Y-%m-%d-%H-%M-%S"`.png
bindsym --release $mod+Print exec import ~/Nextcloud/InstantUpload/Screenshots/`date +"%Y-%m-%d-%H-%M-%S"`.png
bindsym Mod4+p exec nvidia-settings
bindsym XF86AudioLowerVolume exec --no-startup-id mixer vol -5 && $sigaudio
bindsym XF86AudioMute exec --no-startup-id mixer vol 0 && $sigaudio
bindsym XF86AudioRaiseVolume exec --no-startup-id mixer vol +5 && $sigaudio
# scratchpad terminal
bindsym $mod+shift+p move scratchpad
bindsym $mod+p scratchpad show
# reload the configuration file
bindsym $mod+shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+shift+r restart
set $mode_system l e s r shift+s
mode "$mode_system" {
bindsym e exit
bindsym l exec --no-startup-id $locker, mode "default"
bindsym s exec --no-startup-id $locker ; exec --no-startup-id sleep 2 && doas acpiconf -s3, mode "default"
bindsym r exec doas reboot
bindsym shift+s exec doas poweroff
bindsym Return mode "default"
bindsym q mode "default"
bindsym Escape mode "default"
}
set $mode_volume j k m
mode "$mode_volume" {
bindsym j exec mixer vol -5 && $sigaudio
bindsym m exec mixer vol 0 && $sigaudio
bindsym k exec mixer vol +5 && $sigaudio
bindsym Return mode "default"
bindsym q mode "default"
bindsym Escape mode "default"
}
set $mode_help Help/Handbook Browser Files Email News YouTube Dictionary Dock/Compositor Ports Webcam/Screencast AutoLock-Toggle Mixer
mode "$mode_help" {
bindsym Return mode "default"
bindsym q mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Insert mode "$mode_system"
bindsym $mod+F1 mode "$mode_help"
bindsym $mod+F12 mode "$mode_volume"
## BARS
bar {
modifier Mod1
strip_workspace_numbers yes
position bottom
status_command i3blocks 2>/var/log/xinit/i3blocks.log
colors {
background $color8
statusline $color15
separator $colorin
# class border background foreground
focused_workspace $color15 $coloract $color15
active_workspace $color15 $coloract $color15
inactive_workspace $split $colorin $color15
urgent_workspace $coloru $coloru $color15
}
}
## DEFAULT PLACEMENT
for_window [class = "Wpg"] floating enable
for_window [title = "Reading Email"] floating enable
for_window [title = "Reading News"] floating enable
for_window [title = "Streaming from YouTube"] floating enable; sticky enable
for_window [title = "pwcview"] border pixel 1; floating enable; sticky enable; move position 1598px 808px
for_window [title = "sxiv"] floating enable
## STARTUP
exec firefox
exec nextcloud
|