# vim: filetype=i3 #Github: https://github.com/hartzan ###---Basic Definitions---### #Needed for i3-gaps hide_edge_borders both for_window [class="^.*"] border pixel 0 gaps inner 15 gaps outer 15 font pango:Ubuntu Mono derivative Powerline 10 set $mod Mod4 set $term kitty # Use Mouse+$mod to drag floating windows floating_modifier $mod # change container layout (stacked, tabbed, toggle split) bindsym Mod1+s layout stacking bindsym Mod1+w layout tabbed bindsym Mod1+e layout toggle split #Sticky window bindsym $mod+Shift+c sticky toggle ######### COLORS ########## # BORDER BACKGROUND TEXT INDICATOR CHILD_BORDER client.focused #88C0D0 #EBCB8B #2E3440 #88C0D0 #5E81AC client.unfocused #5E81AC #88C0D0 #E5E9F0 #5E81AC #2E3440 client.focused_inactive #2E3440 #4C566A #E5E9F0 #5E81AC #2E3440 client.urgent #BF616A #BF616A #2E3440 #BF616A #BF616A client.background #4C566A ###---Starting External Scripts---### #Load .Xresources exec --no-startup-id xrdb -merge .Xresources #Restore wal colors #exec_always --no-startup-id wal -i "$(< "${HOME}/.cache/wal/wal")" #Start mopidy #exec --no-startup-id mopidy & #Twmn exec --no-startup-id twmnd & #Album art for mpd/mopidy #Mpdscribble #exec --no-startup-id mpdscribble --no-daemon & #Wpgtk exec --no-startup-id ~/.config/wpg/wp_init.sh #Conky #exec --no-startup-id conky -d -c ~/.config/conky/conkybg & #Clipster exec --no-startup-id clipster -d #Picom exec --no-startup-id picom -bc --experimental-backends --dbus --config /home/hate/.config/picom.conf #Gnome privileges exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 #Launch Polybar where appropriate: exec_always --no-startup-id ~/.config/polybar/launch.sh #Start udiskie exec --no-startup-id udiskie & #Add wallpaper: #exec --no-startup-id systemctl --user start wallpaper.service #Unclutter makes the mouse invisible after a brief period exec --no-startup-id unclutter # set desktop background with custom effect exec --no-startup-id betterlockscreen -w dim #Twmn Gmail notifier exec --no-startup-id python ~/.config/Scripts/gmail_notifier.py #Hide polybar top&bottom #exec --no-startup-id hideIt.sh -N '^polybar-top_eDP-1$' -p 3 -d top -H #exec --no-startup-id hideIt.sh -N '^polybar-bottom_eDP-1$' -p 3 -d bottom -H # Libinput-gestures exec --no-startup-id libinput-gestures & ##For mpc: set $music kitty -e ncmpcpp set $pause --no-startup-id mpc toggle set $trupause --no-startup-id mpc pause set $next --no-startup-id mpc next set $prev --no-startup-id mpc prev set $lilfor --no-startup-id mpc seek +10 set $bigfor --no-startup-id mpc seek +120 set $lilbak --no-startup-id mpc seek -10 set $bigbak --no-startup-id mpc seek -120 set $beg --no-startup-id mpc seek 0% set $BROWSER google-chrome-stable #FOR ALSA/AMIXER set $inc --no-startup-id pactl -- set-sink-volume 0 +2% set $biginc --no-startup-id amixer sset Master 5%+ set $dec --no-startup-id pactl -- set-sink-volume 0 -2% set $bigdec --no-startup-id amixer sset Master 5%- set $mute --no-startup-id pactl set-sink-mute 0 toggle set $truemute --no-startup-id amixer sset Master mute ###---Dropdown/Scratchpad Windows---### # Make the currently focused window a scratchpad bindsym $mod+Shift+b move scratchpad # Show the first scratchpad window bindsym $mod+Shift+e scratchpad show #Composite manager: bindsym $mod+b exec --no-startup-id pkill picom bindsym $mod+Ctrl+b exec --no-startup-id sleep 10 && picom -bc --experimental-backends --config /home/hate/.config/picom.conf ###---Basic Bindings---### bindsym $mod+Return exec $term bindsym $mod+Shift+Return exec $term -e tmux bindsym $mod+Shift+space floating toggle bindsym --whole-window button2 floating toggle bindsym $mod+space focus mode_toggle # Floating window minimum size floating_minimum_size 960x540 bindsym $mod+Escape workspace prev bindsym $mod+Shift+Escape exec --no-startup-id prompt "Exit i3?" "i3-msg exit" bindsym $mod+BackSpace exec $flash bindsym $mod+Shift+BackSpace exec ~/.config/Scripts/on # Show selection: bindsym Mod1+c exec clipster -sp #STOP/HIDE EVERYTHING: bindsym $mod+Shift+Delete exec $truemute ; exec $truepause ; workspace lmao ; exec $term -e htop ; exec $term -e ranger ###---Letter Key Bindings---### bindsym $mod+q kill bindsym $mod+Shift+q kill bindsym $mod+w exec pcmanfm bindsym $mod+Shift+w exec --no-startup-id $BROWSER bindsym $mod+e exec $term -e neomutt #bindsym $mod+Shift+e # always pop standard shell, without the menu bindsym Mod1+z exec ~/.config/Scripts/i3-quickterm shell bindsym $mod+r exec $term -e ranger bindsym $mod+Shift+r restart bindsym $mod+t split toggle bindsym $mod+Shift+t gaps inner current set 15; gaps outer current set 15 bindsym $mod+y exec $term -e calcurse bindsym $mod+Shift+y resize shrink width 10 px or 10ppt bindsym $mod+u [instance="dropdown"] scratchpad show; move position center bindsym $mod+Shift+u resize shrink height 10 px or 10 ppt bindsym $mod+i exec $term -e htop bindsym $mod+Shift+i resize grow height 10 px or 10 ppt #bindsym $mod+o exec --no-startup-id $beg bindsym $mod+Shift+o resize grow width 10 px or 10 ppt bindsym $mod+p exec --no-startup-id polybar-msg cmd toggle bindsym $mod+a [instance="music"] scratchpad show; move position center bindsym $mod+Shift+a exec pavucontrol #bindsym $mod+Shift+a exec $term -e ncpamixer bindsym $mod+s gaps inner current plus 5 bindsym $mod+Shift+s gaps inner current minus 5 #bindsym $mod+d exec rofi -config ~/.config/rofi/config -show drun bindsym $mod+d exec dmenu_run -fn 'UbuntuMono Nerd Font-10' -h '16' -nb '#5E81AC' -sf '#4C566A' -sb '#88C0D0' -nf '#2E3440' bindsym Mod1+d exec ~/.config/Scripts/rofi-bangs.sh bindsym $mod+Shift+d gaps inner current set 0; gaps outer current set 0 bindsym $mod+f fullscreen toggle bindsym $mod+g exec --no-startup-id gimp; workspace $ws5 bindsym $mod+h focus left bindsym $mod+Shift+h move left 30 bindsym $mod+j focus down bindsym $mod+Shift+j move down 30 bindsym $mod+k focus up bindsym $mod+Shift+k move up 30 bindsym $mod+l focus right bindsym $mod+Shift+l move right 30 bindsym $mod+z gaps outer current plus 5 bindsym $mod+Shift+z gaps outer current minus 5 bindsym $mod+x exec gpmdp bindsym Mod1+p exec bwmenu bindsym $mod+c exec $term -e weechat #bindsym $mod+Shift+c bindsym $mod+v exec kitty -e cava bindsym $mod+Shift+v exec projectM-pulseaudio #bindsym $mod+b exec $prev #bindsym $mod+Shift+b exec --no-startup-id blender; workspace $ws6 bindsym $mod+m exec $music bindsym $mod+Shift+m exec $mute ###---Workspace Bindings---### bindsym $mod+Home workspace $ws1 bindsym $mod+End workspace $ws10 bindsym $mod+Shift+End move container to workspace $ws10 # next/previous workspace bindsym Mod1+Tab workspace next bindsym Mod1+Shift+Tab workspace prev bindsym $mod+Tab workspace back_and_forth #navigate workspaces next / previous bindsym Mod1+Ctrl+Right workspace next bindsym Mod1+Ctrl+Left workspace prev 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 to 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+Ctrl+1 move container to workspace $ws1 bindsym $mod+Ctrl+2 move container to workspace $ws2 bindsym $mod+Ctrl+3 move container to workspace $ws3 bindsym $mod+Ctrl+4 move container to workspace $ws4 bindsym $mod+Ctrl+5 move container to workspace $ws5 bindsym $mod+Ctrl+6 move container to workspace $ws6 bindsym $mod+Ctrl+7 move container to workspace $ws7 bindsym $mod+Ctrl+8 move container to workspace $ws8 bindsym $mod+Ctrl+9 move container to workspace $ws9 bindsym $mod+Ctrl+0 move container to workspace $ws10 # Move to workspace with focused container bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10 for_window [class="Google-chrome"] move to workspace $ws2 for_window [class="Firefox"] move to workspace $ws2 for_window [title="GIMP Startup"] move workspace $ws7 for_window [class="Gimp"] move workspace $ws7 for_window [window_role="gimp-dock"] floating disable; move left; resize shrink width 50 px or 50ppt for_window [window_role="gimp-toolbox"] floating disable; move right; resize grow width 30 px or 30ppt for_window [window_role="tr-main"] move to workspace $ws8 #for_window [title="projectM"] exec --no-startup-id transset -a --dec .25 #for_window [class="st"] exec --no-startup-id transset -a --dec .25 for_window [window_role="GtkFileChooserDialog"] resize shrink height 10 px for_window [class="Wpg"] floating enable for_window [class="mpv"] floating enable for_window [class="feh"] floating enable for_window [class="MComix"] floating enable for_window [class="Gucharmap"] floating enable for_window [class="Pavucontrol"] floating enable for_window [class="Nm-connection-editor"] floating enable for_window [class="Lxappearance"] floating enable for_window [instance="^package-update$" class="^st$"] floating enable, move position center for_window [class="Yad"] floating enable ###---Function Buttons---### bindsym $mod+F1 exec --no-startup-id arandr bindsym $mod+F2 exec --no-startup-id sudo systemctl hibernate bindsym $mod+F3 exec --no-startup-id sudo systemctl restart NetworkManager bindsym $mod+F4 exec --no-startup-id ~/.config/polybar/launch.sh bindsym $mod+F5 exec --no-startup-id sudo systemctl restart bluetooth.service bindsym $mod+F6 exec --no-startup-id systemctl --user restart wallpaper.service ###---Arrow Keys---### bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right ###---Media Keys---### #Volume keys bindsym $mod+plus exec $inc bindsym $mod+Shift+plus exec $biginc bindsym $mod+minus exec $dec bindsym $mod+Shift+minus exec $bigdec bindsym $mod+less exec $prev bindsym $mod+Shift+less exec $beg bindsym $mod+greater exec $next bindsym $mod+Shift+greater exec $next #Print screen takes a screenshot. #With shift, it takes one only of the given window. bindsym Print exec --no-startup-id scrot bindsym Shift+Print exec --no-startup-id scrot -u ###---Extra XF86 Keys---### #These are the extra media keys that some keyboards have. bindsym XF86AudioMute exec $mute bindsym XF86AudioLowerVolume exec $dec bindsym XF86AudioRaiseVolume exec $inc bindsym XF86PowerOff exec sudo shutdown -h now bindsym XF86Reload restart bindsym XF86AudioMicMute exec $micmute bindsym XF86TouchpadOn exec --no-startup-id exec synclient TouchpadOff=0 bindsym XF86TouchpadOff exec --no-startup-id exec synclient TouchpadOff=1 bindsym XF86Suspend exec --no-startup-id ~/.config/i3/lock.sh bindsym XF86Close kill bindsym XF86WebCam exec mpv /dev/video0 bindsym XF86Mail exec $term -e neomutt bindsym XF86Messenger exec $term -e weechat bindsym XF86Search exec $BROWSER https://duckduckgo.com bindsym XF86MonBrightnessDown exec --no-startup-id light -U 5 bindsym XF86MonBrightnessUp exec --no-startup-id light -A 5 bindsym XF86AudioMedia exec $music bindsym XF86Display exec --no-startup-id arandr bindsym XF86KbdBrightnessDown exec --no-startup-id python3.6 ~/.i3/kb-lights.py - bindsym XF86KbdBrightnessUp exec --no-startup-id python3.6 ~/.i3/kb-lights.py + bindsym XF86WLAN exec --no-startup-id sudo systemctl restart NetworkManager