Audio: added a settings to choose your favorite external audio mixer (ex: pavucontrol, ...)

This commit is contained in:
ItsLemmy
2025-11-19 08:28:51 -05:00
parent a9ccb4c133
commit d641eadf75
14 changed files with 67 additions and 7 deletions
+5
View File
@@ -743,6 +743,11 @@
"label": "Audio-Geräte"
}
},
"external-mixer": {
"description": "Geben Sie den Befehl oder den Anwendungspfad ein, der beim Aktivieren der externen Audiomixer-Funktion gestartet werden soll.",
"label": "Externer Audio-Mixer-Befehl",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Stichwörter für Player hinzufügen, die das System ignorieren soll. Jedes Stichwort sollte in einer neuen Zeile stehen.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Audio devices"
}
},
"external-mixer": {
"description": "Enter the command or application path to launch when activating the external audio mixer feature.",
"label": "External Audio Mixer Command",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Add keywords for players you want the system to ignore. Each keyword should be on a new line.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Dispositivos de audio"
}
},
"external-mixer": {
"description": "Ingrese el comando o la ruta de la aplicación para ejecutar al activar la función de mezclador de audio externo.",
"label": "Comando de mezclador de audio externo",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Agrega palabras clave para los reproductores que deseas que el sistema ignore. Cada palabra clave debe estar en una línea nueva.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Périphériques audio"
}
},
"external-mixer": {
"description": "Entrez la commande ou le chemin d'accès de l'application à lancer lors de l'activation de la fonctionnalité de mixeur audio externe.",
"label": "Commande de mixeur audio externe",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Ajoutez des mots-clés pour les lecteurs que le système doit ignorer. Chaque mot-clé doit être sur une nouvelle ligne.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Audio-apparaten"
}
},
"external-mixer": {
"description": "Voer het commando of het applicatiepad in om te starten bij het activeren van de externe audiomixerfunctie.",
"label": "Extern audio mixer commando",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Voeg trefwoorden toe voor spelers die het systeem moet negeren. Elk trefwoord moet op een nieuwe regel staan.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Dispositivos de áudio"
}
},
"external-mixer": {
"description": "Insira o comando ou o caminho do aplicativo para iniciar ao ativar o recurso de mixer de áudio externo.",
"label": "Comando de Mixer de Áudio Externo",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Adicione palavras-chave para os reprodutores que você deseja que o sistema ignore. Cada palavra-chave deve estar em uma nova linha.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Аудиоустройства"
}
},
"external-mixer": {
"description": "Введите команду или путь к приложению для запуска при активации функции внешнего аудиомикшера.",
"label": "Команда внешнего аудиомикшера",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Добавьте ключевые слова для плееров, которые система должна игнорировать. Каждое ключевое слово должно быть на новой строке.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Ses cihazları"
}
},
"external-mixer": {
"description": "Harici ses mikseri özelliği etkinleştirilirken başlatılacak komutu veya uygulama yolunu girin.",
"label": "Harici Ses Mikseri Komutu",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Sistemin yoksaymasını istediğiniz oynatıcılar için anahtar kelimeler ekleyin. Her anahtar kelime ayrı bir satırda olmalıdır.",
+5
View File
@@ -743,6 +743,11 @@
"label": "Аудіопристрої"
}
},
"external-mixer": {
"description": "Введіть команду або шлях до програми для запуску при активації функції зовнішнього аудіомікшера.",
"label": "Команда зовнішнього аудіомікшера",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "Додайте ключові слова для плеєрів, які система має ігнорувати. Кожне ключове слово на новому рядку.",
+5
View File
@@ -743,6 +743,11 @@
"label": "音频设备"
}
},
"external-mixer": {
"description": "输入激活外部音频混音器功能时要启动的命令或应用程序路径。",
"label": "外部音频混音器命令",
"placeholder": "pwvucontrol || pavucontrol"
},
"media": {
"excluded-player": {
"description": "添加您希望系统忽略的播放器关键词。每个关键词应单独占一行。",
+1
View File
@@ -466,6 +466,7 @@ Singleton {
property string visualizerQuality: "high"
property list<string> mprisBlacklist: []
property string preferredPlayer: ""
property string externalMixer: "pwvucontrol || pavucontrol"
}
// brightness
+1 -1
View File
@@ -86,7 +86,7 @@ Item {
}
function openExternalMixer() {
Quickshell.execDetached(["sh", "-c", "pwvucontrol || pavucontrol"]);
Quickshell.execDetached(["sh", "-c", Settings.data.audio.externalMixer]);
}
NPopupContextMenu {
+1 -1
View File
@@ -59,7 +59,7 @@ Item {
}
function openExternalMixer() {
Quickshell.execDetached(["sh", "-c", "pwvucontrol || pavucontrol"]);
Quickshell.execDetached(["sh", "-c", Settings.data.audio.externalMixer]);
}
Timer {
+14 -5
View File
@@ -10,11 +10,6 @@ ColumnLayout {
id: root
spacing: Style.marginL
NHeader {
label: I18n.tr("settings.audio.volumes.section.label")
description: I18n.tr("settings.audio.volumes.section.description")
}
property real localVolume: AudioService.volume
Connections {
@@ -24,6 +19,11 @@ ColumnLayout {
}
}
NHeader {
label: I18n.tr("settings.audio.volumes.section.label")
description: I18n.tr("settings.audio.volumes.section.description")
}
// Master Volume
ColumnLayout {
spacing: Style.marginXXS
@@ -141,6 +141,15 @@ ColumnLayout {
}
}
// External mixer command
NTextInput {
label: I18n.tr("settings.audio.external-mixer.label")
description: I18n.tr("settings.audio.external-mixer.description")
placeholderText: I18n.tr("settings.audio.external-mixer.placeholder")
text: Settings.data.audio.externalMixer
onTextChanged: Settings.data.audio.externalMixer = text
}
NDivider {
Layout.fillWidth: true
Layout.topMargin: Style.marginL