summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaleo Hyde2020-05-03 12:27:51 -1000
committerNaleo Hyde2020-05-03 12:27:51 -1000
commit4c3194d8d3109277e25caffde68e833d010b3870 (patch)
tree4af78e23d10763ff42529c61bf57d9d02296fa99
downloadaur-4c3194d8d3109277e25caffde68e833d010b3870.tar.gz
added example configuration file
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD29
-rw-r--r--blurlock17
-rw-r--r--config21
-rw-r--r--i3exit35
-rw-r--r--i3exit.install3
6 files changed, 128 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..52b55842e99e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = i3exit
+ pkgdesc = Systemd/OpenRC-compatible exit-script for i3, including 'blurlock'
+ pkgver = 2
+ pkgrel = 1
+ install = i3exit.install
+ arch = any
+ license = GPL
+ depends = i3-wm
+ depends = i3lock
+ depends = imagemagick
+ optdepends = lightdm-gtk-greeter: switch user with lightdm
+ optdepends = xss-lock: blurlock as screensaver
+ source = i3exit
+ source = blurlock
+ source = i3exit.install
+ source = config
+ md5sums = cf20f699b2cdc2fb7d22075866e54a9f
+ md5sums = e3699b2b3acaa6e59e4d40d9229273ea
+ md5sums = 60e55cbbc4a3a955dbaf58183604c204
+ md5sums = c182bd89c9a507142b301394aef9a89b
+
+pkgname = i3exit
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..fe2c2472a6ea
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Naleo Hyde <naleo dot hyde at gmail dot com>
+# Contributor: Bernhard Landauer <oberon@manjaro.org>
+
+pkgname=i3exit
+pkgver=2
+pkgrel=1
+pkgdesc="Systemd/OpenRC-compatible exit-script for i3, including 'blurlock'"
+arch=('any')
+license=('GPL')
+depends=('i3-wm'
+ 'i3lock'
+ 'imagemagick')
+optdepends=('lightdm-gtk-greeter: switch user with lightdm'
+ 'xss-lock: blurlock as screensaver')
+source=("$pkgname"
+ 'blurlock'
+ 'i3exit.install'
+ 'config')
+install="$pkgname.install"
+md5sums=('cf20f699b2cdc2fb7d22075866e54a9f'
+ 'e3699b2b3acaa6e59e4d40d9229273ea'
+ '60e55cbbc4a3a955dbaf58183604c204'
+ 'c182bd89c9a507142b301394aef9a89b')
+
+package() {
+ install -Dm755 $srcdir/$pkgname $pkgdir/usr/bin/i3exit
+ install -Dm755 $srcdir/blurlock $pkgdir/usr/bin/blurlock
+ install -Dm644 $srcdir/config $pkgdir/etc/i3exit/config
+}
diff --git a/blurlock b/blurlock
new file mode 100644
index 000000000000..7471e344fe78
--- /dev/null
+++ b/blurlock
@@ -0,0 +1,17 @@
+#!/bin/bash
+# /usr/bin/blurlock
+
+# take screenshot
+import -window root /tmp/screenshot.png
+
+# blur it
+convert /tmp/screenshot.png -blur 0x5 /tmp/screenshotblur.png
+rm /tmp/screenshot.png
+
+# lock the screen
+i3lock -i /tmp/screenshotblur.png
+
+# sleep 1 adds a small delay to prevent possible race conditions with suspend
+sleep 1
+
+exit 0
diff --git a/config b/config
new file mode 100644
index 000000000000..e5c585c768fd
--- /dev/null
+++ b/config
@@ -0,0 +1,21 @@
+# Sample configuration for i3exit Add these lines to you i3 configuration file
+
+# Set shut down, restart and locking features
+bindsym $mod+0 mode "$mode_system"
+set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
+mode "$mode_system" {
+ bindsym l exec --no-startup-id i3exit lock, mode "default"
+ bindsym s exec --no-startup-id i3exit suspend, mode "default"
+ bindsym u exec --no-startup-id i3exit switch_user, mode "default"
+ bindsym e exec --no-startup-id i3exit logout, mode "default"
+ bindsym h exec --no-startup-id i3exit hibernate, mode "default"
+ bindsym r exec --no-startup-id i3exit reboot, mode "default"
+ bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
+
+ # exit system mode: "Enter" or "Escape"
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+# Use this line or similar for autolocking using the blurlock utility
+exec --no-startup-id xss-lock --transfer-sleep-lock -- blurlock --nofork
diff --git a/i3exit b/i3exit
new file mode 100644
index 000000000000..5673986b1f45
--- /dev/null
+++ b/i3exit
@@ -0,0 +1,35 @@
+#!/bin/sh
+# /usr/bin/i3exit
+
+# with openrc use loginctl
+[[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl
+
+case "$1" in
+ lock)
+ blurlock
+ ;;
+ logout)
+ i3-msg exit
+ ;;
+ switch_user)
+ dm-tool switch-to-greeter
+ ;;
+ suspend)
+ blurlock && $logind suspend
+ ;;
+ hibernate)
+ blurlock && $logind hibernate
+ ;;
+ reboot)
+ $logind reboot
+ ;;
+ shutdown)
+ $logind poweroff
+ ;;
+ *)
+ echo "== ! i3exit: missing or invalid argument ! =="
+ echo "Try again with: lock | logout | switch_user | suspend | hibernate | reboot | shutdown"
+ exit 2
+esac
+
+exit 0
diff --git a/i3exit.install b/i3exit.install
new file mode 100644
index 000000000000..138dff36e313
--- /dev/null
+++ b/i3exit.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo 'To configure i3exit and blurlock for usage, refer to the example configuration contained in /etc/i3exit/config'
+}