#!/bin/sh # i3lock-color with a background image and the keyboard layout shown. image=/usr/share/backgrounds/arch_1920x1080.png # Hold notifications while locked; dunst shows them on unlock. A signal to this # script is passed on to i3lock, as the old exec did. was_paused=$(dunstctl is-paused 2>/dev/null) dunstctl set-paused true 2>/dev/null trap 'kill "$pid" 2>/dev/null' INT TERM HUP # -n: stay in the foreground, as xss-lock needs to see when the screen is unlocked. # --indicator keeps the ring (and the layout text) visible before typing. # The layout's default spot (dx:dy+30) falls inside the ring: put it below. i3lock -n -i "$image" -F -c 000000ff \ -e -f --indicator --keylayout 0 \ --layout-pos='ix:iy+r+40' --layout-color=ffffffff \ --layout-size=24 \ --time-color=ffffffff --date-color=ffffffff --date-str='%A, %d %B' \ --ring-color=1793d1ff --line-uses-ring "$@" & pid=$! # A trapped signal interrupts the first wait; the second waits for i3lock to exit. wait "$pid" wait "$pid" 2>/dev/null [ "$was_paused" = true ] || dunstctl set-paused false 2>/dev/null