# 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 "{{ machine.terminal_binary }} -title terminal" set $calc "{{ machine.terminal_binary }} -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{{ "" if machine.workspace.1 is not defined else ': ' ~ machine.workspace.1 }}" set $workspace2 "2{{ "" if machine.workspace.2 is not defined else ': ' ~ machine.workspace.2 }}" set $workspace3 "3{{ "" if machine.workspace.3 is not defined else ': ' ~ machine.workspace.3 }}" set $workspace4 "4{{ "" if machine.workspace.4 is not defined else ': ' ~ machine.workspace.4 }}" set $workspace5 "5{{ "" if machine.workspace.5 is not defined else ': ' ~ machine.workspace.5 }}" set $workspace6 "6{{ "" if machine.workspace.6 is not defined else ': ' ~ machine.workspace.6 }}" set $workspace7 "7{{ "" if machine.workspace.7 is not defined else ': ' ~ machine.workspace.7 }}" set $workspace8 "8{{ "" if machine.workspace.8 is not defined else ': ' ~ machine.workspace.8 }}" set $workspace9 "9{{ "" if machine.workspace.9 is not defined else ': ' ~ machine.workspace.9 }}" set $workspace10 "10{{ "" if machine.workspace.10 is not defined else ': ' ~ machine.workspace.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 {{ machine.screen.1 }} workspace $workspace2 output {{ machine.screen.2 }} workspace $workspace3 output {{ machine.screen.3 }} workspace $workspace4 output {{ machine.screen.4 }} workspace $workspace5 output {{ machine.screen.5 }} workspace $workspace6 output {{ machine.screen.6 }} workspace $workspace7 output {{ machine.screen.7 }} workspace $workspace8 output {{ machine.screen.8 }} workspace $workspace9 output {{ machine.screen.9 }} workspace $workspace10 output {{ machine.screen.0 }} assign [class="^Keepassx$"] $workspace8 assign [class="^Spotify$"] $workspace9 assign [class="^Google-chrome$"] $workspace7 ################################################################################ ### 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 \ unmark pim_toggle; \ mark origin; \ 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; \ unmark pim_toggle; \ [con_mark="^origin$"] focus; \ unmark origin; ################################################################################ ### 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 # default_border pixel 1 # default_floating_border normal hide_edge_borders smart focus_follows_mouse yes # Only map a popup in fullscreen mode if it belongs to the fullscreen window # 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) bindsym $mod+m exec --no-startup-id $scriptdir/pa-volume mute-toggle-mic # exec --no-startup-id autostart ############################################################################### ### BARS ####################################################################### ################################################################################ # bar { mode dock position bottom #tray_output HDMI3 tray_output primary tray_padding 2 strip_workspace_numbers no binding_mode_indicator yes workspace_buttons yes id bar-0 font pango:Inconsolata, FontAwesome {{ machine.font_size }} colors { background #272822 statusline #ffffff separator #444444 # separator #e16b40 # focused_background #303030 # focused_separator #272822 focused_workspace #e16b40 #272822 #ffffff active_workspace #272822 #5f676a #ffffff inactive_workspace #272822 #272822 #dddddd urgent_workspace #D00000 #D00000 #272822 binding_mode #272822 #e16b40 #272822 } i3bar_command i3bar status_command py3status --standalone --dbus-notify -c ~/.i3/i3status.conf }