diff options
author | Naleo Hyde | 2020-05-03 12:27:51 -1000 |
---|---|---|
committer | Naleo Hyde | 2020-05-03 12:27:51 -1000 |
commit | 4c3194d8d3109277e25caffde68e833d010b3870 (patch) | |
tree | 4af78e23d10763ff42529c61bf57d9d02296fa99 | |
download | aur-4c3194d8d3109277e25caffde68e833d010b3870.tar.gz |
added example configuration file
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | PKGBUILD | 29 | ||||
-rw-r--r-- | blurlock | 17 | ||||
-rw-r--r-- | config | 21 | ||||
-rw-r--r-- | i3exit | 35 | ||||
-rw-r--r-- | i3exit.install | 3 |
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' +} |