# 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')" # 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 # 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+space 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" # 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" } # 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