# i3 config file (v4) # Please see http://i3wm.org/docs/userguide.html for a complete reference! # Set mod key (Mod1=, Mod4=) set $mod Mod4 # set default desktop layout (default is tiling) # workspace_layout tabbed # Configure border style new_window pixel 2 new_float normal # Hide borders hide_edge_borders both # change borders #bindsym $mod+u border none #bindsym $mod+y border pixel 2 #bindsym $mod+n border normal # Compatibility layer for people coming from other backgrounds bindsym Mod1+Tab exec --no-startup-id rofi -modi window -show window bindsym Mod1+F2 exec --no-startup-id rofi -modi drun -show drun bindsym Mod1+F4 kill # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. font pango:DejaVu Sans 8 font pango:Sans 8 # Use Mouse+$mod to drag floating windows floating_modifier $mod # kill focused window bindsym $mod+z kill bindsym button2 kill bindsym $mod+c exec --no-startup-id rofi-pass --last-used bindsym $mod+i exec --no-startup-id rofimoji bindsym $mod+plus exec --no-startup-id rofi -modi ssh -show ssh bindsym $mod+ù exec --no-startup-id rofi -modi ssh -show ssh -ssh-command '{terminal} -e {ssh-client} {host} -t "sudo -s -E"' bindsym $mod+Tab exec --no-startup-id rofi -modi window -show window # start program launcher bindsym $mod+d exec --no-startup-id rofi -modi run -show run bindsym $mod+Shift+d exec --no-startup-id rofi -modi drun -show drun # Start Applications bindsym $mod+Return exec urxvtc bindsym $mod+Shift+Return exec urxvt bindsym $mod+p exec thunar # bindsym $mod+m exec qutebrowser --override-restore --backend=webengine bindsym $mod+m exec firefox # Volume control bindsym XF86AudioRaiseVolume exec pactl set-sink-mute @DEFAULT_SINK@ false; exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioLowerVolume exec pactl set-sink-mute @DEFAULT_SINK@ false; exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ true bindsym $mod+F7 exec pactl suspend-sink @DEFAULT_SINK@ 1; exec pactl suspend-sink @DEFAULT_SINK@ 0 # Re-synchronize bluetooth headset bindsym XF86AudioPrev exec mpc prev bindsym XF86AudioPlay exec mpc toggle bindsym XF86AudioNext exec mpc next bindsym $mod+F10 exec ~/.config/scripts/showKeyboardLayout bindsym $mod+F11 exec xterm -e 'pacmixer' bindsym $mod+F12 exec xterm -e 'pacmixer' #Brightness control bindsym XF86MonBrightnessDown exec xbacklight -dec 5 -time 0 bindsym XF86MonBrightnessUp exec xbacklight -inc 5 -time 0 # Screenshots bindsym Print exec scrot -ue 'mv $f ~/Screenshots/ && optipng ~/Screenshots/$f' bindsym $mod+Print exec scrot -e 'mv $f ~/Screenshots/ && optipng ~/Screenshots/$f' bindsym Ctrl+Print exec sleep 1 && scrot -se 'mv $f ~/Screenshots/ && optipng ~/Screenshots/$f' focus_follows_mouse no mouse_warping output # change focus bindsym $mod+h focus left; exec ~/.config/i3/focus_windows bindsym $mod+j focus down; exec ~/.config/i3/focus_windows bindsym $mod+k focus up; exec ~/.config/i3/focus_windows bindsym $mod+l focus right; exec ~/.config/i3/focus_windows ## 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; exec ~/.config/i3/focus_windows bindsym $mod+Shift+j move down; exec ~/.config/i3/focus_windows bindsym $mod+Shift+k move up; exec ~/.config/i3/focus_windows bindsym $mod+Shift+l move right; exec ~/.config/i3/focus_windows ## 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 # workspace back and forth (with/without active container) workspace_auto_back_and_forth no bindsym $mod+b workspace back_and_forth; exec ~/.config/i3/focus_windows bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth; exec ~/.config/i3/focus_windows # split in horizontal orientation bindsym $mod+g split h; exec ~/.config/i3/focus_windows # split in vertical orientation bindsym $mod+v split v; exec ~/.config/i3/focus_windows # toggle fullscreen mode for the focused container bindsym $mod+f fullscreen toggle; exec ~/.config/i3/focus_windows # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking; exec ~/.config/i3/focus_windows bindsym $mod+w layout tabbed; exec ~/.config/i3/focus_windows bindsym $mod+e layout toggle split; exec ~/.config/i3/focus_windows # toggle tiling / floating bindsym $mod+Shift+space floating toggle; exec ~/.config/i3/focus_windows # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle; exec ~/.config/i3/focus_windows # focus the parent container bindsym $mod+a focus parent; exec ~/.config/i3/focus_windows # focus the child container bindsym $mod+q focus child; exec ~/.config/i3/focus_windows # Workspace names 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 # Workspace output workspace "$WS1" output eDP-1-1 workspace "$WS2" output HDMI-0 workspace "$WS3" output eDP-1-1 workspace "$WS4" output HDMI-0 workspace "$WS5" output eDP-1-1 workspace "$WS6" output HDMI-0 workspace "$WS7" output eDP-1-1 workspace "$WS8" output HDMI-0 workspace "$WS9" output eDP-1-1 workspace "$WS10" output HDMI-0 # switch to workspace bindsym $mod+1 workspace $WS1; exec ~/.config/i3/focus_windows bindsym $mod+2 workspace $WS2; exec ~/.config/i3/focus_windows bindsym $mod+3 workspace $WS3; exec ~/.config/i3/focus_windows bindsym $mod+4 workspace $WS4; exec ~/.config/i3/focus_windows bindsym $mod+5 workspace $WS5; exec ~/.config/i3/focus_windows bindsym $mod+6 workspace $WS6; exec ~/.config/i3/focus_windows bindsym $mod+7 workspace $WS7; exec ~/.config/i3/focus_windows bindsym $mod+8 workspace $WS8; exec ~/.config/i3/focus_windows bindsym $mod+9 workspace $WS9; exec ~/.config/i3/focus_windows bindsym $mod+0 workspace $WS10; exec ~/.config/i3/focus_windows #navigate workspaces next / previous bindsym $mod+Ctrl+h workspace prev_on_output; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+l workspace next_on_output; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+j workspace prev; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+k workspace next; exec ~/.config/i3/focus_windows ##navigate workspaces next / previous (arrow keys) #bindsym $mod+Ctrl+Left workspace prev_on_output #bindsym $mod+Ctrl+Right workspace next_on_output #bindsym $mod+Ctrl+Down workspace prev #bindsym $mod+Ctrl+Up workspace next # Move to workspace next / previous with focused container bindsym $mod+Ctrl+Shift+h move container to workspace prev_on_output; workspace prev_on_output; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+Shift+l move container to workspace next_on_output; workspace next_on_output; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+Shift+j move container to workspace prev; workspace prev; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+Shift+k move container to workspace next; workspace next; exec ~/.config/i3/focus_windows ## Move to workspace next / previous with focused container (arrow keys) #bindsym $mod+Ctrl+Shift+Left move container to workspace prev_on_output; workspace prev_on_output #bindsym $mod+Ctrl+Shift+Right move container to workspace next_on_output; workspace next_on_output #bindsym $mod+Ctrl+Shift+Down move container to workspace prev; workspace prev #bindsym $mod+Ctrl+Shift+Up move container to workspace next; workspace next # move focused container to workspace bindsym $mod+ctrl+1 move container to workspace $ws1; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+2 move container to workspace $ws2; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+3 move container to workspace $ws3; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+4 move container to workspace $ws4; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+5 move container to workspace $ws5; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+6 move container to workspace $ws6; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+7 move container to workspace $ws7; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+8 move container to workspace $ws8; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+9 move container to workspace $ws9; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+0 move container to workspace $ws10; exec ~/.config/i3/focus_windows # move to workspace with focused container bindsym $mod+shift+1 move container to workspace $ws1; workspace $ws1; exec ~/.config/i3/focus_windows bindsym $mod+shift+2 move container to workspace $ws2; workspace $ws2; exec ~/.config/i3/focus_windows bindsym $mod+shift+3 move container to workspace $ws3; workspace $ws3; exec ~/.config/i3/focus_windows bindsym $mod+shift+4 move container to workspace $ws4; workspace $ws4; exec ~/.config/i3/focus_windows bindsym $mod+shift+5 move container to workspace $ws5; workspace $ws5; exec ~/.config/i3/focus_windows bindsym $mod+shift+6 move container to workspace $ws6; workspace $ws6; exec ~/.config/i3/focus_windows bindsym $mod+shift+7 move container to workspace $ws7; workspace $ws7; exec ~/.config/i3/focus_windows bindsym $mod+shift+8 move container to workspace $ws8; workspace $ws8; exec ~/.config/i3/focus_windows bindsym $mod+shift+9 move container to workspace $ws9; workspace $ws9; exec ~/.config/i3/focus_windows bindsym $mod+shift+0 move container to workspace $ws10; workspace $ws10; exec ~/.config/i3/focus_windows ## move workspaces to screen #bindsym $mod+ctrl+shift+r move workspace to output right #bindsym $mod+ctrl+shift+l move workspace to output left #bindsym $mod+Ctrl+Shift+u move workspace to output above #bindsym $mod+Ctrl+Shift+d move workspace to output below # move workspaces to screen (arrow keys) bindsym $mod+ctrl+shift+Right move workspace to output right; exec ~/.config/i3/focus_windows bindsym $mod+ctrl+shift+Left move workspace to output left; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+Shift+Up move workspace to output above; exec ~/.config/i3/focus_windows bindsym $mod+Ctrl+Shift+Down move workspace to output below; exec ~/.config/i3/focus_windows # Default layout = tabs, since I mostly exclusively use them workspace_layout tabbed # Open specific applications in floating mode for_window [title="pacmixer"] floating enable border pixel 2 for_window [class="Firefox"] layout tabbed # Doesn't seem to work anymore for_window [class="qutebrowser"] layout tabbed for_window [window_role="pop-up"] floating enable for_window [window_role="task_dialog"] floating enable for_window [ title="^pdfpc.*" window_role="presenter" ] move to output left, fullscreen for_window [ title="^pdfpc.*" window_role="presentation" ] move to output right, fullscreen # switch to workspace with urgent window automatically for_window [urgent=latest] focus # focus urgent window #bindsym $mod+x [urgent=latest] focus # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+e exit # Set shut down, restart and locking features set $mode_kblock Keyboard lock mode "$mode_kblock" { bindsym $mod+Shift+Escape mode "$mode_kblock" } bindsym $mod+Shift+Escape mode "$mode_kblock" # 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" bindsym s exec --no-startup-id $locker & systemctl suspend, mode "default" bindsym h exec --no-startup-id $locker & systemctl hibernate, mode "default" bindsym r exec --no-startup-id systemctl reboot, mode "default" bindsym p exec --no-startup-id systemctl poweroff -i, mode "default" # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Escape mode "$mode_system" # resize window (you can also use the mouse for that) mode "Resize" { # 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. 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 ## 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+r mode "Resize" set $mode_pres_main "Presentation (main display)" mode $mode_pres_main { bindsym b workspace $WS3, workspace $WS4, mode $mode_pres_sec # back to normal: Enter or Escape 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" bindsym Return mode "default" } bindsym $mod+Shift+p mode $mode_pres_main set $mode_screen Screen setup [A] Auto [L] Load [S] Save [R] Remove [D] Default bindsym $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" # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } # Screen temperature ("redness") setting bindsym $mod+y mode "$mode_temp" 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" } # Colors set_from_resource $background i3wm.background #272822 set_from_resource $foreground i3wm.foreground #f1ebeb set_from_resource $color00 i3wm.color0 #48483e set_from_resource $color01 i3wm.color1 #dc2566 set_from_resource $color02 i3wm.color2 #8fc029 set_from_resource $color03 i3wm.color3 #d4c96e set_from_resource $color04 i3wm.color4 #55bcce set_from_resource $color05 i3wm.color5 #9358fe set_from_resource $color06 i3wm.color6 #56b7a5 set_from_resource $color07 i3wm.color7 #acada1 set_from_resource $color08 i3wm.color8 #76715e set_from_resource $color09 i3wm.color9 #fa2772 set_from_resource $color10 i3wm.color10 #a7e22e set_from_resource $color11 i3wm.color11 #e7db75 set_from_resource $color12 i3wm.color12 #66d9ee set_from_resource $color13 i3wm.color13 #ae82ff set_from_resource $color14 i3wm.color14 #66efd5 set_from_resource $color15 i3wm.color15 #cfd0c2 # Inactivity settings exec --no-startup-id xautolock -time 10 -locker 'xset dpms force standby' -killtime 1 -killer '$locker' bindsym $mod+F1 exec --no-startup-id sh -c "sleep .25 && xset dpms force off" bindsym $mod+F4 exec --no-startup-id xautolock -disable bindsym $mod+F5 exec --no-startup-id xautolock -enable # 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 exec --no-startup-id urxvtd -q -f # urxvt daemon exec --no-startup-id numlockx on # Activate Num lock exec --no-startup-id unclutter -root # Hide mouse cursor after some time #exec --no-startup-id dunst # Notifications (handled by systemd) exec --no-startup-id keynav # Keyboard cursor controller #exec --no-startup-id mpd # Music Player Daemon (handled by systemd) # exec --no-startup-id ~/.config/i3/ashuffle # MPD Auto-refill exec --no-startup-id autorandr --change --force # Screen configuration and everything that depends on it exec --no-startup-id ~/.config/i3/batteryNotify -d # Battery state notification exec --no-startup-id ~/.config/i3/aw_start # Activity tracker set $ignore #ff00000 # Theme colors #class border backgr. text indicator child_border client.focused $color02 $color02 $background $color08 $color10 client.focused_inactive $color03 $color03 $color08 $color15 $color14 client.unfocused $color08 $color08 $color07 $color11 $color00 client.urgent $color01 $color01 $color07 $foreground $color09 client.placeholder $ignore $color06 $color07 $ignore $color14 client.background $color15 # bar { # i3bar_command ~/.config/lemonbar/bar.py # }