systemd: try to use socket activation for i3

Unfortunately, this does not work as not everything is using
I3SOCK (notably `i3 --get-socketpath` does not).
This commit is contained in:
Vincent Bernat 2021-07-05 09:54:51 +02:00
parent fa58f9f7eb
commit ab7ab873b0
5 changed files with 9 additions and 4 deletions

View file

@ -1,6 +1,7 @@
[Unit] [Unit]
Description=i3 companion Description=i3 companion
PartOf=graphical-session.target PartOf=graphical-session.target
Requires=i3.socket
[Service] [Service]
ExecStart=%h/.config/i3/bin/i3-companion ExecStart=%h/.config/i3/bin/i3-companion

View file

@ -6,9 +6,6 @@ After=picom.service
After=xsettingsd.service After=xsettingsd.service
After=tmux.service After=tmux.service
After=ssh-agent.service After=ssh-agent.service
Before=wallpaper.service
Before=polybar.service
Before=i3-companion.service
[Service] [Service]
ExecStart=/usr/bin/i3 ExecStart=/usr/bin/i3

View file

@ -0,0 +1,7 @@
[Unit]
Description=i3 window manager
PartOf=graphical-session.target
[Socket]
ListenStream=%t/i3.sock
ExecStartPost=/bin/systemctl --user set-environment I3SOCK=%t/i3.sock

View file

@ -1,6 +1,7 @@
[Unit] [Unit]
Description=Status bar for i3 Description=Status bar for i3
PartOf=graphical-session.target PartOf=graphical-session.target
Requires=i3.socket
[Service] [Service]
ExecStart=%h/.config/i3/bin/polybar ExecStart=%h/.config/i3/bin/polybar

View file

@ -3,7 +3,6 @@ Description=X session
BindsTo=graphical-session.target BindsTo=graphical-session.target
Wants=autorandr.service Wants=autorandr.service
Wants=dunst.socket Wants=dunst.socket
Wants=i3.service
Wants=i3-companion.service Wants=i3-companion.service
Wants=inputplug.service Wants=inputplug.service
Wants=misc-x.service Wants=misc-x.service