all repos

dotfiles @ 5c2b55f

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

############ Autostart ############
exec_always --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"
exec_always --no-startup-id exec feh --randomize --bg-scale ~/Pictures/wallp
exec --no-startup-id exec picom -b

############ Variables ###########
set $terminal kitty
set $browser google-chrome-stable
set $filemanager kitty --class ranger -e ranger
set $codeeditor kitty --class nvim -e nvim
set $guicode code

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

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

# Restart i3wm
bindsym $mod+Control+r restart

# Layout
bindsym $mod+Control+w layout tabbed
bindsym $mod+Control+e layout toggle split
bindsym $mod+Shift+Tab floating toggle

# Split mode
bindsym $mod+$alt+h split h
bindsym $mod+$alt+v split v

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

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

# Applications
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+v exec veracrypt
bindsym $mod+Shift+s exec ~/.applications/simplenote.appimage

# Menu
bindsym $mod+Shift+Return exec rofi -show drun -theme ntenV2
bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh
bindsym $mod+Control+i exec ~/.script/dmenu/dmenu-pass.sh

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

# 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

############## GAPS ###############
smart_gaps on
gaps inner 3
gaps outer 4

######### Window preferens ########
assign [class="(?i)alacritty|kitty"] $ws1
assign [class="(?i)google-chrome-stable|firefox"] $ws2
assign [class="Code|nvim"] $ws3
assign [class="Thunar|ranger"] $ws4
assign [class="Joplin|Simplenote"] $ws5
assign [class="TelegramDesktop|discord"] $ws6
for_window [class="TelegramDesktop|discord"] layout tabbed
assign [class="KeePassX"] $ws7
assign [class="Spotify"] $ws9
for_window [title="Google Tasks"] floating enable
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 #DFDFDF
      separator  #CED4DA
      focused_workspace  #008DCD #008DCD #DFDFDF
      active_workspace   #262A2B #262A2B #DFDFDF
      inactive_workspace #262A2B #262A2B #DFDFDF
      urgent_workspace   #FF6C6B #FF6C6B #DFDFDF
      binding_mode       #2F343A #900000 #DFDFDF
  }
}
############## Colors #############
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

# vim: ft=i3config