dotfiles/config/i3/config
Smirnov Olexandr 0d2b7d6ba3 🎨 Update
2020-11-25 20:53:55 +02:00

195 lines
6.2 KiB
Text

############# General #############
# Bind $MOD(super) key
set $mod Mod4
set $alt Mod1
floating_modifier $mod
# 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 qutebrowser
############ 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 nitrogen --restore
exec --no-startup-id exec setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"
exec --no-startup-id exec org.telegram.desktop
exec --no-startup-id exec conky
#exec --no-startup-id exec discord
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec_always --no-startup-id $HOME/.config/i3/bar.sh
############ Key bindings #########
### I3
# Kill focus window
bindsym $mod+q kill
# Restart i3wm
bindsym $mod+Control+r restart
# Focus the parent container
bindsym $mod+a focus parent
# Floating window
bindsym $mod+Shift+space floating toggle
# Fullscreen mode
bindsym $mod+F11 fullscreen toggle
# Splits
bindsym $mod+b split h
bindsym $mod+v split v
# 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
### Launchers
bindsym $mod+p exec "dmenu_run -h 24 -p Run"
bindsym $mod+Shift+Return exec "rofi -show drun -drun-display-format '{name}'"
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 passmenu -h 24 -p Passwords
bindsym $alt+Tab exec "rofi -show window -show-icons"
### Applications
bindsym $mod+Return exec $terminal
bindsym $mod+F2 exec $browser
bindsym --release $mod+Shift+Escape exec xkill
bindsym $mod+$alt+t exec $terminal -e "nvim ~/.todo"
### 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"
### Volume
bindsym $mod+plus exec "pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo +5%"
bindsym $mod+minus exec "pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -5%"
bindsym $mod+Shift+minus exec "pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo toggle"
######### Window preferens ########
#assign [class="Kitty"] $ws1
#assign [class="(?i)chromium|firefox|qutebrowser"] $ws2
#assign [class="(?i)subl|code|emacs"] $ws3
#assign [class="(?i)thunar"] $ws4
#assign [title="Notable|Simplenote"] $ws5
assign [class="(?i)telegram|discord|viber"] $ws6
assign [title="KeePassXC"] $ws7
#for_window [title="Ranger_FM"] move to workspace $ws4
#for_window [class="Spotify"] move to workspace $ws9
for_window [class="(?i)mousepad"] floating enable
for_window [class="(?i)lxappearance|qt5ct"] floating enable
for_window [class="(?i)nitrogen"] floating enable
for_window [class="(?i)virtualbox"] floating enable
#focus_on_window_activation focus
############## Gaps ###############
#gaps inner 4
#smart_gaps on
##### Change containet 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 focused container ######
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
############ 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
############## Modes ##############
bindsym $mod+r mode "resize"
bindsym $mod+g mode "gaps"
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
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
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
mode "gaps" {
bindsym plus gaps inner current plus 2
bindsym minus gaps inner current minus 2
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 4
bindsym Shift+minus gaps inner all minus 4
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+g mode "default"
}
############## Colors #############
# Class Border Backgr Text Indicator Child_border
client.focused #268bd2 #268bd2 #dfdfdf #268bd2 #268bd2
client.focused_inactive #002b36 #002b36 #dfdfdf #002b36 #002b36
client.unfocused #002b36 #002b36 #586e75 #002b36 #002b36
client.urgent #002b36 #002b36 #ffffff #002b36 #002b36
client.placeholder #000000 #000000 #ffffff #000000 #000000
client.background #ffffff