Skip to content

DeLuca21/LiveLockPaper

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub License GitHub Release GitHub Issues GNOME Shell


LiveLockPaper icon

LiveLockPaper

A GNOME Shell extension that lets you set any video as your lock screen background and desktop wallpaper β€” with multi-video playlists, per-monitor support, auto FPS detection, and more.

Support me on Ko-fi Buy Me A Coffee

Note: This is a fork of Live Lock Screen by @nick-redwill, extended with additional features. If you enjoy the core extension, consider supporting the original author too.


What's New in v2.0.0?

πŸ› Bug Fixes

  • Window positioning – Improved window positioning and helper window handling across multiple monitors
  • Sleep/wake blocking – Fixed video processes blocking system sleep by properly destroying lockscreen videos on sleep and pausing wallpaper videos

✨ Enhancements

  • Panel icon customization – Dynamic icons that change based on wallpaper/lockscreen state (standard GNOME icons or custom icons), or static custom icons
  • Enhanced panel menu – Organized submenus for wallpaper and lockscreen settings
  • Separate battery controls – Independent battery disable options for lockscreen and wallpaper (enabled by default to save battery)
  • Enhanced pause when hidden – Three modes: Off, All monitors covered, or Any monitor covered
  • Improved sleep/wake handling – Enhanced video pause/resume during system sleep/wake cycles (lockscreen is destroyed/recreated, wallpaper is paused/resumed)
  • Verbose logging – Enhanced debug logging for troubleshooting (GTK helper windows, sleep/wake events, state changes)
  • Folder scanning improvement – When scanning a folder for videos, the extension now replaces the current video list instead of appending to it, preventing duplicate entries
  • Grayscale prompt – Option to enable grayscale effect on password prompt

πŸš€ Features

  • πŸŽ₯ Video Lock Screen + Desktop Wallpaper β€” Use videos on lock screen and desktop.
  • πŸ–₯️ Per-Monitor Playback β€” Assign videos per display with playlist support.
  • 🎢 Multi-Video Playlists β€” Add files/folders, then play sequentially or randomly.
  • πŸ“Š Auto FPS Detection β€” Uses source framerate automatically for smoother playback.
  • 🎨 Flexible Scaling β€” Cover, fit, or stretch to match your layout.
  • 🌫️ Blur + Prompt Effects β€” Adjustable blur/brightness and password prompt behavior (including grayscale option).
  • πŸ”Š Optional Audio β€” Volume control with fade-in/out support.
  • πŸ“‘ Full Preferences UI β€” Separate Lock Screen, Wallpaper, and Debug tabs.
  • πŸ“Œ Top Bar Quick Controls β€” Play/pause, next video, restart, settings, and quick toggles from the panel menu.
  • πŸ–ΌοΈ Thumbnail + Metadata Tools β€” Video previews, metadata display, and quick preview.
  • βœ… Startup Validation β€” Missing videos are removed automatically on startup.
  • πŸ’€ Sleep/Wake Support β€” Automatic pause/resume during system sleep and wake cycles.
  • 🎨 Dynamic Panel Icons β€” Panel icon automatically reflects current wallpaper/lockscreen state.
  • πŸ”‹ Battery Optimization β€” Separate battery disable options for lockscreen and wallpaper to save power.

βš™οΈ Default Setup (Fresh Install)

These defaults are aimed at sensible behavior out of the box:

  • Top bar quick-controls button: enabled
  • Panel icon mode: Dynamic (standard GNOME icons)
  • Lock screen video: enabled
  • Lock screen random order: enabled
  • Lock screen auto FPS: enabled
  • Change blur on password prompt: enabled
  • Grayscale prompt: disabled
  • Lock screen disable on battery: enabled (saves battery on laptops)
  • Video wallpaper: disabled (you can enable it any time)
  • Wallpaper random order: enabled
  • Wallpaper auto FPS: enabled
  • Wallpaper per-monitor mode: enabled
  • Wallpaper render quality: 90%
  • Wallpaper disable on battery: enabled (saves battery on laptops)
  • Pause wallpaper when hidden: Any monitor (pauses when any monitor is covered)
  • Force legacy appsink renderer: disabled (GTK4 renderer path remains default)
  • Verbose logging: disabled (enable for troubleshooting)

πŸ“Έ Screenshots

Expand screenshots

Lock screen clock view

Lock screen password prompt

Desktop wallpaper view without dock overlap

Lockscreen settings window

Wallpaper settings window

