dotfiles/config/i3/config.j2

192 lines
6.4 KiB
Plaintext
Raw Normal View History

2020-10-18 13:01:24 +02:00
# vi:syntax=conf
2015-07-16 13:49:19 +02:00
# i3 config file (v4)
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
2015-09-26 21:32:00 +02:00
# Set mod key (Mod1=<Alt>, Mod4=<Super>)
2015-07-16 13:49:19 +02:00
set $mod Mod4
2015-09-26 21:32:00 +02:00
# set default desktop layout (default is tiling)
# workspace_layout tabbed <stacking|tabbed>
# Configure border style <normal|1pixel|pixel xx|none|pixel>
new_window pixel 2
new_float normal
# Hide borders
hide_edge_borders both
2015-07-16 13:49:19 +02:00
2015-09-26 21:32:00 +02:00
2015-07-16 13:49:19 +02:00
mouse_warping output
2015-07-16 13:49:19 +02:00
2015-09-26 21:32:00 +02:00
# Workspace names
2017-07-02 22:06:24 +02:00
set $WS1 1
set $WS2 2
set $WS3 3
set $WS4 4
set $WS5 5
set $WS6 6
set $WS7 7
set $WS8 8
set $WS9 9
set $WS10 10
2015-07-16 13:49:19 +02:00
# Workspace output
2021-11-09 13:59:25 +01:00
{% set screens = x11_screens | default(['DEFAULT']) %}
{% for i in range(1, 11) %}
workspace "$WS{{ i }}" output {{ screens[(i - 1) % (screens | length)] }}
{% endfor %}
2015-09-26 21:32:00 +02:00
2019-10-17 12:44:30 +02:00
# Default layout = tabs, since I mostly exclusively use them
workspace_layout tabbed
2015-09-26 21:32:00 +02:00
# Open specific applications in floating mode
2017-11-02 16:48:43 +01:00
for_window [title="pacmixer"] floating enable border pixel 2
2019-08-11 17:06:45 +02:00
for_window [class="Firefox"] layout tabbed # Doesn't seem to work anymore
2016-06-20 17:28:17 +02:00
for_window [class="qutebrowser"] layout tabbed
2015-09-26 21:32:00 +02:00
for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable
2018-07-10 14:50:07 +02:00
for_window [ title="^pdfpc.*" window_role="presenter" ] move to output left, fullscreen
for_window [ title="^pdfpc.*" window_role="presentation" ] move to output right, fullscreen
2015-09-26 21:32:00 +02:00
# switch to workspace with urgent window automatically
for_window [urgent=latest] focus
2015-07-16 13:49:19 +02:00
2018-10-14 16:59:49 +02:00
# Set shut down, restart and locking features
set $mode_kblock Keyboard lock
mode "$mode_kblock" {
bindsym $mod+Shift+Escape mode "$mode_kblock"
}
"$mod+Shift+Escape" = "mode "$mode_kblock"";
2018-10-14 16:59:49 +02:00
2015-09-26 21:32:00 +02:00
# Set shut down, restart and locking features
set $locker $HOME/.config/i3/lock
set $mode_system [L] Vérouillage [E] Déconnexion [S] Veille [H] Hibernation [R] Redémarrage [P] Extinction
mode "$mode_system" {
bindsym l exec --no-startup-id $locker, mode "default"
bindsym e exit, mode "default"
2016-12-04 14:20:46 +01:00
bindsym s exec --no-startup-id $locker & systemctl suspend, mode "default"
bindsym h exec --no-startup-id $locker & systemctl hibernate, mode "default"
2015-09-26 21:32:00 +02:00
bindsym r exec --no-startup-id systemctl reboot, mode "default"
2016-12-04 14:20:46 +01:00
bindsym p exec --no-startup-id systemctl poweroff -i, mode "default"
2015-09-26 21:32:00 +02:00
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
"$mod+Escape" = "mode "$mode_system"";
2015-07-16 13:49:19 +02:00
# resize window (you can also use the mouse for that)
2015-09-26 21:32:00 +02:00
mode "Resize" {
2015-07-16 13:49:19 +02:00
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 10 px or 10 ppt; exec ~/.config/i3/focus_windows
bindsym j resize grow height 10 px or 10 ppt; exec ~/.config/i3/focus_windows
bindsym k resize shrink height 10 px or 10 ppt; exec ~/.config/i3/focus_windows
bindsym l resize grow width 10 px or 10 ppt; exec ~/.config/i3/focus_windows
2015-07-16 13:49:19 +02:00
2016-10-28 07:50:59 +02:00
## 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
2015-07-16 13:49:19 +02:00
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
"$mod+r" = "mode "Resize"";
2015-07-16 13:49:19 +02:00
2019-10-17 12:44:30 +02:00
set $mode_pres_main "Presentation (main display)"
mode $mode_pres_main {
bindsym b workspace $WS3, workspace $WS4, mode $mode_pres_sec
2019-03-20 22:14:09 +01:00
# back to normal: Enter or Escape
2019-10-17 12:44:30 +02:00
bindsym q mode "default"
# bindsym Escape mode "default"
bindsym Return mode "default"
}
set $mode_pres_sec "Presentation (secondary display)"
mode $mode_pres_sec {
bindsym b workspace $WS2, workspace $WS1, mode $mode_pres_main
# back to normal: Enter or Escape
bindsym q mode "default"
# bindsym Escape mode "default"
2019-03-20 22:14:09 +01:00
bindsym Return mode "default"
}
"$mod+Shift+p" = "mode $mode_pres_main";
2019-03-20 22:14:09 +01:00
set $mode_screen Screen setup [A] Auto [L] Load [S] Save [R] Remove [D] Default
"$mod+t" = "mode "$mode_screen"";
mode "$mode_screen" {
bindsym a exec autorandr --change --force, mode "default"
bindsym l exec ~/.config/i3/autorandrloadmenu, mode "default"
bindsym s exec ~/.config/i3/autorandrsavemenu, mode "default"
bindsym r exec ~/.config/i3/autorandrremovemenu, mode "default"
bindsym d exec ~/.config/i3/autorandrdefaultmenu, mode "default"
2015-07-16 13:49:19 +02:00
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Screen temperature ("redness") setting
"$mod+y" = "mode "$mode_temp"";
2017-02-11 16:22:44 +01:00
set $mode_temp Temperature [R] Red [D] Dust storm [C] Campfire [O] Normal [A] All nighter [B] Blue
mode "$mode_temp" {
bindsym r exec sct 1000
bindsym d exec sct 2000
bindsym c exec sct 4500
bindsym o exec sct
bindsym a exec sct 8000
bindsym b exec sct 10000
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
2015-09-26 21:32:00 +02:00
# Inactivity settings
2015-11-20 14:03:59 +01:00
exec --no-startup-id xautolock -time 10 -locker 'xset dpms force standby' -killtime 1 -killer '$locker'
"$mod+F1" = "exec --no-startup-id sh -c "sleep .25 && xset dpms force off"";
"$mod+F4" = "exec --no-startup-id xautolock -disable";
"$mod+F5" = "exec --no-startup-id xautolock -enable";
2015-09-26 21:32:00 +02:00
2015-07-16 13:49:19 +02:00
2015-09-26 21:32:00 +02:00
# Autostart applications
#exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Password remembering
#exec --no-startup-id gnome-keyring-daemon # Password remembering
2020-10-17 23:47:48 +02:00
# exec --no-startup-id urxvtd -q -f # urxvt daemon
{% if auto_numlock %}
2016-06-10 18:28:56 +02:00
exec --no-startup-id numlockx on # Activate Num lock
{% endif %}
2018-05-21 10:57:19 +02:00
exec --no-startup-id unclutter -root # Hide mouse cursor after some time
#exec --no-startup-id dunst # Notifications (handled by systemd)
2017-07-26 09:42:41 +02:00
exec --no-startup-id keynav # Keyboard cursor controller
#exec --no-startup-id mpd # Music Player Daemon (handled by systemd)
2018-10-06 10:27:36 +02:00
# exec --no-startup-id ~/.config/i3/ashuffle # MPD Auto-refill
2020-01-06 16:23:50 +01:00
exec --no-startup-id autorandr --change --force # Screen configuration and everything that depends on it
{% if has_battery %}
exec --no-startup-id ~/.config/i3/batteryNotify -d # Battery state notification
{% endif %}
2020-12-27 14:20:44 +01:00
# exec --no-startup-id ~/.config/i3/aw_start # Activity tracker
2015-07-16 13:49:19 +02:00