Skip to content

feat(password): add password input glyph animation eye candy like V4#3239

Open
mattvilim wants to merge 1 commit into
noctalia-dev:mainfrom
mattvilim:password-glyph-animate
Open

feat(password): add password input glyph animation eye candy like V4#3239
mattvilim wants to merge 1 commit into
noctalia-dev:mainfrom
mattvilim:password-glyph-animate

Conversation

@mattvilim

Copy link
Copy Markdown
Contributor

Summary

This PR adds an animation when typing passwords similar to what V4 had. This applies to lock screen, polkit panel, and WiFi password. It animates both "random" glyphs and circular ones. See video below for example.

I designed the animation based on my vague memory of what V4 looked like. 😄

Motivation

Make Noctalia even more dank than DMS.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging

Related Issue

N/A

Testing

See video below. I tested with shell.password_style random and default on lock screen and polkit. I also checked shell.animation.enabled = false doesn't break anything.

Manual Coverage

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Tested with different bar positions and density settings
  • Tested at different interface scaling values
  • Tested with multiple monitors

Screenshots / Videos

recording_20260701_150906.mp4

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • I read and followed the relevant guidance in CONTRIBUTING.md.
  • I ran just format with clang-format v22+ installed, or this PR has no code changes.
  • I ran the relevant build or test commands, or explained why they were not run.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I will update end-user documentation after merge, or this PR does not change user-facing configuration or behavior.
  • I added or updated assets/translations/en.json, or this PR adds no new user-facing strings.
  • I did not edit non-English translation files unless this PR is explicitly for translation tooling, an import/export sync, or a maintainer-requested locale change.
  • I used the existing canonical names for config keys, IPC names, paths, and identifiers.

Additional Notes

I left a note in the PR about render pixel snapping related to the scale animation. The current solution works to avoid snapping mid-animation. Using animation-aware render snapping might make more sense than the stateless matrix transform heuristics in the future. I'd have to think about it more...

@mattvilim mattvilim force-pushed the password-glyph-animate branch from 83a5f9e to d064ab9 Compare July 3, 2026 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant