234 lines
8.2 KiB
Plaintext
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
|