Files
dotfiles/quickshell/popouts/PopoutSurface.qml
T
nvrl add12ccc76 refactor(quickshell): drop the Persona names from the primitives
P5Panel, P5Button, P5Slider and P5Tooltip become Panel, ActionButton,
LevelSlider and Tooltip. ActionButton and LevelSlider avoid clashing
with QtQuick.Controls, which the ask panel imports.
2026-10-04 23:39:51 +02:00

33 lines
1.2 KiB
QML

import QtQuick
import "root:/config"
import "root:/components"
// The slab every popout sits on. Pure preset — it declares no children of its
// own, so Panel's default content property stays usable by callers.
Panel {
property color tone: Theme.primary
property bool textured: false
// Inside a Popout the panel is part of the hull, which paints the fill
// and the rim itself; the surface only lays out the content. Elsewhere —
// the launcher, the ask panel — it is a free-standing panel of its own.
readonly property bool attached: parent?.frameAttached ?? false
fill: attached ? "transparent" : Theme.mantle
// Zero, not a transparent fill: Panel re-applies this opacity to the
// fill colour, which turned "transparent" into 97% black.
fillOpacity: attached ? 0 : 0.97
// The frame is structure: a neutral hairline. A free-standing panel takes
// the frame's own corner radius, so it reads as a piece of the hull set
// down somewhere else rather than as a hard card.
border: Theme.surfaceAlt
borderWidth: attached ? 0 : Theme.stroke
halftone: textured
halftoneColor: tone
halftoneOpacity: 0.06
ticks: false
radius: Theme.frameRadius
tickColor: tone
padding: Theme.padM
}