Debug settings window

Top bar panel quick controls menu - main

Top bar panel quick controls menu - wallpaper submenu


πŸ“₯ Installation

Manual Install (this fork)

  1. Clone the repository:

    git clone https://github.com/DeLuca21/LiveLockPaper.git
  2. Install into your GNOME Shell extensions folder:

    cp -r LiveLockPaper ~/.local/share/gnome-shell/extensions/live-lockpaper@DeLuca21

    Or move it instead of copying:

    mv LiveLockPaper ~/.local/share/gnome-shell/extensions/live-lockpaper@DeLuca21

    If you used cp and no longer need the clone directory:

    rm -rf LiveLockPaper
  3. Log out and back in (or restart GNOME Shell), then enable:

 gnome-extensions enable live-lockpaper@DeLuca21
  1. Open the extension preferences and select your video files.

Original Extension (GNOME Extensions)

The original (non-forked) version is available on the GNOME Extensions website:

Install from GNOME Extensions


πŸ“¦ Requirements

  • GNOME Shell 47–50
  • GStreamer with good/bad/ugly plugins
  • ffmpeg (for thumbnail generation in preferences)
# Arch / Manjaro
sudo pacman -S gst-plugins-good gst-plugins-bad gst-plugins-ugly ffmpeg

# Fedora
sudo dnf install gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugins-ugly ffmpeg

# Ubuntu / Debian
sudo apt install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly ffmpeg

πŸ§ͺ Renderer Notes (GTK4 vs Appsink)

  • GTK4 (gtk4paintablesink) is the default renderer and is usually the most performant path.
  • The Debug menu includes an option to force the legacy appsink renderer for comparison and troubleshooting.
  • Some debug/performance toggles are appsink-only and are dynamically disabled while GTK4 mode is active.
  • In multi-monitor wallpaper mode on Wayland, helper windows are kept internal and pinned for window-manager stability to keep the secondary-monitor dock visible after unlock.
  • Helper windows use improved skip_taskbar handling for better dock compatibility on Wayland.

🎨 Panel Icon Customization

The extension supports dynamic and static panel icons:

  • Dynamic (Standard Icons): Uses standard GNOME icons that change based on wallpaper/lockscreen state
  • Dynamic (Custom Icons): Uses custom icons from the icons/ directory that change based on state
  • Static (Original Icon): Always shows the original extension icon
  • Static (Custom Icon): Always shows a custom icon from the icons/ directory

For custom icons, place your icon files in the extension's icons/ directory and configure the filenames in Debug settings.

πŸ’€ Sleep/Wake Behavior

The extension has been improved to better handle system sleep and wake cycles:

  • Lockscreen: Video is destroyed on sleep and recreated on wake if the system is still locked (prevents blocking sleep)
  • Wallpaper: Video is paused on sleep and resumed on wake when returning to desktop mode
  • This prevents video playback from blocking system sleep and ensures proper behavior after wake

⏸️ Pause When Hidden Modes

The "Pause when hidden" feature now supports three modes:

  • Off: Never pause wallpaper playback
  • All monitors: Pause when all monitors are fully covered by fullscreen/maximized windows
  • Any monitor: Pause when any monitor is fully covered by a fullscreen/maximized window

This helps save CPU/GPU resources when the wallpaper isn't visible.


⚠️ Known Issues

  • Possible audio and video desync after suspend/wake (improved with sleep/wake handling).
  • Brief green frame at video start β€” enable "Skip first frame" in Debug settings to fix.
  • Possible clicking/crackling sounds when pausing/playing video with audio.
  • Performance issues and shell crashes with high-res videos (hardware dependent).
  • Video wallpaper uses GPU/CPU continuously β€” higher framerates and per-monitor mode use more resources.
  • Most settings apply immediately; a few session-level changes may still need an extension reload.
  • Window positioning may need adjustment when settings window is on a different monitor (work in progress).

πŸ›  Issues & Support

  • Found a bug? Report it via GitHub Issues.
  • Have a feature request? Feel free to suggest improvements.
  • Pull requests are welcome!

πŸ™ Credits

LiveLockPaper is based on Live Lock Screen by @nick-redwill, with major extensions and ongoing maintenance for desktop wallpaper, multi-video workflows, and improved GNOME session behavior.

If you enjoy the base extension, please consider supporting the original author 🍡


Disclaimer

Some parts of this project were built with AI assistance, but all final code changes and release decisions are reviewed by me.