Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a701516e4 | ||
|
|
19396b1508 |
8 changed files with 70 additions and 55 deletions
|
|
@ -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 — blurred desktop, PAM auth, the whole ceremony. It talks to logind so your idle daemon can trigger it without asking you first
|
- Lock screen — hex wave overlay, media/volume/brightness controls, notification pills, crash recovery via logind
|
||||||
- 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
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@
|
||||||
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:
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ 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
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
module applets
|
module applets
|
||||||
HexWaveBackground 1.0 HexWaveBackground.qml
|
# keep-sorted start
|
||||||
VolumeApplet 1.0 VolumeApplet.qml
|
|
||||||
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
|
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
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,9 @@ WlSessionLockSurface {
|
||||||
|
|
||||||
color: S.Theme.base00
|
color: S.Theme.base00
|
||||||
|
|
||||||
property real _bgOpacity: 0
|
// Background opacity driven by the first wave sweep across the screen
|
||||||
NumberAnimation on _bgOpacity {
|
property real _unlockFade: 1
|
||||||
to: 1
|
readonly property real _bgOpacity: (root.width > 0 ? Math.max(0, Math.min(1, _hexWave.wavePhase / root.width)) : 0) * _unlockFade
|
||||||
duration: 400
|
|
||||||
easing.type: Easing.OutCubic
|
|
||||||
}
|
|
||||||
|
|
||||||
// Blur screenshot of desktop as background
|
// Blur screenshot of desktop as background
|
||||||
ScreencopyView {
|
ScreencopyView {
|
||||||
|
|
@ -43,11 +40,12 @@ WlSessionLockSurface {
|
||||||
opacity: root._bgOpacity
|
opacity: root._bgOpacity
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hex wave overlay
|
// Hex wave overlay - visible immediately so the sweep reveals the background
|
||||||
C.HexWaveBackground {
|
C.HexWaveBackground {
|
||||||
|
id: _hexWave
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
running: root.lock.secure
|
running: root.lock.secure
|
||||||
opacity: root._bgOpacity * 0.4
|
opacity: 0.4
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keyboard input via TextInput - engages Qt's full input pipeline including
|
// Keyboard input via TextInput - engages Qt's full input pipeline including
|
||||||
|
|
@ -231,7 +229,14 @@ WlSessionLockSurface {
|
||||||
}
|
}
|
||||||
NumberAnimation {
|
NumberAnimation {
|
||||||
target: root
|
target: root
|
||||||
property: "_bgOpacity"
|
property: "_unlockFade"
|
||||||
|
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
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
# 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
|
||||||
|
|
@ -5,3 +6,4 @@ 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
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,45 @@
|
||||||
module modules
|
module modules
|
||||||
singleton FlyoutState 1.0 FlyoutState.qml
|
# keep-sorted start
|
||||||
|
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
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
module services
|
module services
|
||||||
singleton Theme 1.0 Theme.qml
|
# keep-sorted start
|
||||||
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
|
NotifItem 1.0 NotifItem.qml
|
||||||
singleton LockService 1.0 LockService.qml
|
|
||||||
singleton BacklightService 1.0 BacklightService.qml
|
singleton BacklightService 1.0 BacklightService.qml
|
||||||
singleton MprisService 1.0 MprisService.qml
|
|
||||||
singleton NetworkService 1.0 NetworkService.qml
|
|
||||||
singleton BluetoothService 1.0 BluetoothService.qml
|
singleton BluetoothService 1.0 BluetoothService.qml
|
||||||
singleton IdleInhibitService 1.0 IdleInhibitService.qml
|
singleton IdleInhibitService 1.0 IdleInhibitService.qml
|
||||||
|
singleton LockService 1.0 LockService.qml
|
||||||
|
singleton Modules 1.0 Modules.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
|
||||||
|
|
|
||||||
Reference in a new issue