all repos

dotfiles @ 9b2871dd654503b626409b912c616506a5b320eb

my dotfiles

config/i3/config (view raw)

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
############# General #############
# Bind $MOD(super) key
set $mod Mod4
set $alt Mod1
floating_modifier $mod

# Set font
font monospace 10
font pango:JetBrains Mono 10

# Disable window title
default_border pixel
new_float pixel

# Borders
hide_edge_borders smart

############ Variables ###########
set $terminal alacritty
set $browser firefox 
set $filemanager alacritty --title=ranger -e ranger
set $codeeditor alacritty --title=nvim -e nvim
set $guicode code

############ Autostart ############
exec_always --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"
exec_always --no-startup-id exec picom --experimental-backends -b
#exec_always --no-startup-id exec $HOME/.config/i3/bar.sh
exec --no-startup-id exec nitrogen --restore
exec --no-startup-id exec lxsession
#exec --no-startup-id exec $HOME/.script/autolock
#exec --no-startup-id exec org.telegram.desktop
#exec --no-startup-id exec discord
#exec --no-startup-id exec conky
#exec --no-startup-id exec redshift-gtk

############## WM keys ############

# Kill window
bindsym $mod+q kill
bindsym --release $mod+Shift+q exec xkill

# Restart i3wm
bindsym $mod+Control+r restart

# Floating layout
bindsym $mod+Shift+Tab floating toggle

# Tab layout
bindsym $mod+Control+w layout tabbed

# Split layout
bindsym $mod+Control+e layout toggle split

# Splits
bindsym $mod+b split h
bindsym $mod+v split v

# Scratchpad
bindsym $mod+Shift+grave move scratchpad
bindsym $mod+grave scratchpad show, floating disable

############## User key ###########

# Menus
bindsym $mod+Shift+Return exec rofi -show drun
bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh
bindsym $mod+Control+u exec ~/.script/dmenu/dmenu-config-edit.sh
bindsym $mod+Control+i exec ~/.script/dmenu/dmenu-pass.sh 

# Apps
bindsym $mod+Return exec $terminal
bindsym $mod+Shift+w exec $browser 
bindsym $mod+Shift+f exec $filemanager
bindsym $mod+Shift+e exec $codeeditor
bindsym $mod+Shift+c exec $guicode
bindsym $mod+Shift+d exec $documentationreader

# Sceenshot
bindsym --release Print exec scrot -s /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png
bindsym --release Shift+Print exec scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png

# Lockscreen
bindsym $mod+Shift+z exec betterlockscreen --off 180 -t "Computer is lockerd" -l

# Volume
bindsym $mod+plus exec "amixer sset Master 2%+"
bindsym $mod+minus exec "amixer sset Master 2%-"
bindsym $mod+Shift+minus exec "amixer sset Master toggle"

######### Window preferens ########
assign [class="Alacritty"] $ws1
assign [class="(?i)firefox"] $ws2
assign [class="(?i)code|vscodium|subl"] $ws3
assign [title="nvim"] $ws3
assign [class="(?!)thunar"] $ws4
assign [title="ranger"] $ws4
assign [title="Joplin"] $ws5
assign [class="(?i)telegram|discord"] $ws6
assign [class="Spotify"] $ws9
for_window [title="Google Tasks"] floating enable
for_window [class="(?i)telegram|discord"] layout tabbed
focus_on_window_activation focus

########## Change focus ###########
bindsym $mod+h focus left
bindsym $mod+Left focus left
bindsym $mod+j focus down
bindsym $mod+Down focus down
bindsym $mod+k focus up
bindsym $mod+Up focus up
bindsym $mod+l focus right
bindsym $mod+Right focus right

########## Move window ############
bindsym $mod+Shift+h move left
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+Right move right

########## Resize window ##########
bindsym $mod+Control+h resize shrink width 5 px or 5 ppt
bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt
bindsym $mod+Control+j resize grow height 5 px or 5 ppt
bindsym $mod+Control+Down resize grow height 5 px or 5 ppt
bindsym $mod+Control+k resize shrink height 5 px or 5 ppt
bindsym $mod+Control+Up resize shrink height 5 px or 5 ppt
bindsym $mod+Control+l resize grow width 5 px or 5 ppt
bindsym $mod+Control+Right resize grow width 5 px or 5 ppt

############ 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"

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+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

############### Bar ###############
bar {
    status_command i3status-rs ~/.config/i3/i3status-rs.toml
    font pango:JetBrains Mono 10
    position top
    colors {
      background #262A2B
      statusline #FFFFFF
      separator  #58676C
      focused_workspace  #008DCD #008DCD #FFFFFF
      active_workspace   #262A2B #262A2B #FFFFFF
      inactive_workspace #262A2B #262A2B #DFDFDF
      urgent_workspace   #FF6C6B #FF6C6B #FFFFFF
      binding_mode       #2F343A #900000 #FFFFFF
  }
}
############## Colors #############
#        Class          Border   Backgr   Text     Indicator Child_border
client.focused          #008DCD  #008DCD  #FFFFFF  #008DCD   #008DCD
client.focused_inactive #008DCD  #002b36  #DFDFDF  #002b36   #002b36
client.unfocused        #262A2B  #262A2B  #DFDFDF  #262A2B   #262A2B
client.urgent           #002b36  #262A2B  #FFFFFF  #262A2B   #262A2B
client.placeholder      #000000  #000000  #FFFFFF  #000000   #000000
client.background       #FFFFFF