diff --git a/i3/config b/i3/config index 73950c9..647144e 100644 --- a/i3/config +++ b/i3/config @@ -1,106 +1,56 @@ +# Variables set $mod Mod4 +set $x_switch workspace + +# Assignments for_window [class=ownCloud] floating disable assign [class=Firefox] 2 assign [class=midori4] 2 assign [class=Chromium-browser] 2 -exec --no-startup-id "zsh -c 'xrandr --output LVDS1 --primary || xrandr --output HDMI3 --primary'" + +# 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: ' -bindsym $mod+semicolon exec quickswitch.py -d 'rofi -font "Monospace 12" -dmenu' +# Rofi shortcuts bindsym $mod+p exec rofi -font "Monospace 12" -show run -#bindsym $mod+shift+p exec "~/.i3/run.sh pass" bindsym $mod+shift+p exec "rofi-pass" - +# Misc shortcuts bindsym --release Num_Lock exec "xdotool key --clearmodifiers Shift+Insert;numlockx on" -workspace_layout tabbed bindsym Print exec "shutter -s" - -#exec --no-startup-id xautolock -time 10 -locker '~/.i3/run.sh screensaver' - -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 - -## set some nice colors border background text -client.focused #2f2f2f #2f2f2f #ffffff -client.unfocused $bg $bg $ia -client.focused_inactive $bg $bg $ac -client.urgent $rd $rd $tx - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -smart_borders on -bar { - height 12 - status_command i3status --config ~/.i3/i3status.conf - #status_command i3blocks -c ~/.i3/i3blocks.conf - font -*-*-*-*-*-*-8-*-*-*-*-*-*-* - mode dock - #position top - modifier Mod4 - 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 - } -} - -new_window pixel 1 -# split in vertical orientation +# Split in vertical orientation bindsym $mod+v split h -# split in horizontal orientation +# Split in horizontal orientation bindsym $mod+shift+v split v - -# split in vertical orientation - -# resize window (you can also use the mouse for that) -mode "resize" { - # These bindings trigger as soon as you enter the resize mode - 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 - # same bindings, but for the arrow keys - 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" -} -#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -floating_modifier $mod +# 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 -bindsym $mod+c move absolute position center -bindsym $mod+F1 exec "~/.i3/run.sh lock" +# 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 $mod+backslash exec "synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')" bindsym XF86AudioRaiseVolume exec "amixer set Master 1%+ unmute" bindsym XF86AudioLowerVolume exec "amixer set Master 1%- unmute" bindsym XF86AudioMute exec "amixer -D pulse set Master 1+ toggle" +# 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 @@ -117,19 +67,15 @@ 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 workspace back_and_forth -bindsym $mod+o workspace back_and_forth -bindsym $mod+bracketleft workspace prev -bindsym $mod+bracketright workspace next -#set $x_switch exec --no-startup-id /usr/local/bin/i3-wk-switch.py -set $x_switch workspace bindsym $mod+1 $x_switch 1 bindsym $mod+2 $x_switch 2 bindsym $mod+3 $x_switch 3 @@ -150,47 +96,86 @@ 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+shift+r reload -bindsym $mod+shift+minus exec --no-startup-id banshee --previous -bindsym $mod+shift+equal exec --no-startup-id banshee --next -bindsym $mod+minus exec --no-startup-id banshee --pause -bindsym $mod+equal exec --no-startup-id banshee --play - -# To initialize wallpapers, run: -# export DISPLAY=:0.0;mkdir -p ~/.i3/wall;cp ~/ownCloud/wallpaper/std/* ~/.i3/wall;cd ~/.i3/wall;rename -v 's/(.* )+//' *;mogrify -resize `xrandr -q|perl -F'\s|,' -lane "/^Sc/&&print join '',@F[8..10]"`^ -verbose -gravity center -format png *;rm *.jpg;rm *.jpeg bindsym $mod+grave exec "slock" bindsym $mod+shift+grave exec "slock" -# Tees the filename to /tmp/wall for debugging -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+q restart -# exit i3 (logs you out of your X session) -bindsym $mod+shift+q exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" - -# resize window (you can also use the mouse for that) - bindsym $mod+r mode "resize" bindsym $mod+u focus parent bindsym $mod+shift+u focus child -bindsym $mod+m focus mode_toggle -# wallOM initialization: -# echo -n "Resolution: ";read a;mkdir -p ~/.i3/wallOM;cp ~/ownCloud/wallpaper/std/* ~/.i3/wallOM;cd ~/.i3/wallOM;rename -v 's/(.* )+//' *;mogrify -resize $a^ -verbose -gravity center -format png *;rm *.jpg;rm *.jpeg -# feh doesn't work with 2 monitors, so the wallOM folder exists for computers with 2 monitors - -#wallpaper +# Exit/restart i3 +bindsym $mod+q restart +bindsym $mod+shift+q exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" +# Wallpaper bindsym $mod+shift+w exec "~/.i3/run.sh wall" + +# Visuals +workspace_layout tabbed +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 + font -*-*-*-*-*-*-8-*-*-*-*-*-*-* + 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 LVDS1 --primary || xrandr --output HDMI3 --primary'" +# Wallpaper exec --no-startup-id "~/.i3/run.sh wall" -#startup +# Keyboard exec --no-startup-id xmodmap ~/.xmodmap exec --no-startup-id /home/stonewareslord/xmodmap.sh -#exec --no-startup-id i3-msg /usr/bin/redshift t -l 36.3:-80.3 -t 2000:2000 -# exec --no-startup-id i3-msg 'workspace 2; exec /usr/bin/firefox' +# Misc exec --no-startup-id i3-msg 'workspace 1; exec /usr/bin/urxvt' exec --no-startup-id /usr/bin/shutter --min_at_startup -#exec --no-startup-id "sleep 25;/usr/bin/owncloud" exec --no-startup-id /usr/bin/redshift -l 36.3:-80.3 -t 4000:2000 exec --no-startup-id /usr/bin/parcellite exec --no-startup-id /usr/bin/numlockx exec --no-startup-id /bin/zsh -c 'pidof syncthing||screen -dmS syncthing /home/stonewareslord/applications/syncthing/syncthing ' -#exec --no-startup-id /usr/bin/udiskie -tv -#smart_borders on # vim: ts=2:sw=2:et