dotfiles/config/i3/config

167 lines
5 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 alacritty
set $browser firefox
set $filemanager thunar
set $codeeditor alacritty -e nvim
set $guicode vscodium
############ Autostart ############
exec --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"
exec --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+apostrophe exec "rofi -location 6 -show run"
bindsym $mod+Shift+Return exec "rofi -location 6 -show drun"
bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh -b -h 24
bindsym $mod+Control+u exec ~/.script/dmenu/dmenu-config-edit.sh -b -h 24
bindsym $mod+Control+i exec passmenu -b -h 24 -p Passwords
# 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
# Toogle polybar
bindsym $mod+b exec ~/.script/polybar-toggle
# 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="(?i)telegram|discord"] $ws6
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
############## 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