############# 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 firefox set $filemanager pcmanfm ############ Autostart ############ exec --no-startup-id exec picom -b exec --no-startup-id exec nmcli radio wifi on && nmcli device wifi connect $(echo $WIFINAME) password $(echo $WIFIPASS) name net #exec --no-startup-id exec redshift-gtk exec --no-startup-id exec nitrogen --restore exec --no-startup-id exec setxkbmap "us,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 # 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+Shift+apostrophe exec "rofi -show run" bindsym $mod+Shift+Return exec "rofi -show drun" bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh -h 24 bindsym $mod+Control+u exec ~/.script/dmenu/dmenu-config-edit.sh -h 24 bindsym $mod+Control+i exec passmenu -h 24 -p Passwords ### Applications bindsym $mod+Return exec $terminal bindsym $mod+F2 exec $browser bindsym $mod+F4 exec $filemanager bindsym --release $mod+Shift+Escape exec xkill bindsym $mod+$alt+t exec $terminal 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 #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 ##### Restart focused window ###### bindsym $mod+Control+h resize shrink width 20 px or 20 ppt bindsym $mod+Control+Left resize shrink width 20 px or 20 ppt bindsym $mod+Control+j resize grow height 20 px or 20 ppt bindsym $mod+Control+Down resize grow height 20 px or 20 ppt bindsym $mod+Control+k resize shrink height 20 px or 20 ppt bindsym $mod+Control+Up resize shrink height 20 px or 20 ppt bindsym $mod+Control+l resize grow width 20 px or 20 ppt bindsym $mod+Control+Right resize grow width 20 px or 20 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 ############## Modes ############## bindsym $mod+g mode "gaps" 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 #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