Files
dotfiles/quickshell/shell.qml
T
nvrl c36a74e861 feat(quickshell): idle chain, drifting wallpaper, and a few fixes
- Idle is handled in the shell instead of hypridle: the screen dims
  slowly at 4 minutes, locks at 5, powers down at 6, and suspends at 15
  on battery. Idle inhibitors hold every stage off; Super+Shift+I does
  the same by hand and puts a cup on the rail.
- The shell draws the wallpaper (backdrop/), so hyprpaper is gone. The
  picture is drawn a little larger than the screen and drifts with the
  workspace a beat after the windows, and dims a shade while windows are
  open. The path lives in quickshell/wallpaper.
- The lock screen and power menu say "Take your time." instead of the
  NieR slogan.
- hyprpaper is no longer launched twice, the media module keeps the
  player that played last instead of an empty browser tab, and grouped
  windows show thin untitled tabs with their place in the group (2/3)
  in the bar title.
- qt6ct uses Darkly; the package list gains adw-gtk-theme and darkly-bin.
2026-10-04 23:10:19 +02:00

113 lines
2.3 KiB
QML

import QtQuick
import Quickshell
import "root:/config"
import "root:/services"
import "root:/backdrop"
import "root:/bar"
import "root:/launcher"
import "root:/dashboard"
import "root:/ask"
import "root:/overlays"
import "root:/lock"
// Takemi — a YoRHa-dark Quickshell desktop: NieR:Automata's interface
// language, lit like the wallpaper.
//
// backdrop/ the wallpaper, drifting with the workspace
// bar/ the hull, the top bar, the rail and their modules
// popouts/ hover panels hanging off bar modules
// launcher/ the application launcher
// dashboard/ the drawer that drops from the bar
// ask/ the question panel, dropped from the top edge
// overlays/ power menu, notification toasts, OSD
// lock/ session lock
// services/ data sources (fluxo, pipewire, bluez, upower, mpris, …)
// config/ palette, type, geometry, motion
ShellRoot {
// Services are lazily constructed on first use. The shell wants several of
// them warm from the start — polling, the notification server, the audio
// OSD — so touch them here rather than waiting for a hover.
Component.onCompleted: {
void Sys.cpuUsage;
void Audio.ready;
void Battery.available;
void Brightness.percent;
void Notifs.count;
void Media.hasPlayer;
void Net.wifiEnabled;
void Bt.available;
void Actions.powerMenuOpen;
void Apps.index;
void Idle.stayAwake;
void Wallpaper.path;
}
Variants {
model: Quickshell.screens
Backdrop {}
}
Variants {
model: Quickshell.screens
Frame {}
}
Variants {
model: Quickshell.screens
Bar {}
}
Variants {
model: Quickshell.screens
Rail {}
}
Variants {
model: Quickshell.screens
Launcher {}
}
Variants {
model: Quickshell.screens
Dashboard {}
}
Variants {
model: Quickshell.screens
AskPanel {}
}
Variants {
model: Quickshell.screens
PowerMenu {}
}
Variants {
model: Quickshell.screens
Toasts {}
}
Variants {
model: Quickshell.screens
Osd {}
}
Variants {
model: Quickshell.screens
IdleDim {}
}
Lock {}
}