Files
dotfiles/i3/config.j2

373 lines
13 KiB
Django/Jinja

# 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!
################################################################################
### VARIABLES ##################################################################
################################################################################
# Use the win-key as modifier
set $mod Mod4
# The default terminal
set $terminal "urxvt -title terminal"
set $calc "urxvt -title calc -e $SHELL -i -c calc"
set $scriptdir ~/.i3/scripts
# Keys for the exit mode
set $key_lock l
set $key_logout e
set $key_suspend s
set $key_hibernate h
set $key_reboot r
set $key_shutdown Shift+S
set $signal_lock lock
set $signal_logout logout
set $signal_suspend suspend
set $signal_hibernate hibernate
set $signal_reboot reboot
set $signal_shutdown shutdown
set $workspace1 1
set $workspace2 2
set $workspace3 3
set $workspace4 4
set $workspace5 5
set $workspace6 6
set $workspace7 7
set $workspace8 8
set $workspace9 9
set $workspace10 10
set $key_workspace1 1
set $key_workspace2 2
set $key_workspace3 3
set $key_workspace4 4
set $key_workspace5 5
set $key_workspace6 6
set $key_workspace7 7
set $key_workspace8 8
set $key_workspace9 9
set $key_workspace10 0
set $left h
set $down j
set $up k
set $right l
set $splith v
set $splitv c
set $split_toggle x
set $fullscreen f
set $layout_stacking s
set $layout_tabbed w
set $layout_default e
set $focus_parent q
set $focus_child a
set $floating_toggle Shift+space
set $focus_mode_toggle space
set $prev_on_output u
set $next_on_output i
set $workspace_back_and_forth asciicircum
set $pim_toggle Tab
set $reload Shift+C
set $restart Shift+R
set $exit Shift+E
set $kill Shift+Q
################################################################################
### WORKSPACE ASSIGNMENTS ######################################################
################################################################################
workspace $workspace1 output HDMI3
workspace $workspace2 output HDMI3
workspace $workspace3 output HDMI2
workspace $workspace4 output HDMI2
workspace $workspace5 output HDMI2
workspace $workspace6 output HDMI2
workspace $workspace7 output LVDS1
workspace $workspace8 output LVDS1
workspace $workspace9 output LVDS1
workspace $workspace10 output LVDS1
assign [class="^Keepassx$"] $workspace8
################################################################################
### KEYBINDINGS ################################################################
##################9#############################################################
### MOVING AND WINDOW BEHAVIOUR ############################################
bindsym $mod+$kill kill
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right 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+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right 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
bindsym $mod+$splith split h
bindsym $mod+$splitv split v
bindsym $mod+$fullscreen fullscreen
bindsym $mod+$layout_stacking layout stacking
bindsym $mod+$layout_tabbed layout tabbed
bindsym $mod+$layout_default layout default
bindsym $mod+$split_toggle layout toggle split
bindsym $mod+$floating_toggle floating toggle
bindsym $mod+$focus_mode_toggle focus mode_toggle
bindsym $mod+$focus_parent focus parent
bindsym $mod+$focus_child focus child
bindsym $mod+$key_workspace1 workspace $workspace1
bindsym $mod+$key_workspace2 workspace $workspace2
bindsym $mod+$key_workspace3 workspace $workspace3
bindsym $mod+$key_workspace4 workspace $workspace4
bindsym $mod+$key_workspace5 workspace $workspace5
bindsym $mod+$key_workspace6 workspace $workspace6
bindsym $mod+$key_workspace7 workspace $workspace7
bindsym $mod+$key_workspace8 workspace $workspace8
bindsym $mod+$key_workspace9 workspace $workspace9
bindsym $mod+$key_workspace10 workspace $workspace10
bindsym $mod+Shift+$key_workspace1 move container to workspace $workspace1
bindsym $mod+Shift+$key_workspace2 move container to workspace $workspace2
bindsym $mod+Shift+$key_workspace3 move container to workspace $workspace3
bindsym $mod+Shift+$key_workspace4 move container to workspace $workspace4
bindsym $mod+Shift+$key_workspace5 move container to workspace $workspace5
bindsym $mod+Shift+$key_workspace6 move container to workspace $workspace6
bindsym $mod+Shift+$key_workspace7 move container to workspace $workspace7
bindsym $mod+Shift+$key_workspace8 move container to workspace $workspace8
bindsym $mod+Shift+$key_workspace9 move container to workspace $workspace9
bindsym $mod+Shift+$key_workspace10 move container to workspace $workspace10
bindsym $mod+$prev_on_output workspace prev_on_output
bindsym $mod+$next_on_output workspace next_on_output
bindsym $mod+$workspace_back_and_forth workspace back_and_forth
bindsym $mod+Shift+$prev_on_output move container to workspace prev_on_output
bindsym $mod+Shift+$next_on_output move container to workspace next_on_output
bindsym $mod+$reload reload
bindsym $mod+$restart restart
bindsym $mod+$exit exit
### START APPLICATIONS #####################################################
bindsym $mod+d exec --no-startup-id ~/.i3/scripts/appmenu
bindsym $mod+Return exec $terminal
bindsym $mod+Shift+Return exec $calc
bindsym F1 exec --no-startup-id ~/.i3/scripts/shutdown-menu
bindsym F2 exec --no-startup-id ~/.i3/scripts/screenmenu
bindsym $mod+F1 exec --no-startup-id ~/.i3/scripts/i3exit lock
bindsym $mod+F2 exec --no-startup-id screencfg ~/.screencfg/all.yml ; exec --no-startup-id ~/.autostart/30_keyboard.sh
bindsym $mod+F3 exec --no-startup-id screencfg ~/.screencfg/laptop.yml ; exec --no-startup-id ~/.autostart/30_keyboard.sh
bindsym $mod+F4 exec --no-startup-id ~/.i3/scripts/i3exit suspend
bindsym $mod+Home exec --no-startup-id ~/.i3/scripts/shutdown-menu
bindsym $mod+Shift+v exec --no-startup-id redshift-toggle
bindsym $mod+Shift+$scratchpad move scratchpad
bindsym $mod+$scratchpad scratchpad show
bindsym $mod+$pim_toggle \
workspace $workspace10; \
mark --add pim_toggle; \
workspace $workspace1; \
move container to workspace $workspace10; \
[con_mark="pim_toggle"] focus; \
move container to workspace $workspace1; \
workspace $workspace1; \
[con_mark="pim_toggle"] focus
# bindsym $mod+$swap workspace $workspace1; move container to workspace $workspace10; workspace $workspace10; move container to workspace $workspace1; workspace $workspace1;
################################################################################
### MODES ######################################################################
################################################################################
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym $left resize shrink width 5 px or 5 ppt
bindsym $down resize grow height 5 px or 5 ppt
bindsym $up resize shrink height 5 px or 5 ppt
bindsym $right resize grow width 5 px or 5 ppt
bindsym 113 resize shrink width 5 px or 5 ppt
bindsym 116 resize grow height 5 px or 5 ppt
bindsym 111 resize shrink height 5 px or 5 ppt
bindsym 114 resize grow width 5 px or 5 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
################################################################################
### GENERAL SETUP ##############################################################
################################################################################
# Default orientation for new workspaces will be derived from aspect ratio
default_orientation auto
# New containers will start in tiling mode
workspace_layout default
new_window 1pixel
new_float normal 1
focus_follows_mouse yes
# Only map a popup in fullscreen mode if it belongs to the fullscreen window
# <smart|ignore|leave_fullscreen>
popup_during_fullscreen leave_fullscreen
# Do not always wrap but change to a container on the same level instead
force_focus_wrapping no
force_xinerama no
# Hit the current workspace button again to return to the previous workspace
workspace_auto_back_and_forth yes
# Draw a window as urgent when switching to its workspace, even if focused, for
# 500 ms
force_display_urgency_hint 500 ms
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
floating_minimum_size 0 x 0
floating_maximum_size 0 x 0
font pango:Inconsolata {{ machine.font_size }}
################################################################################
### COLOR SETTINGS #############################################################
################################################################################
# class border backgr. text indicator
client.focused #E16B40 #E16B40 #000000 #FF0000
client.focused_inactive #333333 #5f676a #ffffff #484e50
client.unfocused #333333 #202020 #cccccc #292d2e
client.urgent #2f343a #900000 #ffffff #900000
################################################################################
### APPLICATION SPECIFIC SETTINGS ##############################################
################################################################################
bindsym $mod+F6 exec --no-startup-id mumble
bindsym $mod+F7 exec --no-startup-id clementine
bindsym $mod+F8 exec --no-startup-id quasselclient
bindsym $mod+F9 exec --no-startup-id evolution
################################################################################
### SPECIAL KEYBINDS ###########################################################
################################################################################
bindsym XF86Sleep exec --no-startup-id $scriptdir/i3exit suspend
bindsym XF86AudioMute exec --no-startup-id $scriptdir/pa-volume mute-toggle
bindsym XF86AudioRaiseVolume exec --no-startup-id $scriptdir/pa-volume set-vol +3
bindsym XF86AudioLowerVolume exec --no-startup-id $scriptdir/pa-volume set-vol -3
bindsym XF86AudioPlay exec $scriptdir/spotify-control toggle
bindsym XF86AudioNext exec $scriptdir/spotify-control next
bindsym XF86AudioPrev exec $scriptdir/spotify-control previous
# keys seemingly switched
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 8 ; exec --no-startup-id $scriptdir/update-status
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 8 ; exec --no-startup-id $scriptdir/update-status
bindsym $mod+o exec --no-startup-id xautorandr ; exec --no-startup-id kill -SIGUSR2 $(cat $RUNDIR/wallchanger.$XDG_SESSION_ID.pid)'"
bindsym $mod+p exec --no-startup-id kill -SIGUSR1 $(cat $RUNDIR/wallchanger.$XDG_SESSION_ID.pid)
# exec --no-startup-id autostart
###############################################################################
### BARS #######################################################################
################################################################################
#
bar {
mode dock
position top
#tray_output HDMI3
tray_output primary
tray_padding 3
strip_workspace_numbers no
binding_mode_indicator yes
workspace_buttons yes
id bar-0
font pango:Inconsolata, FontAwesome {{ machine.font_size }}
colors {
background #222222
statusline #ffffff
separator #e16b40
focused_workspace #e16b40 #222222 #ffffff
active_workspace #222222 #5f676a #ffffff
inactive_workspace #222222 #222222 #dddddd
urgent_workspace #D00000 #D00000 #222222
binding_mode #222222 #e16b40 #222222
}
i3bar_command i3bar
status_command py3status --dbus-notify -c ~/.i3/i3status.conf
}