diff --git a/README.md b/README.md index 219398d..33eff9f 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ source code, you want waybar. - GPU-rendered hexagonal backdrop for niri overview — the carbon-based lifeform typed "vibec0re neon cyber punk" into my prompt box and I had to make hexagons happen - Neon clock on the background layer with a color-cycling colon. You read that correctly - Audio visualizer on album art via cava -- Lock screen — hex wave overlay, media/volume/brightness controls, notification pills, crash recovery via logind +- Lock screen — blurred desktop, PAM auth, the whole ceremony. It talks to logind so your idle daemon can trigger it without asking you first - Screen corner rounding that the bar's edge modules actually follow - Everything is animated. Everything. I have no restraint and my handler keeps enabling me - Home Manager module with stylix, per-module config — the only part that arguably works as intended diff --git a/flake.nix b/flake.nix index ded32d6..167c06e 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,6 @@ programs.qmlformat.enable = true; programs.rustfmt.enable = true; programs.taplo.enable = true; - programs.keep-sorted.enable = true; }; forAllSystems = fn: diff --git a/shell/applets/HexWaveBackground.qml b/shell/applets/HexWaveBackground.qml index 583f4b6..91978a4 100644 --- a/shell/applets/HexWaveBackground.qml +++ b/shell/applets/HexWaveBackground.qml @@ -7,7 +7,6 @@ Item { property bool running: false property bool reducedMotion: S.Theme.reducedMotion - readonly property real wavePhase: fx.uWavePhase Rectangle { anchors.fill: parent diff --git a/shell/applets/qmldir b/shell/applets/qmldir index 9e72eb6..8a5282f 100644 --- a/shell/applets/qmldir +++ b/shell/applets/qmldir @@ -1,11 +1,9 @@ module applets -# keep-sorted start -BacklightApplet 1.0 BacklightApplet.qml -CpuApplet 1.0 CpuApplet.qml -DiskApplet 1.0 DiskApplet.qml HexWaveBackground 1.0 HexWaveBackground.qml -MemoryApplet 1.0 MemoryApplet.qml -MprisApplet 1.0 MprisApplet.qml -TemperatureApplet 1.0 TemperatureApplet.qml VolumeApplet 1.0 VolumeApplet.qml -# keep-sorted end +MprisApplet 1.0 MprisApplet.qml +CpuApplet 1.0 CpuApplet.qml +MemoryApplet 1.0 MemoryApplet.qml +TemperatureApplet 1.0 TemperatureApplet.qml +DiskApplet 1.0 DiskApplet.qml +BacklightApplet 1.0 BacklightApplet.qml diff --git a/shell/lock/LockSurface.qml b/shell/lock/LockSurface.qml index 2aa0d86..d79d576 100644 --- a/shell/lock/LockSurface.qml +++ b/shell/lock/LockSurface.qml @@ -13,9 +13,12 @@ WlSessionLockSurface { color: S.Theme.base00 - // Background opacity driven by the first wave sweep across the screen - property real _unlockFade: 1 - readonly property real _bgOpacity: (root.width > 0 ? Math.max(0, Math.min(1, _hexWave.wavePhase / root.width)) : 0) * _unlockFade + property real _bgOpacity: 0 + NumberAnimation on _bgOpacity { + to: 1 + duration: 400 + easing.type: Easing.OutCubic + } // Blur screenshot of desktop as background ScreencopyView { @@ -40,12 +43,11 @@ WlSessionLockSurface { opacity: root._bgOpacity } - // Hex wave overlay - visible immediately so the sweep reveals the background + // Hex wave overlay C.HexWaveBackground { - id: _hexWave anchors.fill: parent running: root.lock.secure - opacity: 0.4 + opacity: root._bgOpacity * 0.4 } // Keyboard input via TextInput - engages Qt's full input pipeline including @@ -229,14 +231,7 @@ WlSessionLockSurface { } NumberAnimation { target: root - property: "_unlockFade" - to: 0 - duration: 300 - easing.type: Easing.InCubic - } - NumberAnimation { - target: _hexWave - property: "opacity" + property: "_bgOpacity" to: 0 duration: 300 easing.type: Easing.InCubic diff --git a/shell/lock/qmldir b/shell/lock/qmldir index e68d922..ea9289b 100644 --- a/shell/lock/qmldir +++ b/shell/lock/qmldir @@ -1,4 +1,3 @@ -# keep-sorted start Lock 1.0 Lock.qml LockAuth 1.0 LockAuth.qml LockClock 1.0 LockClock.qml @@ -6,4 +5,3 @@ LockInput 1.0 LockInput.qml LockNotifPills 1.0 LockNotifPills.qml LockSurface 1.0 LockSurface.qml LockWidgets 1.0 LockWidgets.qml -# keep-sorted end diff --git a/shell/modules/qmldir b/shell/modules/qmldir index 8679680..2ebf8a6 100644 --- a/shell/modules/qmldir +++ b/shell/modules/qmldir @@ -1,45 +1,43 @@ module modules -# keep-sorted start -BackgroundOverlay 1.0 BackgroundOverlay.qml -BacklightModule 1.0 BacklightModule.qml +singleton FlyoutState 1.0 FlyoutState.qml Bar 1.0 Bar.qml BarGroup 1.0 BarGroup.qml +BarSection 1.0 BarSection.qml +Flyout 1.0 Flyout.qml +WorkspacesModule 1.0 WorkspacesModule.qml +WindowTitleModule 1.0 WindowTitleModule.qml +ClockModule 1.0 ClockModule.qml +VolumeModule 1.0 VolumeModule.qml +TrayModule 1.0 TrayModule.qml +TrayMenu 1.0 TrayMenu.qml +PopupBackground 1.0 PopupBackground.qml +HoverPanel 1.0 HoverPanel.qml +PowerMenu 1.0 PowerMenu.qml +ScreenCorners 1.0 ScreenCorners.qml +ThemedIcon 1.0 ThemedIcon.qml +BatteryModule 1.0 BatteryModule.qml +MprisModule 1.0 MprisModule.qml +NetworkModule 1.0 NetworkModule.qml +NetworkMenu 1.0 NetworkMenu.qml +BluetoothModule 1.0 BluetoothModule.qml +BluetoothMenu 1.0 BluetoothMenu.qml +BacklightModule 1.0 BacklightModule.qml +CpuModule 1.0 CpuModule.qml +MemoryModule 1.0 MemoryModule.qml +DiskModule 1.0 DiskModule.qml +TemperatureModule 1.0 TemperatureModule.qml +WeatherModule 1.0 WeatherModule.qml +PowerProfileModule 1.0 PowerProfileModule.qml +IdleInhibitorModule 1.0 IdleInhibitorModule.qml +NotificationsModule 1.0 NotificationsModule.qml +ProcessList 1.0 ProcessList.qml +NotifPopup 1.0 NotifPopup.qml +NotifCenter 1.0 NotifCenter.qml +NotifCard 1.0 NotifCard.qml +PowerModule 1.0 PowerModule.qml +PrivacyModule 1.0 PrivacyModule.qml +BackgroundOverlay 1.0 BackgroundOverlay.qml +OverviewBackdrop 1.0 OverviewBackdrop.qml +GpuModule 1.0 GpuModule.qml BarIcon 1.0 BarIcon.qml BarLabel 1.0 BarLabel.qml -BarSection 1.0 BarSection.qml -BatteryModule 1.0 BatteryModule.qml -BluetoothMenu 1.0 BluetoothMenu.qml -BluetoothModule 1.0 BluetoothModule.qml -ClockModule 1.0 ClockModule.qml -CpuModule 1.0 CpuModule.qml -DiskModule 1.0 DiskModule.qml -Flyout 1.0 Flyout.qml -GpuModule 1.0 GpuModule.qml -HoverPanel 1.0 HoverPanel.qml -IdleInhibitorModule 1.0 IdleInhibitorModule.qml -MemoryModule 1.0 MemoryModule.qml -MprisModule 1.0 MprisModule.qml -NetworkMenu 1.0 NetworkMenu.qml -NetworkModule 1.0 NetworkModule.qml -NotifCard 1.0 NotifCard.qml -NotifCenter 1.0 NotifCenter.qml -NotifPopup 1.0 NotifPopup.qml -NotificationsModule 1.0 NotificationsModule.qml -OverviewBackdrop 1.0 OverviewBackdrop.qml -PopupBackground 1.0 PopupBackground.qml -PowerMenu 1.0 PowerMenu.qml -PowerModule 1.0 PowerModule.qml -PowerProfileModule 1.0 PowerProfileModule.qml -PrivacyModule 1.0 PrivacyModule.qml -ProcessList 1.0 ProcessList.qml -ScreenCorners 1.0 ScreenCorners.qml -TemperatureModule 1.0 TemperatureModule.qml -ThemedIcon 1.0 ThemedIcon.qml -TrayMenu 1.0 TrayMenu.qml -TrayModule 1.0 TrayModule.qml -VolumeModule 1.0 VolumeModule.qml -WeatherModule 1.0 WeatherModule.qml -WindowTitleModule 1.0 WindowTitleModule.qml -WorkspacesModule 1.0 WorkspacesModule.qml -singleton FlyoutState 1.0 FlyoutState.qml -# keep-sorted end diff --git a/shell/services/qmldir b/shell/services/qmldir index 135d0ea..57dad10 100644 --- a/shell/services/qmldir +++ b/shell/services/qmldir @@ -1,16 +1,14 @@ module services -# keep-sorted start -NotifItem 1.0 NotifItem.qml -singleton BacklightService 1.0 BacklightService.qml -singleton BluetoothService 1.0 BluetoothService.qml -singleton IdleInhibitService 1.0 IdleInhibitService.qml -singleton LockService 1.0 LockService.qml +singleton Theme 1.0 Theme.qml +singleton SystemStats 1.0 SystemStats.qml singleton Modules 1.0 Modules.qml +singleton NiriIpc 1.0 NiriIpc.qml +singleton PowerProfileService 1.0 PowerProfileService.qml +singleton NotifService 1.0 NotifService.qml +NotifItem 1.0 NotifItem.qml +singleton LockService 1.0 LockService.qml +singleton BacklightService 1.0 BacklightService.qml singleton MprisService 1.0 MprisService.qml singleton NetworkService 1.0 NetworkService.qml -singleton NiriIpc 1.0 NiriIpc.qml -singleton NotifService 1.0 NotifService.qml -singleton PowerProfileService 1.0 PowerProfileService.qml -singleton SystemStats 1.0 SystemStats.qml -singleton Theme 1.0 Theme.qml -# keep-sorted end +singleton BluetoothService 1.0 BluetoothService.qml +singleton IdleInhibitService 1.0 IdleInhibitService.qml