mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
VolumeSettings, MicrophoneSettings: Add middle click command
This commit is contained in:
@@ -635,6 +635,7 @@
|
||||
"media-scrolling-title-description": "Enable continuous scrolling for long media titles.",
|
||||
"media-scrolling-title-label": "Scrolling title",
|
||||
"media-title": "Media players",
|
||||
"on-middle-clicked-description": "Command to execute when the button is middle-clicked.",
|
||||
"panel-applications-empty": "No applications are currently playing audio",
|
||||
"title": "Audio",
|
||||
"visualizer-type-description": "Choose a visualization type for media playback.",
|
||||
|
||||
@@ -34,6 +34,7 @@ Item {
|
||||
|
||||
readonly property bool isBarVertical: Settings.data.bar.position === "left" || Settings.data.bar.position === "right"
|
||||
readonly property string displayMode: (widgetSettings.displayMode !== undefined) ? widgetSettings.displayMode : widgetMetadata.displayMode
|
||||
readonly property string middleClickCommand: (widgetSettings.middleClickCommand !== undefined) ? widgetSettings.middleClickCommand : widgetMetadata.middleClickCommand
|
||||
|
||||
// Used to avoid opening the pill on Quickshell startup
|
||||
property bool firstInputVolumeReceived: false
|
||||
@@ -172,6 +173,8 @@ Item {
|
||||
contextMenu.openAtItem(pill, screen);
|
||||
}
|
||||
}
|
||||
onMiddleClicked: root.openExternalMixer()
|
||||
onMiddleClicked: {
|
||||
Quickshell.execDetached(["sh", "-c", middleClickCommand]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ Item {
|
||||
|
||||
readonly property bool isBarVertical: Settings.data.bar.position === "left" || Settings.data.bar.position === "right"
|
||||
readonly property string displayMode: (widgetSettings.displayMode !== undefined) ? widgetSettings.displayMode : widgetMetadata.displayMode
|
||||
readonly property string middleClickCommand: (widgetSettings.middleClickCommand !== undefined) ? widgetSettings.middleClickCommand : widgetMetadata.middleClickCommand
|
||||
|
||||
// Used to avoid opening the pill on Quickshell startup
|
||||
property bool firstVolumeReceived: false
|
||||
@@ -156,6 +157,8 @@ Item {
|
||||
contextMenu.openAtItem(pill, screen);
|
||||
}
|
||||
}
|
||||
onMiddleClicked: root.openExternalMixer()
|
||||
onMiddleClicked: {
|
||||
Quickshell.execDetached(["sh", "-c", middleClickCommand]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,10 +14,12 @@ ColumnLayout {
|
||||
|
||||
// Local state
|
||||
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
|
||||
property string valueMiddleClickCommand: widgetData.middleClickCommand !== undefined ? widgetData.middleClickCommand : widgetMetadata.middleClickCommand
|
||||
|
||||
function saveSettings() {
|
||||
var settings = Object.assign({}, widgetData || {});
|
||||
settings.displayMode = valueDisplayMode;
|
||||
settings.middleClickCommand = valueMiddleClickCommand;
|
||||
return settings;
|
||||
}
|
||||
|
||||
@@ -42,4 +44,13 @@ ColumnLayout {
|
||||
currentKey: valueDisplayMode
|
||||
onSelected: key => valueDisplayMode = key
|
||||
}
|
||||
|
||||
// Middle click command
|
||||
NTextInput {
|
||||
label: I18n.tr("panels.control-center.shortcuts-custom-button-on-middle-clicked-label")
|
||||
description: I18n.tr("panels.audio.on-middle-clicked-description")
|
||||
placeholderText: I18n.tr("panels.audio.external-mixer-placeholder")
|
||||
text: valueMiddleClickCommand
|
||||
onTextChanged: valueMiddleClickCommand = text
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,10 +14,12 @@ ColumnLayout {
|
||||
|
||||
// Local state
|
||||
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
|
||||
property string valueMiddleClickCommand: widgetData.middleClickCommand !== undefined ? widgetData.middleClickCommand : widgetMetadata.middleClickCommand
|
||||
|
||||
function saveSettings() {
|
||||
var settings = Object.assign({}, widgetData || {});
|
||||
settings.displayMode = valueDisplayMode;
|
||||
settings.middleClickCommand = valueMiddleClickCommand;
|
||||
return settings;
|
||||
}
|
||||
|
||||
@@ -42,4 +44,13 @@ ColumnLayout {
|
||||
currentKey: valueDisplayMode
|
||||
onSelected: key => valueDisplayMode = key
|
||||
}
|
||||
|
||||
// Middle click command
|
||||
NTextInput {
|
||||
label: I18n.tr("panels.control-center.shortcuts-custom-button-on-middle-clicked-label")
|
||||
description: I18n.tr("panels.audio.on-middle-clicked-description")
|
||||
placeholderText: I18n.tr("panels.audio.external-mixer-placeholder")
|
||||
text: valueMiddleClickCommand
|
||||
onTextChanged: valueMiddleClickCommand = text
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,7 +178,8 @@ Singleton {
|
||||
"compactShowVisualizer": false
|
||||
},
|
||||
"Microphone": {
|
||||
"displayMode": "onhover"
|
||||
"displayMode": "onhover",
|
||||
"middleClickCommand": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"NotificationHistory": {
|
||||
"showUnreadBadge": true,
|
||||
@@ -246,7 +247,8 @@ Singleton {
|
||||
"iconScale": 0.8
|
||||
},
|
||||
"Volume": {
|
||||
"displayMode": "onhover"
|
||||
"displayMode": "onhover",
|
||||
"middleClickCommand": "pwvucontrol || pavucontrol"
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user