dotfiles/i3/multi/config

306 lines
9.7 KiB
Plaintext
Raw Normal View History

2017-04-25 13:37:26 +02:00
set $mod Mod4
2026-08-21 10:54:29 +02:00
set $leftoutput DP-3
set $rightoutput HDMI-0
2017-04-25 13:37:26 +02:00
font pango:monospace 8
floating_modifier $mod
# start a terminal
2026-08-21 10:54:29 +02:00
bindsym $mod+Return exec alacritty
2017-04-25 13:37:26 +02:00
2017-09-08 12:01:00 +02:00
bindsym $mod+b exec i3lock -i ~/.config/i3/matrix.png -t
2017-04-25 13:37:26 +02:00
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
2026-08-21 10:54:29 +02:00
bindsym $mod+i exec rofi -show
2017-04-25 13:37:26 +02:00
# change focus
2026-08-21 10:54:29 +02:00
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
2017-04-25 13:37:26 +02:00
# 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
2026-08-21 10:54:29 +02:00
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
2017-04-25 13:37:26 +02:00
# 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
bindsym $mod+Control+t focus output left
bindsym $mod+Control+n focus output right
bindsym $mod+Control+Left move workspace to output left
bindsym $mod+Control+Right move workspace to output right
# split in horizontal orientation
bindsym $mod+c split h
# split in vertical orientation
bindsym $mod+period split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+u layout stacking
2026-08-21 10:54:29 +02:00
bindsym $mod+t layout tabbed
2017-04-25 13:37:26 +02:00
bindsym $mod+p layout toggle split
bindsym $mod+z sticky toggle
# toggle tiling / floating
bindsym $mod+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+Shift+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
2026-08-21 10:54:29 +02:00
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+Tab workspace next_on_output
bindsym $mod+Shift+Tab workspace prev_on_output
2017-04-25 13:37:26 +02:00
# move focused container to workspace
2026-08-21 10:54:29 +02:00
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
2017-04-25 13:37:26 +02:00
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
2026-08-21 10:54:29 +02:00
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
2017-04-25 13:37:26 +02:00
# reload the configuration file
bindsym $mod+Shift+x reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+o restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+p 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'"
2021-10-29 09:28:53 +02:00
# dunst
bindsym Control+space exec dunstctl close
bindsym Control+Shift+space exec dunstctl close-all
2026-08-21 10:54:29 +02:00
bindsym Control+grave exec dunstctl history-pop
2021-10-29 09:28:53 +02:00
bindsym Control+period exec dunstctl context
2026-08-21 10:54:29 +02:00
# scratchpad
bindsym $mod+Shift+grave move scratchpad
bindsym $mod+grave scratchpad show
2017-04-25 13:37:26 +02:00
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym t resize shrink width 10 px or 10 ppt
bindsym s resize grow height 10 px or 10 ppt
bindsym r resize shrink height 10 px or 10 ppt
bindsym n resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
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
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+o mode "resize"
mode "move" {
set $normal 50
set $withshift 5
set $withcontrol 100
set $withmod 200
bindsym t move left $normal px
bindsym s move down $normal px
bindsym r move up $normal px
bindsym n move right $normal px
bindsym Left move left $normal px
bindsym Down move down $normal px
bindsym Up move up $normal px
bindsym Right move right $normal px
bindsym Shift+t move left $withshift px
bindsym Shift+s move down $withshift px
bindsym Shift+r move up $withshift px
bindsym Shift+n move right $withshift px
bindsym Shift+Left move left $withshift px
bindsym Shift+Down move down $withshift px
bindsym Shift+Up move up $withshift px
bindsym Shift+Right move right $withshift px
bindsym Control+t move left $withcontrol px
bindsym Control+s move down $withcontrol px
bindsym Control+r move up $withcontrol px
bindsym Control+n move right $withcontrol px
bindsym Control+Left move left $withcontrol px
bindsym Control+Down move down $withcontrol px
bindsym Control+Up move up $withcontrol px
bindsym Control+Right move right $withcontrol px
bindsym $mod+t move left $withmod px
bindsym $mod+s move down $withmod px
bindsym $mod+r move up $withmod px
bindsym $mod+n move right $withmod px
bindsym $mod+Left move left $withmod px
bindsym $mod+Down move down $withmod px
bindsym $mod+Up move up $withmod px
bindsym $mod+Right move right $withmod px
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+m mode "move"
2026-08-21 10:54:29 +02:00
set $mode_launcher launch
bindsym $mod+e mode "$mode_launcher"
mode "$mode_launcher" {
bindsym f exec firefox; mode "default"
bindsym t exec thunderbird; mode "default"
bindsym s exec steam; mode "default"
bindsym Escape mode "default"
bindsym Return mode "default"
}
2017-04-25 13:37:26 +02:00
bar {
2017-07-27 09:53:13 +02:00
output $leftoutput
2026-08-21 10:54:29 +02:00
strip_workspace_numbers yes
font pango:DejaVu Sans Mono, FontAwesome 8
2017-04-25 13:37:26 +02:00
status_command i3blocks -c ~/.config/i3blocks/left-config
}
bar {
2017-07-27 09:53:13 +02:00
output $rightoutput
2026-08-21 10:54:29 +02:00
strip_workspace_numbers yes
font pango:DejaVu Sans Mono, FontAwesome 8
2017-04-25 13:37:26 +02:00
status_command i3blocks -c ~/.config/i3blocks/right-config
}
2017-10-24 14:04:46 +02:00
workspace_auto_back_and_forth no
2017-04-25 13:37:26 +02:00
2026-08-21 10:54:29 +02:00
set $ws_browser_1 10:browser:1
set $ws_browser_2 11:browser:2
set $ws_steam steam
set $ws_lutris lutris
set $ws_mail 12:mail
set $ws_im 13:im
2017-04-25 13:37:26 +02:00
workspace 1 output $leftoutput
workspace 2 output $leftoutput
workspace 3 output $leftoutput
workspace 4 output $leftoutput
workspace 5 output $leftoutput
2026-08-21 10:54:29 +02:00
workspace $ws_browser_1 output $leftoutput
workspace $ws_browser_2 output $rightoutput
workspace $ws_steam output $leftoutput
workspace $ws_lutris output $leftoutput
2017-04-25 13:37:26 +02:00
workspace 6 output $rightoutput
workspace 7 output $rightoutput
workspace 8 output $rightoutput
workspace 9 output $rightoutput
workspace 10 output $rightoutput
2026-08-21 10:54:29 +02:00
workspace $ws_mail output $rightoutput
workspace $ws_im output $rightoutput
assign [class="^firefox" instance="^Navigator$"] workspace $ws_browser_1
assign [class="^org.mozilla.Thunderbird$"] workspace $ws_mail
2017-08-17 19:56:14 +02:00
2026-08-21 10:54:29 +02:00
assign [class="^Alacritty$" instance="^lucy-code$"] workspace 1
assign [class="^Alacritty$" instance="^lucy-server$"] workspace 6
assign [class="^URxvt$" instance="-code$"] workspace 3
2017-08-17 19:56:14 +02:00
assign [class="^URxvt$" instance="^lesportecles-rails$"] workspace 8
assign [class="^URxvt$" instance="-server$"] workspace 8
2026-08-21 10:54:29 +02:00
assign [class="^xfreerdp$"] workspace 8
assign [class="^Microsoft Teams" title="Microsoft Teams(?! Notification)"] workspace $ws_im
assign [class="^steam$"] workspace $ws_steam
assign [class="^Lutris$"] workspace $ws_lutris
assign [class="^Mattermost$"] workspace $ws_im
assign [class="^discord$"] workspace $ws_im
bindsym XF86Calculator exec "alacritty --class Alacritty,Float"
for_window [class="^Gcolor3$"] floating enable
for_window [class="^Alacritty$" instance="^Float$"] floating enable
2017-09-08 12:01:28 +02:00
for_window [class="^mpv$"] floating enable
for_window [class="^Pinentry$"] floating enable
for_window [class="^TeamViewer$"] floating enable
2026-08-21 10:54:29 +02:00
for_window [title="Microsoft Teams Notification"] floating enable, sticky enable
for_window [title="^Steam - News"] floating enable
for_window [title="^Origin$"] floating enable
for_window [class="Yad"] floating enable
bindsym XF86HomePage workspace $ws_browser_1
bindsym $mod+XF86HomePage workspace $ws_browser_2
bindsym $mod+Shift+XF86HomePage move container to workspace $ws_browser_1
bindsym $mod+Control+XF86HomePage move container to workspace $ws_browser_2
bindsym XF86Mail workspace $ws_mail
bindsym $mod+Shift+XF86Mail move container to workspace $ws_mail
2017-04-25 13:37:26 +02:00
2026-08-21 10:54:29 +02:00
bindsym $mod+XF86Mail workspace $ws_im
bindsym $mod+Control+XF86Mail move container to workspace $ws_im
2017-04-25 13:37:26 +02:00
# Pulse Audio controls
2026-08-21 10:54:29 +02:00
bindsym XF86AudioRaiseVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.05+ && pkill -RTMIN+10 i3blocks"
bindsym XF86AudioLowerVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.05- && pkill -RTMIN+10 i3blocks"
2017-10-24 16:27:05 +02:00
2026-08-21 10:54:29 +02:00
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.02+ && pkill -RTMIN+10 i3blocks"
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id "wpctl set-volume @DEFAULT_SINK@ 0.02- && pkill -RTMIN+10 i3blocks"
2017-10-24 16:27:05 +02:00
2026-08-21 10:54:29 +02:00
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks"
2017-04-25 13:37:26 +02:00
# Media player controls
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
bindsym XF86AudioNext exec --no-startup-id mpc next
2017-10-24 14:04:46 +02:00
bindsym XF86AudioPrev exec --no-startup-id mpc prev
2017-04-25 13:37:26 +02:00
2026-08-21 10:54:29 +02:00
bindsym Print exec "flameshot gui"
2017-09-08 12:01:28 +02:00
new_window pixel 2
2017-04-25 13:37:26 +02:00
mouse_warping none