bar: reworked most widgets to support custom icon and text color

This commit is contained in:
Lemmy
2026-02-05 20:03:42 -05:00
parent bda6ca7b55
commit 4ec02be171
62 changed files with 874 additions and 301 deletions
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Tipp: Verwenden Sie \\n, um einen Zeilenumbruch zu erstellen.",
"horizontal-bar-label": "Horizontale Leiste",
"preview": "Vorschau",
"select-color-description": "Wendet Themenfarben zur Hervorhebung an.",
"tooltip-format-description": "Formatzeichenfolge für den Tooltip, der beim Bewegen des Mauszeigers über die Uhr angezeigt wird. Leer lassen, um den Standard-Tooltip zu verwenden.",
"tooltip-format-label": "Tooltip-Format",
"use-custom-font-description": "Überschreibt die Standard-Schriftart mit einer benutzerdefinierten Schriftart für die Uhr.",
@@ -462,6 +461,7 @@
"security": "Sicherheit",
"select": "Auswählen",
"select-color": "Farbe auswählen",
"select-color-description": "Wendet Themenfarben zur Hervorhebung an.",
"select-icon-color": "Symbolfarbe auswählen",
"shortcuts": "Kurzbefehle",
"shutdown": "Herunterfahren",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Tip: Use \\n to create a line break.",
"horizontal-bar-label": "Horizontal bar",
"preview": "Preview",
"select-color-description": "Apply theme colors for emphasis.",
"tooltip-format-description": "Format string for the tooltip shown when hovering over the clock. Leave empty to use the default tooltip.",
"tooltip-format-label": "Tooltip format",
"use-custom-font-description": "Override the default font selection with a custom font for the clock.",
@@ -462,6 +461,7 @@
"security": "Security",
"select": "Select",
"select-color": "Select color",
"select-color-description": "Apply theme colors for emphasis.",
"select-icon-color": "Select icon color",
"shortcuts": "Shortcuts",
"shutdown": "Shutdown",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Consejo: Usa \\n para crear un salto de línea.",
"horizontal-bar-label": "Barra horizontal",
"preview": "Vista previa",
"select-color-description": "Aplicar colores del tema para enfatizar.",
"tooltip-format-description": "Formato de la información mostrada al pasar el cursor sobre el reloj. Déjalo vacío para usar el formato por defecto.",
"tooltip-format-label": "Formato del emergente",
"use-custom-font-description": "Anular la fuente predeterminada del sistema con una fuente específica para el reloj.",
@@ -462,6 +461,7 @@
"security": "Seguridad",
"select": "Seleccionar",
"select-color": "Seleccionar color",
"select-color-description": "Aplicar colores del tema para enfatizar.",
"select-icon-color": "Seleccionar color de icono",
"shortcuts": "Atajos",
"shutdown": "Apagar",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Astuce : Utilisez \\n pour créer un saut de ligne.",
"horizontal-bar-label": "Barre horizontale",
"preview": "Aperçu",
"select-color-description": "Appliquer les couleurs du thème pour mettre en valeur.",
"tooltip-format-description": "Chaîne de format pour l'info-bulle affichée lors du survol de l'horloge. Laissez vide pour utiliser l'info-bulle par défaut.",
"tooltip-format-label": "Format de l'info-bulle",
"use-custom-font-description": "Remplacez la police par défaut par une police personnalisée pour l'horloge.",
@@ -462,6 +461,7 @@
"security": "Sécurité",
"select": "Sélectionner",
"select-color": "Sélectionner une couleur",
"select-color-description": "Appliquer les couleurs du thème pour mettre en valeur.",
"select-icon-color": "Sélectionner la couleur de l'icône",
"shortcuts": "Raccourcis",
"shutdown": "Éteindre",
+3 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Råd: Du kann nytta \\n til å skifta til ny lina.",
"horizontal-bar-label": "Vassbein rad",
"preview": "Vis fyreåt",
"select-color-description": "Lìt med hamslìtene for tyngd.",
"tooltip-format-description": "Snidstreng for vitringi som kjem upp når du sviv yver klokka. Haldt tom for fyrevald vitring.",
"tooltip-format-label": "Vitringssnid",
"use-custom-font-description": "Sjå burt frå skriftkyndi elles og nytta ei onnor skriftkynd til klokka.",
@@ -89,5 +88,8 @@
"browse-library": "Leita i samning",
"color-selection-description": "Lìt nøytelteikn med hamslìtene."
}
},
"common": {
"select-color-description": "Lìt med hamslìtene for tyngd."
}
}
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Tipp: Használja a \\n karaktert sortörés létrehozásához.",
"horizontal-bar-label": "Vízszintes sáv",
"preview": "Előnézet",
"select-color-description": "Alkalmazza a témaszíneket a kiemeléshez.",
"tooltip-format-description": "Formátumsztring az óra fölé húzva megjelenő eszköztipphez. Hagyja üresen az alapértelmezett eszköztipp használatához.",
"tooltip-format-label": "Eszköztipp formátum",
"use-custom-font-description": "Felülbírálja az alapértelmezett betűtípus kiválasztását egy egyéni betűtípussal az órához.",
@@ -462,6 +461,7 @@
"security": "Biztonság",
"select": "Kiválasztás",
"select-color": "Szín kiválasztása",
"select-color-description": "Alkalmazza a témaszíneket a kiemeléshez.",
"select-icon-color": "Ikon színének kiválasztása",
"shortcuts": "Gyorsbillentyűk",
"shutdown": "Leállítás",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "ヒント:\\n を使用すると改行できます。",
"horizontal-bar-label": "水平バー",
"preview": "プレビュー",
"select-color-description": "強調のためにテーマの色を適用します。",
"tooltip-format-description": "時計にマウスを合わせたときに表示されるツールチップのフォーマット文字列。デフォルトのツールチップを使用するには空のままにします。",
"tooltip-format-label": "ツールチップ形式",
"use-custom-font-description": "デフォルトのフォント設定を上書きし、時計にカスタムフォントを使用します。",
@@ -462,6 +461,7 @@
"security": "セキュリティ",
"select": "選択",
"select-color": "色を選択",
"select-color-description": "強調のためにテーマの色を適用します。",
"select-icon-color": "アイコンの色を選択",
"shortcuts": "ショートカット",
"shutdown": "シャットダウン",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "팁: 줄바꿈을 하려면 \\n을 사용하세요.",
"horizontal-bar-label": "수평 바",
"preview": "미리보기",
"select-color-description": "강조를 위해 테마 색상을 적용합니다.",
"tooltip-format-description": "시계 위에 마우스를 올렸을 때 표시되는 툴팁의 형식 문자열입니다. 기본 툴팁을 사용하려면 비워 두세요.",
"tooltip-format-label": "툴팁 형식",
"use-custom-font-description": "시계의 기본 글꼴 대신 사용자 지정 글꼴을 사용합니다.",
@@ -462,6 +461,7 @@
"security": "보안",
"select": "선택",
"select-color": "색상 선택",
"select-color-description": "강조를 위해 테마 색상을 적용합니다.",
"select-icon-color": "아이콘 색상 선택",
"shortcuts": "단축키",
"shutdown": "시스템 종료",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Tip: gebruik \\n om een regeleinde te maken.",
"horizontal-bar-label": "Horizontale balk",
"preview": "Voorbeeld",
"select-color-description": "Themakleuren toepassen voor nadruk.",
"tooltip-format-description": "Opmaakreeks voor de tooltip die wordt weergegeven bij het zweven over de klok. Laat leeg om de standaard tooltip te gebruiken.",
"tooltip-format-label": "Tooltip-opmaak",
"use-custom-font-description": "Overschrijf het standaardlettertype met een aangepast lettertype voor de klok.",
@@ -462,6 +461,7 @@
"security": "Beveiliging",
"select": "Selecteer",
"select-color": "Kleur selecteren",
"select-color-description": "Themakleuren toepassen voor nadruk.",
"select-icon-color": "Icoonkleur selecteren",
"shortcuts": "Snelkoppelingen",
"shutdown": "Afsluiten",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Tips: Skriv \\n for å byrja ei ny linje",
"horizontal-bar-label": "Vassrett panel",
"preview": "Førevisning",
"select-color-description": "Gjev temafargar for å heva ut.",
"tooltip-format-description": "Formater streng til hjelpeteksten som kjem opp når peikaren er over klokka. Haldt dette tomt for å bruka standardteksten.",
"tooltip-format-label": "Hjelpetekstformat",
"use-custom-font-description": "Overstyrer standardskrifttypen med eigendefinert skrifttype til klokka.",
@@ -462,6 +461,7 @@
"security": "Trygging",
"select": "Vel",
"select-color": "Vel farge",
"select-color-description": "Gjev temafargar for å heva ut.",
"shortcuts": "Beinvegar",
"shutdown": "Slå av",
"signal": "Dekning",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Wskazówka: Użyj \\n, aby utworzyć podział linii.",
"horizontal-bar-label": "Pasek poziomy",
"preview": "Podgląd",
"select-color-description": "Zastosuj kolory motywu dla podkreślenia.",
"tooltip-format-description": "Ciąg formatujący dla etykietki wyświetlanej po najechaniu na zegar. Pozostaw puste, aby użyć domyślnej etykietki.",
"tooltip-format-label": "Format etykietki",
"use-custom-font-description": "Zastąp domyślną czcionkę zegara czcionką niestandardową.",
@@ -462,6 +461,7 @@
"security": "Bezpieczeństwo",
"select": "Wybierz",
"select-color": "Wybierz kolor",
"select-color-description": "Zastosuj kolory motywu dla podkreślenia.",
"select-icon-color": "Wybierz kolor ikony",
"shortcuts": "Skróty",
"shutdown": "Wyłącz",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Dica: Use \\n para criar uma quebra de linha.",
"horizontal-bar-label": "Barra horizontal",
"preview": "Pré-visualização",
"select-color-description": "Aplicar cores do tema para enfatizar.",
"tooltip-format-description": "String de formato para a dica de ferramenta exibida ao passar o mouse sobre o relógio. Deixe vazio para usar a dica de ferramenta padrão.",
"tooltip-format-label": "Formato da dica de ferramenta",
"use-custom-font-description": "Substitua a fonte padrão por uma fonte personalizada para o relógio.",
@@ -462,6 +461,7 @@
"security": "Segurança",
"select": "Selecionar",
"select-color": "Selecionar cor",
"select-color-description": "Aplicar cores do tema para enfatizar.",
"select-icon-color": "Selecionar cor do ícone",
"shortcuts": "Atalhos",
"shutdown": "Desligar",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Совет: используйте \\n для создания разрыва строки.",
"horizontal-bar-label": "Горизонтальная панель",
"preview": "Предварительный просмотр",
"select-color-description": "Применить цвета темы для выделения.",
"tooltip-format-description": "Строка формата для подсказки, отображаемой при наведении на часы. Оставьте пустым, чтобы использовать подсказку по умолчанию.",
"tooltip-format-label": "Формат подсказки",
"use-custom-font-description": "Переопределить выбор шрифта по умолчанию пользовательским шрифтом для часов.",
@@ -462,6 +461,7 @@
"security": "Безопасность",
"select": "Выбрать",
"select-color": "Выбрать цвет",
"select-color-description": "Применить цвета темы для выделения.",
"select-icon-color": "Выбрать цвет значка",
"shortcuts": "Ярлыки",
"shutdown": "Выключить",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Tips: Använd \\n för att skapa en radbrytning.",
"horizontal-bar-label": "Horisontell stapel",
"preview": "Förhandsgranska",
"select-color-description": "Tillämpa temafärger för betoning.",
"tooltip-format-description": "Formateringssträng för verktygstips som visas när du håller muspekaren över klockan. Lämna tomt för att använda standardverktygstipset.",
"tooltip-format-label": "Verktygstipsformat",
"use-custom-font-description": "Åsidosätt standardvalet av teckensnitt med ett anpassat teckensnitt för klockan.",
@@ -462,6 +461,7 @@
"security": "Säkerhet",
"select": "Välj",
"select-color": "Välj färg",
"select-color-description": "Tillämpa temafärger för betoning.",
"select-icon-color": "Välj ikonfärg",
"shortcuts": "Genvägar",
"shutdown": "Stäng av",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "İpucu: Bir satır sonu oluşturmak için \\n kullanın.",
"horizontal-bar-label": "Yatay çubuk",
"preview": "Önizleme",
"select-color-description": "Vurgu için tema renklerini uygula.",
"tooltip-format-description": "Saat üzerine geldiğinizde gösterilen ipucu için format dizesi. Varsayılan ipucunu kullanmak için boş bırakın.",
"tooltip-format-label": "İpucu formatı",
"use-custom-font-description": "Saat için varsayılan yazı tipi seçimini özel bir yazı tipiyle geçersiz kılın.",
@@ -462,6 +461,7 @@
"security": "Güvenlik",
"select": "Seç",
"select-color": "Renk Seç",
"select-color-description": "Vurgu için tema renklerini uygula.",
"select-icon-color": "Simge rengini seçin",
"shortcuts": "Kısayollar",
"shutdown": "Kapat",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "Порада: Використовуйте \\n для створення розриву рядка.",
"horizontal-bar-label": "Горизонтальна панель",
"preview": "Попередній перегляд",
"select-color-description": "Застосувати кольори теми для виділення.",
"tooltip-format-description": "Рядок формату для підказки, що відображається при наведенні на годинник. Залиште порожнім, щоб використовувати стандартну підказку.",
"tooltip-format-label": "Формат підказки",
"use-custom-font-description": "Замінити стандартний вибір шрифту власним шрифтом для годинника.",
@@ -462,6 +461,7 @@
"security": "Безпека",
"select": "Вибрати",
"select-color": "Вибрати колір",
"select-color-description": "Застосувати кольори теми для виділення.",
"select-icon-color": "Вибрати колір значка",
"shortcuts": "Ярлики",
"shutdown": "Вимкнути",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "提示:使用 \\n 创建换行。",
"horizontal-bar-label": "水平栏",
"preview": "预览",
"select-color-description": "应用主题颜色以示强调。",
"tooltip-format-description": "自定义鼠标悬停在时钟上时显示的提示信息,可以使用格式化字符串。留空以使用默认提示信息。",
"tooltip-format-label": "提示信息格式",
"use-custom-font-description": "使用自定义字体覆盖时钟的默认字体选择。",
@@ -462,6 +461,7 @@
"security": "安全",
"select": "选择",
"select-color": "选择颜色",
"select-color-description": "应用主题颜色以示强调。",
"select-icon-color": "选择图标颜色",
"shortcuts": "快捷方式",
"shutdown": "关机",
+1 -1
View File
@@ -74,7 +74,6 @@
"horizontal-bar-description": "提示: 可以利用 \\n 換行",
"horizontal-bar-label": "水平列顯示",
"preview": "預覽",
"select-color-description": "套用主題顏色以示強調。",
"tooltip-format-description": "在游標移過時提示框所顯示的格式, 如果留空則使用預設值",
"tooltip-format-label": "提示框格式",
"use-custom-font-description": "為時鐘強制套用自訂的字型",
@@ -462,6 +461,7 @@
"security": "安全",
"select": "選取",
"select-color": "選擇顏色",
"select-color-description": "套用主題顏色以示強調。",
"select-icon-color": "選擇圖示顏色",
"shortcuts": "快捷鍵",
"shutdown": "關機",
+53
View File
@@ -228,6 +228,59 @@ Singleton {
}
}
function resolveColorKey(key) {
switch (key) {
case "primary":
return root.mPrimary;
case "secondary":
return root.mSecondary;
case "tertiary":
return root.mTertiary;
case "error":
return root.mError;
default:
return root.mOnSurface;
}
}
function resolveColorKeyOptional(key) {
switch (key) {
case "primary":
return root.mPrimary;
case "secondary":
return root.mSecondary;
case "tertiary":
return root.mTertiary;
case "error":
return root.mError;
default:
return "transparent";
}
}
readonly property var colorKeyModel: [
{
"key": "none",
"name": I18n.tr("common.none")
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
// --------------------------------
// Default colors: Rose Pine
QtObject {
+6
View File
@@ -21,6 +21,8 @@ Item {
property bool rotateText: false
property color customBackgroundColor: "transparent"
property color customTextIconColor: "transparent"
property color customIconColor: "transparent"
property color customTextColor: "transparent"
readonly property string barPosition: Settings.getBarPositionForScreen(screen?.name)
readonly property bool isVerticalBar: barPosition === "left" || barPosition === "right"
@@ -64,6 +66,8 @@ Item {
rotateText: root.rotateText
customBackgroundColor: root.customBackgroundColor
customTextIconColor: root.customTextIconColor
customIconColor: root.customIconColor
customTextColor: root.customTextColor
onShown: root.shown()
onHidden: root.hidden()
onEntered: root.entered()
@@ -90,6 +94,8 @@ Item {
hovered: root.hovered
customBackgroundColor: root.customBackgroundColor
customTextIconColor: root.customTextIconColor
customIconColor: root.customIconColor
customTextColor: root.customTextColor
onShown: root.shown()
onHidden: root.hidden()
onEntered: root.entered()
+6 -2
View File
@@ -21,6 +21,8 @@ Item {
property bool hovered: false
property color customBackgroundColor: "transparent"
property color customTextIconColor: "transparent"
property color customIconColor: "transparent"
property color customTextColor: "transparent"
readonly property bool collapseToIcon: forceClose && !forceOpen
@@ -50,6 +52,8 @@ Item {
// Always prioritize hover color, then the custom one and finally the fallback color
readonly property color bgColor: hovered ? Color.mHover : (customBackgroundColor.a > 0) ? customBackgroundColor : Style.capsuleColor
readonly property color fgColor: hovered ? Color.mOnHover : (customTextIconColor.a > 0) ? customTextIconColor : Color.mOnSurface
readonly property color iconFgColor: hovered ? Color.mOnHover : (customIconColor.a > 0) ? customIconColor : (customTextIconColor.a > 0) ? customTextIconColor : Color.mOnSurface
readonly property color textFgColor: hovered ? Color.mOnHover : (customTextColor.a > 0) ? customTextColor : (customTextIconColor.a > 0) ? customTextIconColor : Color.mOnSurface
readonly property real iconSize: Style.toOdd(pillHeight * 0.48)
@@ -139,7 +143,7 @@ Item {
family: Settings.data.ui.fontFixed
pointSize: root.barFontSize
applyUiScale: false
color: root.fgColor
color: root.textFgColor
visible: revealed
}
@@ -173,7 +177,7 @@ Item {
icon: root.icon
pointSize: iconSize
applyUiScale: false
color: root.fgColor
color: root.iconFgColor
// Center horizontally
x: (iconCircle.width - width) / 2
// Center vertically accounting for font metrics
+6 -2
View File
@@ -22,6 +22,8 @@ Item {
property bool rotateText: false
property color customBackgroundColor: "transparent"
property color customTextIconColor: "transparent"
property color customIconColor: "transparent"
property color customTextColor: "transparent"
readonly property bool collapseToIcon: forceClose && !forceOpen
@@ -57,6 +59,8 @@ Item {
// Always prioritize hover color, then the custom one and finally the fallback color
readonly property color bgColor: hovered ? Color.mHover : (customBackgroundColor.a > 0) ? customBackgroundColor : Style.capsuleColor
readonly property color fgColor: hovered ? Color.mOnHover : (customTextIconColor.a > 0) ? customTextIconColor : Color.mOnSurface
readonly property color iconFgColor: hovered ? Color.mOnHover : (customIconColor.a > 0) ? customIconColor : (customTextIconColor.a > 0) ? customTextIconColor : Color.mOnSurface
readonly property color textFgColor: hovered ? Color.mOnHover : (customTextColor.a > 0) ? customTextColor : (customTextIconColor.a > 0) ? customTextIconColor : Color.mOnSurface
readonly property real iconSize: Style.toOdd(pillHeight * 0.48)
@@ -151,7 +155,7 @@ Item {
applyUiScale: false
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: root.fgColor
color: root.textFgColor
visible: revealed
function getVerticalCenterOffset() {
@@ -198,7 +202,7 @@ Item {
icon: root.icon
pointSize: iconSize
applyUiScale: false
color: root.fgColor
color: root.iconFgColor
// Center horizontally
x: (iconCircle.width - width) / 2
// Center vertically accounting for font metrics
+4
View File
@@ -34,6 +34,8 @@ Item {
readonly property string barPosition: Settings.getBarPositionForScreen(screenName)
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string displayMode: widgetSettings.displayMode !== undefined ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
implicitWidth: pill.width
implicitHeight: pill.height
@@ -71,6 +73,8 @@ Item {
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: !BluetoothService.enabled ? "bluetooth-off" : ((BluetoothService.connectedDevices && BluetoothService.connectedDevices.length > 0) ? "bluetooth-connected" : "bluetooth")
text: {
if (BluetoothService.connectedDevices && BluetoothService.connectedDevices.length > 0) {
+4
View File
@@ -35,6 +35,8 @@ Item {
readonly property string barPosition: Settings.getBarPositionForScreen(screenName)
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string displayMode: (widgetSettings.displayMode !== undefined) ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
// Used to avoid opening the pill on Quickshell startup
property bool firstBrightnessReceived: false
@@ -134,6 +136,8 @@ Item {
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: getIcon()
autoHide: false // Important to be false so we can hover as long as we want
text: {
+1 -14
View File
@@ -45,20 +45,7 @@ Item {
readonly property string formatVertical: widgetSettings.formatVertical !== undefined ? widgetSettings.formatVertical : widgetMetadata.formatVertical
readonly property string tooltipFormat: widgetSettings.tooltipFormat !== undefined ? widgetSettings.tooltipFormat : widgetMetadata.tooltipFormat
readonly property color textColor: {
switch (clockColor) {
case "primary":
return Color.mPrimary;
case "secondary":
return Color.mSecondary;
case "tertiary":
return Color.mTertiary;
case "error":
return Color.mError;
default:
return Color.mOnSurface;
}
}
readonly property color textColor: Color.resolveColorKey(clockColor)
// Content dimensions for implicit sizing
readonly property real contentWidth: isBarVertical ? capsuleHeight : Math.round((isBarVertical ? verticalLoader.implicitWidth : horizontalLoader.implicitWidth) + Style.marginXL)
+46 -1
View File
@@ -8,6 +8,26 @@ NIconButton {
property ShellScreen screen
// Widget properties passed from Bar.qml for per-instance settings
property string widgetId: ""
property string section: ""
property int sectionWidgetIndex: -1
property int sectionWidgetsCount: 0
property var widgetMetadata: BarWidgetRegistry.widgetMetadata[widgetId]
readonly property string screenName: screen ? screen.name : ""
property var widgetSettings: {
if (section && sectionWidgetIndex >= 0 && screenName) {
var widgets = Settings.getBarWidgetsForScreen(screenName)[section];
if (widgets && sectionWidgetIndex < widgets.length) {
return widgets[sectionWidgetIndex];
}
}
return {};
}
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
icon: "dark-mode"
tooltipText: Settings.data.colorSchemes.darkMode ? I18n.tr("tooltips.switch-to-light-mode") : I18n.tr("tooltips.switch-to-dark-mode")
tooltipDirection: BarService.getTooltipDirection(screen?.name)
@@ -15,11 +35,36 @@ NIconButton {
applyUiScale: false
customRadius: Style.radiusL
colorBg: Style.capsuleColor
colorFg: Color.mOnSurface
colorFg: Color.resolveColorKey(iconColorKey)
colorBorder: "transparent"
colorBorderHover: "transparent"
onClicked: Settings.data.colorSchemes.darkMode = !Settings.data.colorSchemes.darkMode
border.color: Style.capsuleBorderColor
border.width: Style.capsuleBorderWidth
NPopupContextMenu {
id: contextMenu
model: [
{
"label": I18n.tr("actions.widget-settings"),
"action": "widget-settings",
"icon": "settings"
},
]
onTriggered: action => {
contextMenu.close();
PanelService.closeContextMenu(screen);
if (action === "widget-settings") {
BarService.openWidgetSettings(screen, section, sectionWidgetIndex, widgetId, widgetSettings);
}
}
}
onRightClicked: {
PanelService.showContextMenu(contextMenu, root, screen);
}
}
+28
View File
@@ -33,19 +33,47 @@ Item {
readonly property string barPosition: Settings.getBarPositionForScreen(screenName)
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
implicitWidth: pill.width
implicitHeight: pill.height
NPopupContextMenu {
id: contextMenu
model: [
{
"label": I18n.tr("actions.widget-settings"),
"action": "widget-settings",
"icon": "settings"
},
]
onTriggered: action => {
contextMenu.close();
PanelService.closeContextMenu(screen);
if (action === "widget-settings") {
BarService.openWidgetSettings(screen, section, sectionWidgetIndex, widgetId, widgetSettings);
}
}
}
BarPill {
id: pill
screen: root.screen
text: IdleInhibitorService.timeout == null ? "" : Time.formatVagueHumanReadableDuration(IdleInhibitorService.timeout)
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: IdleInhibitorService.isInhibited ? "keep-awake-on" : "keep-awake-off"
tooltipText: IdleInhibitorService.isInhibited ? I18n.tr("tooltips.keep-awake") : I18n.tr("tooltips.keep-awake")
onClicked: IdleInhibitorService.manualToggle()
onRightClicked: {
PanelService.showContextMenu(contextMenu, pill, screen);
}
forceOpen: IdleInhibitorService.timeout !== null
forceClose: IdleInhibitorService.timeout == null
onWheel: function (delta) {
+4
View File
@@ -40,6 +40,8 @@ Item {
readonly property string displayMode: (widgetSettings.displayMode !== undefined) ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property bool showIcon: (widgetSettings.showIcon !== undefined) ? widgetSettings.showIcon : widgetMetadata.showIcon
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
// Use the shared service for keyboard layout
property string currentLayout: KeyboardLayoutService.currentLayout
@@ -73,6 +75,8 @@ Item {
anchors.verticalCenter: parent.verticalCenter
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: root.showIcon ? "keyboard" : ""
autoHide: false // Important to be false so we can hover as long as we want
text: isBarVertical ? currentLayout.substring(0, 3).toUpperCase() : currentLayout
+3 -3
View File
@@ -30,7 +30,7 @@ NIconButton {
}
readonly property string iconName: widgetSettings.icon || (widgetMetadata ? widgetMetadata.icon : "search")
readonly property bool usePrimaryColor: (widgetSettings.usePrimaryColor !== undefined) ? widgetSettings.usePrimaryColor : ((widgetMetadata && widgetMetadata.usePrimaryColor !== undefined) ? widgetMetadata.usePrimaryColor : true)
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
icon: iconName
tooltipText: I18n.tr("actions.open-launcher")
@@ -40,8 +40,8 @@ NIconButton {
customRadius: Style.radiusL
colorBg: Style.capsuleColor
colorBgHover: Color.mHover
colorFg: usePrimaryColor ? Color.mPrimary : Color.mOnSurface
colorFgHover: usePrimaryColor ? Qt.darker(Color.mPrimary, 1.2) : Color.mOnHover
colorFg: Color.resolveColorKey(iconColorKey)
colorFgHover: Color.mOnHover
colorBorder: Style.capsuleBorderColor
colorBorderHover: Style.capsuleBorderColor
+4
View File
@@ -38,6 +38,8 @@ Item {
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string displayMode: (widgetSettings.displayMode !== undefined) ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property string middleClickCommand: (widgetSettings.middleClickCommand !== undefined) ? widgetSettings.middleClickCommand : widgetMetadata.middleClickCommand
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
// Used to avoid opening the pill on Quickshell startup
property bool firstInputVolumeReceived: false
@@ -129,6 +131,8 @@ Item {
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: AudioService.getInputIcon()
autoHide: false // Important to be false so we can hover as long as we want
text: {
+4
View File
@@ -34,6 +34,8 @@ Item {
readonly property string barPosition: Settings.getBarPositionForScreen(screenName)
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string displayMode: widgetSettings.displayMode !== undefined ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
implicitWidth: pill.width
implicitHeight: pill.height
@@ -71,6 +73,8 @@ Item {
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: {
try {
if (NetworkService.ethernetConnected) {
+43 -4
View File
@@ -14,11 +14,31 @@ NIconButton {
property ShellScreen screen
// Widget properties passed from Bar.qml for per-instance settings
property string widgetId: ""
property string section: ""
property int sectionWidgetIndex: -1
property int sectionWidgetsCount: 0
property var widgetMetadata: BarWidgetRegistry.widgetMetadata[widgetId]
readonly property string screenName: screen ? screen.name : ""
property var widgetSettings: {
if (section && sectionWidgetIndex >= 0 && screenName) {
var widgets = Settings.getBarWidgetsForScreen(screenName)[section];
if (widgets && sectionWidgetIndex < widgets.length) {
return widgets[sectionWidgetIndex];
}
}
return {};
}
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
baseSize: Style.getCapsuleHeightForScreen(screen?.name)
applyUiScale: false
customRadius: Style.radiusL
colorBg: Settings.data.nightLight.forced ? Color.mPrimary : Style.capsuleColor
colorFg: Settings.data.nightLight.forced ? Color.mOnPrimary : Color.mOnSurface
colorFg: Settings.data.nightLight.forced ? Color.mOnPrimary : Color.resolveColorKey(iconColorKey)
colorBorder: "transparent"
colorBorderHover: "transparent"
border.color: Style.capsuleBorderColor
@@ -45,9 +65,28 @@ NIconButton {
}
}
NPopupContextMenu {
id: contextMenu
model: [
{
"label": I18n.tr("actions.widget-settings"),
"action": "widget-settings",
"icon": "settings"
},
]
onTriggered: action => {
contextMenu.close();
PanelService.closeContextMenu(screen);
if (action === "widget-settings") {
BarService.openWidgetSettings(screen, section, sectionWidgetIndex, widgetId, widgetSettings);
}
}
}
onRightClicked: {
var settingsPanel = PanelService.getPanel("settingsPanel", screen);
settingsPanel.requestedTab = SettingsPanel.Tab.Display;
settingsPanel.open();
PanelService.showContextMenu(contextMenu, root, screen);
}
}
+46 -1
View File
@@ -14,11 +14,31 @@ NIconButton {
property ShellScreen screen
// Widget properties passed from Bar.qml for per-instance settings
property string widgetId: ""
property string section: ""
property int sectionWidgetIndex: -1
property int sectionWidgetsCount: 0
property var widgetMetadata: BarWidgetRegistry.widgetMetadata[widgetId]
readonly property string screenName: screen ? screen.name : ""
property var widgetSettings: {
if (section && sectionWidgetIndex >= 0 && screenName) {
var widgets = Settings.getBarWidgetsForScreen(screenName)[section];
if (widgets && sectionWidgetIndex < widgets.length) {
return widgets[sectionWidgetIndex];
}
}
return {};
}
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
baseSize: Style.getCapsuleHeightForScreen(screen?.name)
applyUiScale: false
customRadius: Style.radiusL
colorBg: PowerProfileService.noctaliaPerformanceMode ? Color.mPrimary : Style.capsuleColor
colorFg: PowerProfileService.noctaliaPerformanceMode ? Color.mOnPrimary : Color.mOnSurface
colorFg: PowerProfileService.noctaliaPerformanceMode ? Color.mOnPrimary : Color.resolveColorKey(iconColorKey)
colorBorder: "transparent"
colorBorderHover: "transparent"
border.color: Style.capsuleBorderColor
@@ -28,4 +48,29 @@ NIconButton {
tooltipText: PowerProfileService.noctaliaPerformanceMode ? I18n.tr("tooltips.noctalia-performance-enabled") : I18n.tr("tooltips.noctalia-performance-enabled")
tooltipDirection: BarService.getTooltipDirection(screen?.name)
onClicked: PowerProfileService.toggleNoctaliaPerformance()
NPopupContextMenu {
id: contextMenu
model: [
{
"label": I18n.tr("actions.widget-settings"),
"action": "widget-settings",
"icon": "settings"
},
]
onTriggered: action => {
contextMenu.close();
PanelService.closeContextMenu(screen);
if (action === "widget-settings") {
BarService.openWidgetSettings(screen, section, sectionWidgetIndex, widgetId, widgetSettings);
}
}
}
onRightClicked: {
PanelService.showContextMenu(contextMenu, root, screen);
}
}
+2 -1
View File
@@ -36,6 +36,7 @@ NIconButton {
readonly property bool hideWhenZero: widgetSettings.hideWhenZero !== undefined ? widgetSettings.hideWhenZero : widgetMetadata.hideWhenZero
readonly property bool hideWhenZeroUnread: widgetSettings.hideWhenZeroUnread !== undefined ? widgetSettings.hideWhenZeroUnread : widgetMetadata.hideWhenZeroUnread
readonly property string unreadBadgeColor: widgetSettings.unreadBadgeColor !== undefined ? widgetSettings.unreadBadgeColor : widgetMetadata.unreadBadgeColor
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property color badgeColor: {
switch (unreadBadgeColor) {
@@ -74,7 +75,7 @@ NIconButton {
tooltipText: NotificationService.doNotDisturb ? I18n.tr("tooltips.open-notification-history-enable-dnd") : I18n.tr("tooltips.open-notification-history-enable-dnd")
tooltipDirection: BarService.getTooltipDirection(screen?.name)
colorBg: Style.capsuleColor
colorFg: Color.mOnSurface
colorFg: Color.resolveColorKey(iconColorKey)
colorBorder: "transparent"
colorBorderHover: "transparent"
border.color: Style.capsuleBorderColor
+46 -2
View File
@@ -12,6 +12,26 @@ NIconButton {
property ShellScreen screen
// Widget properties passed from Bar.qml for per-instance settings
property string widgetId: ""
property string section: ""
property int sectionWidgetIndex: -1
property int sectionWidgetsCount: 0
property var widgetMetadata: BarWidgetRegistry.widgetMetadata[widgetId]
readonly property string screenName: screen ? screen.name : ""
property var widgetSettings: {
if (section && sectionWidgetIndex >= 0 && screenName) {
var widgets = Settings.getBarWidgetsForScreen(screenName)[section];
if (widgets && sectionWidgetIndex < widgets.length) {
return widgets[sectionWidgetIndex];
}
}
return {};
}
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
baseSize: Style.getCapsuleHeightForScreen(screen?.name)
applyUiScale: false
customRadius: Style.radiusL
@@ -22,11 +42,35 @@ NIconButton {
})
tooltipDirection: BarService.getTooltipDirection(screen?.name)
colorBg: (PowerProfileService.profile === PowerProfile.Balanced) ? Style.capsuleColor : Color.mPrimary
colorFg: (PowerProfileService.profile === PowerProfile.Balanced) ? Color.mOnSurface : Color.mOnPrimary
colorFg: (PowerProfileService.profile === PowerProfile.Balanced) ? Color.resolveColorKey(iconColorKey) : Color.mOnPrimary
colorBorder: "transparent"
colorBorderHover: "transparent"
border.color: Style.capsuleBorderColor
border.width: Style.capsuleBorderWidth
onClicked: PowerProfileService.cycleProfile()
onRightClicked: PowerProfileService.cycleProfileReverse()
NPopupContextMenu {
id: contextMenu
model: [
{
"label": I18n.tr("actions.widget-settings"),
"action": "widget-settings",
"icon": "settings"
},
]
onTriggered: action => {
contextMenu.close();
PanelService.closeContextMenu(screen);
if (action === "widget-settings") {
BarService.openWidgetSettings(screen, section, sectionWidgetIndex, widgetId, widgetSettings);
}
}
}
onRightClicked: {
PanelService.showContextMenu(contextMenu, root, screen);
}
}
+2 -17
View File
@@ -31,22 +31,7 @@ NIconButton {
return {};
}
readonly property string colorName: widgetSettings.colorName !== undefined ? widgetSettings.colorName : widgetMetadata.colorName
readonly property color iconColor: {
switch (colorName) {
case "primary":
return Color.mPrimary;
case "secondary":
return Color.mSecondary;
case "tertiary":
return Color.mTertiary;
case "error":
return Color.mError;
default:
return Color.mOnSurface;
}
}
readonly property string iconColorKey: (widgetSettings.iconColor !== undefined) ? widgetSettings.iconColor : widgetMetadata.iconColor
baseSize: Style.getCapsuleHeightForScreen(screenName)
applyUiScale: false
@@ -55,7 +40,7 @@ NIconButton {
tooltipText: I18n.tr("tooltips.session-menu")
tooltipDirection: BarService.getTooltipDirection(screenName)
colorBg: Style.capsuleColor
colorFg: root.iconColor
colorFg: Color.resolveColorKey(iconColorKey)
colorBorder: "transparent"
colorBorderHover: "transparent"
border.color: Style.capsuleBorderColor
+2 -29
View File
@@ -66,35 +66,8 @@ Item {
readonly property real contentWidth: isVertical ? capsuleHeight : Math.round(mainGrid.implicitWidth + Style.marginXL)
readonly property real contentHeight: isVertical ? Math.round(mainGrid.implicitHeight + Style.marginXL) : capsuleHeight
readonly property color iconColor: {
switch (iconColorKey) {
case "primary":
return Color.mPrimary;
case "secondary":
return Color.mSecondary;
case "tertiary":
return Color.mTertiary;
case "error":
return Color.mError;
default:
return Color.mOnSurface;
}
}
readonly property color textColor: {
switch (textColorKey) {
case "primary":
return Color.mPrimary;
case "secondary":
return Color.mSecondary;
case "tertiary":
return Color.mTertiary;
case "error":
return Color.mError;
default:
return Color.mOnSurface;
}
}
readonly property color iconColor: Color.resolveColorKey(iconColorKey)
readonly property color textColor: Color.resolveColorKey(textColorKey)
// Size: use implicit width/height
// BarWidgetLoader sets explicit width/height to extend click area
+4
View File
@@ -33,6 +33,8 @@ Item {
readonly property string barPosition: Settings.getBarPositionForScreen(screenName)
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string displayMode: widgetSettings.displayMode !== undefined ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
implicitWidth: pill.width
implicitHeight: pill.height
@@ -100,6 +102,8 @@ Item {
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: VPNService.hasActiveConnection ? "shield-lock" : "shield"
text: {
if (VPNService.activeConnections.length > 0) {
+4
View File
@@ -37,6 +37,8 @@ Item {
readonly property bool isBarVertical: barPosition === "left" || barPosition === "right"
readonly property string displayMode: (widgetSettings.displayMode !== undefined) ? widgetSettings.displayMode : widgetMetadata.displayMode
readonly property string middleClickCommand: (widgetSettings.middleClickCommand !== undefined) ? widgetSettings.middleClickCommand : widgetMetadata.middleClickCommand
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
readonly property string textColorKey: widgetSettings.textColor !== undefined ? widgetSettings.textColor : widgetMetadata.textColor
// Used to avoid opening the pill on Quickshell startup
property bool firstVolumeReceived: false
@@ -111,6 +113,8 @@ Item {
screen: root.screen
oppositeDirection: BarService.getPillDirection(root)
customIconColor: Color.resolveColorKeyOptional(root.iconColorKey)
customTextColor: Color.resolveColorKeyOptional(root.textColorKey)
icon: AudioService.getOutputIcon()
autoHide: false // Important to be false so we can hover as long as we want
text: {
+28 -1
View File
@@ -12,6 +12,26 @@ NIconButton {
property ShellScreen screen
// Widget properties passed from Bar.qml for per-instance settings
property string widgetId: ""
property string section: ""
property int sectionWidgetIndex: -1
property int sectionWidgetsCount: 0
property var widgetMetadata: BarWidgetRegistry.widgetMetadata[widgetId]
readonly property string screenName: screen ? screen.name : ""
property var widgetSettings: {
if (section && sectionWidgetIndex >= 0 && screenName) {
var widgets = Settings.getBarWidgetsForScreen(screenName)[section];
if (widgets && sectionWidgetIndex < widgets.length) {
return widgets[sectionWidgetIndex];
}
}
return {};
}
readonly property string iconColorKey: widgetSettings.iconColor !== undefined ? widgetSettings.iconColor : widgetMetadata.iconColor
enabled: Settings.data.wallpaper.enabled
baseSize: Style.getCapsuleHeightForScreen(screen?.name)
applyUiScale: false
@@ -20,7 +40,7 @@ NIconButton {
tooltipText: I18n.tr("tooltips.wallpaper-selector")
tooltipDirection: BarService.getTooltipDirection(screen?.name)
colorBg: Style.capsuleColor
colorFg: Color.mOnSurface
colorFg: Color.resolveColorKey(iconColorKey)
colorBorder: "transparent"
colorBorderHover: "transparent"
border.color: Style.capsuleBorderColor
@@ -35,6 +55,11 @@ NIconButton {
"action": "random-wallpaper",
"icon": "dice"
},
{
"label": I18n.tr("actions.widget-settings"),
"action": "widget-settings",
"icon": "settings"
},
]
onTriggered: action => {
@@ -43,6 +68,8 @@ NIconButton {
if (action === "random-wallpaper") {
WallpaperService.setRandomWallpaper();
} else if (action === "widget-settings") {
BarService.openWidgetSettings(screen, section, sectionWidgetIndex, widgetId, widgetSettings);
}
}
}
@@ -40,28 +40,7 @@ ColumnLayout {
Layout.fillWidth: true
label: I18n.tr("bar.audio-visualizer.color-name-label")
description: I18n.tr("bar.audio-visualizer.color-name-description")
model: [
{
"key": "none",
"name": I18n.tr("common.none")
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
model: Color.colorKeyModel
currentKey: root.valueColorName
onSelected: key => {
root.valueColorName = key;
@@ -15,10 +15,14 @@ ColumnLayout {
// Local state
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -46,4 +50,28 @@ ColumnLayout {
settingsChanged(saveSettings());
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -16,10 +16,14 @@ ColumnLayout {
// Local state
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -47,4 +51,28 @@ ColumnLayout {
settingsChanged(saveSettings());
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -85,29 +85,8 @@ ColumnLayout {
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("bar.clock.select-color-description")
model: [
{
"name": I18n.tr("common.none"),
"key": "none"
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueClockColor
onSelected: key => {
valueClockColor = key;
@@ -57,28 +57,7 @@ ColumnLayout {
visible: valueEnableColorization
label: I18n.tr("common.select-color")
description: I18n.tr("bar.control-center.color-selection-description")
model: [
{
"name": I18n.tr("common.none"),
"key": "none"
},
{
"name": I18n.tr("common.primary"),
"key": "primary"
},
{
"name": I18n.tr("common.secondary"),
"key": "secondary"
},
{
"name": I18n.tr("common.tertiary"),
"key": "tertiary"
},
{
"name": I18n.tr("common.error"),
"key": "error"
}
]
model: Color.colorKeyModel
currentKey: valueColorizeSystemIcon
onSelected: function (key) {
valueColorizeSystemIcon = key;
@@ -115,28 +115,7 @@ ColumnLayout {
visible: valueEnableColorization
label: I18n.tr("common.select-color")
description: I18n.tr("bar.custom-button.color-selection-description")
model: [
{
"name": I18n.tr("common.none"),
"key": "none"
},
{
"name": I18n.tr("common.primary"),
"key": "primary"
},
{
"name": I18n.tr("common.secondary"),
"key": "secondary"
},
{
"name": I18n.tr("common.tertiary"),
"key": "tertiary"
},
{
"name": I18n.tr("common.error"),
"key": "error"
}
]
model: Color.colorKeyModel
currentKey: valueColorizeSystemIcon
onSelected: key => {
valueColorizeSystemIcon = key;
@@ -0,0 +1,34 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
signal settingsChanged(var settings)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.iconColor = valueIconColor;
return settings;
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -0,0 +1,48 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
signal settingsChanged(var settings)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -17,11 +17,15 @@ ColumnLayout {
// Local state
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property bool valueShowIcon: widgetData.showIcon !== undefined ? widgetData.showIcon : widgetMetadata.showIcon
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.showIcon = valueShowIcon;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -60,4 +64,28 @@ ColumnLayout {
settingsChanged(saveSettings());
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -16,21 +16,23 @@ ColumnLayout {
signal settingsChanged(var settings)
// Local state
property bool valueUsePrimaryColor: widgetData.usePrimaryColor !== undefined ? widgetData.usePrimaryColor : (widgetMetadata ? widgetMetadata.usePrimaryColor : false)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.usePrimaryColor = valueUsePrimaryColor;
settings.iconColor = valueIconColor;
return settings;
}
NToggle {
label: I18n.tr("bar.clock.use-primary-color-label")
description: I18n.tr("bar.clock.use-primary-color-description")
checked: valueUsePrimaryColor
onToggled: checked => {
valueUsePrimaryColor = checked;
settingsChanged(saveSettings());
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -17,11 +17,15 @@ ColumnLayout {
// Local state
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property string valueMiddleClickCommand: widgetData.middleClickCommand !== undefined ? widgetData.middleClickCommand : widgetMetadata.middleClickCommand
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.middleClickCommand = valueMiddleClickCommand;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -50,6 +54,30 @@ ColumnLayout {
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
// Middle click command
NTextInput {
label: I18n.tr("panels.control-center.shortcuts-custom-button-on-middle-clicked-label")
@@ -15,10 +15,14 @@ ColumnLayout {
// Local state
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -46,4 +50,28 @@ ColumnLayout {
settingsChanged(saveSettings());
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -0,0 +1,34 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
signal settingsChanged(var settings)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.iconColor = valueIconColor;
return settings;
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -0,0 +1,34 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
signal settingsChanged(var settings)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.iconColor = valueIconColor;
return settings;
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -19,6 +19,7 @@ ColumnLayout {
property bool valueHideWhenZero: widgetData.hideWhenZero !== undefined ? widgetData.hideWhenZero : widgetMetadata.hideWhenZero
property bool valueHideWhenZeroUnread: widgetData.hideWhenZeroUnread !== undefined ? widgetData.hideWhenZeroUnread : widgetMetadata.hideWhenZeroUnread
property string valueUnreadBadgeColor: widgetData.unreadBadgeColor !== undefined ? widgetData.unreadBadgeColor : widgetMetadata.unreadBadgeColor
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
@@ -26,6 +27,7 @@ ColumnLayout {
settings.hideWhenZero = valueHideWhenZero;
settings.hideWhenZeroUnread = valueHideWhenZeroUnread;
settings.unreadBadgeColor = valueUnreadBadgeColor;
settings.iconColor = valueIconColor;
return settings;
}
@@ -39,31 +41,22 @@ ColumnLayout {
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("bar.notification-history.unread-badge-color-label")
description: I18n.tr("bar.notification-history.unread-badge-color-description")
model: [
{
"key": "none",
"name": I18n.tr("common.none")
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
model: Color.colorKeyModel
currentKey: valueUnreadBadgeColor
onSelected: key => {
valueUnreadBadgeColor = key;
@@ -0,0 +1,34 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
signal settingsChanged(var settings)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.iconColor = valueIconColor;
return settings;
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -17,44 +17,23 @@ ColumnLayout {
signal settingsChanged(var settings)
// Local state
property string valueColorName: widgetData.colorName !== undefined ? widgetData.colorName : widgetMetadata.colorName
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : (widgetData.colorName !== undefined ? widgetData.colorName : widgetMetadata.iconColor)
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.colorName = valueColorName;
settings.iconColor = valueIconColor;
return settings;
}
NComboBox {
Layout.fillWidth: true
label: I18n.tr("bar.audio-visualizer.color-name-label")
description: I18n.tr("bar.audio-visualizer.color-name-description")
model: [
{
"key": "none",
"name": I18n.tr("common.none")
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
currentKey: root.valueColorName
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: root.valueIconColor
onSelected: key => {
root.valueColorName = key;
root.valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -70,29 +70,8 @@ ColumnLayout {
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("bar.clock.select-color-description")
model: [
{
"name": I18n.tr("common.none"),
"key": "none"
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
@@ -103,29 +82,8 @@ ColumnLayout {
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("bar.clock.select-color-description")
model: [
{
"name": I18n.tr("common.none"),
"key": "none"
},
{
"key": "primary",
"name": I18n.tr("common.primary")
},
{
"key": "secondary",
"name": I18n.tr("common.secondary")
},
{
"key": "tertiary",
"name": I18n.tr("common.tertiary")
},
{
"key": "error",
"name": I18n.tr("common.error")
}
]
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
@@ -13,10 +13,14 @@ ColumnLayout {
signal settingsChanged(var settings)
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -44,4 +48,28 @@ ColumnLayout {
settingsChanged(saveSettings());
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
@@ -17,11 +17,15 @@ ColumnLayout {
// Local state
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
property string valueMiddleClickCommand: widgetData.middleClickCommand !== undefined ? widgetData.middleClickCommand : widgetMetadata.middleClickCommand
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
property string valueTextColor: widgetData.textColor !== undefined ? widgetData.textColor : widgetMetadata.textColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
settings.middleClickCommand = valueMiddleClickCommand;
settings.iconColor = valueIconColor;
settings.textColor = valueTextColor;
return settings;
}
@@ -50,6 +54,30 @@ ColumnLayout {
}
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
NComboBox {
label: I18n.tr("common.select-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueTextColor
onSelected: key => {
valueTextColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
// Middle click command
NTextInput {
label: I18n.tr("panels.control-center.shortcuts-custom-button-on-middle-clicked-label")
@@ -0,0 +1,34 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
signal settingsChanged(var settings)
property string valueIconColor: widgetData.iconColor !== undefined ? widgetData.iconColor : widgetMetadata.iconColor
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.iconColor = valueIconColor;
return settings;
}
NComboBox {
label: I18n.tr("common.select-icon-color")
description: I18n.tr("common.select-color-description")
model: Color.colorKeyModel
currentKey: valueIconColor
onSelected: key => {
valueIconColor = key;
settingsChanged(saveSettings());
}
minimumWidth: 200
}
}
+50 -10
View File
@@ -52,13 +52,18 @@ Singleton {
"Clock": "WidgetSettings/ClockSettings.qml",
"ControlCenter": "WidgetSettings/ControlCenterSettings.qml",
"CustomButton": "WidgetSettings/CustomButtonSettings.qml",
"DarkMode": "WidgetSettings/DarkModeSettings.qml",
"KeepAwake": "WidgetSettings/KeepAwakeSettings.qml",
"KeyboardLayout": "WidgetSettings/KeyboardLayoutSettings.qml",
"Launcher": "WidgetSettings/LauncherSettings.qml",
"LockKeys": "WidgetSettings/LockKeysSettings.qml",
"MediaMini": "WidgetSettings/MediaMiniSettings.qml",
"Microphone": "WidgetSettings/MicrophoneSettings.qml",
"Network": "WidgetSettings/NetworkSettings.qml",
"NightLight": "WidgetSettings/NightLightSettings.qml",
"NoctaliaPerformance": "WidgetSettings/NoctaliaPerformanceSettings.qml",
"NotificationHistory": "WidgetSettings/NotificationHistorySettings.qml",
"PowerProfile": "WidgetSettings/PowerProfileSettings.qml",
"SessionMenu": "WidgetSettings/SessionMenuSettings.qml",
"Spacer": "WidgetSettings/SpacerSettings.qml",
"SystemMonitor": "WidgetSettings/SystemMonitorSettings.qml",
@@ -66,6 +71,7 @@ Singleton {
"Tray": "WidgetSettings/TraySettings.qml",
"Volume": "WidgetSettings/VolumeSettings.qml",
"VPN": "WidgetSettings/VPNSettings.qml",
"WallpaperSelector": "WidgetSettings/WallpaperSelectorSettings.qml",
"Workspace": "WidgetSettings/WorkspaceSettings.qml"
})
@@ -92,10 +98,14 @@ Singleton {
"hideIfIdle": false
},
"Bluetooth": {
"displayMode": "onhover"
"displayMode": "onhover",
"iconColor": "none",
"textColor": "none"
},
"Brightness": {
"displayMode": "onhover"
"displayMode": "onhover",
"iconColor": "none",
"textColor": "none"
},
"Clock": {
"clockColor": "none",
@@ -143,9 +153,18 @@ Singleton {
"colorizeSystemIcon": "none",
"ipcIdentifier": ""
},
"DarkMode": {
"iconColor": "none"
},
"KeepAwake": {
"iconColor": "none",
"textColor": "none"
},
"KeyboardLayout": {
"displayMode": "onhover",
"showIcon": true
"showIcon": true,
"iconColor": "none",
"textColor": "none"
},
"LockKeys": {
"showCapsLock": true,
@@ -158,7 +177,7 @@ Singleton {
},
"Launcher": {
"icon": "rocket",
"usePrimaryColor": false
"iconColor": "none"
},
"MediaMini": {
"hideMode": "hidden",
@@ -179,16 +198,19 @@ Singleton {
},
"Microphone": {
"displayMode": "onhover",
"middleClickCommand": "pwvucontrol || pavucontrol"
"middleClickCommand": "pwvucontrol || pavucontrol",
"iconColor": "none",
"textColor": "none"
},
"NotificationHistory": {
"showUnreadBadge": true,
"hideWhenZero": false,
"hideWhenZeroUnread": false,
"unreadBadgeColor": "primary"
"unreadBadgeColor": "primary",
"iconColor": "none"
},
"SessionMenu": {
"colorName": "error"
"iconColor": "error"
},
"Spacer": {
"width": 20
@@ -232,13 +254,26 @@ Singleton {
"hidePassive": false
},
"VPN": {
"displayMode": "onhover"
"displayMode": "onhover",
"iconColor": "none",
"textColor": "none"
},
"WiFi": {
"displayMode": "onhover"
},
"Network": {
"displayMode": "onhover"
"displayMode": "onhover",
"iconColor": "none",
"textColor": "none"
},
"NightLight": {
"iconColor": "none"
},
"NoctaliaPerformance": {
"iconColor": "none"
},
"PowerProfile": {
"iconColor": "none"
},
"Workspace": {
"labelMode": "index",
@@ -261,7 +296,12 @@ Singleton {
},
"Volume": {
"displayMode": "onhover",
"middleClickCommand": "pwvucontrol || pavucontrol"
"middleClickCommand": "pwvucontrol || pavucontrol",
"iconColor": "none",
"textColor": "none"
},
"WallpaperSelector": {
"iconColor": "none"
}
})