# vim: filetype=i3 #Github: https://github.com/hartzan ###---Basic Definitions---### #Needed for i3-gaps hide_edge_borders both for_window [class="^.*"] border pixel 1 gaps inner 15 gaps outer 15 font pango:Ubuntu Mono derivative Powerline 10 set $mod Mod4 set $term st # Smart gaps (gaps used if only more than one container on the workspace) smart_gaps on # Smart borders (draw borders around container only if it is not the only container on this workspace) # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) smart_borders on # Set Xresources colors: #set_from_resource $darkblack color0 #000000 #set_from_resource $black color8 #000000 #set_from_resource $darkred color1 #000000 #set_from_resource $red color9 #000000 #set_from_resource $darkgreen color2 #000000 #set_from_resource $green color10 #000000 #set_from_resource $darkyellow color3 #000000 #set_from_resource $yellow color11 #000000 #set_from_resource $darkblue color4 #000000 #set_from_resource $blue color12 #000000 #set_from_resource $darkmagenta color5 #000000 #set_from_resource $magenta color13 #000000 #set_from_resource $darkcyan color6 #000000 #set_from_resource $cyan color14 #000000 #set_from_resource $darkwhite color7 #000000 #set_from_resource $white color15 #000000 #set $transparent #00000000 # 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 #997A7E #3B5A87 #0F0F15 #997A7E #7288B0 client.unfocused #7288B0 #997A7E #c5cee0 #7288B0 #0F0F15 client.focused_inactive #0F0F15 #232332 #c5cee0 #7288B0 #0F0F15 client.urgent #657194 #657194 #0F0F15 #657194 #657194 client.background #232332 ###---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 #Compton exec --no-startup-id compton -b #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 # PCmanFm daemon exec --no-startup-id pcmanfm -d & # Libinput-gestures exec --no-startup-id libinput-gestures & ##For mpc: set $music st -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 # i3-resurrect save/restore bindsym Mod1+Shift+s exec ~/.config/Scripts/i3-resurrect-save-all bindsym Mod1+Shift+r exec ~/.config/Scripts/i3-resurrect-restore-all #Composite manager: bindsym $mod+b exec --no-startup-id pkill compton bindsym $mod+Ctrl+b exec --no-startup-id compton -b -f ###---Basic Bindings---### bindsym $mod+Return exec $term bindsym $mod+Shift+Return exec $term -e tmux bindsym Mod1+f floating toggle bindsym $mod+space focus mode_toggle 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 xdo hide -N "Polybar" bindsym $mod+Shift+p exec xdo show -N "Polybar" 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 'Ubuntu Mono derivative Powerline-18' -h '35' -nb '#9B93A4' -sf '#0F0F15' -sb '#738bd0' -nf '#eef9ff' 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 st -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="Chromium"] move to workspace $ws2 for_window [class="Firefox"] move to workspace $ws2 for_window [class="Pcmanfm"] move to workspace $ws3 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 for_window [class="St"] floating enable, resize set 2560 1440, move position center for_window [class="Pcmanfm"] floating enable, resize set 1920 1080 for_window [class="(G|g)oogle-chrome"] border none for_window [class="(G|g)oogle-chrome" window_role="pop-up"] floating enable, border normal ###---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 --no-startup-id light -A 5 bindsym $mod+minus exec $dec bindsym $mod+Shift+minus exec --no-startup-id light -U 5 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 light -U 5 bindsym XF86KbdBrightnessUp exec --no-startup-id light -A 5 #bindsym XF86WLAN exec --no-startup-id sudo systemctl restart NetworkManager