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
|
|
|
|
|
2023-11-03 01:37:37 +01: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
|
|
|
|
|
2015-11-30 10:56:46 +01:00
|
|
|
|
# Workspace output
|
2021-11-09 13:59:25 +01:00
|
|
|
|
{% set screens = x11_screens | default(['DEFAULT']) %}
|
2021-06-16 22:59:35 +02:00
|
|
|
|
{% for i in range(1, 11) %}
|
|
|
|
|
workspace "$WS{{ i }}" output {{ screens[(i - 1) % (screens | length)] }}
|
|
|
|
|
{% endfor %}
|
2015-11-30 10:56:46 +01:00
|
|
|
|
|
2023-11-03 01:37:37 +01:00
|
|
|
|
|
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"
|
|
|
|
|
}
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$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"
|
|
|
|
|
}
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$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 window’s width.
|
|
|
|
|
# Pressing right will grow the window’s width.
|
|
|
|
|
# Pressing up will shrink the window’s height.
|
|
|
|
|
# Pressing down will grow the window’s height.
|
2019-10-30 16:39:55 +01:00
|
|
|
|
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"
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$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"
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$mod+Shift+p" = "mode $mode_pres_main";
|
2019-03-20 22:14:09 +01:00
|
|
|
|
|
2017-07-06 21:53:33 +02:00
|
|
|
|
set $mode_screen Screen setup [A] Auto [L] Load [S] Save [R] Remove [D] Default
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$mod+t" = "mode "$mode_screen"";
|
2017-07-06 21:53:33 +02:00
|
|
|
|
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"
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-06 21:53:33 +02:00
|
|
|
|
# Screen temperature ("redness") setting
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$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"
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-12 07:45:14 +01:00
|
|
|
|
|
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'
|
2023-11-03 01:37:37 +01:00
|
|
|
|
"$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
|
2018-04-10 15:38:18 +02:00
|
|
|
|
#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
|
2021-06-16 22:59:35 +02:00
|
|
|
|
{% if auto_numlock %}
|
2016-06-10 18:28:56 +02:00
|
|
|
|
exec --no-startup-id numlockx on # Activate Num lock
|
2021-06-16 22:59:35 +02:00
|
|
|
|
{% endif %}
|
2018-05-21 10:57:19 +02:00
|
|
|
|
exec --no-startup-id unclutter -root # Hide mouse cursor after some time
|
2018-04-10 15:38:18 +02:00
|
|
|
|
#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
|
2018-04-10 15:38:18 +02:00
|
|
|
|
#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
|
2021-06-16 22:59:35 +02:00
|
|
|
|
{% if has_battery %}
|
2018-04-10 15:38:18 +02:00
|
|
|
|
exec --no-startup-id ~/.config/i3/batteryNotify -d # Battery state notification
|
2021-06-16 22:59:35 +02:00
|
|
|
|
{% 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
|
|
|
|
|