sync/i3/config
2018-07-02 20:18:44 -04:00

234 lines
8.2 KiB
Plaintext

# Variables
set $mod Mod4
set $x_switch workspace
# Assignments
for_window [class=nextcloud] floating disable
assign [class=Firefox] 2
assign [class=google-chrome] 2
assign [class=Google-chrome] 2
assign [class=midori4] 2
assign [class=Chromium-browser] 2
# Bindings
floating_modifier $mod
# Hide/show bar
bindsym $mod+apostrophe bar mode hide
bindsym $mod+shift+apostrophe bar mode dock
# Rename a workspace
bindsym $mod+shift+d exec i3-input -F 'rename workspace to "%s"' -P 'Rename to: '
# Rofi shortcuts
bindsym $mod+p exec "~/.i3/run.sh run"
# Clipboard manager
bindsym ctrl+Mod1+v exec "~/.i3/run.sh clip"
# Pass shortcut
#bindsym $mod+shift+p exec "keepass --auto-type"
bindsym $mod+shift+p exec "rofi-pass --last-used"
# Misc shortcuts
bindsym --release Num_Lock exec "xdotool key --clearmodifiers Shift+Insert;numlockx on"
bindsym Print exec "~/.i3/run.sh screenshot"
# Split in vertical orientation
bindsym $mod+v split h
# Split in horizontal orientation
bindsym $mod+shift+v split v
# Use keyboard as a mouse
bindsym $mod+z exec xdotool click 1
bindsym $mod+shift+z exec xdotool click 3
# Show/hide title
bindsym $mod+i border normal
bindsym $mod+shift+i border 1pixel
# Run a terminal
bindsym $mod+Return exec urxvt
bindsym $mod+shift+Return exec urxvt -cd "$(xcwd)"
# Terminate program
bindsym $mod+shift+c kill
# XF86 Buttons
bindsym XF86MonBrightnessUp exec "xbacklight -inc 10 -time 0 -steps 1"
bindsym XF86MonBrightnessDown exec "xbacklight -dec 10 -time 0 -steps 1"
bindsym $mod+XF86MonBrightnessUp exec "xbacklight -inc 5 -time 0 -steps 1"
bindsym $mod+XF86MonBrightnessDown exec "xbacklight -dec 5 -time 0 -steps 1"
bindsym XF86TouchpadToggle exec "synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')"
bindsym XF86AudioRaiseVolume exec "amixer set Master 7%+ unmute"
bindsym XF86AudioLowerVolume exec "amixer set Master 7%- unmute"
bindsym XF86AudioMute exec "amixer -D pulse set Master 1+ toggle;amixer set Master 0%"
# Toggle toucpad
bindsym $mod+backslash exec "synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')"
# Toggle tap to click
bindsym $mod+shift+backslash exec "synclient TapButton2=$(($(synclient -l | grep -c 'TapButton1.*=.*0') * 3));synclient TapButton1=$(synclient -l | grep -c 'TapButton1.*=.*0')"
# Movement
bindsym $mod+o workspace back_and_forth
bindsym $mod+bracketleft workspace prev
bindsym $mod+bracketright workspace next
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+shift+h move left
bindsym $mod+shift+j move down
bindsym $mod+shift+k move up
bindsym $mod+shift+l move 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
# Moving to corners
bindsym $mod+ctrl+h exec "~/.i3/run.sh move left"
bindsym $mod+ctrl+j exec "~/.i3/run.sh move bottom"
bindsym $mod+ctrl+k exec "~/.i3/run.sh move top"
bindsym $mod+ctrl+l exec "~/.i3/run.sh move right"
# Fullscreen
bindsym $mod+f fullscreen
bindsym $mod+shift+f fullscreen global
# Layouts
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+comma exec "~/.i3/run.sh window"
bindsym $mod+1 $x_switch 1
bindsym $mod+2 $x_switch 2
bindsym $mod+3 $x_switch 3
bindsym $mod+4 $x_switch 4
bindsym $mod+5 $x_switch 5
bindsym $mod+6 $x_switch 6
bindsym $mod+7 $x_switch 7
bindsym $mod+8 $x_switch 8
bindsym $mod+9 $x_switch 9
bindsym $mod+0 $x_switch 10
bindsym $mod+shift+1 move container to workspace 1
bindsym $mod+shift+2 move container to workspace 2
bindsym $mod+shift+3 move container to workspace 3
bindsym $mod+shift+4 move container to workspace 4
bindsym $mod+shift+5 move container to workspace 5
bindsym $mod+shift+6 move container to workspace 6
bindsym $mod+shift+7 move container to workspace 7
bindsym $mod+shift+8 move container to workspace 8
bindsym $mod+shift+9 move container to workspace 9
bindsym $mod+shift+0 move container to workspace 10
bindsym $mod+d exec "~/.i3/run.sh copy"
bindsym $mod+grave exec "~/.i3/run.sh screen-lock"
bindsym $mod+shift+grave exec "~/.i3/run.sh screen-lock"
bindsym $mod+r mode "resize"
bindsym $mod+u focus parent
bindsym $mod+shift+u focus child
bindsym --release $mod+n exec "~/.i3/run.sh paste"
# Reload i3
bindsym $mod+shift+r reload;exec notify-send -a i3 Reloaded
# Exit/restart i3
bindsym $mod+q restart
#bindsym $mod+shift+q exec "i3-nagbar -m 'NMRestart/Shutdown/Restart/Logout' -t warning -b NMRestart 'nmcli radio wifi off;sleep 1;nmcli radio wifi on' -b Shutdown 'sudo /sbin/poweroff' -b Restart 'sudo /sbin/shutdown -r now' -b Logout 'i3-msg exit' -b Sleep 'amixer set Master 0% mute;slock&until echo mem|sudo tee /sys/power/state>/dev/null;do sleep 1;done;sleep 4;nmcli radio wifi off;sleep 3;nmcli radio wifi on'"
bindsym $mod+shift+q exec "~/.i3/run.sh shutdownprompt"
# Wallpaper
bindsym $mod+shift+w exec "~/.i3/run.sh wall"
# Visuals
workspace_layout tabbed
hide_edge_borders smart
#smart_borders on
new_window pixel 1
# Colors
set $bg #121212
set $fg #9f9f9f
set $hi #efef8f
set $ac #a0afa0
set $tx #ffffff
set $ia #8f8f8f
set $be #8faf9f
set $yw #ccdc90
set $gn #88b090
set $rd #e89393
# border background text
client.focused #2f2f2f #2f2f2f #ffffff
client.unfocused $bg $bg $ia
client.focused_inactive $bg $bg $ac
client.urgent $rd $rd $tx
# Bar
bar {
#height 12
status_command i3status --config ~/.i3/i3status.conf
#status_command ~/.i3/status.sh
font -*-*-*-*-*-*-8-*-*-*-*-*-*-*
tray_output primary
mode dock
modifier $mod
colors {
background $bg
statusline $fg
separator $hi
focused_workspace $gn $bg $ac
active_workspace $gn $ac $tx
inactive_workspace $bg $bg $ia
urgent_workspace $rd $bg $ac
}
}
# Resize mode
mode "resize" {
bindsym $mod+h resize shrink width 1 px or 1 ppt
bindsym $mod+j resize grow height 1 px or 1 ppt
bindsym $mod+k resize shrink height 1 px or 1 ppt
bindsym $mod+l resize grow width 1 px or 1 ppt
bindsym Left resize shrink width 15 px or 15 ppt
bindsym Down resize grow height 15 px or 15 ppt
bindsym Up resize shrink height 15 px or 15 ppt
bindsym Right resize grow width 15 px or 15 ppt
# Back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Minecraft mode
mode "minecraft" {
bindsym $mod+r exec "xdotool mousedown 3"
bindsym $mod+shift+r exec "xdotool mouseup 3";mode "default"
bindsym $mod+d exec "xdotool mousedown 1"
bindsym $mod+shift+d exec "xdotool mouseup 1";mode "default"
bindsym $mod+s exec "sleep 1;xdotool keydown Shift_R;sleep 1;xdotool mousedown 3"
bindsym $mod+shift+s exec "xdotool keyup Shift_R;xdotool mouseup 3";mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+m mode "minecraft"
# Startup
# Monitor setup
exec --no-startup-id "zsh -c 'xrandr --output eDP1 --primary || xrandr --output HDMI3 --primary'"
# Mute on boot
exec --no-startup-id amixer set Master 0% mute
# Wallpaper
exec --no-startup-id "~/.i3/run.sh wall"
# Keyboard
exec --no-startup-id xmodmap ~/.xmodmap
#exec --no-startup-id ~/xmodmap.sh
# Misc
# Compositor
#exec --no-startup-id compton
# Spawn a terminal
#TODO: Currently the terminal will spawn in the current workspace
exec --no-startup-id /usr/bin/urxvt
# Orange tint
exec --no-startup-id /usr/bin/redshift -l 36.3:-80.3 -t 4000:2000
# Sync x11 clipboards
#exec --no-startup-id /usr/bin/parcellite
exec --no-startup-id /usr/bin/gpaste-client dr
# Turn off numlock!
exec --no-startup-id /usr/bin/numlockx
# Run firefox/firefox-bin
exec --no-startup-id firefox -p a || firefox-bin -p a
# Start syncthing if it hasn't already been started
#exec --no-startup-id /bin/zsh -c 'pidof syncthing||screen -dmS syncthing ~/bin/syncthing'
exec --no-startup-id nextcloud
# Start kdeconnect
#exec --no-startup-id "~/bin/indicator-kdeconnect"
# riot
exec --no-startup-id riot-web --hidden
# vim: ts=2:sw=2:et