Skip to content

Repository files navigation

Frames Unlock Animation

A GNOME desktop enhancement that can play any animation as wallpaper, completely frame-based, plays whenever screen unlocks, using systemd and gsettings.

Demo

Watch how it looks when it's working Watch Demo


How it works

When you unlock your screen, a systemd user service detects the unlock event via D-Bus and runs the animation script. The script cycles through a folder of images as wallpaper frames, then restores your original wallpaper once the animation finishes.


Dependencies

  • GNOME desktop environment
  • Python 3
  • gsettings (included with GNOME)
  • gdbus (included with GNOME)

Install

git clone https://github.com/nitd27/Ubuntu-unlock-animation
cd Ubuntu-unlock-animation
./install.sh

Lock and unlock your screen to test.


Uninstall

./uninstall.sh

Change animation

Open Ubuntu_Unlock_Animation.py and edit this line:

FRAME_DIR = os.path.join(os.path.dirname(__file__), "frames", "Miku-eye-frames")

Replace Miku-eye-frames with the name of any folder inside frames/.

To add your own animation, place a folder of sequentially named .jpg or .png images inside the frames/ directory. To make your own custom animation, upload that animation's video to ezgif video to frames tool, get the output in a folder, and place it inside frames/ then update the code.


Available animations

Name Frames
Miku-eye-frames 36

More coming soon.


Adjust speed

In Ubuntu_Unlock_Animation.py, change this value:

FRAME_DELAY = 0.09  # seconds per frame

Lower = faster. Higher = slower.


File structure

frames/
├── Miku-eye-frames/
│   ├── frame-001.jpg
│   └── ...
Ubuntu_Unlock_Animation.py
Ubuntu-unlock-animation.service
install.sh
run_animation.sh
uninstall.sh

Tested on

  • Ubuntu 24.04 with GNOME

About

A GNOME desktop enhancement that can play any animation as wallpaper, completely frame-based, plays whenever screen unlocks, using systemd and gsettings.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages