Plusieurs personnes m'ont demander des informations sur les programmes, les config ainsi que les scripts que j'utilisais sur i3 pour leurs permettre de faire une version parfaite de ce WM.
J'ai donc décider de partager mon fichier de configuration ainsi que certains des scripts que j'utilise tout les jours.
J'espère que cela va en aider certain ou leurs donner des idées pour améliorer leurs config.
Il faut savoir que ma config change régulièrement car j'aime toujours optimiser certaines choses mais la base reste la même.
I3 config :
for_window [class="^.*"] border pixel 2
gaps inner 10
gaps outer -4
set $term --no-startup-id st
floating_modifier $mod
set $mod Mod4
set $shutdown sudo -A shutdown -h now
set $reboot sudo -A reboot
hide_edge_borders smart
workspace 1 gaps inner 1
workspace 1 gaps outer 0
workspace 2 gaps inner 5
workspace 2 gaps outer 10
workspace 3 gaps inner 1
workspace 3 gaps outer 0
workspace 4 gaps inner 5
workspace 4 gaps outer 10
workspace 5 gaps inner 20
workspace 5 gaps outer 20
workspace 6 gaps inner 1
workspace 6 gaps outer 0
workspace 10 gaps inner 1
workspace 10 gaps outer 0
exec --no-startup-id setbg
exec --no-startup-id dunst
#exec --no-startup-id pasystray
exec --no-startup-id copyq
#exec --no-startup-id kdeconnect-indicator
exec --no-startup-id ~/.config/polybar/launch.sh
#exec --no-startup-id xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55
#exec --no-startup-id ~/Téléchargements/I3/guake.sh
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg) &
exec --no-startup-id ~/.scripts/alternating_layouts.py
#exec --no-startup-id ~/.scripts/testlayout
exec --no-startup-id conky -c ~/.conkyrcnew
client.focused #555555 #555555 #ffffff #2e9ef4 #CC0000
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioStop exec --no-startup-id playerctl stop
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindcode 123 exec --no-startup-id pamixer -i 5
bindcode 122 exec --no-startup-id pamixer -d 5
bindsym XF86AudioMute exec --no-startup-id pamixer -t
bindsym Mod1+p exec --no-startup-id i3show
bindsym Print exec --no-startup-id voldown
bindsym Pause exec --no-startup-id volup
bindsym Scroll_Lock exec --no-startup-id date2
bindsym $mod+t exec --no-startup-id spoolerr
bindsym Mod1+m exec --no-startup-id ditdit
bindsym Mod1+z exec --no-startup-id dodo
bindsym --release $mod+Shift+F2 reload
bindsym $mod+Escape exec --no-startup-id flameshot gui
bindsym Mod1+d exec --no-startup-id sh -c 'df -h | dmenu -i -l 20 -fn Iosevka-16 | awk '{print $6}' | xargs -I {} st -e ranger "{}"'
bindsym $mod+Return workspace $ws2; exec st -f 'Iosevka-14'
bindsym Mod1+Return workspace $ws2; exec urxvt
bindsym $mod+Control+Return workspace $ws2; exec xterm -fg white -bg black -fa 'Monospace' -fs 13
bindsym Control+Return exec --no-startup-id tdrop -ma -w 1366 -y 0 -h 60% -n 10 st
bindsym $mod+k exec --no-startup-id keepassxc
bindsym Mod1+t exec --no-startup-id copy-text-area
bindsym $mod+e exec --no-startup-id easystroke
bindsym Mod1+e exec --no-startup-id killall easystroke
bindsym $mod+Shift+e exec --no-startup-id easystroke show
bindsym $mod+space floating toggle; sticky toggle; exec --no-startup-id hover center
bindsym $mod+Shift+x exec --no-startup-id prompt "Exit i3?" "i3-msg exit"
bindsym $mod+x layout tabbed
bindsym --release $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
bindsym --release $mod+Shift+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
bindsym Mod1+Shift+Down exec --no-startup-id rotate_layout.py -t 1 0
bindsym Mod1+Shift+Up exec --no-startup-id rotate_layout.py -t 1 1
bindsym $mod+w exec --no-startup-id fastbro
bindsym $mod+p exec --no-startup-id i3run -t alsamixer -e 'st -e alsamixer'
bindsym Mod1+r exec --no-startup-id tdrop -ma -y 0 -h 88% -n 1 st -e ranger
bindsym $mod+r exec --no-startup-id i3run -t ranger -e 'xterm -e ranger'
bindsym $mod+b exec --no-startup-id sh -c 'pkill onboard || onboard'
bindsym $mod+c exec --no-startup-id tdrop -ma -y 0 -h 88% -n 2 st -e calcurse
bindsym Mod1+i exec --no-startup-id tdrop -ma -y 0 -h 88% -n 3 st -e htop
bindsym $mod+i exec --no-startup-id i3run -t htop -e 'st -e htop'
bindsym Control+Up exec --no-startup-id i3resize up
bindsym Control+Right exec --no-startup-id i3resize right
bindsym Control+Down exec --no-startup-id i3resize down
bindsym Control+Left exec --no-startup-id i3resize left
bindsym $mod+Control+Up exec --no-startup-id i3resizefast up
bindsym $mod+Control+Right exec --no-startup-id i3resizefast right
bindsym $mod+Control+Down exec --no-startup-id i3resizefast down
bindsym $mod+Control+Left exec --no-startup-id i3resizefast left
bindsym Mod1+x exec --no-startup-id rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 10'
bindsym $mod+Shift+d exec --no-startup-id dmenuyoutube
#bindsym Mod1+x exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -dmenu -i -lines 12 -eh 1 -width 75 -padding 50 -columns 2 -opacity "85" -font "Iosevka 16"'
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu="menu-interface -l 20 -i"
bindsym Mod1+F12 exec --no-startup-id xterm -fullscreen -fg white -bg black -fa 'Monospace' -fs 14 -e ranger --cmd=fzf_locate
bindsym Control+F12 exec --no-startup-id tdrop -ma -w 1366 -y 0 -h 60% -n 10 st
#bindsym $mod+F9 exec --no-startup-id maimpick
#bindsym $mod+F10 exec --no-startup-id omp
bindcode Mod1+62 exec --no-startup-id fast
bindcode 49 exec --no-startup-id xterm -fg white -bg black -fa 'Monospace' -fs 13 -e ranger --cmd=fzf_locate
bindsym Control+F11 exec --no-startup-id dmenulauncher
bindcode $mod+49 exec --no-startup-id dmenuwhat
bindsym Mod1+f exec --no-startup-id tdrop -ma -y 0 -h 88% -n 4 st -e lf
bindsym $mod+f workspace $ws6; exec --no-startup-id st -e lf
bindsym Mod1+w exec --no-startup-id sh -c 'pkill vimb || vimb google.fr'
#bindsym Mod1+f exec --no-startup-id globfind
bindsym $mod+Shift+f exec --no-startup-id sh -c 'st -e nvim -c :Ag'
bindsym Control+Shift+f exec --no-startup-id sh -c 'st -e findperso ~/'
bindcode 135 fullscreen toggle
bindcode 134 floating toggle
bindsym Shift+Left move left
bindsym Shift+Down move down
bindsym Shift+Up move up
bindsym Shift+Right move right
bindsym $mod+Shift+Escape exec --no-startup-id xfce4-session-logout
#bindsym $mod+Shift+Escape exec --no-startup-id prompt "Shutdown computer?" "$shutdown"
bindsym Mod1+Left exec --no-startup-id i3MoveNext.sh -1
bindsym Mod1+Right exec --no-startup-id i3MoveNext.sh +1
bindsym $mod+Left focus left
bindsym $mod+Right focus right
bindsym $mod+Up focus up
bindsym $mod+Down workspace next
bindsym $mod+m exec --no-startup-id i3run -t music -e 'st -e cmu -n music cmus'
bindsym $mod+n exec --no-startup-id i3run -t newsboat -e 'st -e newsboat'
bindsym $mod+Mod1+c exec --no-startup-id color
bindsym $mod+v workspace $ws6; exec --no-startup-id st -e ~/.config/vifm/scripts/vifmrun
bindsym Mod1+s exec --no-startup-id copyq menu
bindsym $mod+o exec --no-startup-id st -e openfzf
bindsym $mod+s exec --no-startup-id synergyserver
bindsym Mod1+Tab workspace back_and_forth
bindsym $mod+Tab workspace back_and_forth
bindsym $mod+Next exec --no-startup-id playerctl next
bindsym $mod+Delete exec --no-startup-id playerctl previous
bindsym $mod+End exec --no-startup-id playerctl play-pause
bindsym $mod+Home exec --no-startup-id playerctl stop
bindsym $mod+Insert exec --no-startup-id voldown
bindsym $mod+Prior exec --no-startup-id volup
bindsym Control+Home exec --no-startup-id "mouse move up"
bindsym Control+End exec --no-startup-id "mouse move down"
bindsym Control+Next exec --no-startup-id "mouse move right"
bindsym Control+Delete exec --no-startup-id "mouse move left"
bindsym Control+Insert exec --no-startup-id "mouse click"
bindsym Control+Prior exec --no-startup-id "mouse rclick"
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"
bindsym Mod1+F1 workspace $ws1
bindsym Mod1+F2 workspace $ws2
bindsym Mod1+F3 workspace $ws3
bindsym Mod1+F4 workspace $ws4
bindsym Mod1+F5 workspace $ws5
bindsym Mod1+F6 workspace $ws6
bindsym Mod1+F7 workspace $ws7
bindsym Mod1+F8 workspace $ws8
bindsym Mod1+F9 workspace $ws9
bindsym Mod1+F10 workspace $ws10
bindsym $mod+F1 move container to workspace $ws1; workspace $ws1
bindsym $mod+F2 move container to workspace $ws2; workspace $ws2
bindsym $mod+F3 move container to workspace $ws3; workspace $ws3
bindsym $mod+F4 move container to workspace $ws4; workspace $ws4
bindsym $mod+F5 move container to workspace $ws5; workspace $ws5
bindsym $mod+F6 move container to workspace $ws6; workspace $ws6
bindsym $mod+F7 move container to workspace $ws7; workspace $ws7
bindsym $mod+F8 move container to workspace $ws8; workspace $ws8
bindsym $mod+F9 move container to workspace $ws9; workspace $ws9
bindsym $mod+F10 move container to workspace $ws10; workspace $ws10
bindsym $mod+l exec --no-startup-id i3lock -i ~/lock.png
bindsym Mod1+l exec --no-startup-id testlock
mode "Lock" {
bindcode 135 fullscreen toggle
bindcode 134 floating toggle
bindsym $mod+Shift+d mode "default"
}
bindsym Mod1+q exec --no-startup-id tdrop -ma -w 1366 -y 0 -h 60% -n 11 st -e Bravehisto
bindsym Mod1+F11 exec --no-startup-id dmenuunicode
#for_window [workspace="2"] layout tabbed
for_window [title="glouglouglou"] floating enable; resize set 10 10; move position 10px 10px
for_window [title="Code - OSS"] move workspace $ws10; workspace $ws10
for_window [title="Xephyr on"] move workspace $ws10; workspace $ws10; mode Lock
for_window [title="Bibliothèque"] floating enable; move position center
for_window [title="@cgD"] move workspace $ws6; workspace $ws6
for_window [class="qutebrowser"] move workspace $ws1; workspace $ws1
for_window [class="JDownloader"] move workspace $ws9; workspace $ws9
for_window [class="firefox"] move workspace $ws1; workspace $ws1
for_window [class="deepin-system-monitor"] move workspace $ws8; workspace $ws8
for_window [class="Waterfox-classic"] move workspace $ws1; workspace $ws1
for_window [class="Molotov"] move workspace $ws10; workspace $ws10; fullscreen enable
for_window [class="Brave-browser"] move workspace $ws1; workspace $ws1
#for_window [class="Cairo-dock"] floating enable; move position top
for_window [class="Thunderbird"] move workspace $ws3; workspace $ws3
for_window [class="Filezilla"] move workspace $ws3; workspace $ws3
for_window [title="cmu:0"] move workspace $ws5; workspace $ws5
for_window [class="sent"] border pixel 0px
for_window [window_role="GtkFileChooserDialog"] resize set 800 600
for_window [window_role="GtkFileChooserDialog"] move position center
for_window [class="Pamac-manager"] floating enable
for_window [class="Pamac-manager"] resize set 1200 650
for_window [class="Pamac-manager"] move position center
for_window [title="alsamixer"] floating enable
for_window [title="alsamixer"] move position center
for_window [title="- Thunderbird"] floating enable
for_window [title="- Thunderbird"] resize set 1000 700
for_window [title="- Thunderbird"] move position center
https://github.com/LukeSmithxyz/voidric ... .local/bin
https://github.com/Naheel-Azawy/naheel- ... er/scripts
https://github.com/budlabs/i3ass
https://github.com/KJoke70/i3-tools
https://github.com/tenllado/dotfiles/tr ... i3/scripts
https://github.com/odilonscoelho/dots/t ... er/scripts
Pour ce qui est des layouts
Master layout :
https://github.com/windwp/i3-master-stack
Layout Principal :
https://github.com/olemartinorg/i3-alternating-layout
Layout Manager :
https://pypi.org/project/i3-instant-layout ( Le plus utile pour moi )
https://github.com/klaxalk/i3-layout-manager
Si certain veulent d'autre config ou certains scripts qui ne sont pas diso dans les github vous pouvez toujours me les demander je les rajouterais dans le poste.
Je vais aussi mettre à jour le poste de temps en temps avec des nouveau liens pour vous permettre d'être à jour.
Bonne config à tous !
Portez vous bien.