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
2021-06-23 19:52:39 +03:00
set $font PT Sans Expert:size=11
2016-10-03 12:16:20 +03:00
2022-04-11 18:20:36 +03:00
font pango:Fantasque Sans Mono 13
#font pango:Cascadia Code PL 11
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
2016-12-06 13:28:07 +02:00
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
2017-12-18 12:59:59 +02:00
# workaround for firefox
bindsym Control+q exec /bin/true
2022-04-14 11:39:51 +03:00
# screenshot
bindsym $mod+Shift+s exec screenshot-tool
2016-10-03 12:16:20 +03:00
# start dmenu (a program launcher)
2021-10-29 11:37:19 +03:00
bindsym $mod+y exec dmenu_multicmd "$HOME/.displayrc.yaml" -i -fn "$font"
2019-10-30 17:52:11 +02:00
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"
2020-01-17 17:43:39 +02:00
bindsym $mod+u exec dmenu_pass -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)
2021-10-29 11:37:19 +03:00
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
2017-06-13 17:52:54 +03:00
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
2020-01-17 17:43:39 +02:00
bindsym $mod+Shift+o move workspace to output right
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
2022-07-06 18:53:00 +03:00
bindsym $mod+Shift+r restart
2019-10-30 17:52:11 +02:00
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
2019-10-30 17:52:11 +02:00
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'"
2019-10-30 17:52:11 +02:00
2016-10-03 12:16:20 +03:00
# lock screen
2017-08-08 14:02:56 +03:00
bindsym $mod+z exec "xscreensaver-command -lock"
2019-10-30 17:52:11 +02:00
2017-03-17 12:00:48 +02:00
# 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
2019-10-30 17:52:11 +02:00
# mpd keys
bindsym XF86AudioPlay exec "mpc toggle"
bindsym XF86AudioStop exec "mpc stop"
bindsym XF86AudioNext exec "mpc next"
bindsym XF86AudioPrev exec "mpc prev"
2020-09-28 17:23:28 +03:00
# volume keys
#bindsym XF86AudioRaiseVolume exec "ponymix increase 2"
#bindsym XF86AudioLowerVolume exec "ponymix decrease 2"
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
2022-04-11 18:20:36 +03:00
status_command "i3status-rs"
2019-02-26 22:16:51 +02:00
tray_output primary
2022-04-11 18:20:36 +03:00
colors {
background #2c2c2c
}
2016-10-03 12:16:20 +03:00
}
2016-10-20 10:40:37 +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
2016-10-04 14:48:46 +03:00
force_focus_wrapping yes
2016-10-04 14:42:26 +03:00
2017-10-20 11:10:41 +03:00
# software
2022-07-06 18:53:00 +03:00
for_window [class="GalaxyBudsClient"] floating enable
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="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
2019-03-13 11:12:16 +02:00
for_window [class="vlc"] floating enable
2019-01-29 12:18:16 +02:00
for_window [class="X64"] floating enable
2017-10-20 11:10:41 +03:00
for_window [title="^Cacti - Realtime"] floating enable
2019-04-22 18:37:22 +03:00
for_window [class="java-lang-Thread"] floating enable
2020-01-17 17:43:39 +02:00
for_window [class="^sun-awt"] floating enable
2017-10-20 11:10:41 +03:00
# scratchpad
2019-11-26 14:25:39 +02:00
for_window [class="KeePassXC"] move scratchpad, scratchpad show
2018-07-06 15:47:53 +03:00
for_window [title="^vimwiki$"] move scratchpad, scratchpad show
2019-11-26 14:25:39 +02:00
bindsym $mod+i [class="KeePassXC"] scratchpad show
2018-07-06 15:47:53 +03:00
bindsym $mod+n [title="^vimwiki$"] scratchpad show
2016-10-03 12:16:20 +03:00
# execs
2019-03-13 12:54:26 +02:00
exec --no-startup-id "$HOME/.autostart"