macOS Sonoma-inspired lock screen for GNOME Shell. Part of the WACK Project.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 1.3.0 (14) | Active |
| 1.3.0 (13) | Rejected |
| 1.3.0 (12) | Active |
| 1.3.0 (11) | Rejected |
| 1.2.2 (10) | Active |
| 1.2.0 (9) | Active |
| 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`.