diff --git a/.config/x11/xprofile b/.config/x11/xprofile index 29842080..0e83244b 100755 --- a/.config/x11/xprofile +++ b/.config/x11/xprofile @@ -33,10 +33,12 @@ export XSECURELOCK_DATETIME_FORMAT="%d.%m.%Y %H:%M" export XSECURELOCK_PASSWORD_PROMPT="time_hex" export XSECURELOCK_AUTH_TIMEOUT=10 export XSECURELOCK_SHOW_DATETIME=1 -export XSECURELOCK_SAVER="saver_xscreensaver" export XSECURELOCK_COMPOSITE_OBSCURER=0 +export XSECURELOCK_SAVER="/usr/libexec/xscreensaver/cubicgrid" +export XSECURELOCK_SHOW_DATETIME=1 +export XSECURELOCK_SHOW_HOSTNAME=1 xset s 300 -xss-lock -- xsecurelock & +xss-lock -n /usr/lib/xsecurelock/dimmer -l -- xsecurelock & # Ensure that xrdb has finished running before moving on to start the WM/DE. [ -n "$xrdbpid" ] && wait "$xrdbpid" diff --git a/.config/xscreensaver b/.config/xscreensaver deleted file mode 100644 index 7c0d432d..00000000 --- a/.config/xscreensaver +++ /dev/null @@ -1,39 +0,0 @@ -# XScreenSaver Preferences File -# Written by xscreensaver-settings 6.04 for luca on Wed Aug 17 00:56:02 2022. -# https://www.jwz.org/xscreensaver/ - -timeout: 0:10:00 -cycle: 0:10:00 -lock: False -lockTimeout: 0:00:00 -passwdTimeout: 0:00:30 -visualID: default -installColormap: True -verbose: False -splash: True -splashDuration: 0:00:05 -demoCommand: xscreensaver-settings -nice: 10 -fade: True -unfade: True -fadeSeconds: 0:00:03 -ignoreUninstalledPrograms:False -font: NotoSans Nerd Font:style=Regular:pixelsize=14:antialias=true:autohint=true; -dpmsEnabled: False -dpmsQuickOff: False -dpmsStandby: 2:00:00 -dpmsSuspend: 2:00:00 -dpmsOff: 4:00:00 -grabDesktopImages: True -grabVideoFrames: False -chooseRandomImages: False - -textMode: url -textLiteral: XScreenSaver -textFile: -textProgram: fortune -dialogTheme: default - -pointerHysteresis: 10 -authWarningSlack: 20 - diff --git a/.local/bin/screensaver b/.local/bin/screensaver deleted file mode 100755 index ab3ad088..00000000 --- a/.local/bin/screensaver +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/sh -# -# Copyright 2014 Google Inc. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -: ${XSECURELOCK_XSCREENSAVER_PATH:=/usr/share/xscreensaver/} - -TAB=' ' - -# Note: the following logic is somewhat derived from parse_screenhack in -# XScreenSaver. -convert_xscreensaver_programs() { - i=0 - while IFS= read -r line; do - skipwhite() { - while :; do - case "$line" in - $TAB*) line=${line#$TAB} ;; - \ *) line=${line# } ;; - *) break ;; - esac - done - } - skipwhite - # Read disabled field. - case "$line" in - -*) enabled=false; line=${line#-}; skipwhite ;; - *) enabled=true ;; - esac - # Strip visual name (VISUAL:, where VISUAL can't contain " or whitespace). - case "${line%%[\" $TAB]*}" in - *:*) line=${line#*:}; skipwhite ;; - esac - # Strip textual description ("description"). - case "$line" in - '"'*) line=${line#\"*\"}; skipwhite ;; - esac - # What's remaining is the program name with its options. - echo "$i $enabled $line" - i=$((i+1)) - done -} - -convert_program_list() { - i=0 - while IFS= read -r line; do - echo "$i true $line -root" - i=$((i+1)) - done -} - -list_savers() { - want_all=$1 - if [ -f ~/.xscreensaver ]; then - printf "%b" "$( - xrdb -n ~/.config/xscreensaver 2>/dev/null |\ - grep ^programs: |\ - cut -d : -f 2- - )" | convert_xscreensaver_programs - else - ls "$XSECURELOCK_XSCREENSAVER_PATH" | convert_program_list - fi | while read -r number enabled saver flags; do - $want_all || $enabled || continue - [ -x "$XSECURELOCK_XSCREENSAVER_PATH/$saver" ] || continue - printf '%d\t%s/%s\n' "$number" "$XSECURELOCK_XSCREENSAVER_PATH" "$saver $flags" - done -} - -mode= - -# Debug mode to list all savers. -case "$1" in - --list_savers) - list_savers false - exit 0 - ;; - --list_all_savers) - list_savers true - exit 0 - ;; - --internal-override-mode=*) - mode=${1#*=} - ;; -esac - -if [ -z "$mode" ]; then - mode=$( - xrdb -n ~/.config/xscreensaver 2>/dev/null |\ - grep ^mode: |\ - cut -f 2 - ) -fi - -selected= -case "$mode" in - one) - selected=$( - xrdb -n ~/.config/xscreensaver 2>/dev/null |\ - grep ^selected: |\ - cut -f 2 - ) - ;; - random) # NOT random-same. - # Try bash's $RANDOM, but if it's not there, just use the PID. - selected=${RANDOM:-$$} - ;; -esac - -if [ -z "$selected" ]; then # Note: random-same hits this. - # We're using the parent process ID here, which may be a saver_multiplex - # instance. This ensures that multiple instances of this always spawn the same - # saver on each screen. - selected=$PPID -fi - -# Prepare the saver list so we only parse once. -case "$mode" in - one) - savers=$(list_savers true) - count=$(printf '%s\n' "$savers" | wc -l) - ;; - *) - savers=$(list_savers false) - count=$(printf '%s\n' "$savers" | wc -l) - ;; -esac - -select_saver() { - case "$mode" in - one) - printf '%s\n' "$savers" | grep "^$selected$(printf '\t')" - ;; - *) - printf '%s\n' "$savers" | tail -n +$((selected % count + 1)) - ;; - esac | head -n 1 | cut -f 2- -} - -# On SIGUSR1, we exit the saver and retry the selection. -sigusr1_caught=false -trap 'sigusr1_caught=true' USR1 - -while :; do - saver=$(select_saver) - if [ -z "$saver" ]; then - echo >&2 "xsecurelock: No saver selected. Giving up." - exec ./saver_blank - fi - sigusr1_caught=false - eval $saver - status=$? - if [ $status -eq 0 ] || $sigusr1_caught; then - # Immediately try the next saver. - case "$mode" in - one) - ;; - *) - selected=$((selected + 1)) - ;; - esac - else - # Saver failed entirely. Just give up. - echo >&2 "xsecurelock: Screen saver failed with status $status: $saver." - sleep 2 # Anti-spam delay. - if [ x"$mode" != x"random" ]; then - # As a fallback, when the saver failed, try random. - exec "$0" --internal-override-mode=random - fi - exit $status - fi -done -