378 lines
11 KiB
Plaintext
378 lines
11 KiB
Plaintext
#
|
|
# _ _____
|
|
# (_)___ / __ _ __ _ _ __ ___
|
|
# | | |_ \ _____ / _` |/ _` | '_ \/ __|
|
|
# | |___) |_____| (_| | (_| | |_) \__ \
|
|
# |_|____/ \__, |\__,_| .__/|___/
|
|
# |___/ |_|
|
|
#
|
|
|
|
|
|
# Xresources var value
|
|
set_from_resource $bg background
|
|
set_from_resource $fg foreground
|
|
set_from_resource $black color0
|
|
set_from_resource $black_l color8
|
|
set_from_resource $red color1
|
|
set_from_resource $red_l color9
|
|
set_from_resource $green color2
|
|
set_from_resource $green_l color10
|
|
set_from_resource $yellow color3
|
|
set_from_resource $yellow_l color11
|
|
set_from_resource $blue color4
|
|
set_from_resource $blue_l color12
|
|
set_from_resource $magenta color5
|
|
set_from_resource $red_l color13
|
|
set_from_resource $cyan color6
|
|
set_from_resource $cyan_l color14
|
|
set_from_resource $white color7
|
|
set_from_resource $white_l color15
|
|
set $transp #00000000
|
|
|
|
# class bd bg txt ind child_bd
|
|
client.focused $black_l $black_l $blue $blue $blue
|
|
client.unfocused $bg $bg $blue $bg $bg
|
|
client.focused_inactive $black_l $black_l $blue $bg $bg
|
|
client.urgent $bg $bg $blue $bg $bg
|
|
client.placeholder $bg $bg $blue $bg $bg
|
|
client.background $bg
|
|
|
|
# Font
|
|
font pango:DejaVu Sans Mono 11
|
|
|
|
# Mod key (Super)
|
|
set $Mod Mod4
|
|
# Moe key (Alt)
|
|
set $Moe Mod1
|
|
# Terminal (ST)
|
|
set $TERMINAL st
|
|
|
|
# Direction keys
|
|
set $up k
|
|
set $down j
|
|
set $left h
|
|
set $right l
|
|
|
|
# Workspaces Icons
|
|
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: "
|
|
set $ws11 "11: "
|
|
|
|
|
|
# ~~~~~~~~~~~~~~~
|
|
# Border & Gaps
|
|
# ~~~~~~~~~~~~~~~
|
|
|
|
# Border & Title
|
|
for_window [class="^.*"] border pixel 2, title_format " %title "
|
|
smart_borders on
|
|
|
|
# Gaps
|
|
gaps inner 5
|
|
gaps outer 8
|
|
|
|
new_window pixel
|
|
new_float normal
|
|
hide_edge_borders none
|
|
popup_during_fullscreen smart
|
|
|
|
# Changing Border style
|
|
bindsym $Mod+o border pixel 2
|
|
bindsym $Mod+Shift+o border none
|
|
|
|
|
|
# ~~~~~~~~~~~
|
|
# Autostart
|
|
# ~~~~~~~~~~~
|
|
|
|
# Remap buttons + keyboard layout
|
|
exec --no-startup-id setxkbmap pl -option 'caps:ctrl_modifier'
|
|
exec --no-startup-id xcape -e 'Caps_Lock=Escape'
|
|
exec --no-startup-id xmodmap -e "keysym Menu = Super_R"
|
|
|
|
# Load .Xresources configs
|
|
exec_always --no-startup-id xrdb -load ~/.Xresources
|
|
|
|
# Hide mouse cursor after X seconds
|
|
exec --no-startup-id unclutter --timeout 5 --jitter 2 &
|
|
|
|
# That nice bar
|
|
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
|
|
|
# Prevent desktop idleness in full-screen mode
|
|
exec --no-startup-id caffeine
|
|
|
|
# X11 Compositor
|
|
exec --no-startup-id compton
|
|
|
|
# Notification daemon
|
|
exec --no-startup-id dunst
|
|
|
|
# Music daemon
|
|
exec --no-startup-id mpd
|
|
|
|
# If you have a numpad you may want to enable this and install numlockx
|
|
#exec --no-startup-id numlockx
|
|
|
|
# Keyring for storing saved passwords
|
|
exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
|
|
|
|
# Polkit, required for authentication
|
|
exec --no-startup-id /usr/libexec/polkit-gnome-authentication-agent-1
|
|
|
|
# Wallpaper (don't edit directly there, use ~/.script/wallpaper.sh)
|
|
exec --no-startup-id xwallpaper --daemon --zoom ~/.config/wallpaper
|
|
|
|
# Syncthing
|
|
exec --no-startup-id syncthing -no-browser
|
|
|
|
# Scratchpad
|
|
exec --no-startup-id keepassxc -name keepassxc-sp
|
|
|
|
|
|
# ~~~~~~~~~~~~~
|
|
# Keybindings
|
|
# ~~~~~~~~~~~~~
|
|
|
|
# Restart i3
|
|
bindsym $Mod+Shift+r restart
|
|
|
|
# Kill focused window
|
|
bindsym $Mod+Shift+q kill
|
|
|
|
# Hide polybar
|
|
bindsym $Mod+bracketleft exec --no-startup-id killall -9 polybar
|
|
bindsym $Mod+bracketright exec --no-startup-id .config/polybar/launch.sh
|
|
|
|
# Launcher
|
|
bindsym $Mod+d exec --no-startup-id dmenu_run -f -i
|
|
bindsym $Mod+Shift+d exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -f -i"
|
|
|
|
# Applications
|
|
bindsym $Mod+Return exec --no-startup-id $TERMINAL
|
|
bindsym $Mod+f exec --no-startup-id $HOME/.local/share/tor-browser/Browser/start-tor-browser
|
|
bindsym $Mod+Shift+f exec --no-startup-id $BROWSER
|
|
bindsym $Mod+r exec --no-startup-id $TERMINAL -n 'ncmpcpp' -e 'ncmpcpp'
|
|
bindsym $Mod+t exec --no-startup-id $HOME/.script/dmenu-messenger.sh
|
|
bindsym $Mod+b exec --no-startup-id blueman-manager
|
|
bindsym $Mod+p [instance="keepassxc-sp"] scratchpad show; [instance="keepassxc-sp"] move position center
|
|
bindsym $Mod+u exec --no-startup-id exec ~/.script/dmenu-unicode.sh
|
|
bindsym $Mod+m exec --no-startup-id $TERMINAL -n 'neomutt' -e 'neomutt'
|
|
bindsym $Mod+Shift+m exec --no-startup-id ~/.config/mutt/etc/mailsync.sh
|
|
bindsym $Mod+n exec --no-startup-id redshift -O 3500 -b 0.8
|
|
bindsym $Mod+Shift+n exec --no-startup-id redshift -x
|
|
bindsym $Mod+g exec --no-startup-id gcolor2
|
|
|
|
# Compton
|
|
bindsym $Mod+c exec --no-startup-id compton
|
|
bindsym $Mod+Shift+c exec --no-startup-id killall -9 compton
|
|
|
|
# Logout
|
|
bindsym $Mod+x exec --no-startup-id ~/.script/dmenu-logout.sh
|
|
|
|
# Screenshot
|
|
bindsym Print exec --no-startup-id ~/.script/dmenu-screenshot.sh
|
|
|
|
# Center floating app
|
|
bindsym $Mod+s move position center
|
|
# Move to corner
|
|
bindsym $Mod+Shift+s exec --no-startup-id ~/.script/i3-corner.sh 3
|
|
|
|
|
|
# sndio
|
|
# bindsym $Mod+$Moe+$up exec --no-startup-id ~/.script/sndio.sh up 1
|
|
# bindsym $Mod+$Moe+$down exec --no-startup-id ~/.script/sndio.sh down 1
|
|
# bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.script/sndio.sh up 1
|
|
# bindsym XF86AudioLowerVolume exec --no-startup-id ~/.script/sndio.sh down 1
|
|
|
|
|
|
# Audio - Vim bindings
|
|
bindsym $Mod+$Moe+$up exec --no-startup-id pamixer -i 1
|
|
bindsym $Mod+$Moe+$down exec --no-startup-id pamixer -d 1
|
|
# Audio - XF86 bindings
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 1
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 1
|
|
bindsym XF86AudioMute exec --no-startup-id pamixer -t
|
|
bindsym XF86AudioPlay exec --no-startup-id mpc play
|
|
bindsym XF86AudioNext exec --no-startup-id mpc next
|
|
bindsym XF86AudioPrev exec --no-startup-id mpc prev
|
|
bindsym XF86AudioStop exec --no-startup-id mpc stop
|
|
bindsym XF86AudioPause exec --no-startup-id mpc pause
|
|
|
|
# Backlight - Vim bindings
|
|
bindsym $Mod+$Moe+$right exec --no-startup-id light -A 1
|
|
bindsym $Mod+$Moe+$left exec --no-startup-id light -U 1
|
|
# Backlight - XF86 bindings
|
|
bindsym XF86MonBrightnessUp exec --no-startup-id light -A 1
|
|
bindsym XF86MonBrightnessDown exec --no-startup-id light -U 1
|
|
|
|
# Fullscreen
|
|
bindsym F11 fullscreen
|
|
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~
|
|
# Workspace Bindings
|
|
# ~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# 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
|
|
bindsym $Mod+minus workspace $ws11
|
|
|
|
# Next/Previous Workspace
|
|
bindsym $Mod+$down workspace next
|
|
bindsym $Mod+$up workspace prev
|
|
|
|
# Back and forth
|
|
bindsym $Mod+Tab workspace back_and_forth
|
|
|
|
# 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
|
|
bindsym $Mod+Ctrl+underscore move container to workspace $ws11
|
|
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
|
|
bindsym $Mod+Shift+underscore move container to workspace $ws11; workspace $ws11
|
|
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
# Container/Window control
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# Enable floating
|
|
bindsym $Mod+Shift+space floating toggle
|
|
|
|
# Change focus on mouse click
|
|
focus_follows_mouse no
|
|
|
|
# Change focus
|
|
bindsym $Moe+$left focus left
|
|
bindsym $Moe+$down focus down
|
|
bindsym $Moe+$up focus up
|
|
bindsym $Moe+$right focus right
|
|
|
|
# Focus to parent/child
|
|
bindsym $Moe+p focus parent
|
|
bindsym $Moe+c focus child
|
|
|
|
# Move focused window
|
|
bindsym $Mod+Shift+$left move left 40px
|
|
bindsym $Mod+Shift+$down move down 40px
|
|
bindsym $Mod+Shift+$up move up 40px
|
|
bindsym $Mod+Shift+$right move right 40px
|
|
# Mod + Mouse
|
|
floating_modifier $Mod
|
|
|
|
# Resize focused window
|
|
bindsym $Mod+Ctrl+$up resize shrink height 20 px or 2 ppt
|
|
bindsym $Mod+Ctrl+$down resize grow height 20 px or 2 ppt
|
|
bindsym $Mod+Ctrl+$left resize shrink width 20 px or 2 ppt
|
|
bindsym $Mod+Ctrl+$right resize grow width 20 px or 2 ppt
|
|
|
|
# Switch to new window on other workspace
|
|
#focus_on_window_activation focus
|
|
# Switch to workspace with urgent window
|
|
#for_window [urgent="latest"] focus
|
|
|
|
# Container layout
|
|
bindsym $Mod+w layout tabbed
|
|
bindsym $Mod+Shift+w layout stacking
|
|
bindsym $Mod+e layout toggle split
|
|
|
|
# Split window
|
|
bindsym $Mod+less split vertical
|
|
bindsym $Mod+greater split horizontal
|
|
default_orientation horizontal
|
|
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~
|
|
# Application Settings
|
|
# ~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# Tor Browser (WS1)
|
|
assign [class="Tor Browser"] workspace $ws1
|
|
for_window [class="Tor Browser"] floating enable
|
|
|
|
# Coding (WS2)
|
|
assign [class="Code - OSS"] workspace $ws2
|
|
|
|
# Messaging (WS4)
|
|
assign [class="TelegramDesktop"] workspace $ws4
|
|
assign [class="Riot"] workspace $ws4
|
|
assign [class="Signal"] workspace $ws4
|
|
assign [class="Wire"] workspace $ws4
|
|
|
|
# Mail (WS5)
|
|
assign [instance="neomutt"] workspace $ws5
|
|
|
|
# Documents (WS6)
|
|
assign [class="Zathura"] workspace $ws6
|
|
assign [class="Evince"] workspace $ws6
|
|
assign [class="libreoffice"] workspace $ws6
|
|
|
|
# Graphics (WS7)
|
|
assign [class="Gimp"] workspace $ws7
|
|
assign [class="Inkscape"] workspace $ws7
|
|
|
|
# Gaming
|
|
assign [class="retroarch"] workspace $ws8
|
|
|
|
# Audio (WS9)
|
|
assign [class="Rhythmbox"] workspace $ws9
|
|
assign [instance="ncmpcpp"] workspace $ws9
|
|
|
|
# Video (WS10)
|
|
assign [class="obs"] workspace $ws10
|
|
assign [class="vlc"] workspace $ws10
|
|
|
|
# Clearnet Browsers (WS11)
|
|
assign [class="qutebrowser"] workspace $ws11
|
|
assign [class="Firefox"] workspace $ws11
|
|
assign [class="Chromium"] workspace $ws11
|
|
assign [class="Epiphany"] workspace $ws11
|
|
assign [class="Falkon"] workspace $ws11
|
|
assign [class="Midori"] workspace $ws11
|
|
|
|
# Scratchpad
|
|
for_window [instance="keepassxc-sp"] move scratchpad
|
|
for_window [instance="keepassxc-sp"] border pixel 3
|
|
for_window [instance="keepassxc-sp"] resize set 800 600
|
|
|
|
# Other
|
|
for_window [class="Gsimplecal"] floating enable
|
|
|
|
|
|
# vim: filetype=i3
|