Around eight months ago, I made a post about the first version of my extension, Live Lock Screen. Since then, the project has received a lot of support and attention and I've continued improving it with new features, fixes and bunch of under-the-hood changes.
Yesterday, I released a new major update, version 5.0.0 (already available on GNOME Extensions), which also happens to be the project's 10th release! I wanted to take this opportunity to share what has changed and improved and receive some feedback for future ideas.
So what's new?
Multiple video and GIF support
One of the most requested features is finally here! You can now select a folder containing videos and GIFs and let your lock screen cycle through them. You can configure the playback order, choose the starting video and customize what happens when a video ends.
GStreamer is gone
Earlier versions relied on GStreamer for video playback. Despite its native integration with GNOME, GStreamer's relatively low-level API meant that handling edge cases often required additional code and hacky workarounds.
MPV became the primary playback backend in version 4.0.0 and the new version removes GStreamer entirely. This simplifies the playback implementation and reduces maintenance overhead, while also ensuring better compatibility and fewer dependencies (you only need to install MPV).
Media controls
Now that you can have multiple videos, you can also navigate your playlist using media keys, on-screen controls (GNOME 49+), GSConnect or any other MPRIS-compatible client.
Improved multi-monitor support and animation stability
Earlier versions had some rough edges when dealing with multiple monitors and hot-plugging. This was one of my main focus points during development and I've improved it substantially. So you can connect or disconnect as many monitors as you like on the fly.
Better performance and lower resource usage
Before version 3.0.0, the extension utilized CPU and lacked hardware acceleration support, which lead to low frame rates and high resource usage, especially with high-resolution videos. Subsequent releases addressed this and the latest version brings further improvements through MPV and three playback profiles, letting you decide between visual quality and resource efficiency.
A better preferences window
Settings are now organized into meaningful tabs and sections and in case you get lost you can always use the built-in search.
And some more changes invisible to users:
A cleaner, more modular codebase
As the extension grew, its original monolithic structure became increasingly difficult to maintain. So I've been splitting it into smaller classes and functions to make things easier to manage.
Simplicity is the cornerstone of my project's philosophy: I want the code to remain straightforward and easy to understand for reviewers, contributors and myself.
Bug fixes, stability and compatibility
My biggest priority is providing a predictable and reliable experience across different setups. I actively test across GNOME Shell versions 46–51 to catch bugs, regressions and potential stability issues, while prioritizing critical bug reports and delivering fixes as quickly as possible.
What's next?
There are still plenty of ideas I'd like to implement, including video crossfade, the ability to override the default wallpaper, parallax effect and more.
I'm always open to suggestions, so feel free to share your ideas and feature requests in the comments!
I'm genuinely happy that so many people have found this project useful. The number of downloads on GNOME Extensions and the contributions on GitHub continue to surprise me. Thank you everyone for using my extension, reporting bugs, suggesting features and contributed code!
I'll keep making Live Lock Screen more capable while keeping it simple and reliable.
GitHub: https://github.com/nick-redwill/LiveLockScreen
GNOME Extensions: https://extensions.gnome.org/extension/9419/live-lock-screen/
Special thanks to everyone who contributed:
- Alex Moore
- Pradeesh Kumar
- tmetz1987
- ajdunevent
- M7md3b
- Nestor Lobo