mirror of https://gitlab.com/dabruh/dotfiles.git
feat: switch to XScreenSaver for less OLED burn-in
This commit is contained in:
parent
80fe2b4c0a
commit
88a99772e0
|
@ -2,11 +2,12 @@
|
||||||
exec_always --no-startup-id xss-lock --transfer-sleep-lock -- i3exit lock
|
exec_always --no-startup-id xss-lock --transfer-sleep-lock -- i3exit lock
|
||||||
|
|
||||||
# lock screen after inactivity
|
# lock screen after inactivity
|
||||||
|
exec_always --no-startup-id pgrep -x xscreensaver || xscreensaver &
|
||||||
exec --no-startup-id dmenuxautolock -t $lock_after_min -n $lock_notify_sec
|
exec --no-startup-id dmenuxautolock -t $lock_after_min -n $lock_notify_sec
|
||||||
bindsym $mod+Ctrl+Shift+l exec --no-startup-id dmenuxautolock -t 0 -n 0
|
bindsym $mod+Ctrl+Shift+l exec --no-startup-id dmenuxautolock -t 0 -n 0
|
||||||
|
|
||||||
# Run i3hwlock
|
# Run i3hwlock
|
||||||
exec_always --no-startup-id pgrep i3hwlock || i3hwlock
|
exec_always --no-startup-id pgrep -x i3hwlock || i3hwlock
|
||||||
|
|
||||||
# Start authentication agent
|
# Start authentication agent
|
||||||
exec_always --no-startup-id $auth_agent
|
exec_always --no-startup-id $auth_agent
|
||||||
|
|
|
@ -0,0 +1,298 @@
|
||||||
|
# XScreenSaver Preferences File
|
||||||
|
# https://www.jwz.org/xscreensaver/
|
||||||
|
|
||||||
|
timeout: 0:01:00
|
||||||
|
cycle: 0:01:00
|
||||||
|
lock: False
|
||||||
|
lockTimeout: 0:00:00
|
||||||
|
passwdTimeout: 0:00:30
|
||||||
|
visualID: default
|
||||||
|
installColormap: True
|
||||||
|
verbose: False
|
||||||
|
timestamp: True
|
||||||
|
splash: True
|
||||||
|
splashDuration: 0:00:05
|
||||||
|
demoCommand: xscreensaver-demo
|
||||||
|
prefsCommand:
|
||||||
|
nice: 10
|
||||||
|
memoryLimit: 0
|
||||||
|
fade: True
|
||||||
|
unfade: False
|
||||||
|
fadeSeconds: 0:00:02
|
||||||
|
fadeTicks: 20
|
||||||
|
captureStderr: True
|
||||||
|
ignoreUninstalledPrograms:False
|
||||||
|
font: *-medium-r-*-140-*-m-*
|
||||||
|
dpmsEnabled: False
|
||||||
|
dpmsQuickOff: False
|
||||||
|
dpmsStandby: 2:00:00
|
||||||
|
dpmsSuspend: 2:00:00
|
||||||
|
dpmsOff: 4:00:00
|
||||||
|
grabDesktopImages: False
|
||||||
|
grabVideoFrames: False
|
||||||
|
chooseRandomImages: False
|
||||||
|
imageDirectory:
|
||||||
|
|
||||||
|
mode: random
|
||||||
|
selected: 50
|
||||||
|
|
||||||
|
textMode: url
|
||||||
|
textLiteral: XScreenSaver
|
||||||
|
textFile:
|
||||||
|
textProgram: fortune
|
||||||
|
textURL: https://feeds.feedburner.com/ubuntu-news
|
||||||
|
|
||||||
|
programs: \
|
||||||
|
- maze -root \n\
|
||||||
|
- GL: sphereeversion -root \n\
|
||||||
|
- GL: superquadrics -root \n\
|
||||||
|
- attraction -root \n\
|
||||||
|
- blitspin -root \n\
|
||||||
|
- greynetic -root \n\
|
||||||
|
- helix -root \n\
|
||||||
|
- hopalong -root \n\
|
||||||
|
- imsmap -root \n\
|
||||||
|
- noseguy -root \n\
|
||||||
|
- pyro -root \n\
|
||||||
|
- qix -root \n\
|
||||||
|
- rocks -root \n\
|
||||||
|
- rorschach -root \n\
|
||||||
|
- decayscreen -root \n\
|
||||||
|
- flame -root \n\
|
||||||
|
- halo -root \n\
|
||||||
|
slidescreen -root \n\
|
||||||
|
- pedal -root \n\
|
||||||
|
- bouboule -root \n\
|
||||||
|
- braid -root \n\
|
||||||
|
- coral -root \n\
|
||||||
|
- deco -root \n\
|
||||||
|
- drift -root \n\
|
||||||
|
- fadeplot -root \n\
|
||||||
|
- galaxy -root \n\
|
||||||
|
- goop -root \n\
|
||||||
|
- grav -root \n\
|
||||||
|
- ifs -root \n\
|
||||||
|
- unicode -root \n\
|
||||||
|
- GL: jigsaw -root \n\
|
||||||
|
- julia -root \n\
|
||||||
|
- kaleidescope -root \n\
|
||||||
|
- GL: moebius -root \n\
|
||||||
|
- moire -root \n\
|
||||||
|
- GL: morph3d -root \n\
|
||||||
|
- mountain -root \n\
|
||||||
|
- munch -root \n\
|
||||||
|
- penrose -root \n\
|
||||||
|
- GL: pipes -root \n\
|
||||||
|
- rd-bomb -root \n\
|
||||||
|
- GL: rubik -root \n\
|
||||||
|
- sierpinski -root \n\
|
||||||
|
- slip -root \n\
|
||||||
|
- GL: sproingies -root \n\
|
||||||
|
- starfish -root \n\
|
||||||
|
- strange -root \n\
|
||||||
|
- swirl -root \n\
|
||||||
|
- triangle -root \n\
|
||||||
|
- xjack -root \n\
|
||||||
|
xlyap -root \n\
|
||||||
|
- GL: atlantis -root \n\
|
||||||
|
- bsod -root \n\
|
||||||
|
- GL: bubble3d -root \n\
|
||||||
|
- GL: cage -root \n\
|
||||||
|
- crystal -root \n\
|
||||||
|
- cynosure -root \n\
|
||||||
|
- discrete -root \n\
|
||||||
|
- distort -root \n\
|
||||||
|
- epicycle -root \n\
|
||||||
|
- flow -root \n\
|
||||||
|
- GL: glplanet -root \n\
|
||||||
|
- interference -root \n\
|
||||||
|
- kumppa -root \n\
|
||||||
|
- GL: lament -root \n\
|
||||||
|
- moire2 -root \n\
|
||||||
|
- GL: sonar -root \n\
|
||||||
|
- GL: stairs -root \n\
|
||||||
|
- truchet -root \n\
|
||||||
|
- vidwhacker -root \n\
|
||||||
|
- blaster -root \n\
|
||||||
|
- bumps -root \n\
|
||||||
|
- ccurve -root \n\
|
||||||
|
- compass -root \n\
|
||||||
|
- deluxe -root \n\
|
||||||
|
- demon -root \n\
|
||||||
|
- GL: extrusion -root \n\
|
||||||
|
- loop -root \n\
|
||||||
|
- penetrate -root \n\
|
||||||
|
- petri -root \n\
|
||||||
|
- phosphor -root \n\
|
||||||
|
- GL: pulsar -root \n\
|
||||||
|
- ripples -root \n\
|
||||||
|
- shadebobs -root \n\
|
||||||
|
- GL: sierpinski3d -root \n\
|
||||||
|
- spotlight -root \n\
|
||||||
|
- squiral -root \n\
|
||||||
|
- wander -root \n\
|
||||||
|
- webcollage -root \n\
|
||||||
|
- xflame -root \n\
|
||||||
|
- xmatrix -root \n\
|
||||||
|
- GL: gflux -root \n\
|
||||||
|
- nerverot -root \n\
|
||||||
|
- xrayswarm -root \n\
|
||||||
|
- xspirograph -root \n\
|
||||||
|
- GL: circuit -root \n\
|
||||||
|
- GL: dangerball -root \n\
|
||||||
|
- GL: engine -root \n\
|
||||||
|
- GL: flipscreen3d -root \n\
|
||||||
|
- GL: gltext -root \n\
|
||||||
|
- GL: menger -root \n\
|
||||||
|
- GL: molecule -root \n\
|
||||||
|
- rotzoomer -root \n\
|
||||||
|
scooter -root \n\
|
||||||
|
- speedmine -root \n\
|
||||||
|
- GL: starwars -root \n\
|
||||||
|
- GL: stonerview -root \n\
|
||||||
|
- vermiculate -root \n\
|
||||||
|
- whirlwindwarp -root \n\
|
||||||
|
- zoom -root \n\
|
||||||
|
- anemone -root \n\
|
||||||
|
- apollonian -root \n\
|
||||||
|
- GL: boxed -root \n\
|
||||||
|
- GL: cubenetic -root \n\
|
||||||
|
- GL: endgame -root \n\
|
||||||
|
- euler2d -root \n\
|
||||||
|
- fluidballs -root \n\
|
||||||
|
- GL: flurry -root \n\
|
||||||
|
- GL: glblur -root \n\
|
||||||
|
- GL: glsnake -root \n\
|
||||||
|
- halftone -root \n\
|
||||||
|
- GL: juggler3d -root \n\
|
||||||
|
- GL: lavalite -root \n\
|
||||||
|
- polyominoes -root \n\
|
||||||
|
- GL: queens -root \n\
|
||||||
|
- GL: sballs -root \n\
|
||||||
|
- GL: spheremonics -root \n\
|
||||||
|
- thornbird -root \n\
|
||||||
|
- twang -root \n\
|
||||||
|
- GL: antspotlight -root \n\
|
||||||
|
- apple2 -root \n\
|
||||||
|
- GL: atunnel -root \n\
|
||||||
|
- barcode -root \n\
|
||||||
|
- GL: blinkbox -root \n\
|
||||||
|
- GL: blocktube -root \n\
|
||||||
|
- GL: bouncingcow -root \n\
|
||||||
|
- cloudlife -root \n\
|
||||||
|
- GL: cubestorm -root \n\
|
||||||
|
- eruption -root \n\
|
||||||
|
- GL: flipflop -root \n\
|
||||||
|
- GL: flyingtoasters -root \n\
|
||||||
|
- fontglide -root \n\
|
||||||
|
- GL: gleidescope -root \n\
|
||||||
|
- GL: glknots -root \n\
|
||||||
|
- GL: glmatrix -root \n\
|
||||||
|
- GL: glslideshow -root \n\
|
||||||
|
- GL: hypertorus -root \n\
|
||||||
|
- GL: jigglypuff -root \n\
|
||||||
|
- metaballs -root \n\
|
||||||
|
- GL: mirrorblob -root \n\
|
||||||
|
- piecewise -root \n\
|
||||||
|
- GL: polytopes -root \n\
|
||||||
|
- pong -root \n\
|
||||||
|
- popsquares -root \n\
|
||||||
|
- GL: surfaces -root \n\
|
||||||
|
- xanalogtv -root \n\
|
||||||
|
- abstractile -root \n\
|
||||||
|
- anemotaxis -root \n\
|
||||||
|
- GL: antinspect -root \n\
|
||||||
|
- fireworkx -root \n\
|
||||||
|
- fuzzyflakes -root \n\
|
||||||
|
- interaggregate -root \n\
|
||||||
|
- intermomentary -root \n\
|
||||||
|
- memscroller -root \n\
|
||||||
|
- GL: noof -root \n\
|
||||||
|
- pacman -root \n\
|
||||||
|
- GL: pinion -root \n\
|
||||||
|
- GL: polyhedra -root \n\
|
||||||
|
- GL: providence -root \n\
|
||||||
|
- substrate -root \n\
|
||||||
|
- wormhole -root \n\
|
||||||
|
- GL: antmaze -root \n\
|
||||||
|
- GL: boing -root \n\
|
||||||
|
- boxfit -root \n\
|
||||||
|
- GL: carousel -root \n\
|
||||||
|
- celtic -root \n\
|
||||||
|
- GL: crackberg -root \n\
|
||||||
|
- GL: cube21 -root \n\
|
||||||
|
- fiberlamp -root \n\
|
||||||
|
- GL: fliptext -root \n\
|
||||||
|
- GL: glhanoi -root \n\
|
||||||
|
- GL: tangram -root \n\
|
||||||
|
- GL: timetunnel -root \n\
|
||||||
|
- GL: glschool -root \n\
|
||||||
|
- GL: topblock -root \n\
|
||||||
|
- GL: cubicgrid -root \n\
|
||||||
|
- cwaves -root \n\
|
||||||
|
- GL: gears -root \n\
|
||||||
|
- GL: glcells -root \n\
|
||||||
|
- GL: lockward -root \n\
|
||||||
|
m6502 -root \n\
|
||||||
|
- GL: moebiusgears -root \n\
|
||||||
|
- GL: voronoi -root \n\
|
||||||
|
- GL: hypnowheel -root \n\
|
||||||
|
- GL: klein -root \n\
|
||||||
|
- lcdscrub -root \n\
|
||||||
|
- GL: photopile -root \n\
|
||||||
|
- GL: skytentacles -root \n\
|
||||||
|
- GL: rubikblocks -root \n\
|
||||||
|
- GL: companioncube -root \n\
|
||||||
|
- GL: hilbert -root \n\
|
||||||
|
- GL: tronbit -root \n\
|
||||||
|
- GL: geodesic -root \n\
|
||||||
|
- hexadrop -root \n\
|
||||||
|
- GL: kaleidocycle -root \n\
|
||||||
|
- GL: quasicrystal -root \n\
|
||||||
|
- GL: unknownpleasures -root \n\
|
||||||
|
binaryring -root \n\
|
||||||
|
- GL: cityflow -root \n\
|
||||||
|
- GL: geodesicgears -root \n\
|
||||||
|
- GL: projectiveplane -root \n\
|
||||||
|
- GL: romanboy -root \n\
|
||||||
|
- tessellimage -root \n\
|
||||||
|
- GL: winduprobot -root \n\
|
||||||
|
- GL: splitflap -root \n\
|
||||||
|
- GL: cubestack -root \n\
|
||||||
|
- GL: cubetwist -root \n\
|
||||||
|
- GL: discoball -root \n\
|
||||||
|
- GL: dymaxionmap -root \n\
|
||||||
|
- GL: energystream -root \n\
|
||||||
|
- GL: hexstrut -root \n\
|
||||||
|
- GL: hydrostat -root \n\
|
||||||
|
- GL: raverhoop -root \n\
|
||||||
|
- GL: splodesic -root \n\
|
||||||
|
- GL: unicrud -root \n\
|
||||||
|
- GL: esper -root \n\
|
||||||
|
- GL: vigilance -root \n\
|
||||||
|
- GL: crumbler -root \n\
|
||||||
|
- filmleader -root \n\
|
||||||
|
- glitchpeg -root \n\
|
||||||
|
- GL: handsy -root \n\
|
||||||
|
- GL: maze3d -root \n\
|
||||||
|
- GL: peepers -root \n\
|
||||||
|
- GL: razzledazzle -root \n\
|
||||||
|
- vfeedback -root \n\
|
||||||
|
- GL: deepstars -root \n\
|
||||||
|
- GL: gravitywell -root \n\
|
||||||
|
- GL: beats -root \n\
|
||||||
|
- GL: covid19 -root \n\
|
||||||
|
- GL: etruscanvenus -root \n\
|
||||||
|
- GL: gibson -root \n\
|
||||||
|
- GL: headroom -root \n\
|
||||||
|
|
||||||
|
|
||||||
|
pointerPollTime: 0:00:05
|
||||||
|
pointerHysteresis: 10
|
||||||
|
windowCreationTimeout:0:00:30
|
||||||
|
initialDelay: 0:00:00
|
||||||
|
GetViewPortIsFullOfLies:False
|
||||||
|
procInterrupts: True
|
||||||
|
xinputExtensionDev: False
|
||||||
|
overlayStderr: True
|
||||||
|
authWarningSlack: 20
|
|
@ -1,12 +1,12 @@
|
||||||
pacman-base:acpi wget curl # Required for setup_system.sh
|
pacman-base:acpi wget curl # Required for setup_system.sh
|
||||||
pacman-any:i3-gaps feh i3status network-manager-applet pasystray xautolock inotify-tools xss-lock noto-fonts-emoji
|
pacman-any:i3-gaps feh i3status network-manager-applet pasystray xscreensaver xautolock inotify-tools xss-lock noto-fonts-emoji
|
||||||
pacman-any:arandr code dunst flameshot kitty ranger scrot thunar tmux ufw vim zsh
|
pacman-any:arandr code dunst flameshot kitty ranger scrot thunar tmux ufw vim zsh
|
||||||
pacman-any:gst-libav phonon-qt5-gstreamer gst-plugins-good qt5-quickcontrols qt5-graphicaleffects qt5-multimedia
|
pacman-any:gst-libav phonon-qt5-gstreamer gst-plugins-good qt5-quickcontrols qt5-graphicaleffects qt5-multimedia
|
||||||
pacman-type-hasbattery:brightnessctl
|
pacman-type-hasbattery:brightnessctl
|
||||||
aur-any:picom-git sddm-theme-aerial-git
|
aur-any:picom-git sddm-theme-aerial-git
|
||||||
|
|
||||||
apt-base:acpi wget curl ca-certificates gnupg lsb-release # Required for setup_system.sh
|
apt-base:acpi wget curl ca-certificates gnupg lsb-release # Required for setup_system.sh
|
||||||
apt-any:i3 feh i3status nm-tray pasystray xautolock inotify-tools xss-lock fonts-noto-color-emoji fonts-hack-ttf xclip
|
apt-any:i3 feh i3status nm-tray pasystray xscreensaver xautolock inotify-tools xss-lock fonts-noto-color-emoji fonts-hack-ttf xclip
|
||||||
apt-any:docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
apt-any:docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||||
apt-any:arandr chromium-browser codium dunst flameshot kitty ranger scrot thunar tmux ufw vim zsh
|
apt-any:arandr chromium-browser codium dunst flameshot kitty ranger scrot thunar tmux ufw vim zsh
|
||||||
apt-any:libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libpcre3-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev meson
|
apt-any:libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libpcre3-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev meson
|
||||||
|
|
|
@ -7,49 +7,13 @@
|
||||||
# with openrc use loginctl
|
# with openrc use loginctl
|
||||||
[[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl
|
[[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl
|
||||||
|
|
||||||
LOCK_SCREEN_BLUR=${LOCK_SCREEN_BLUR:-false}
|
function lock() {
|
||||||
LOCK_SCREEN_COLOR=${LOCK_SCREEN_COLOR:-29414f}
|
xscreensaver-command -lock
|
||||||
I3LOCK_RE="i3lock -(c|i) "
|
|
||||||
|
|
||||||
_lock() {
|
|
||||||
i3lock -c "$LOCK_SCREEN_COLOR"
|
|
||||||
}
|
|
||||||
|
|
||||||
_unlock() {
|
|
||||||
pkill -u "$USER" -f "$I3LOCK_RE"
|
|
||||||
}
|
|
||||||
|
|
||||||
is_locked() {
|
|
||||||
pgrep -u "$USER" -f "$I3LOCK_RE" >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
lock() {
|
|
||||||
local abort=false screen=/tmp/screenshot.png blurred=/tmp/screenshotblur.png
|
|
||||||
|
|
||||||
$LOCK_SCREEN_BLUR && sleep 0.25 && scrot -q 100 $screen # Take screenshot
|
|
||||||
|
|
||||||
_lock # Lock immediately
|
|
||||||
|
|
||||||
if [ -f $screen ]; then
|
|
||||||
# Blur screenshot
|
|
||||||
scrot -q 100 $screen || abort=true # Larger file size, but faster
|
|
||||||
convert -scale 10% -blur 0x1.25 -resize 1000% $screen $blurred || abort=true
|
|
||||||
rm $screen
|
|
||||||
|
|
||||||
$abort && return 1
|
|
||||||
|
|
||||||
# Now try to replace the solid color with the blurred image.
|
|
||||||
_unlock
|
|
||||||
i3lock -i $blurred || _lock
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add a small delay to prevent possible race conditions with suspend
|
|
||||||
sleep 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
lock)
|
lock)
|
||||||
is_locked || lock
|
lock
|
||||||
;;
|
;;
|
||||||
logout)
|
logout)
|
||||||
i3-msg exit
|
i3-msg exit
|
||||||
|
@ -58,11 +22,9 @@ case "$1" in
|
||||||
dm-tool switch-to-greeter
|
dm-tool switch-to-greeter
|
||||||
;;
|
;;
|
||||||
suspend)
|
suspend)
|
||||||
export LOCK_SCREEN_BLUR=false
|
|
||||||
lock && $logind suspend
|
lock && $logind suspend
|
||||||
;;
|
;;
|
||||||
hibernate)
|
hibernate)
|
||||||
export LOCK_SCREEN_BLUR=false
|
|
||||||
lock && $logind hibernate
|
lock && $logind hibernate
|
||||||
;;
|
;;
|
||||||
reboot)
|
reboot)
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
.config/xscreensaver/config
|
Loading…
Reference in New Issue