From ab7ab873b00dcaa835fa5b202f1737476170e3a4 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Mon, 5 Jul 2021 09:54:51 +0200 Subject: [PATCH] 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). --- dotfiles/systemd/i3-companion.service | 1 + dotfiles/systemd/i3.service | 3 --- dotfiles/systemd/i3.socket | 7 +++++++ dotfiles/systemd/polybar.service | 1 + dotfiles/systemd/xsession.target | 1 - 5 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 dotfiles/systemd/i3.socket diff --git a/dotfiles/systemd/i3-companion.service b/dotfiles/systemd/i3-companion.service index 0f1579d..90db52d 100644 --- a/dotfiles/systemd/i3-companion.service +++ b/dotfiles/systemd/i3-companion.service @@ -1,6 +1,7 @@ [Unit] Description=i3 companion PartOf=graphical-session.target +Requires=i3.socket [Service] ExecStart=%h/.config/i3/bin/i3-companion diff --git a/dotfiles/systemd/i3.service b/dotfiles/systemd/i3.service index da7870c..02b5833 100644 --- a/dotfiles/systemd/i3.service +++ b/dotfiles/systemd/i3.service @@ -6,9 +6,6 @@ After=picom.service After=xsettingsd.service After=tmux.service After=ssh-agent.service -Before=wallpaper.service -Before=polybar.service -Before=i3-companion.service [Service] ExecStart=/usr/bin/i3 diff --git a/dotfiles/systemd/i3.socket b/dotfiles/systemd/i3.socket new file mode 100644 index 0000000..cda92fc --- /dev/null +++ b/dotfiles/systemd/i3.socket @@ -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 diff --git a/dotfiles/systemd/polybar.service b/dotfiles/systemd/polybar.service index 867e282..79adbf1 100644 --- a/dotfiles/systemd/polybar.service +++ b/dotfiles/systemd/polybar.service @@ -1,6 +1,7 @@ [Unit] Description=Status bar for i3 PartOf=graphical-session.target +Requires=i3.socket [Service] ExecStart=%h/.config/i3/bin/polybar diff --git a/dotfiles/systemd/xsession.target b/dotfiles/systemd/xsession.target index 6d27004..604918d 100644 --- a/dotfiles/systemd/xsession.target +++ b/dotfiles/systemd/xsession.target @@ -3,7 +3,6 @@ Description=X session BindsTo=graphical-session.target Wants=autorandr.service Wants=dunst.socket -Wants=i3.service Wants=i3-companion.service Wants=inputplug.service Wants=misc-x.service