diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..e30792a --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,377 @@ +# 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 #493629 #343942 #090704 #493629 #65543A +client.unfocused #65543A #493629 #bab3a5 #65543A #090704 +client.focused_inactive #090704 #827d73 #bab3a5 #65543A #090704 +client.urgent #564732 #564732 #090704 #564732 #564732 +client.background #827d73 + +###---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 + +#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 $mod+Shift+space 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 '#3D4045' -sf '#090704' -sb '#564732' -nf '#bab3a5' +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="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 1664 936 +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 $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 light -U 5 +#bindsym XF86KbdBrightnessUp exec --no-startup-id light -A 5 +#bindsym XF86WLAN exec --no-startup-id sudo systemctl restart NetworkManager