macOS Sonoma-inspired lock screen for GNOME Shell. Part of the WACK Project. What's new in v1.6.0: - Lockscreen Messages, allows you to put custom messages on the lockscreen, e.g "Timothy's ThinkPad, call the police if found" - Prompt Vibrancy, emulates gaussian blur for the password field with a simpler solution that samples the colors of the wallpaper beneath the password field. - Sneak Peek of the [PRO] upgrade. Check GitHub repo to learn how to upgrade your copy of WSL, totally FREE of charge. - Unlock Crossfade is now strictly coupled with WACK Shell [BETA], that enables windows to fade in upon unlock, no longer just the panel sliding down and clock fading out. WACK Shell is currently only available on GitHub.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 1.6.2 (26) | Unreviewed |
| 1.6.1 (25) | Active |
| 1.6.0 (24) | Active |
| 1.6.0 (23) | Rejected |
| 1.6.0 (22) | Rejected |
| 1.6.0 (21) | Rejected |
| 1.6.0 (20) | Rejected |
| 1.6.0 (19) | Rejected |
| 1.5.0 (18) | Rejected |
| 1.4.0 (17) | Active |
| 1.3.4 (16) | Inactive |
| 1.3.2 (15) | Inactive |
| 1.3.0 (14) | Inactive |
| 1.3.0 (13) | Rejected |
| 1.3.0 (12) | Inactive |
| 1.3.0 (11) | Rejected |
| 1.2.2 (10) | Inactive |
| 1.2.0 (9) | Inactive |
| 1.2.0 (8) | Rejected |
| 1.1.2 (7) | Inactive |
| 1.1.2 (6) | Rejected |
| 1.1.1 (5) | Inactive |
| 1.1.0 (4) | Rejected |
| 3 | Rejected |
| 2 | Inactive |
| 1 | Rejected |
## What's Changed in Version 1.1.0 ### 🏗️ Internal Refactor - Split the monolithic `extension.js` (1,880 lines) into dedicated modules: - `constants.js` — centralized configuration and animation helpers - `wackClock.js` — custom lock screen clock widget - `cupertinoPrompt.js` — macOS-style user/hint widget - `layoutManager.js` — custom Clutter layout manager - `notificationManager.js` — notification blur, card limiting, and media player tracking ### 👤 Cupertino Switch User Integration - Relocated Switch User Action: Moved GDM's native "Switch User" functionality onto the user avatar in Cupertino mode (hiding the default button at the bottom of the screen). - Precise Interaction Bounds: Wrapped only the circular profile picture in the click handler, ensuring that the username label below it remains non-interactive. - Hover & Click States: Added a smooth radial glow when hovering over the avatar as well as simple clicked state. ### 🐛 Bug Fixes - Fixed `this.metadata.donations` TypeError on GNOME 46 in preferences window - Added padding to user avatar icons (`StIcon`) for better visual alignment - Resolved memory leaks: `_seat` and `_monitorManager` signals in `WackClock` were never disconnected on destroy; pending idle callbacks were never cancelled on disable - Plugged reference cycle between `NotificationManager` and the main extension object ### ✅ EGO Compliance - Removed deprecated `initTranslations()` call; translation is now handled automatically via the `gettext-domain` key in `metadata.json` - Replaced `_onDestroy()` override pattern with proper `destroy()` + `super.destroy()` - Migrated all signal connections to `connectObject()` / `disconnectObject()` for deterministic cleanup tracking
1. Please remove try-catch wrappers around `disconnect()` from `notificationManager.js`. 2. Don't need to use any parameters for `this.getSettings()` since you already have that in `metadata.json`.