all repos

dotfiles @ 99cc99c

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
############# General #############
# Bind $MOD(super) key
set $mod Mod4
# 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 --no-startup-id exec picom -b
exec --no-startup-id exec nmcli radio wifi on; nmcli device wifi connect <wifi-name> password <wifi-password> name net
exec --no-startup-id exec redshift-gtk 
exec --no-startup-id exec setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle"
exec --no-startup-id exec org.telegram.desktop
exec --no-startup-id exec discord
exec --no-startup-id exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id ecec clipmenud

############ Key bindings #########
# Terminal
bindsym $mod+Return exec kitty
bindsym ctrl+Mod1+t exec kitty 

# Kill focus window
bindsym $mod+q kill
bindsym Mod1+F4 kill

# Program/Exit louncher
bindsym $mod+space exec "rofi -show drun -show cobi -show-icons"
bindsym $mod+Escape exec "rofi -show power-menu -show-icons -width 30 -lines 6 -modi power-menu:~/.config/rofi/rofi-power-menu"
# Restart i3wm
bindsym $mod+Shift+r restart

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

# Clipboard menu
bindsym $mod+c exec "CM_LAUNCHER=rofi clipmenu"

# Load program
bindsym $mod+F1 exec kitty -T=Ranger_FM ranger
bindsym $mod+F2 exec chromium
bindsym $mod+F3 exec subl
bindsym $mod+F4 exec notable

# Floating window
floating_modifier $mod
bindsym $mod+Shift+space floating toggle
bindsym $mod+Shift+f focus mode_toggle

# Fullscreen mode
bindsym $mod+f fullscreen toggle
bindsym $mod+F11 fullscreen toggle

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

# Focus the parent container
bindsym $mod+a focus parent

# Change container layout(stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

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

# Move workspace on open window
for_window [urgent=["lastet"]] focus
focus_on_window_activation focus

######### Window preferens ########
assign [class="(?i)kitty"] $ws1
assign [class="(?i)chromium|firefox"] $ws2
assign [class="(?i)subl|code|typora"] $ws3
assign [class="(?i)thunar"] $ws4
assign [title="Notable|Simplenote"] $ws5
assign [class="(?i)telegram|discord"] $ws6
assign [title="KeePassXC"] $ws7
for_window [title="Ranger_FM"] move to workspace $ws4
for_window [class="Spotify"] move to workspace $ws10

##### Change containet focus ######
# Vim like keys container
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right

# Alternatively cursor keys
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

##### Move focused container ######
# Vim like keys
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+colon move right

# Alternatively cursor keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

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

# 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

########### Resize mode ###########
mode "resize" {
    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 semicolon 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 or $mod+r
    bindsym Return mode "default"
    bindsym Escape mode "default"
    bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"

############### Bar ###############
exec_always --no-startup-id $HOME/.config/polybar/launch.sh

############## Colors #############
# class                 border   backgr   text     indicator child_border
client.focused          #268bd2  #268bd2  #ffffff  #268bd2   #268bd2
client.focused_inactive #000000  #000000  #ffffff  #000000   #000000
client.unfocused        #000000  #000000  #888888  #000000   #000000
client.urgent           #000000  #000000  #ffffff  #000000   #000000
client.placeholder      #000000  #000000  #ffffff  #000000   #000000
client.background       #ffffff