1
0
Fork 0
vdotfiles/i3_config

196 lines
5.8 KiB
Text
Raw Normal View History

2016-10-03 12:16:20 +03:00
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
2017-02-02 18:50:11 +02:00
set $i3_term default-terminal-emulator
set $terminus -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-*
set $terminus_xft xos4 Terminus:Bold:pixelsize=14
set $font Fira Sans Condensed:size=10
2016-10-03 12:16:20 +03:00
font pango:Fira Sans Condensed 10
2016-10-03 12:16:20 +03:00
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+x exec $i3_term
2016-10-03 12:16:20 +03:00
# kill focused window
2016-10-03 19:38:17 +03:00
bindsym $mod+Shift+c kill
2016-10-03 12:16:20 +03:00
# workaround for firefox
bindsym Control+q exec /bin/true
2016-10-03 12:16:20 +03:00
# start dmenu (a program launcher)
bindsym $mod+s 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"
2016-10-03 12:16:20 +03:00
# 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
2016-10-03 13:56:19 +03:00
bindsym $mod+f fullscreen
2016-10-03 12:16:20 +03:00
# change container layout (stacked, tabbed, toggle split)
#bindsym $mod+s layout stacking
2016-10-03 12:16:20 +03:00
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
2016-10-03 13:56:19 +03:00
bindsym $mod+Shift+Return floating toggle
2016-10-03 12:16:20 +03:00
# change focus between tiling / floating windows
2016-10-03 13:56:19 +03:00
bindsym $mod+Return focus mode_toggle
2016-10-03 12:16:20 +03:00
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
bindsym $mod+Shift+a focus child
2016-10-03 12:16:20 +03:00
2016-10-03 12:47:29 +03:00
# move to another screen
bindsym $mod+Shift+o move workspace to output up
2016-10-03 12:47:29 +03:00
2016-10-03 12:16:20 +03:00
# 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
2016-10-04 14:42:26 +03:00
bindsym $mod+o workspace back_and_forth
2016-10-03 12:16:20 +03:00
# 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
2016-10-03 19:38:17 +03:00
bindsym $mod+Shift+r reload
2016-10-03 12:16:20 +03:00
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
2016-10-04 13:53:32 +03:00
bindsym $mod+Control+r restart
2016-10-03 12:16:20 +03:00
# 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'"
2016-10-03 12:16:20 +03:00
# 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"
2016-10-03 12:16:20 +03:00
# mpd keys
bindsym XF86AudioPlay exec "mpc toggle"
bindsym XF86AudioStop exec "mpc stop"
bindsym XF86AudioNext exec "mpc next"
bindsym XF86AudioPrev exec "mpc prev"
2016-10-03 12:16:20 +03:00
# 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"
2019-02-26 22:16:51 +02:00
tray_output primary
2016-10-03 12:16:20 +03:00
}
workspace_layout tabbed
2016-10-03 12:16:20 +03:00
new_window pixel 1
new_float pixel 1
hide_edge_borders both
2016-10-04 14:42:26 +03:00
workspace_auto_back_and_forth yes
force_focus_wrapping yes
2016-10-04 14:42:26 +03:00
2016-10-03 12:16:20 +03:00
# rules
2019-02-23 02:50:49 +02:00
# workspace 6 is for always floating
for_window [workspace=6] floating enable
assign [class="Firefox"] 1
assign [class="Steam"] 6
2017-10-20 11:10:41 +03:00
# software
2018-06-22 20:05:04 +03:00
for_window [class="jetbrains-toolbox"] floating enable
2017-10-20 11:10:41 +03:00
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
2019-03-13 11:12:16 +02:00
for_window [class="vlc"] floating enable
for_window [class="X64"] floating enable
2017-10-20 11:10:41 +03:00
for_window [class="(?i)firefox" instance="^(?!Navigator$)"] floating enable
for_window [title="^Cacti - Realtime"] floating enable
for_window [class="java-lang-Thread"] floating enable
2017-10-20 11:10:41 +03:00
# scratchpad
for_window [class="KeePassXC"] move scratchpad, scratchpad show
2018-07-06 15:47:53 +03:00
for_window [title="^vimwiki$"] move scratchpad, scratchpad show
for_window [class="Vpnui"] move scratchpad, scratchpad show
bindsym $mod+i [class="KeePassXC"] scratchpad show
2018-07-06 15:47:53 +03:00
bindsym $mod+n [title="^vimwiki$"] scratchpad show
bindsym $mod+y [class="Vpnui"] scratchpad show
2016-10-03 12:16:20 +03:00
# execs
exec --no-startup-id "$HOME/.autostart"