aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/sway/config4
-rw-r--r--dot_config/systemd/user/display-watcher.service14
-rw-r--r--dot_config/systemd/user/sway-session.target7
3 files changed, 22 insertions, 3 deletions
diff --git a/dot_config/sway/config b/dot_config/sway/config
index df05597..119849d 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -153,7 +153,5 @@ bar {
# ── Autostart ─────────────────────────────────────────────────────────────────
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
-exec mako
-exec poweralertd
exec "sleep 2 && ~/.config/sway/display-toggle.sh init"
-exec ~/.config/sway/display-watcher.sh
+exec systemctl --user start sway-session.target
diff --git a/dot_config/systemd/user/display-watcher.service b/dot_config/systemd/user/display-watcher.service
new file mode 100644
index 0000000..6ab3e40
--- /dev/null
+++ b/dot_config/systemd/user/display-watcher.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Auto-toggle sway display layout on external plug/unplug
+PartOf=graphical-session.target
+After=graphical-session.target
+ConditionEnvironment=SWAYSOCK
+
+[Service]
+Type=simple
+ExecStart=%h/.config/sway/display-watcher.sh
+Restart=on-failure
+RestartSec=2s
+
+[Install]
+WantedBy=sway-session.target
diff --git a/dot_config/systemd/user/sway-session.target b/dot_config/systemd/user/sway-session.target
new file mode 100644
index 0000000..ba1d37b
--- /dev/null
+++ b/dot_config/systemd/user/sway-session.target
@@ -0,0 +1,7 @@
+[Unit]
+Description=sway compositor session
+Documentation=man:systemd.special(7)
+BindsTo=graphical-session.target
+Wants=graphical-session-pre.target mako.service poweralertd.service display-watcher.service
+After=graphical-session-pre.target
+StopWhenUnneeded=yes