dotfiles/config/i3/config
2021-02-24 15:56:14 +02:00

186 lines
5.6 KiB
Text

############# 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 kitty
set $browser google-chrome-stable
set $filemanager kitty --class ranger -e ranger
set $codeeditor kitty --class 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 --no-startup-id exec picom -b
exec --no-startup-id exec nitrogen --restore
exec --no-startup-id exec lxsession
############## 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 -theme ntenV2
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+v exec veracrypt
bindsym $mod+Shift+s exec ~/.applications/simplenote.appimage
# Sceenshot
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
# 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="(?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="KeePassXC"] $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 -c ~/.config/i3/i3status
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
# vim: ft=i3config