summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD14
-rwxr-xr-xswaymsg-root.sh8
3 files changed, 34 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..81cfdb315a38
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,12 @@
+pkgbase = swaymsg-root
+ pkgdesc = small wrapper for swaymsg to allow it run as root
+ pkgver = 1
+ pkgrel = 1
+ url = https://github.com/vesim987/swaymsg-root
+ arch = any
+ depends = sway
+ source = swaymsg-root.sh
+ sha256sums = 081e32f6a7374ef366e1f3e1314c2aca08a0e87ad3d54a655cc40880d3292c48
+
+pkgname = swaymsg-root
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..21bf9faad9a0
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,14 @@
+# Maintainer: Vesim <vesim809@pm.me>
+pkgname=swaymsg-root
+pkgver=1
+pkgrel=1
+pkgdesc='small wrapper for swaymsg to allow it run as root'
+arch=('any')
+url='https://github.com/vesim987/swaymsg-root'
+depends=('sway')
+source=('swaymsg-root.sh')
+sha256sums=('081e32f6a7374ef366e1f3e1314c2aca08a0e87ad3d54a655cc40880d3292c48')
+
+package() {
+ install -Dm755 swaymsg-root.sh "${pkgdir}/usr/bin/swaymsg-root"
+}
diff --git a/swaymsg-root.sh b/swaymsg-root.sh
new file mode 100755
index 000000000000..d1fff12cafec
--- /dev/null
+++ b/swaymsg-root.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env sh
+
+# it will get only the first instance of sway
+SWAY_PID="$(pgrep "^sway$" | head -n1)"
+USER_ID="$(stat -c "%u" "/proc/${SWAY_PID}/")"
+USER="$(id -nu "${USER_ID}")"
+
+SWAYSOCK="/run/user/${USER_ID}/sway-ipc.${USER_ID}.${SWAY_PID}.sock" su "${USER}" -c "swaymsg $*"