-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig
395 lines (394 loc) · 15.8 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
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
######################
# j3u6 config file #
######################
# Please see http://i3wm.org/docs/userguide.html for the official i3 reference!
########################
# config starts here #
########################
# Font for window titles. Will also be used by the bar unless a different font
font pango:Urbanist, Light Regular SemiBold Bold 7
# set the mod key to the winkey:
set $mod Mod4
######################
# workspace layout #
######################
# default i3 tiling mode:
workspace_layout default
default_orientation auto
# i3 stacking layout:
# Each window will be fullscreen and tabbed top to bottom.
#workspace_layout stacking
# i3 tabbed layout:
# Each new window will open fullscreen as a tab (left to right)
#workspace_layout tabbed
###############################
# extra options for windows #
###############################
# ScratchPad
#bindsym $mod+Shift+-move scratchpad
#bindsym $mod+shift++ show scratchpad
# The same as default_border none
default_border pixel 3
# Set inner/outer gaps
gaps inner 15
gaps outer 35
# show window title bars (not officially supported with i3gaps)
#default_border normal
# window title alignment
#title_align center
# window show marks
#show_marks yes
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# Set workspace numbers
set $workspace1 to $ws1
set $workspace2 to $ws2
set $workspace3 to $ws3
set $workspace4 to $ws4
set $workspace5 to $ws5
set $workspace6 to $ws6
set $workspace7 to $ws7
set $workspace8 to $ws8
set $workspace9 to $ws9
#################
# Keybindings #
#################
# switch/iterate between workspaces
bindsym $mod+Tab move container right
bindsym $mod+Shift+Tab move workstation back_and_forth
# 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
# resize window (you can also use the mouse for that):
#mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# bindsym h resize shrink width 10 px or 10 ppt
# bindsym j resize grow height 10 px or 10 ppt
# bindsym k resize shrink height 10 px or 10 ppt
# bindsym l resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
# back to normal: Enter or Escape
# bindsym Return mode "default"
# bindsym Escape mode "default"
#}
# start a terminal
bindsym $mod+Return exec --no-startup-id xfce4-terminal
# kill focused window
bindsym $mod+q kill
# powermenu
bindsym $mod+Shift+e exec --no-startup-id ~/.config/i3/scripts/powermenu
# Lock the system
# lock with a picture:
#bindsym $mod+l exec --no-startup-id i3lock -i ~/.config/i3/i3-lock-screen.png -p default|win -t
# lock by blurring the screen:
bindsym $mod+l exec --no-startup-id ~/.config/i3/scripts/blur-lock
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to update i3)
bindsym $mod+Shift+r restart
# keybinding in fancy rofi (automated):
bindsym F1 exec --no-startup-id ~/.config/i3/scripts/keyhint-2
# alternative
# keybinding list in editor:
# bindsym $mod+F1 exec --no-startup-id xed ~/.config/i3/keybindings
# Backlight control
#bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight +10 && notify-send "Brightness - $(xbacklight -get | cut -d '.' -f 1)%"
#bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -10 && notify-send "Brightness - $(xbacklight -get | cut -d '.' -f 1)%"
# Backlight setting using dunst osc
#bindsym XF86MonBrightnessUp exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh brightness_up
#bindsym XF86MonBrightnessDown exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh brightness_down
# change focus
# use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focus position
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
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+s layout stacking
bindsym $mod+t layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle move position center
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# open new empty workspace
#bindsym $mod+Shift+n exec --no-startup-id ~/.config/i3/scripts/empty_workspace
# Multimedia Keys
# volume
# use meta keys without showing osc
#bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
#bindsym XF86AudioLowerVolume exec --no-startup-id amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
# use meta keys showing osc using dunst
bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh volume_up
#bindsym pavucontrol exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh volume_down
# gradular volume control
#bindsym $mod+XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks
#bindsym $mod+XF86AudioLowerVolume exec --no-startup-id amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks
# mute
bindsym XF86AudioMute exec --no-startup-id amixer sset Master toggle && killall -USR1 i3blocks
# use meta keys showing osc using dunst
#bindsym XF86AudioMute exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh volume_mute
# mic mute toggle
#bindsym XF86AudioMicMute exec amixer sset Capture toggle
# audio control
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Redirect sound to headphones
bindsym $mod+p exec --no-startup-id /usr/local/bin/switch-audio-port
## App shortcuts
bindsym $mod+w exec --no-startup-id /usr/bin/chromium
bindsym $mod+n exec --no-startup-id /usr/bin/thunar
bindsym Print exec --no-startup-id scrot ~/%Y-%m-%d-%T-screenshot.png && notify-send "Screenshot saved to ~/$(date +"%Y-%m-%d-%T")-screenshot.png"
# Power Profiles menu switcher (rofi)
bindsym $mod+Shift+p exec --no-startup-id ~/.config/i3/scripts/power-profiles
#########################
# workspace behaviour #
#########################
# 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:"
# use workspaces on different displays and apps:
# where you have to replace VGA-0/HDMI-0 with the names for your displays
# you can get from xrandr command
#workspace $ws1 output VGA-0
#workspace $ws2 output VGA-0
#workspace $ws3 output HDMI-0
#workspace $ws4 output HDMI-0
#workspace $ws5 output HDMI-0
#assign [class="xfce4-terminal"] $ws2
assign [class="(?i)chromium"] $ws2
assign [class="thunar"] $ws3
assign [class="cider"] $ws4
# automatic set focus new window if it opens on another workspace than the current:
focus_on_window_activation smart
for_window [class=chromium] focus
################
# compositor #
################
# transparency
# xcompmgr: https://wiki.archlinux.org/title/Xcompmgr
# manpage: https://man.archlinux.org/man/xcompmgr.1.en
# install xcompmgr package to use it (yay -S xcompmgr)
#exec --no-startup-id xcompmgr -C -n &
# or an more specialized config like this:
#exec --no-startup-id xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 &
# disable xcompmgr using picom (i think it is autostarted with dex?)
#exec --no-startup-id xcompmgr --disable-wm-check
# or:
# picom: https://wiki.archlinux.org/title/Picom
# manpage: https://man.archlinux.org/man/picom.1.en
# The default configuration is available in /etc/xdg/picom.conf
# For modifications, it can be copied to ~/.config/picom/picom.conf or ~/.config/picom.conf
# install picom package (yay -S picom)
# start using default config
#exec_always --no-startup-id picom
# for custom config:
exec --no-startup-id picom --config /home/j3u6/.config/picom.conf
#####################################
# autostart applications at login #
#####################################
#get auth work with polkit-gnome
exec --no-startup-id polkit-gnome
# dex execute .desktop files + apps using /etc/xdg/autostart.
# when second to i3 a DE is installed or mixed usage of i3 + xfce4 or GNOME
# in this cases better disable dex and use manual starting apps using xdg/autostart
# if enabled you should comment welcome app.
# https://github.com/jceb/dex
#exec --no-startup-id dex -a -s /etc/xdg/autostart/:~/.config/autostart/
exec --no-startup-id dex --autostart --environment i3
# start welcome app
#exec --no-startup-id sh /usr/share/endeavouros/scripts/welcome --startdelay=10
# num lock activated
#exec --no-startup-id numlockx on
# configure multiple keyboard layouts and hotkey to switch (Alt+CAPSLOCK in this example)
#exec --no-startup-id setxkbmap -layout 'us,sk' -variant altgr-intl,qwerty -option 'grp:alt_caps_toggle'
# start conky:
exec_always --no-startup-id conky
# start a script to setup displays
# uncomment the next line, use arandr to setup displays and save the file as monitor:
exec --no-startup-id arandr ~/.screenlayout/monitor.sh
# set wallpaper
#exec --no-startup-id sleep 2 && nitrogen --restore
exec --no-startup-id sleep 1 && feh --bg-fill /usr/share/endeavouros/backgrounds/@superofficial.png
# set powersavings for display:
#exec --no-startup-id xset s 480 dpms 600 600 600
# disable power saving (for example if using xscreensaver)
#exec --no-startup-id xset -dpms
# use xautolock to use autosuspend rules for mobile devices
exec --no-startup-id xautolock -time 60 -locker "systemctl suspend"
# xscreensaver
#exec --no-startup-id xscreensaver --no-splash
# Desktop notifications
# dunst config used ~/.config/dunst/dunt
# set alternative config if needed:
#exec --no-startup-id /usr/bin/dunst --config ~/.config/dunst/dunstrc
# may need to run dbus-launch explicitly:
#exec --no-startup-id dbus-launch /usr/bin/dunst
exec --no-startup-id dbus /usr/bin/dunst
# alternative if you installed aside with XFCE4:
#exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &
# autotiling
exec_always --no-startup-id autotiling
# Autostart apps as you like
#exec --no-startup-id pavucontrol
#exec --no-startup-id pulseaudiovolumecontrol
#exec --no-startup-id sleep 2 && xfce4-terminal
#exec --no-startup-id sleep 3 && thunar
#################
# system tray #
#################
# if you do not use dex: exec --no-startup-id dex --autostart --environment i3
# you need to have tray apps started manually one by one:
# start blueberry app for managing bluetooth devices from tray:
exec --no-startup-id blueberry-tray
# networkmanager-applet
#exec --no-startup-id nm-applet
# clipman-applet
exec --no-startup-id rofi-greenclip
####################
# floating rules #
####################
# set floating (nontiling) for apps needing it
#for_window [class="Yad"] floating enable
for_window [class="Galculator"] floating enable
for_window [class="Blueberry.py"] floating enable
# set floating (nontiling) for special apps
#for_window [class="Xsane"] floating enable
for_window [class="PulseAudioVolumeControl"] floating enable
for_window [class="qt5ct"] floating enable
for_window [class="Blueberry.py"] floating enable
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
for_window [class="Pamac-manager"] floating enable
for_window [class="Welcome"] floating enable
# set size of floating window
floating_minimum_size 400 x 300
floating_maximum_size 900 x 700
########################################
# color settings for bar and windows #
########################################
# Define colors variables: purple = redishbrown (formatting)
set $darkredtrans #3c2121e3
set $darkred #3c2121
set $lightred #B9A8A8
set $urgentred #a93939
set $white #eeeee1
set $black #0D0B0B
set $red #8b6f6f
set $darkgrey #332222
set $grey #9c9393
set $mediumgrey #9A9A9A
set $redbrown #544c38
set $windgre #BAF1b1
set $windyel #F1E0b1
set $windred #F1B1B1
set $windblu #B1d6f1
# define colors for windows
# class border bground text indicator child_border
client.focused $white $windred $white $windred $windred
client.unfocused $white $windyel $white $windyel $windyel
client.focused_inactive $white $windblu $white $windblu $windblu
client.urgent $white $windgre $white $windgre $windgre
client.background $white $white $white
################################################
# i3bar settings (input comes from i3blocks) #
################################################
# Start i3bar to display a workspace bar
# (plus the system information i3status finds out, if available)
bar {
id bar-1
font pango:Urbanist Icons, Bold 8
status_command i3blocks exec -c ~/.config/i3/i3blocks.conf
position bottom
padding 11px 0px 0px 0px
strip_workspace_numbers yes
colors {
background #766b73
statusline #766b73
separator #766b73
focused_workspace #766b73 #766b73 $windgre #111111
active_workspace #766b73 #766b73 $windred #111111
inactive_workspace #766b73 #766b73 $windyel #111111
urgent_workspace #766b73 #766b73 $windblu #111111
}
}
# add different bars for multidisplay setups on each display:
# transparency can be set.
# transparency needs rgba color codes to be used where the last two letters are the transparency factor see here:
# #08052be6 --> e6=90%
#bar {
# font pango: Urbanist 9
# status_command i3blocks -c ~/.config/i3/i3blocks-2.conf
# i3bar_command i3bar --transparency
# position bottom
#
# When strip_workspace_numbers is set to yes,
# any workspace that has a name of the form
# “[n][:][NAME]” will display only the name.
# colors
# separator $lightpurp
# background $purple
# statusline $lightpurp
# class border bg txt indicator
# focused_workspace $lighterpurp $lighterpurp $darkpurp $purple
# active_workspace $lightdpurp $lightdpurp $darkpurp $purple
# inactive_workspace $darkpurp $darkpurp $lightpurp $purple
# urgent_workspace $urgentred $urgentred $darkgrey $purple
#
#}
######################################
# Application menu handled by rofi #
######################################
# rofi bindings fancy application menu ($mod+d /F9 optional disabled)
bindsym $mod+d exec --no-startup-id rofi -modi drun -show drun \
-config ~/.config/rofi/rofidmenu.rasi
#bindsym $mod+F9 exec --no-startup-id rofi -modi drun -show drun \
# -config ~/.config/rofi/rofidmenu.rasi
## rofi bindings for window menu ($mod+t /F10 optional disabled)
bindsym $mod+g exec --no-startup-id rofi -show window \
-config /home/j3u6/.config/rofi/rofidmenu.rasi
#bindsym $mod+F10 exec --no-startup-id rofi -show window \
#rofi bindings to manage clipboard (install rofi-greenclip from the AUR)
# -config ~/.config/rofi/rofidmenu.rasi
exec --no-startup-id rofi-greenclip daemon>/dev/null
#bindsym $mod+c exec --no-startup-id rofi -modi "clipboard:greenclip print" -show clipboard \
# -config ~/.config/greenclip.toml