You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dotfiles/i3/.config/i3/config

335 lines
12 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# This file has been auto-generated by i3-config-wizard(1).
#
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout somewhen, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# font for window titles. ISO 10646 = Unicode
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
font xft:Deja Vu Sans 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
#/exec
# start a terminal
#bindsym $mod+Return exec --no-startup-id i3-one-tmux
bindsym $mod+Return [title="^scratch"] scratchpad show
bindsym Control+Mod1+t exec --no-startup-id i3-sensible-terminal
bindsym Control+Mod1+Shift+t exec --no-startup-id i3-sensible-terminal --title=scratch -e 'tmux attach'
# File manager
bindsym Control+Mod1+f exec --no-startup-id i3-sensible-terminal --title=filemanager -e 'zsh -c ranger'
# start lock
bindsym Control+Mod1+l exec --no-startup-id i3-exit.sh lock
bindsym Control+Mod1+Shift+w exec --no-startup-id chromium || chromium-browser
bindsym Control+Mod1+w exec --no-startup-id $BROWSER
bindsym Control+Mod1+v exec --no-startup-id pavucontrol
bindsym Control+Mod1+g exec --no-startup-id gvim
bindsym Control+Mod1+e exec --no-startup-id myemacs -c
bindsym $mod+Tab exec --no-startup-id winmenu.sh
bindsym Mod1+Tab exec --no-startup-id winmenu.sh
bindsym $mod+p [title="filemanager"] scratchpad show; [class="Nemo|Thunar"] scratchpad show
bindsym $mod+period [instance="emacs" title="^(?!myagenda$)"] scratchpad show
bindsym $mod+shift+comma exec --no-startup-id myemacs -nc --eval '(progn (find-file "~/Dropbox/Todo/org/rules.org") (org-agenda-list) (set-frame-name "myagenda"))'
bindsym $mod+c exec myemacs -n -e '(make-capture-frame)'
bindsym $mod+comma [title="^myagenda"] scratchpad show
# Spotify
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
# Volume
bindsym XF86AudioRaiseVolume exec --no-startup-id volume-up.sh
bindsym XF86AudioLowerVolume exec --no-startup-id volume-down.sh
bindsym XF86AudioMute exec --no-startup-id volume-toggle-mute.sh
# Brightness
#bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight +5
#bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -5
# kill focused window
bindsym $mod+q kill
# start dmenu (a program launcher)
#bindsym $mod+Space exec --no-startup-id dmenu_run
bindsym $mod+space exec --no-startup-id runmenu
bindsym $mod+o exec --no-startup-id filemenu $HOME
#
# Arandr magic
bindsym Mod1+F5 exec --no-startup-id monitors single
bindsym Mod1+F6 exec --no-startup-id monitors single-hdmi
bindsym Mod1+F7 exec --no-startup-id monitors dual-mirror
bindsym Mod1+F8 exec --no-startup-id monitors dual-home
bindsym Mod1+F9 exec --no-startup-id monitors dual
bindsym Mod1+F10 exec --no-startup-id xrandr --auto
bindsym Mod1+F11 exec --no-startup-id monitors # auto
# Move to displays
bindsym $mod+Mod1+j move workspace to output down
bindsym $mod+Mod1+k move workspace to output up
bindsym $mod+Mod1+l move workspace to output right
bindsym $mod+Mod1+h move workspace to output left
# Move windows in tiled mode
bindsym $mod+Shift+H move left 100px
bindsym $mod+Shift+J move down 100px
bindsym $mod+Shift+K move up 100px
bindsym $mod+Shift+L move right 100px
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+m mode "move"
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+Shift+g split h
# split in vertical orientation
bindsym $mod+Shift+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, default)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default
bindsym $mod+g layout splith
bindsym $mod+v layout splitv
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+i focus mode_toggle
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the first scratchpad window
bindsym $mod+minus [instance="*"] scratchpad show
# focus the parent container
bindsym $mod+u focus parent
# focus the child container
bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1: Term
bindsym $mod+2 workspace 2: Web
bindsym $mod+3 workspace 3: Edit
bindsym $mod+4 workspace 4: Viewer
bindsym $mod+5 workspace 5: Files
bindsym $mod+6 workspace 6: Music
bindsym $mod+7 workspace 7: Chat
bindsym $mod+8 workspace 8: Misc Big
bindsym $mod+9 workspace 9: Misc Small
bindsym $mod+0 workspace number 10
bindsym $mod+Control+h workspace prev
bindsym $mod+Control+l workspace next
# move focused container to workspace
bindsym $mod+Shift+exclam move container to workspace 1: Term
bindsym $mod+Shift+at move container to workspace 2: Web
bindsym $mod+Shift+numbersign move container to workspace 3: Edit
bindsym $mod+Shift+dollar move container to workspace 4: Viewer
bindsym $mod+Shift+percent move container to workspace 5: Files
bindsym $mod+Shift+asciicircum move container to workspace 6: Music
bindsym $mod+Shift+ampersand move container to workspace 7: Chat
bindsym $mod+Shift+asterisk move container to workspace 8: Misc Big
bindsym $mod+Shift+parenleft move container to workspace 9: Misc Small
bindsym $mod+Shift+parenright move container to workspace number 10
# reload the configuration file
bindsym $mod+Shift+C reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+R restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+E exec --no-startup-id i3-exit.sh logout
bindsym $mod+Mod1+s exec --no-startup-id i3-exit.sh suspend
bindsym $mod+Shift+p exec passmenu
bindsym $mod+Shift+n exec netmenu
# move with finer grain
mode "move" {
bindsym H move left 100px
bindsym J move down 100px
bindsym K move up 100px
bindsym L move right 100px
bindsym Shift+H move left 10 px
bindsym Shift+J move down 10px
bindsym Shift+K move up 10 px
bindsym Shift+L move right 10 px
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym H resize shrink width 100 px or 100 ppt
bindsym J resize grow height 100 px or 100 ppt
bindsym K resize shrink height 100 px or 100 ppt
bindsym L resize grow width 100 px or 100 ppt
bindsym Shift+H resize shrink width 10 px or 10 ppt
bindsym Shift+J resize grow height 10 px or 10 ppt
bindsym Shift+K resize shrink height 10 px or 10 ppt
bindsym Shift+L resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
bindsym $mod+n exec i3-input -F 'rename workspace to %s' -P 'New name: '
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
#status_command i3status
#}
# bar {
# mode dock
# position top
# font pango:DejaVu Sans 10
# workspace_buttons yes
# # status_command ~/.config/i3/status.sh
# status_command i3status -c ~/.config/i3status/conf
# colors {
# background #101010
# statusline #ffffff
# focused_workspace #101010 #586e75 #fdf6e3
# active_workspace #101010 #101010 #cb4b16
# inactive_workspace #101010 #101010 #93a1a1
# urgent_workspace #fdf6e3 #dc322f
# }
# }
# class border backgr. text indicator
client.focused #4c7899 #4c7899 fefef #93a1a1 #2e9ef4
client.focused_inactive #4c7899 #101010 #93a1a1 #484e50
client.unfocused #ffffff #101010 #93a1a1 #292d2e
client.urgent #2f343a #101010 #93a1a1 #900000
default_border pixel 5
# smart_borders on
workspace_layout tabbed
for_window [title="^floatingwin"] floating enable;
for_window [title="^capture"] floating enable;
for_window [title="^myagenda"] move to scratchpad
for_window [class="^Google-chrome$"] border none
for_window [class="^Chromium"] border none
for_window [class="^Pavucontrol"] floating enable
assign [class="Google-chrome" window_role="browser"] 2: Web
assign [class="Chromium" window_role="browser"] 2: Web
for_window [class="^Firefox$"] border none
for_window [class="^Polybar"] border none
assign [class="Firefox" window_role="browser"] 2: Web
for_window [class="^Xfce4-notifyd$"] floating enable; border none; focus mode_toggle
for_window [class="^termite"] border 1px
for_window [class="^lxterminal"] border 1px
for_window [class="^xfce4-terminal"] border 1px
for_window [title="^scratch"] move to scratchpad
assign [class="^Nemo|Thunar|Ranger"] 5: Files
for_window [title="^filemanager$"] move to scratchpad;
#KDE
for_window [class="Plasma-desktop"] border none
for_window [class="krunner"] border none
for_window [class="Kmix"] floating enable;
for_window [class="Plasmoidviewer"] floating enable;
for_window [class="Klipper"] floating enable; border none
for_window [class="Spotify"] move to workspace 6: Music
#assign [class="^Gvim$"] 3: Edit
#assign [class="^Evince$"] 4: Viewer
assign [class="^Audacious$"] 6: Music
assign [class="^Xchat$"] 7: Chat
#for_window [class="Pcmanfm"] floating enable
workspace "1: Term" output DP1
workspace "2: Web" output DP1
workspace "3: Edit" output DP1
workspace "4: Viewer" output eDP1
workspace "5: Files" output eDP1
workspace "6: Music" output eDP1
workspace "7: Chat" output eDP1
workspace "8: Misc Big" output DP1
workspace "9: Misc Small" output eDP1
gaps inner 8
gaps outer 5
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id i3-exit.sh lock, mode "default"
bindsym e exec --no-startup-id i3-exit.sh logout #, mode "default"
bindsym s exec --no-startup-id i3-exit.sh suspend #, mode "default"
bindsym h exec --no-startup-id i3-exit.sh hibernate, mode "default"
bindsym r exec --no-startup-id i3-exit.sh reboot, mode "default"
bindsym Shift+s exec --no-startup-id i3-exit.sh shutdown, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Delete mode "$mode_system"
bindsym $mod+Escape exec xfce4-session-logout
#exec --no-startup-id xautolock -corners '----' -time 10 -locker 'dm-tool lock' # lightdm
#exec xautolock -time 10 -corners "----" -locker 'i3lock -t -c 000000 -i ~/Pictures/Wallpapers/Game\ Over\ Hacker.png' &
exec --no-startup-id compton -b --config ~/.compton.conf
exec --no-startup-id dropbox start
exec --no-startup-id i3-sensible-terminal --title=filemanager -e 'ranger'
exec --no-startup-id nitrogen --restore
exec --no-startup-id nm-applet
exec --no-startup-id pasystray
exec --no-startup-id syndaemon -i 0.5 -d
exec --no-startup-id i3-sensible-terminal --title=scratch -e 'tmux attach'
exec --no-startup-id i3-exit.sh autolock
exec --no-startup-id xfce4-power-manager
#exec --no-startup-id xfsettingsd --sm-client-disable &
exec --no-startup-id clipit -n
exec --no-startup-id owncloud
exec --no-startup-id udiskie --no-notify --tray --use-udisks2
exec --no-startup-id polybar.sh