54 lines
2.1 KiB
QML
54 lines
2.1 KiB
QML
import QtQuick
|
|
import Quickshell.Services.Pipewire
|
|
import qs.config
|
|
import qs.services
|
|
import qs.modules.quicksettings
|
|
|
|
Item {
|
|
Flickable {
|
|
anchors.fill: parent
|
|
clip: true
|
|
contentWidth: width
|
|
contentHeight: content.implicitHeight + 64
|
|
boundsBehavior: Flickable.StopAtBounds
|
|
|
|
Column {
|
|
id: content
|
|
width: parent.width - 68
|
|
x: 34
|
|
y: 30
|
|
spacing: 16
|
|
|
|
Text { text: "Sound"; color: Theme.fg; font.family: Theme.fontFamily; font.pixelSize: 27; font.weight: Font.DemiBold }
|
|
Text { text: "Live PipeWire output, input, and device selection."; color: Theme.fgDim; font.family: Theme.fontFamily; font.pixelSize: Theme.fontSize; bottomPadding: 6 }
|
|
|
|
SettingsCard {
|
|
title: "Output"
|
|
subtitle: Pipewire.defaultAudioSink?.description ?? "No output device"
|
|
AudioSlider { width: parent.width; node: Pipewire.defaultAudioSink; output: true }
|
|
Rectangle { width: parent.width; height: 1; color: Theme.alpha(Theme.fg, 0.06) }
|
|
AudioDeviceList { width: parent.width; output: true; maxHeight: 190 }
|
|
}
|
|
|
|
SettingsCard {
|
|
title: "Input"
|
|
subtitle: Pipewire.defaultAudioSource?.description ?? "No input device"
|
|
AudioSlider { width: parent.width; node: Pipewire.defaultAudioSource; output: false }
|
|
Rectangle { width: parent.width; height: 1; color: Theme.alpha(Theme.fg, 0.06) }
|
|
AudioDeviceList { width: parent.width; output: false; maxHeight: 160 }
|
|
}
|
|
|
|
SettingsCard {
|
|
title: "Advanced sound"
|
|
SettingRow {
|
|
label: "Application volumes and profiles"
|
|
detail: "Open Fedora's complete sound panel"
|
|
divider: false
|
|
controlWidth: 104
|
|
SettingsButton { anchors.right: parent.right; anchors.verticalCenter: parent.verticalCenter; text: "Open panel"; onClicked: SystemSettings.openGnomePanel("sound") }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|