summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD17
-rwxr-xr-xswaydim47
3 files changed, 78 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..10eada561fdc
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,14 @@
+pkgbase = swaydim
+ pkgdesc = Dims your display using brightnessctl
+ pkgver = 1
+ pkgrel = 1
+ url = https://aur.archlinux.org/packages/swaydim
+ arch = any
+ license = Unlicense
+ makedepends = git
+ depends = python
+ depends = brightnessctl
+ source = swaydim
+ md5sums = e899fdf800fc6dac8904e09028240717
+
+pkgname = swaydim
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..20c723f929e2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,17 @@
+# Maintainer: fossdd <fossdd@pwned.life>
+
+pkgname=swaydim
+pkgver=1
+pkgrel=1
+pkgdesc="Dims your display using brightnessctl"
+arch=('any')
+url="https://aur.archlinux.org/packages/swaydim"
+license=('Unlicense')
+depends=('python' 'brightnessctl')
+makedepends=('git')
+source=("swaydim")
+md5sums=('e899fdf800fc6dac8904e09028240717')
+
+package() {
+ install -Dm755 "$srcdir/$pkgname" "$pkgdir/usr/bin/$pkgname"
+}
diff --git a/swaydim b/swaydim
new file mode 100755
index 000000000000..b1b29bfdde3e
--- /dev/null
+++ b/swaydim
@@ -0,0 +1,47 @@
+#!/usr/bin/python3
+#
+# Dims your display using brightnessctl
+#
+
+import subprocess
+import os
+import sys
+
+default_multiplier = 0.1
+
+def run(cmd):
+ print(cmd)
+ process = subprocess.run(
+ cmd.split(" "),
+ capture_output=True,
+ text = True
+ )
+ return process.stdout.strip("\n")
+
+def brightnessctl(args):
+ template = "brightnessctl {args}"
+ cmd = template.format(
+ args = args
+ )
+ return run(cmd)
+
+def multiplier():
+ if len(sys.argv) == 2:
+ return float(sys.argv[1])
+ else:
+ return float(default_multiplier)
+
+path = "/tmp/brightness-" + str(multiplier())
+
+if os.path.exists(path):
+ with open(path, "r") as file:
+ brightnessctl("set {brightness}".format(brightness=file.readlines()[0]))
+ os.remove(path)
+else:
+ current_brightness = brightnessctl("get")
+
+ with open(path, "w") as file:
+ file.write(current_brightness)
+
+ new_brightness = int(current_brightness) * multiplier()
+ brightnessctl("set {new_brightness}".format(new_brightness=new_brightness))