Feature: Move volume OSD to bottom-center and enlarge slightly
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,16 +11,13 @@ PanelWindow {
|
||||
color: "transparent"
|
||||
exclusiveZone: 0
|
||||
|
||||
// Top-right, just under the bar — same fixed distance from the bar and
|
||||
// screen edge (Appearance.spacing) that every popup opened from the bar
|
||||
// itself uses, so this lines up with them instead of floating
|
||||
// bottom-center.
|
||||
anchors { top: true; right: true }
|
||||
margins.top: Appearance.spacing
|
||||
margins.right: Appearance.spacing
|
||||
// Bottom-center: anchoring only the bottom edge lets the layer shell
|
||||
// center it horizontally.
|
||||
anchors { bottom: true }
|
||||
margins.bottom: Appearance.spacing * 4
|
||||
|
||||
implicitWidth: 272
|
||||
implicitHeight: 54
|
||||
implicitWidth: 300
|
||||
implicitHeight: 60
|
||||
|
||||
WlrLayershell.layer: WlrLayer.Overlay
|
||||
WlrLayershell.namespace: "quickshell:osd"
|
||||
@@ -49,13 +46,13 @@ PanelWindow {
|
||||
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 14
|
||||
spacing: 12
|
||||
anchors.margins: 15
|
||||
spacing: 13
|
||||
|
||||
Text {
|
||||
font.family: Appearance.iconFontFamilyRounded
|
||||
font.variableAxes: Appearance.iconFontAxes
|
||||
font.pixelSize: 18
|
||||
font.pixelSize: 21
|
||||
color: Colors.foreground
|
||||
text: {
|
||||
const audio = osd.sink ? osd.sink.audio : null
|
||||
@@ -67,7 +64,7 @@ PanelWindow {
|
||||
Item {
|
||||
id: slider
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 16
|
||||
implicitHeight: 18
|
||||
|
||||
readonly property real value: osd.sink && osd.sink.audio ? osd.sink.audio.volume : 0
|
||||
readonly property bool enabled: !!osd.sink
|
||||
@@ -76,7 +73,7 @@ PanelWindow {
|
||||
id: track
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: parent.width
|
||||
height: 4
|
||||
height: 5
|
||||
radius: 0
|
||||
color: Colors.muted
|
||||
opacity: 0.35
|
||||
@@ -85,15 +82,15 @@ PanelWindow {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
width: track.width * Math.max(0, Math.min(1, slider.value))
|
||||
height: 4
|
||||
height: 5
|
||||
radius: 0
|
||||
color: Colors.primary
|
||||
opacity: slider.enabled ? 1 : 0.4
|
||||
}
|
||||
Rectangle {
|
||||
width: 12
|
||||
height: 12
|
||||
radius: 6
|
||||
width: 14
|
||||
height: 14
|
||||
radius: 7
|
||||
color: Colors.primary
|
||||
opacity: slider.enabled ? 1 : 0.4
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
@@ -113,10 +110,10 @@ PanelWindow {
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.preferredWidth: 32
|
||||
Layout.preferredWidth: 38
|
||||
horizontalAlignment: Text.AlignRight
|
||||
font.family: Appearance.fontFamily
|
||||
font.pixelSize: Appearance.fontSizeSmall
|
||||
font.pixelSize: 13
|
||||
color: Colors.muted
|
||||
text: Math.round(slider.value * 100) + "%"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user