Compare commits

..

5 commits

Author SHA1 Message Date
Benjamin Palko
f687e17c94 limit volume 2025-09-15 22:05:02 -04:00
Benjamin Palko
b0d9342e1d forward control spacing 2025-09-15 22:04:46 -04:00
Benjamin Palko
1c30ea270f alias panel window background 2025-09-15 20:43:24 -04:00
Benjamin Palko
ebb66dee21 add audio volume slider 2025-09-15 20:37:53 -04:00
Benjamin Palko
141c64a0bb alias rectangle radius on tab button 2025-09-15 20:37:20 -04:00
5 changed files with 26 additions and 6 deletions

View file

@ -7,11 +7,13 @@ PanelWindow {
id: window id: window
required property string name required property string name
property alias background: background
WlrLayershell.namespace: `lux-${name}` WlrLayershell.namespace: `lux-${name}`
color: "transparent" color: "transparent"
Rectangle { Rectangle {
id: background
anchors.fill: parent anchors.fill: parent
radius: Styling.theme.radiusBox radius: Styling.theme.radiusBox
Behavior on radius { Behavior on radius {

View file

@ -1,4 +1,3 @@
import qs.config
import QtQuick import QtQuick
import QtQuick.Controls.Basic import QtQuick.Controls.Basic
@ -11,10 +10,10 @@ TabBar {
id: view id: view
model: control.contentModel model: control.contentModel
currentIndex: control.currentIndex currentIndex: control.currentIndex
spacing: control.spacing
orientation: ListView.Horizontal orientation: ListView.Horizontal
boundsBehavior: Flickable.StopAtBounds boundsBehavior: Flickable.StopAtBounds
} }
background: Rectangle {
color: Styling.theme.base200 background: Item {}
}
} }

View file

@ -5,6 +5,8 @@ import QtQuick.Controls.Basic
TabButton { TabButton {
id: control id: control
property alias radius: rectangle.radius
contentItem: Text { contentItem: Text {
font.pixelSize: Styling.typography.textSize.base font.pixelSize: Styling.typography.textSize.base
font.family: Styling.typography.fontFamily font.family: Styling.typography.fontFamily

View file

@ -23,7 +23,7 @@ ColumnLayout {
StyledText { StyledText {
Layout.column: 1 Layout.column: 1
Layout.row: 1 Layout.row: 1
text: "Speakers" text: "Device"
} }
StyledComboBox { StyledComboBox {
@ -36,6 +36,23 @@ ColumnLayout {
Pipewire.setSink(Pipewire.sinks[index]); Pipewire.setSink(Pipewire.sinks[index]);
} }
} }
StyledText {
Layout.column: 1
Layout.row: 2
text: "Volume"
}
StyledSlider {
Layout.column: 2
Layout.row: 2
from: 0.0
to: 1.0
value: Pipewire.volume
onMoved: {
Pipewire.setVolume(value);
}
}
} }
} }

View file

@ -19,7 +19,7 @@ Singleton {
function setVolume(volume: real): void { function setVolume(volume: real): void {
if (sink?.ready && sink?.audio) { if (sink?.ready && sink?.audio) {
sink.audio.muted = false; sink.audio.muted = false;
sink.audio.volume = volume; sink.audio.volume = Math.min(volume, 1.0);
} }
} }