# i3 config file (v4) # # Please see http://i3wm.org/docs/userguide.html for a complete reference! set $mod Mod4 set $i3_term default-terminal-emulator set $i3_font -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-* set $dmenu_font xos4 Terminus:Bold:pixelsize=14 font $i3_font # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal bindsym $mod+x exec $i3_term # kill focused window bindsym $mod+Shift+c kill # workaround for firefox bindsym Control+q exec /bin/true # start dmenu (a program launcher) bindsym $mod+s exec dmenu_multicmd "$HOME/.displayrc.yaml" -i -fn "$dmenu_font" bindsym $mod+d exec dmenu_run -p run -i -fn "$dmenu_font" bindsym $mod+p exec dmenu_ssh "$i3_term -e termcompat ssh" -i -fn "$dmenu_font" bindsym $mod+u exec dmenu_pass -i -fn "$dmenu_font" bindsym $mod+Tab exec rofi -show window # 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+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right # 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+b split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen # change container layout (stacked, tabbed, toggle split) #bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+Return floating toggle # change focus between tiling / floating windows bindsym $mod+Return focus mode_toggle # focus the parent container bindsym $mod+a focus parent # focus the child container bindsym $mod+Shift+a focus child # move to another screen bindsym $mod+Shift+o move workspace to output left # switch to workspace bindsym $mod+1 workspace 1 bindsym $mod+2 workspace 2 bindsym $mod+3 workspace 3 bindsym $mod+4 workspace 4 bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 bindsym $mod+o workspace back_and_forth # move focused container to workspace 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 # reload the configuration file bindsym $mod+Shift+r reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Control+r restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+e 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'" # lock screen bindsym $mod+z exec "xscreensaver-command -lock" # toggle touchpad bindsym XF86TouchpadToggle exec "touchpad-toggle" bindsym XF86KbdBrightnessDown exec "keybrightness d" bindsym XF86KbdBrightnessUp exec "keybrightness u" # resize window (you can also use the mouse for that) mode "resize" { bindsym h resize shrink width 10 px or 10 ppt bindsym j resize grow height 10 px or 10 ppt bindsym k resize shrink height 10 px or 10 ppt bindsym l resize grow width 10 px or 10 ppt bindsym Left resize shrink width 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" bar { position top status_command "$HOME/vdstatus/vdstatus" tray_output primary } workspace_layout tabbed new_window pixel 1 new_float pixel 1 hide_edge_borders both workspace_auto_back_and_forth yes force_focus_wrapping yes # rules # workspace 6 is for always floating for_window [workspace=6] floating enable assign [class="Firefox"] 1 assign [class="Steam"] 6 # software for_window [class="jetbrains-toolbox"] floating enable for_window [class="Vpnui"] floating enable for_window [class="Deadbeef"] floating enable for_window [class="Google-musicmanager"] floating enable for_window [class="mpv"] floating enable for_window [class="Pavucontrol"] floating enable for_window [class="pinentry"] floating enable for_window [class="plugin-container"] floating enable for_window [class="Qmmp"] floating enable for_window [class="Vncviewer"] floating enable for_window [class="vlc"] floating enable for_window [class="X64"] floating enable for_window [class="(?i)firefox" instance="^(?!Navigator$)"] floating enable for_window [title="^Cacti - Realtime"] floating enable for_window [class="java-lang-Thread"] floating enable # scratchpad for_window [class="keepassxc"] move scratchpad, scratchpad show for_window [title="^vimwiki$"] move scratchpad, scratchpad show for_window [class="Vpnui"] move scratchpad, scratchpad show bindsym $mod+i [class="keepassxc"] scratchpad show bindsym $mod+n [title="^vimwiki$"] scratchpad show bindsym $mod+y [class="Vpnui"] scratchpad show # execs exec --no-startup-id "$HOME/.autostart"