Compare commits

..
8 changed files with 55 additions and 70 deletions

View file

@ -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 - 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 - Neon clock on the background layer with a color-cycling colon. You read that correctly
- Audio visualizer on album art via cava - 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 - 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 - 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 - Home Manager module with stylix, per-module config — the only part that arguably works as intended

View file

@ -34,7 +34,6 @@
programs.qmlformat.enable = true; programs.qmlformat.enable = true;
programs.rustfmt.enable = true; programs.rustfmt.enable = true;
programs.taplo.enable = true; programs.taplo.enable = true;
programs.keep-sorted.enable = true;
}; };
forAllSystems = forAllSystems =
fn: fn:

View file

@ -7,7 +7,6 @@ Item {
property bool running: false property bool running: false
property bool reducedMotion: S.Theme.reducedMotion property bool reducedMotion: S.Theme.reducedMotion
readonly property real wavePhase: fx.uWavePhase
Rectangle { Rectangle {
anchors.fill: parent anchors.fill: parent

View file

@ -1,11 +1,9 @@
module applets 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 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 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

View file

@ -13,9 +13,12 @@ WlSessionLockSurface {
color: S.Theme.base00 color: S.Theme.base00
// Background opacity driven by the first wave sweep across the screen property real _bgOpacity: 0
property real _unlockFade: 1 NumberAnimation on _bgOpacity {
readonly property real _bgOpacity: (root.width > 0 ? Math.max(0, Math.min(1, _hexWave.wavePhase / root.width)) : 0) * _unlockFade to: 1
duration: 400
easing.type: Easing.OutCubic
}
// Blur screenshot of desktop as background // Blur screenshot of desktop as background
ScreencopyView { ScreencopyView {
@ -40,12 +43,11 @@ WlSessionLockSurface {
opacity: root._bgOpacity opacity: root._bgOpacity
} }
// Hex wave overlay - visible immediately so the sweep reveals the background // Hex wave overlay
C.HexWaveBackground { C.HexWaveBackground {
id: _hexWave
anchors.fill: parent anchors.fill: parent
running: root.lock.secure running: root.lock.secure
opacity: 0.4 opacity: root._bgOpacity * 0.4
} }
// Keyboard input via TextInput - engages Qt's full input pipeline including // Keyboard input via TextInput - engages Qt's full input pipeline including
@ -229,14 +231,7 @@ WlSessionLockSurface {
} }
NumberAnimation { NumberAnimation {
target: root target: root
property: "_unlockFade" property: "_bgOpacity"
to: 0
duration: 300
easing.type: Easing.InCubic
}
NumberAnimation {
target: _hexWave
property: "opacity"
to: 0 to: 0
duration: 300 duration: 300
easing.type: Easing.InCubic easing.type: Easing.InCubic

View file

@ -1,4 +1,3 @@
# keep-sorted start
Lock 1.0 Lock.qml Lock 1.0 Lock.qml
LockAuth 1.0 LockAuth.qml LockAuth 1.0 LockAuth.qml
LockClock 1.0 LockClock.qml LockClock 1.0 LockClock.qml
@ -6,4 +5,3 @@ LockInput 1.0 LockInput.qml
LockNotifPills 1.0 LockNotifPills.qml LockNotifPills 1.0 LockNotifPills.qml
LockSurface 1.0 LockSurface.qml LockSurface 1.0 LockSurface.qml
LockWidgets 1.0 LockWidgets.qml LockWidgets 1.0 LockWidgets.qml
# keep-sorted end

View file

@ -1,45 +1,43 @@
module modules module modules
# keep-sorted start singleton FlyoutState 1.0 FlyoutState.qml
BackgroundOverlay 1.0 BackgroundOverlay.qml
BacklightModule 1.0 BacklightModule.qml
Bar 1.0 Bar.qml Bar 1.0 Bar.qml
BarGroup 1.0 BarGroup.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 BarIcon 1.0 BarIcon.qml
BarLabel 1.0 BarLabel.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

View file

@ -1,16 +1,14 @@
module services module services
# keep-sorted start singleton Theme 1.0 Theme.qml
NotifItem 1.0 NotifItem.qml singleton SystemStats 1.0 SystemStats.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 Modules 1.0 Modules.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 MprisService 1.0 MprisService.qml
singleton NetworkService 1.0 NetworkService.qml singleton NetworkService 1.0 NetworkService.qml
singleton NiriIpc 1.0 NiriIpc.qml singleton BluetoothService 1.0 BluetoothService.qml
singleton NotifService 1.0 NotifService.qml singleton IdleInhibitService 1.0 IdleInhibitService.qml
singleton PowerProfileService 1.0 PowerProfileService.qml
singleton SystemStats 1.0 SystemStats.qml
singleton Theme 1.0 Theme.qml
# keep-sorted end