1
0
Fork 0
vdotfiles/i3_config

189 lines
5.5 KiB
Text

# 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 $font PT Sans Expert:size=11
font pango:PT Sans Expert 11
# 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+y exec dmenu_multicmd "$HOME/.displayrc.yaml" -i -fn "$font"
bindsym $mod+d exec dmenu_run -p run -i -fn "$font"
bindsym $mod+p exec dmenu_ssh "$i3_term -e tmux_ssh" -i -fn "$font"
bindsym $mod+u exec dmenu_pass -i -fn "$font"
# 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 right
# 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"
# mpd keys
bindsym XF86AudioPlay exec "mpc toggle"
bindsym XF86AudioStop exec "mpc stop"
bindsym XF86AudioNext exec "mpc next"
bindsym XF86AudioPrev exec "mpc prev"
# volume keys
#bindsym XF86AudioRaiseVolume exec "ponymix increase 2"
#bindsym XF86AudioLowerVolume exec "ponymix decrease 2"
# 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
# software
for_window [class="jetbrains-toolbox"] floating enable
for_window [class="Vpnui"] floating enable
for_window [class="Deadbeef"] floating enable
for_window [class="mpv"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="pinentry"] 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 [title="^Cacti - Realtime"] floating enable
for_window [class="java-lang-Thread"] floating enable
for_window [class="^sun-awt"] floating enable
# scratchpad
for_window [class="KeePassXC"] move scratchpad, scratchpad show
for_window [title="^vimwiki$"] move scratchpad, scratchpad show
bindsym $mod+i [class="KeePassXC"] scratchpad show
bindsym $mod+n [title="^vimwiki$"] scratchpad show
# execs
exec --no-startup-id "$HOME/.autostart"