diff --git a/home/aiden/.config/niri/style.kdl b/home/aiden/.config/niri/style.kdl index 513e199..cfb06bf 100644 --- a/home/aiden/.config/niri/style.kdl +++ b/home/aiden/.config/niri/style.kdl @@ -97,11 +97,30 @@ animations { // enable transparency window-rule { match is-active=false - opacity 1.0 //inactive transparency + opacity 0.8 //inactive transparency + background-effect { + blur true + //xray false + } } window-rule { match is-active=true - opacity 1.0 //active transparency + opacity 0.95 //active transparency + background-effect { + blur true + //xray false + } +} +// Make top and overlay layers use the regular blur (if enabled), +// while bottom and background layers keep using the efficient xray blur. +layer-rule { + match layer="top" + match layer="overlay" + + background-effect { + //blur true + xray false + } } window-rule { draw-border-with-background false diff --git a/home/aiden/.config/niri/workspaces.kdl b/home/aiden/.config/niri/workspaces.kdl index 176f05a..9ae5d35 100644 --- a/home/aiden/.config/niri/workspaces.kdl +++ b/home/aiden/.config/niri/workspaces.kdl @@ -20,14 +20,14 @@ window-rule { //} // WORKSAPCE: VM -workspace "VM" { - open-on-output "LG Electronics LG ULTRAGEAR 101NTLELA752" -} -window-rule { - match app-id="virt-manager" - open-on-workspace "VM" -} -window-rule { - match app-id="VirtualBox Manager" - open-on-workspace "VM" -} +//workspace "VM" { +// open-on-output "LG Electronics LG ULTRAGEAR 101NTLELA752" +//} +//window-rule { +// match app-id="virt-manager" +// open-on-workspace "VM" +//} +//window-rule { +// match app-id="VirtualBox Manager" +// open-on-workspace "VM" +//} diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/BarWidget.qml b/home/aiden/.config/noctalia/plugins/network-indicator/BarWidget.qml index 2018049..6913750 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/BarWidget.qml +++ b/home/aiden/.config/noctalia/plugins/network-indicator/BarWidget.qml @@ -1,11 +1,10 @@ - -import QtQuick -import QtQuick.Layouts -import Quickshell import qs.Commons import qs.Widgets import qs.Services.UI import qs.Services.System +import QtQuick +import QtQuick.Layouts +import Quickshell Item { id: root @@ -18,43 +17,65 @@ Item { property int sectionWidgetIndex: -1 property int sectionWidgetsCount: 0 - // ---------- Configuration ---------- + // ── Configuration ── property var cfg: pluginApi?.pluginSettings || ({}) property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({}) - property string arrowType: cfg.arrowType || defaults.arrowType || "chevron" - property int minWidth: cfg.minWidth || defaults.minWidth || 0 + property string arrowType: cfg.arrowType ?? defaults.arrowType property bool useCustomColors: cfg.useCustomColors ?? defaults.useCustomColors property bool showNumbers: cfg.showNumbers ?? defaults.showNumbers - property bool forceMegabytes: cfg.forceMegabytes ?? defaults.forceMegabytes property color colorSilent: root.useCustomColors && cfg.colorSilent || Color.mSurfaceVariant property color colorTx: root.useCustomColors && cfg.colorTx || Color.mSecondary property color colorRx: root.useCustomColors && cfg.colorRx || Color.mPrimary property color colorText: root.useCustomColors && cfg.colorText || Color.mOnSurfaceVariant - property int byteThresholdActive: cfg.byteThresholdActive || defaults.byteThresholdActive || 1024 - property real fontSizeModifier: cfg.fontSizeModifier || defaults.fontSizeModifier || 1 - property real iconSizeModifier: cfg.iconSizeModifier || defaults.iconSizeModifier || 1 - property real spacingInbetween: cfg.spacingInbetween || defaults.spacingInbetween || 0 + property int byteThresholdActive: cfg.byteThresholdActive ?? defaults.byteThresholdActive + property real fontSizeModifier: cfg.fontSizeModifier ?? defaults.fontSizeModifier + property real iconSizeModifier: cfg.iconSizeModifier ?? defaults.iconSizeModifier + property real spacingInbetween: cfg.spacingInbetween ?? defaults.spacingInbetween + property real contentMargin: cfg.contentMargin ?? defaults.contentMargin ?? Style.marginS + + property bool useCustomFont: cfg.useCustomFont ?? defaults.useCustomFont + property string customFontFamily: cfg.customFontFamily ?? defaults.customFontFamily + property bool customFontBold: cfg.customFontBold ?? defaults.customFontBold + property bool customFontItalic: cfg.customFontItalic ?? defaults.customFontItalic + + property bool horizontalNumbers: cfg.horizontalLayout ?? defaults.horizontalLayout + + readonly property string resolvedFontFamily: { + if (root.useCustomFont && root.customFontFamily) + return root.customFontFamily; + return Settings.data.ui.fontDefault; + } + + readonly property int resolvedFontWeight: { + if (root.useCustomFont && root.customFontBold) + return Font.Bold; + return Style.fontWeightMedium; + } + + readonly property bool resolvedFontItalic: root.useCustomFont && root.customFontItalic + + readonly property bool numbersVisible: root.showNumbers && barIsSpacious && !barIsVertical property string barPosition: Settings.data.bar.position || "top" property string barDensity: Settings.data.bar.density || "compact" property bool barIsSpacious: barDensity != "mini" property bool barIsVertical: barPosition === "left" || barPosition === "right" - readonly property real contentWidth: barIsVertical ? Style.capsuleHeight : Math.max(contentRow.implicitWidth, minWidth) + readonly property real contentWidth: barIsVertical ? Style.capsuleHeight : contentRow.implicitWidth + root.contentMargin * 2 readonly property real contentHeight: barIsVertical ? Math.round(contentRow.implicitHeight + Style.marginM * 2) : Style.capsuleHeight implicitWidth: contentWidth implicitHeight: contentHeight - // ---------- Widget ---------- + // ── Widget ── - property real txSpeed: SystemStatService.txSpeed - property real rxSpeed: SystemStatService.rxSpeed + property string txSpeed: (SystemStatService.formatSpeed(SystemStatService.txSpeed).replace(/([0-9.]+)([A-Za-z]+)/, "$1 $2") + "/s").padStart(8, " ") + property string rxSpeed: (SystemStatService.formatSpeed(SystemStatService.rxSpeed).replace(/([0-9.]+)([A-Za-z]+)/, "$1 $2") + "/s").padStart(8, " ") Rectangle { id: visualCapsule @@ -62,106 +83,146 @@ Item { y: Style.pixelAlignCenter(parent.height, height) width: root.contentWidth height: root.contentHeight - color: root.useCustomColors && cfg.colorBackground || Style.capsuleColor + color: Style.capsuleColor radius: Style.radiusM border.color: Style.capsuleBorderColor border.width: Style.capsuleBorderWidth RowLayout { id: contentRow - anchors.centerIn: parent spacing: Style.marginS + // Vertical layout: stacked values to the left Column { - visible: root.showNumbers && barIsSpacious && !barIsVertical - + visible: root.numbersVisible && !root.horizontalNumbers spacing: root.spacingInbetween NText { - visible: true - text: convertBytes(root.txSpeed) + horizontalAlignment: Text.AlignRight + text: root.txSpeed color: root.colorText - pointSize: Style.barFontSize * 0.75 * root.fontSizeModifier + pointSize: Style.barFontSize * root.fontSizeModifier + font.family: root.resolvedFontFamily + font.weight: root.resolvedFontWeight + font.italic: root.resolvedFontItalic } NText { - visible: true - text: convertBytes(root.rxSpeed) + horizontalAlignment: Text.AlignRight + text: root.rxSpeed color: root.colorText - pointSize: Style.barFontSize * 0.75 * root.fontSizeModifier + pointSize: Style.barFontSize * root.fontSizeModifier + font.family: root.resolvedFontFamily + font.weight: root.resolvedFontWeight + font.italic: root.resolvedFontItalic } } + // Horizontal layout: TX value left + NText { + visible: root.numbersVisible && root.horizontalNumbers + horizontalAlignment: Text.AlignRight + text: root.rxSpeed + color: root.colorText + pointSize: Style.barFontSize * root.fontSizeModifier + font.family: root.resolvedFontFamily + font.weight: root.resolvedFontWeight + font.italic: root.resolvedFontItalic + } + + // Icons Column { spacing: -10.0 + root.spacingInbetween NIcon { icon: arrowType + "-up" - color: root.txSpeed > root.byteThresholdActive ? root.colorTx : root.colorSilent + color: SystemStatService.txSpeed >= root.byteThresholdActive ? root.colorTx : root.colorSilent pointSize: Style.fontSizeL * root.iconSizeModifier } NIcon { icon: arrowType + "-down" - color: root.rxSpeed > root.byteThresholdActive ? root.colorRx : root.colorSilent + color: SystemStatService.rxSpeed >= root.byteThresholdActive ? root.colorRx : root.colorSilent pointSize: Style.fontSizeL * root.iconSizeModifier } } + + // Horizontal layout: RX value right + NText { + visible: root.numbersVisible && root.horizontalNumbers + horizontalAlignment: Text.AlignLeft + text: root.txSpeed + color: root.colorText + pointSize: Style.barFontSize * root.fontSizeModifier + font.family: root.resolvedFontFamily + font.weight: root.resolvedFontWeight + font.italic: root.resolvedFontItalic + } } } - // ---------- Interaction ---------- + // ── Interaction ── + + HoverHandler { + id: hoverHandler + onHoveredChanged: { + if (hovered) { + closeTimer.stop(); + hoverTimer.start(); + } else { + hoverTimer.stop(); + closeTimer.start(); + } + } + } + + Timer { + id: hoverTimer + interval: 500 + onTriggered: { + if (hoverHandler.hovered && root.pluginApi && !pluginApi.panelOpenScreen) + pluginApi.openPanel(root.screen, root); + } + } + + Timer { + id: closeTimer + interval: 250 + onTriggered: { + if (!hoverHandler.hovered && root.pluginApi && pluginApi.panelOpenScreen) + pluginApi.togglePanel(root.screen, root); + } + } MouseArea { - anchors.fill: parent - acceptedButtons: Qt.RightButton + anchors.fill: parent + acceptedButtons: Qt.RightButton - onPressed: mouse => { - if (mouse.button == Qt.RightButton) - PanelService.showContextMenu(contextMenu, root, screen); - } - - 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.openPluginSettings(screen, pluginApi.manifest); - } - } - } - } - - // ---------- Utilities ---------- - - function convertBytes(bytesPerSecond) { - const KB = 1024; - const MB = KB * 1024; - - let value; - let unit; - - if (bytesPerSecond < MB & !root.forceMegabytes) { - value = bytesPerSecond / KB; - unit = "KB"; - } else { - value = bytesPerSecond / MB; - unit = "MB"; + onPressed: mouse => { + if (mouse.button == Qt.RightButton) + PanelService.showContextMenu(contextMenu, root, screen); } - const text = value.toFixed(1) + " " + unit; - return text.padStart(10, " "); + NPopupContextMenu { + id: contextMenu + + model: [ + { + "label": root.pluginApi?.tr("actions.widget-settings"), + "action": "widget-settings", + "icon": "settings" + }, + ] + + onTriggered: action => { + contextMenu.close(); + PanelService.closeContextMenu(screen); + + if (action === "widget-settings") { + BarService.openPluginSettings(screen, pluginApi.manifest); + } + } + } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/Panel.qml b/home/aiden/.config/noctalia/plugins/network-indicator/Panel.qml new file mode 100644 index 0000000..1fbe980 --- /dev/null +++ b/home/aiden/.config/noctalia/plugins/network-indicator/Panel.qml @@ -0,0 +1,103 @@ +import qs.Commons +import qs.Modules.MainScreen +import qs.Services.UI +import qs.Services.System +import qs.Widgets +import QtQuick +import QtQuick.Layouts + +Item { + id: root + + readonly property var geometryPlaceholder: panelContent + readonly property bool allowAttach: true + + property var pluginApi: null + property var cfg: pluginApi?.pluginSettings || ({}) + property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({}) + property string arrowType: cfg.arrowType ?? defaults.arrowType + + property real contentPreferredWidth: 440 * Style.uiScaleRatio + property real contentPreferredHeight: panelContent.implicitHeight + Style.marginL * 2 + + anchors.fill: parent + + Component.onCompleted: { + if (pluginApi) { + Logger.i("NetworkIndicator", "Panel initialized"); + } + } + + ColumnLayout { + id: panelContent + + anchors.fill: parent + anchors.margins: Style.marginL + + NBox { + Layout.fillWidth: true + Layout.preferredHeight: 90 * Style.uiScaleRatio + + ColumnLayout { + anchors.fill: parent + anchors.margins: Style.marginS + anchors.bottomMargin: Style.radiusM * 0.5 + spacing: Style.marginXS + + RowLayout { + Layout.fillWidth: true + spacing: Style.marginXS + + NIcon { + icon: arrowType + "-down" + pointSize: Style.fontSizeXS + color: Color.mPrimary + } + + NText { + text: (SystemStatService.formatSpeed(SystemStatService.rxSpeed).replace(/([0-9.]+)([A-Za-z]+)/, "$1 $2") + "/s").padStart(8, " ") + pointSize: Style.fontSizeXS + color: Color.mPrimary + font.family: Settings.data.ui.fontFixed + Layout.rightMargin: Style.marginS + } + + NIcon { + icon: arrowType + "-up" + pointSize: Style.fontSizeXS + color: Color.mSecondary + } + + NText { + text: (SystemStatService.formatSpeed(SystemStatService.txSpeed).replace(/([0-9.]+)([A-Za-z]+)/, "$1 $2") + "/s").padStart(8, " ") + pointSize: Style.fontSizeXS + color: Color.mSecondary + font.family: Settings.data.ui.fontFixed + } + + Item { + Layout.fillWidth: true + } + } + + NGraph { + Layout.fillWidth: true + Layout.fillHeight: true + values: SystemStatService.rxSpeedHistory + values2: SystemStatService.txSpeedHistory + minValue: 0 + maxValue: SystemStatService.rxMaxSpeed + minValue2: 0 + maxValue2: SystemStatService.txMaxSpeed + color: Color.mPrimary + color2: Color.mSecondary + strokeWidth: Math.max(1, Style.uiScaleRatio) + fill: true + fillOpacity: 0.15 + updateInterval: SystemStatService.networkIntervalMs + animateScale: true + } + } + } + } +} diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/README.md b/home/aiden/.config/noctalia/plugins/network-indicator/README.md index 3d7046d..4ca37a9 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/README.md +++ b/home/aiden/.config/noctalia/plugins/network-indicator/README.md @@ -1,13 +1,16 @@ # NetworkIndicator Plugin for Noctalia -A compact Noctalia bar widget that displays current network upload (TX) and download (RX) activity, with optional live throughput values. +A compact Noctalia bar widget that displays current network upload (TX) and download (RX) activity, with optional live throughput values and a hover-activated graph panel. ## Features - **TX/RX Activity Indicators**: Separate icons for upload (TX) and download (RX). -- **Active/Idle Coloring**: Icons switch between “active” and “silent” colors based on a configurable traffic threshold. +- **Active/Idle Coloring**: Icons switch between "active" and "silent" colors based on a configurable traffic threshold. - **Optional Throughput Values**: Displays formatted TX/RX speeds as text (shown only when the bar is spacious and horizontal). +- **Vertical and Horizontal Layouts**: Stack TX/RX values on the left of the arrows, or place them side by side with arrows centered in between. - **Unit Formatting**: Automatically switches between KB/s and MB/s, or can be configured to always display MB/s. +- **Custom Font**: Override the default font for speed values, with optional bold and italic styles. +- **Network Graph Panel**: Hover over the widget to open a live graph showing RX and TX history from the system monitor. - **Theme Support**: Uses Noctalia theme colors by default, with optional custom colors. - **Configurable Settings**: Provides a comprehensive set of user-adjustable options. @@ -19,25 +22,32 @@ This plugin is part of the `noctalia-plugins` repository. Access the plugin settings in Noctalia to configure the following options: -- **Icon Type**: Select the icon style used for TX/RX: `arrow`, `arrow-narrow`, `caret`, `chevron`. -- **Minimum Widget Width**: Enforce a minimum width for the widget. -- **Show Active Threshold**: Set the traffic threshold in bytes per second (B/s) above which TX/RX is considered “active”. -- **Show Values**: Display formatted TX/RX speeds as numbers. This option is automatically hidden on vertical bars and when using “mini” density. +- **Icon Type**: Select the icon style used for TX/RX: `arrow`, `arrow-bar`, `arrow-big`, `arrow-narrow`, `caret`, `chevron`, `chevron-compact`, `fold`. +- **Show Values**: Display formatted TX/RX speeds as numbers. Automatically hidden on vertical bars and when using "mini" density. - **Force Megabytes**: Always display values in MB/s instead of switching to KB/s at low traffic levels. +- **Horizontal Layout**: Place TX and RX values side by side instead of stacked. +- **Minimum Width**: Set a minimum width for the widget to prevent resizing when values change. +- **Content Margin**: Horizontal padding on both sides of the widget content. +- **Show Active Threshold**: Set the traffic threshold in bytes per second (B/s) above which TX/RX is considered "active". - **Vertical Spacing**: Adjust the spacing between the TX and RX elements. - **Font Size Modifier**: Scale the text size. - **Icon Size Modifier**: Scale the icon size. -- **Custom Colors**: When enabled, configure the following colors: TX Active, RX Active, RX/TX Inactive, and Text. +- **Custom Font**: Override the default font with any installed font, with bold and italic options. +- **Custom Colors**: When enabled, configure TX Active, RX Active, RX/TX Inactive, Text, Font, and Background colors. ## Usage - Add the widget to your Noctalia bar. +- Hover over the widget to open the network graph panel. +- Right-click the widget to access settings. - Configure the plugin settings as required. ## Requirements -- Noctalia 3.6.0 or later. +- Noctalia 4.7.6 or later. ## Technical Details -- The widget reads `SystemStatService.txSpeed` and `SystemStatService.rxSpeed`; therefore, the polling interval is determined by that service. +- The widget reads `SystemStatService.txSpeed` and `SystemStatService.rxSpeed`; the polling interval is determined by that service. +- The graph panel uses `SystemStatService.rxSpeedHistory` and `SystemStatService.txSpeedHistory` with `NGraph` from the Noctalia Shell. +- The panel opens on hover with a short delay and closes automatically when the cursor leaves the widget. diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/Settings.qml b/home/aiden/.config/noctalia/plugins/network-indicator/Settings.qml index 67819ff..a230bd7 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/Settings.qml +++ b/home/aiden/.config/noctalia/plugins/network-indicator/Settings.qml @@ -1,7 +1,8 @@ -import QtQuick -import QtQuick.Layouts import qs.Commons import qs.Widgets +import qs.Services.System +import QtQuick +import QtQuick.Layouts ColumnLayout { id: root @@ -13,294 +14,338 @@ ColumnLayout { property var cfg: pluginApi?.pluginSettings || ({}) property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({}) - property string arrowType: cfg.arrowType || defaults.arrowType - property int minWidth: cfg.minWidth || defaults.minWidth + property string editArrowType: cfg.arrowType ?? defaults.arrowType + property int editByteThresholdActive: cfg.byteThresholdActive ?? defaults.byteThresholdActive + property real editFontSizeModifier: cfg.fontSizeModifier ?? defaults.fontSizeModifier + property bool editHorizontalLayout: cfg.horizontalLayout ?? defaults.horizontalLayout ?? false + property real editIconSizeModifier: cfg.iconSizeModifier ?? defaults.iconSizeModifier + property bool editShowNumbers: cfg.showNumbers ?? defaults.showNumbers + property real editSpacingInbetween: cfg.spacingInbetween ?? defaults.spacingInbetween + property real editContentMargin: cfg.contentMargin ?? defaults.contentMargin ?? Style.marginS - property bool useCustomColors: cfg.useCustomColors ?? defaults.useCustomColors - property bool showNumbers: cfg.showNumbers ?? defaults.showNumbers - property bool forceMegabytes: cfg.forceMegabytes ?? defaults.forceMegabytes + property bool editUseCustomFont: cfg.useCustomFont ?? defaults.useCustomFont ?? false + property string editCustomFontFamily: cfg.customFontFamily ?? defaults.customFontFamily ?? "" + property bool editCustomFontBold: cfg.customFontBold ?? defaults.customFontBold ?? false + property bool editCustomFontItalic: cfg.customFontItalic ?? defaults.customFontItalic ?? false - property color colorSilent: root.useCustomColors && cfg.colorSilent || Color.mSurfaceVariant - property color colorTx: root.useCustomColors && cfg.colorTx || Color.mSecondary - property color colorRx: root.useCustomColors && cfg.colorRx || Color.mPrimary - property color colorText: root.useCustomColors && cfg.colorText || Qt.alpha(Color.mOnSurfaceVariant, 0.3) - property color colorBackground: root.useCustomColors && cfg.colorBackground || Style.capsuleColor - - property int byteThresholdActive: cfg.byteThresholdActive || defaults.byteThresholdActive - property real fontSizeModifier: cfg.fontSizeModifier || defaults.fontSizeModifier - property real iconSizeModifier: cfg.iconSizeModifier || defaults.iconSizeModifier - property real spacingInbetween: cfg.spacingInbetween || defaults.spacingInbetween + property bool editUseCustomColors: cfg.useCustomColors ?? defaults.useCustomColors ?? false + property color editColorBackground: editUseCustomColors && cfg.colorBackground || Style.capsuleColor + property color editColorFont: editUseCustomColors && cfg.colorFont || Color.mOnSurface + property color editColorRx: editUseCustomColors && cfg.colorRx || Color.mPrimary + property color editColorSilent: editUseCustomColors && cfg.colorSilent || Color.mSurfaceVariant + property color editColorText: editUseCustomColors && cfg.colorText || Qt.alpha(Color.mOnSurfaceVariant, 0.3) + property color editColorTx: editUseCustomColors && cfg.colorTx || Color.mSecondary property string barPosition: Settings.data.bar.position || "top" property string barDensity: Settings.data.bar.density || "compact" - property bool barIsSpacious: root.barDensity != "mini" - property bool barIsVertical: root.barPosition === "left" || barPosition === "right" - - spacing: Style.marginL - - Component.onCompleted: { - Logger.i("NetworkIndicator", "Settings UI loaded"); - } + property bool barIsSpacious: barDensity !== "mini" + property bool barIsVertical: barPosition === "left" || barPosition === "right" function toIntOr(defaultValue, text) { const v = parseInt(String(text).trim(), 10); return isNaN(v) ? defaultValue : v; } - // ---------- General ---------- - - RowLayout { - NComboBox { - label: pluginApi?.tr("settings.iconType.label") - description: pluginApi?.tr("settings.iconType.desc") - - model: root.iconNames.map(function (n) { - return { - key: n, - name: n - }; - }) - - currentKey: root.arrowType - onSelected: key => root.arrowType = key + function saveSettings() { + if (!pluginApi || !pluginApi.pluginSettings) { + Logger.e("NetworkIndicator", "Cannot save: pluginApi or pluginSettings is null"); + return; } - ColumnLayout { - spacing: -10.0 + root.spacingInbetween + pluginApi.pluginSettings.arrowType = root.editArrowType; + pluginApi.pluginSettings.byteThresholdActive = root.editByteThresholdActive; + pluginApi.pluginSettings.showNumbers = root.editShowNumbers; + pluginApi.pluginSettings.horizontalLayout = root.editHorizontalLayout; + pluginApi.pluginSettings.fontSizeModifier = root.editFontSizeModifier; + pluginApi.pluginSettings.iconSizeModifier = root.editIconSizeModifier; + pluginApi.pluginSettings.spacingInbetween = root.editSpacingInbetween; + pluginApi.pluginSettings.contentMargin = root.editContentMargin; - NIcon { - icon: arrowType + "-up" - color: Color.mSecondary - pointSize: Style.fontSizeL * root.iconSizeModifier - } + pluginApi.pluginSettings.useCustomFont = root.editUseCustomFont; + pluginApi.pluginSettings.customFontFamily = root.editCustomFontFamily; + pluginApi.pluginSettings.customFontBold = root.editCustomFontBold; + pluginApi.pluginSettings.customFontItalic = root.editCustomFontItalic; - NIcon { - icon: arrowType + "-down" - color: Color.mPrimary - pointSize: Style.fontSizeL * root.iconSizeModifier - } + pluginApi.pluginSettings.useCustomColors = root.editUseCustomColors; + if (root.editUseCustomColors) { + pluginApi.pluginSettings.colorSilent = root.editColorSilent.toString(); + pluginApi.pluginSettings.colorTx = root.editColorTx.toString(); + pluginApi.pluginSettings.colorRx = root.editColorRx.toString(); + pluginApi.pluginSettings.colorText = root.editColorText.toString(); + pluginApi.pluginSettings.colorFont = root.editColorFont.toString(); + pluginApi.pluginSettings.colorBackground = root.editColorBackground.toString(); } + + pluginApi.saveSettings(); + Logger.i("NetworkIndicator", "Settings saved"); } - NTextInput { - label: pluginApi?.tr("settings.minWidth.label") - description: pluginApi?.tr("settings.minWidth.desc") - placeholderText: String(root.minWidth) - text: String(root.minWidth) - onTextChanged: root.minWidth = root.toIntOr(0, text) + Layout.rightMargin: Style.marginL + spacing: Style.marginL + + // ── Icon ── + + NComboBox { + currentKey: root.editArrowType + description: root.pluginApi?.tr("settings.iconType.desc") + label: root.pluginApi?.tr("settings.iconType.label") + model: root.iconNames.map(n => ({ + key: n, + name: n + })) + + onSelected: key => root.editArrowType = key + } + + NDivider { + Layout.fillWidth: true + } + + // ── General ── + + NToggle { + checked: root.editShowNumbers + defaultValue: defaults.showNumbers ?? true + description: root.pluginApi?.tr("settings.showNumbers.desc") + label: root.pluginApi?.tr("settings.showNumbers.label") + visible: root.barIsSpacious && !root.barIsVertical + + onToggled: c => root.editShowNumbers = c + } + + NToggle { + checked: root.editHorizontalLayout + defaultValue: defaults.horizontalLayout ?? false + description: root.pluginApi?.tr("settings.horizontalLayout.desc") + label: root.pluginApi?.tr("settings.horizontalLayout.label") + visible: root.barIsSpacious && !root.barIsVertical + + onToggled: c => root.editHorizontalLayout = c + } + + NDivider { + Layout.fillWidth: true + } + + // ── Layout ── + + ColumnLayout { + Layout.fillWidth: true + spacing: Style.marginXXS + + NLabel { + description: root.pluginApi?.tr("settings.contentMargin.desc") + label: root.pluginApi?.tr("settings.contentMargin.label") + } + + NValueSlider { + Layout.fillWidth: true + from: 0 + stepSize: 1 + text: root.editContentMargin + "px" + to: 20 + value: root.editContentMargin + + onMoved: value => root.editContentMargin = value + } } NTextInput { label: pluginApi?.tr("settings.byteThresholdActive.label") description: pluginApi?.tr("settings.byteThresholdActive.desc") - placeholderText: root.byteThresholdActive + " bytes" - text: String(root.byteThresholdActive) - onTextChanged: root.byteThresholdActive = root.toIntOr(0, text) + placeholderText: root.editByteThresholdActive + " bytes" + text: String(root.editByteThresholdActive) + onTextChanged: root.editByteThresholdActive = root.toIntOr(0, text) } - NToggle { - label: pluginApi?.tr("settings.showNumbers.label") - description: pluginApi?.tr("settings.showNumbers.desc") - visible: barIsSpacious && !barIsVertical - - checked: root.showNumbers - onToggled: function (checked) { - root.showNumbers = checked; - } - } - - NToggle { - label: pluginApi?.tr("settings.forceMegabytes.label") - description: pluginApi?.tr("settings.forceMegabytes.desc") - visible: barIsSpacious && !barIsVertical - - checked: root.forceMegabytes - onToggled: function (checked) { - root.forceMegabytes = checked; - } - } - - NDivider { - visible: true - Layout.fillWidth: true - Layout.topMargin: Style.marginL - Layout.bottomMargin: Style.marginL - } - - // ---------- Slider ---------- - ColumnLayout { - spacing: Style.marginXXS Layout.fillWidth: true + spacing: Style.marginXXS NLabel { - label: pluginApi?.tr("settings.spacingInbetween.label") - description: pluginApi?.tr("settings.spacingInbetween.desc") + description: root.pluginApi?.tr("settings.spacingInbetween.desc") + label: root.pluginApi?.tr("settings.spacingInbetween.label") } NValueSlider { Layout.fillWidth: true from: -5 - to: 5 stepSize: 1 - value: root.spacingInbetween - onMoved: value => root.spacingInbetween = value - text: root.spacingInbetween.toFixed(0) + text: root.editSpacingInbetween.toFixed(0) + to: 5 + value: root.editSpacingInbetween + + onMoved: value => root.editSpacingInbetween = value } } ColumnLayout { - spacing: Style.marginXXS Layout.fillWidth: true + spacing: Style.marginXXS NLabel { - label: pluginApi?.tr("settings.fontSizeModifier.label") - description: pluginApi?.tr("settings.fontSizeModifier.desc") + description: root.pluginApi?.tr("settings.fontSizeModifier.desc") + label: root.pluginApi?.tr("settings.fontSizeModifier.label") } NValueSlider { Layout.fillWidth: true from: 0.5 - to: 1.5 stepSize: 0.05 - value: root.fontSizeModifier - onMoved: value => root.fontSizeModifier = value - text: fontSizeModifier.toFixed(2) + text: root.editFontSizeModifier.toFixed(2) + to: 1.5 + value: root.editFontSizeModifier + + onMoved: value => root.editFontSizeModifier = value } } ColumnLayout { - spacing: Style.marginXXS Layout.fillWidth: true + spacing: Style.marginXXS NLabel { - label: pluginApi?.tr("settings.iconSizeModifier.label") - description: pluginApi?.tr("settings.iconSizeModifier.desc") + description: root.pluginApi?.tr("settings.iconSizeModifier.desc") + label: root.pluginApi?.tr("settings.iconSizeModifier.label") } NValueSlider { Layout.fillWidth: true from: 0.5 - to: 1.5 stepSize: 0.05 - value: root.iconSizeModifier - onMoved: value => root.iconSizeModifier = value - text: root.iconSizeModifier.toFixed(2) + text: root.editIconSizeModifier.toFixed(2) + to: 1.5 + value: root.editIconSizeModifier + + onMoved: value => root.editIconSizeModifier = value } } NDivider { - visible: true Layout.fillWidth: true - Layout.topMargin: Style.marginL - Layout.bottomMargin: Style.marginL } - // ---------- Colors ---------- + // ── Font ── NToggle { - label: pluginApi?.tr("settings.useCustomColors.label") - description: pluginApi?.tr("settings.useCustomColors.desc") - checked: root.useCustomColors - onToggled: function (checked) { - root.useCustomColors = checked; - } + checked: root.editUseCustomFont + defaultValue: defaults.useCustomFont ?? false + description: root.pluginApi?.tr("settings.useCustomFont.desc") + label: root.pluginApi?.tr("settings.useCustomFont.label") + + onToggled: c => root.editUseCustomFont = c } ColumnLayout { - visible: root.useCustomColors + visible: root.editUseCustomFont + Layout.fillWidth: true + spacing: Style.marginL - RowLayout { - NLabel { - label: pluginApi?.tr("settings.colorTx.label") - description: pluginApi?.tr("settings.colorTx.desc") - Layout.alignment: Qt.AlignTop - } + NSearchableComboBox { + label: root.pluginApi?.tr("settings.customFontFamily.label") + description: root.pluginApi?.tr("settings.customFontFamily.desc") + model: FontService.availableFonts + currentKey: root.editCustomFontFamily || Qt.application.font.family + placeholder: root.pluginApi?.tr("settings.customFontFamily.placeholder") + searchPlaceholder: root.pluginApi?.tr("settings.customFontFamily.searchPlaceholder") + popupHeight: 420 - NColorPicker { - selectedColor: root.colorTx - onColorSelected: color => root.colorTx = color + onSelected: key => { + root.editCustomFontFamily = (key === Qt.application.font.family) ? "" : key; } } - RowLayout { - NLabel { - label: pluginApi?.tr("settings.colorRx.label") - description: pluginApi?.tr("settings.colorRx.desc") - } + NToggle { + checked: root.editCustomFontBold + defaultValue: defaults.customFontBold ?? false + description: root.pluginApi?.tr("settings.customFontBold.desc") + label: root.pluginApi?.tr("settings.customFontBold.label") - NColorPicker { - selectedColor: root.colorRx - onColorSelected: color => root.colorRx = color - } + onToggled: c => root.editCustomFontBold = c } - RowLayout { - NLabel { - label: pluginApi?.tr("settings.colorSilent.label") - description: pluginApi?.tr("settings.colorSilent.desc") - } + NToggle { + checked: root.editCustomFontItalic + defaultValue: defaults.customFontItalic ?? false + description: root.pluginApi?.tr("settings.customFontItalic.desc") + label: root.pluginApi?.tr("settings.customFontItalic.label") - NColorPicker { - selectedColor: root.colorSilent - onColorSelected: color => root.colorSilent = color - } - } - - RowLayout { - NLabel { - label: pluginApi?.tr("settings.colorText.label") - description: pluginApi?.tr("settings.colorText.desc") - } - - NColorPicker { - selectedColor: root.colorText - onColorSelected: color => root.colorText = color - } - } - - RowLayout { - NLabel { - label: pluginApi?.tr("settings.colorBackground.label") - description: pluginApi?.tr("settings.colorBackground.desc") - } - - NColorPicker { - selectedColor: root.colorBackground - onColorSelected: color => root.colorBackground = color - } + onToggled: c => root.editCustomFontItalic = c } } - // ---------- Saving ---------- + NDivider { + Layout.fillWidth: true + } - function saveSettings() { - if (!pluginApi) { - Logger.e("NetworkIndicator", "Cannot save settings: pluginApi is null"); - return; + // ── Colors ── + + NToggle { + checked: root.editUseCustomColors + defaultValue: defaults.useCustomColors ?? false + description: root.pluginApi?.tr("settings.useCustomColors.desc") + label: root.pluginApi?.tr("settings.useCustomColors.label") + + onToggled: c => root.editUseCustomColors = c + } + + ColumnLayout { + visible: root.editUseCustomColors + + RowLayout { + NLabel { + Layout.alignment: Qt.AlignTop + description: root.pluginApi?.tr("settings.colorTx.desc") + label: root.pluginApi?.tr("settings.colorTx.label") + } + + NColorPicker { + selectedColor: root.editColorTx + + onColorSelected: color => root.editColorTx = color + } } - pluginApi.pluginSettings.useCustomColors = root.useCustomColors; - pluginApi.pluginSettings.showNumbers = root.showNumbers; - pluginApi.pluginSettings.forceMegabytes = root.forceMegabytes; + RowLayout { + NLabel { + Layout.alignment: Qt.AlignTop + description: root.pluginApi?.tr("settings.colorRx.desc") + label: root.pluginApi?.tr("settings.colorRx.label") + } - pluginApi.pluginSettings.arrowType = root.arrowType; - pluginApi.pluginSettings.minWidth = root.minWidth; - pluginApi.pluginSettings.byteThresholdActive = root.byteThresholdActive; - pluginApi.pluginSettings.fontSizeModifier = root.fontSizeModifier; - pluginApi.pluginSettings.iconSizeModifier = root.iconSizeModifier; - pluginApi.pluginSettings.spacingInbetween = root.spacingInbetween; + NColorPicker { + selectedColor: root.editColorRx - if (root.useCustomColors) { - pluginApi.pluginSettings.colorSilent = root.colorSilent.toString(); - pluginApi.pluginSettings.colorTx = root.colorTx.toString(); - pluginApi.pluginSettings.colorRx = root.colorRx.toString(); - pluginApi.pluginSettings.colorText = root.colorText.toString(); - pluginApi.pluginSettings.colorBackground = root.colorBackground.toString(); + onColorSelected: color => root.editColorRx = color + } } - pluginApi.saveSettings(); + RowLayout { + NLabel { + Layout.alignment: Qt.AlignTop + description: root.pluginApi?.tr("settings.colorSilent.desc") + label: root.pluginApi?.tr("settings.colorSilent.label") + } - Logger.i("NetworkIndicator", "Settings saved successfully"); + NColorPicker { + selectedColor: root.editColorSilent + + onColorSelected: color => root.editColorSilent = color + } + } + + RowLayout { + NLabel { + Layout.alignment: Qt.AlignTop + description: root.pluginApi?.tr("settings.colorText.desc") + label: root.pluginApi?.tr("settings.colorText.label") + } + + NColorPicker { + selectedColor: root.editColorText + + onColorSelected: color => root.editColorText = color + } + } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/de.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/de.json index 148c2b1..1f4bcda 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/de.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/de.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Widget-Einstellungen" + }, "settings": { "byteThresholdActive": { "desc": "Aktivitätsschwellwert in Byte pro Sekunde (B/s) festlegen.", "label": "Aktivitätsschwellwert anzeigen" }, - "colorBackground": { - "desc": "Hintergrundfarbe festlegen.", - "label": "Hintergrund" - }, "colorRx": { "desc": "Symbolfarbe für Download (RX), wenn der Schwellwert überschritten ist.", "label": "RX aktiv" @@ -24,26 +23,40 @@ "desc": "Symbolfarbe für Upload (TX), wenn der Schwellwert überschritten ist.", "label": "TX aktiv" }, + "contentMargin": { + "desc": "Horizontaler Abstand auf beiden Seiten des Widget-Inhalts.", + "label": "Inhaltsrand" + }, + "customFontBold": { + "desc": "Geschwindigkeitswerte fett darstellen.", + "label": "Fett" + }, + "customFontFamily": { + "desc": "Schriftart für die Geschwindigkeitswerte wählen.", + "label": "Schriftart", + "placeholder": "Schriftart auswählen", + "searchPlaceholder": "Schriften suchen…" + }, + "customFontItalic": { + "desc": "Geschwindigkeitswerte kursiv darstellen.", + "label": "Kursiv" + }, "fontSizeModifier": { "desc": "Schriftgröße relativ zum Standard skalieren.", "label": "Schriftgrößen-Faktor" }, - "forceMegabytes": { - "desc": "Alle Verkehrs­werte in MB anzeigen, statt bei geringer Nutzung auf KB zu wechseln.", - "label": "Immer Megabyte (MB) verwenden" + "horizontalLayout": { + "desc": "TX- und RX-Werte nebeneinander statt übereinander anzeigen.", + "label": "Horizontales Layout" }, "iconSizeModifier": { "desc": "Symbolgröße relativ zum Standard skalieren.", "label": "Symbolgrößen-Faktor" }, "iconType": { - "desc": "Symbolstil auswählen", + "desc": "Symbolstil für die TX/RX-Anzeigen auswählen.", "label": "Symboltyp" }, - "minWidth": { - "desc": "Mindestbreite für das Widget festlegen (in px).", - "label": "Minimale Widget-Breite" - }, "showNumbers": { "desc": "Aktuelle RX/TX-Geschwindigkeiten als Zahlen anzeigen.", "label": "Werte anzeigen" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Eigene Farben statt der Standard-Themefarben verwenden.", "label": "Eigene Farben" + }, + "useCustomFont": { + "desc": "Standardschriftart für Geschwindigkeitswerte überschreiben.", + "label": "Eigene Schriftart" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/en.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/en.json index 837ef8e..60a1265 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/en.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/en.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Widget settings" + }, "settings": { "byteThresholdActive": { "desc": "Set the activity threshold in bytes per second (B/s).", "label": "Show Active Threshold" }, - "colorBackground": { - "desc": "Set the background color for the widget.", - "label": "Background" - }, "colorRx": { "desc": "Set the download (RX) icon color when above the threshold.", "label": "RX Active" @@ -24,13 +23,31 @@ "desc": "Set the upload (TX) icon color when above the threshold.", "label": "TX Active" }, + "contentMargin": { + "desc": "Horizontal padding on both sides of the widget content.", + "label": "Content Margin" + }, + "customFontBold": { + "desc": "Render speed values in bold.", + "label": "Bold" + }, + "customFontFamily": { + "desc": "Choose a font for the speed values.", + "label": "Font", + "placeholder": "Select a font", + "searchPlaceholder": "Search fonts…" + }, + "customFontItalic": { + "desc": "Render speed values in italic.", + "label": "Italic" + }, "fontSizeModifier": { "desc": "Scale the text size relative to the default.", "label": "Font Size Modifier" }, - "forceMegabytes": { - "desc": "Show all traffic values in MB instead of switching to KB for low usage.", - "label": "Force megabytes (MB)" + "horizontalLayout": { + "desc": "Place TX and RX values side by side instead of stacked.", + "label": "Horizontal Layout" }, "iconSizeModifier": { "desc": "Scale the icon size relative to the default.", @@ -40,10 +57,6 @@ "desc": "Choose the icon style used for the TX/RX indicators.", "label": "Icon Type" }, - "minWidth": { - "desc": "Set a minimum width for the widget (in px).", - "label": "Minimum Widget Width" - }, "showNumbers": { "desc": "Display the current RX/TX speeds as numbers.", "label": "Show Values" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Enable custom colors instead of theme defaults.", "label": "Custom Colors" + }, + "useCustomFont": { + "desc": "Override the default font for speed values.", + "label": "Custom Font" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/es.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/es.json index 64f95b8..c379e3b 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/es.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/es.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Configuración del widget" + }, "settings": { "byteThresholdActive": { "desc": "Establecer el umbral de actividad en bytes por segundo (B/s).", "label": "Mostrar umbral activo" }, - "colorBackground": { - "desc": "Establecer el color de fondo para el widget.", - "label": "Antecedentes" - }, "colorRx": { "desc": "Establecer el color del icono de descarga (RX) cuando esté por encima del umbral.", "label": "RX Activo" @@ -24,13 +23,31 @@ "desc": "Establecer el color del icono de carga (TX) cuando esté por encima del umbral.", "label": "TX Activo" }, + "contentMargin": { + "desc": "Relleno horizontal en ambos lados del contenido del widget.", + "label": "Margen del contenido" + }, + "customFontBold": { + "desc": "Mostrar los valores de velocidad en negrita.", + "label": "Negrita" + }, + "customFontFamily": { + "desc": "Elegir una fuente para los valores de velocidad.", + "label": "Fuente", + "placeholder": "Seleccionar fuente", + "searchPlaceholder": "Buscar fuentes…" + }, + "customFontItalic": { + "desc": "Mostrar los valores de velocidad en cursiva.", + "label": "Cursiva" + }, "fontSizeModifier": { "desc": "Escalar el tamaño del texto en relación con el predeterminado.", "label": "Modificador de tamaño de fuente" }, - "forceMegabytes": { - "desc": "Mostrar todos los valores de tráfico en MB en lugar de cambiar a KB para bajo uso.", - "label": "Forzar megabytes (MB)" + "horizontalLayout": { + "desc": "Colocar los valores TX y RX uno al lado del otro en lugar de apilados.", + "label": "Diseño horizontal" }, "iconSizeModifier": { "desc": "Escalar el tamaño del icono en relación con el tamaño predeterminado.", @@ -40,10 +57,6 @@ "desc": "Elige el estilo de icono utilizado para los indicadores TX/RX.", "label": "Tipo de icono" }, - "minWidth": { - "desc": "Establecer un ancho mínimo para el widget (en px).", - "label": "Ancho mínimo del widget" - }, "showNumbers": { "desc": "Mostrar las velocidades actuales de RX/TX como números.", "label": "Mostrar valores" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Activar colores personalizados en lugar de los predeterminados del tema.", "label": "Colores personalizados" + }, + "useCustomFont": { + "desc": "Reemplazar la fuente predeterminada para los valores de velocidad.", + "label": "Fuente personalizada" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/fr.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/fr.json index 30cd53e..fe9d191 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/fr.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/fr.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Paramètres du widget" + }, "settings": { "byteThresholdActive": { "desc": "Définir le seuil d'activité en octets par seconde (o/s).", "label": "Afficher le seuil actif" }, - "colorBackground": { - "desc": "Définir la couleur d'arrière-plan du widget.", - "label": "Contexte" - }, "colorRx": { "desc": "Définir la couleur de l'icône de téléchargement (RX) lorsque la valeur est supérieure au seuil.", "label": "RX Active" @@ -18,19 +17,37 @@ }, "colorText": { "desc": "Définir la couleur du texte utilisée pour les valeurs RX et TX.", - "label": "I am unable to help with that, as there is no text provided to translate. Please provide the text you would like translated." + "label": "Texte" }, "colorTx": { "desc": "Définir la couleur de l'icône de téléversement (TX) lorsque le seuil est dépassé.", "label": "TX Active" }, + "contentMargin": { + "desc": "Marge horizontale des deux côtés du contenu du widget.", + "label": "Marge du contenu" + }, + "customFontBold": { + "desc": "Afficher les valeurs de vitesse en gras.", + "label": "Gras" + }, + "customFontFamily": { + "desc": "Choisir une police pour les valeurs de vitesse.", + "label": "Police", + "placeholder": "Sélectionner une police", + "searchPlaceholder": "Rechercher des polices…" + }, + "customFontItalic": { + "desc": "Afficher les valeurs de vitesse en italique.", + "label": "Italique" + }, "fontSizeModifier": { "desc": "Mettre à l'échelle la taille du texte par rapport à la taille par défaut.", "label": "Modificateur de taille de police" }, - "forceMegabytes": { - "desc": "Afficher toutes les valeurs de trafic en Mo au lieu de passer en Ko pour une faible utilisation.", - "label": "Forcer les mégaoctets (Mo)" + "horizontalLayout": { + "desc": "Afficher les valeurs TX et RX côte à côte au lieu de les empiler.", + "label": "Disposition horizontale" }, "iconSizeModifier": { "desc": "Ajuster la taille de l'icône par rapport à la taille par défaut.", @@ -40,10 +57,6 @@ "desc": "Choisissez le style d'icône utilisé pour les indicateurs TX/RX.", "label": "Type d'icône" }, - "minWidth": { - "desc": "Définir une largeur minimale pour le widget (en px).", - "label": "Largeur minimale du widget" - }, "showNumbers": { "desc": "Afficher les vitesses RX/TX actuelles sous forme de nombres.", "label": "Afficher les valeurs" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Activer les couleurs personnalisées au lieu des couleurs par défaut du thème.", "label": "Couleurs personnalisées" + }, + "useCustomFont": { + "desc": "Remplacer la police par défaut pour les valeurs de vitesse.", + "label": "Police personnalisée" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/hu.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/hu.json index 268c63a..76f7f28 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/hu.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/hu.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Widget beállítások" + }, "settings": { "byteThresholdActive": { "desc": "Állítsa be az aktivitási küszöbértéket bájt/másodpercben (B/s).", "label": "Aktív küszöbérték mutatása" }, - "colorBackground": { - "desc": "Állítsa be a widget háttérszínét.", - "label": "Háttér" - }, "colorRx": { "desc": "Állítsa be a letöltés (RX) ikon színét, ha az meghaladja a küszöbértéket.", "label": "RX Aktív" @@ -18,19 +17,37 @@ }, "colorText": { "desc": "Állítsa be az RX és TX értékekhez használt szövegszínt.", - "label": "Általános" + "label": "Szöveg" }, "colorTx": { "desc": "Állítsa be a feltöltés (TX) ikon színét, ha a küszöbérték felett van.", "label": "TX Aktív" }, + "contentMargin": { + "desc": "Vízszetes padding a widget tartalma mindkét oldalán.", + "label": "Tartalom margó" + }, + "customFontBold": { + "desc": "Sebességértékek vastag betűvel.", + "label": "Vastag" + }, + "customFontFamily": { + "desc": "Válasszon betűtípust a sebességértékekhez.", + "label": "Betűtípus", + "placeholder": "Betűtípus kiválasztása", + "searchPlaceholder": "Betűtípusok keresése…" + }, + "customFontItalic": { + "desc": "Sebességértékek dőlt betűvel.", + "label": "Dőlt" + }, "fontSizeModifier": { "desc": "A szövegméret skálázása az alapértelmezett mérethez képest.", "label": "Betűméret módosító" }, - "forceMegabytes": { - "desc": "Az összes forgalmi értéket MB-ban mutassa, ahelyett, hogy alacsony használat esetén KB-ra váltana.", - "label": "Megabájt (MB) kényszerítése" + "horizontalLayout": { + "desc": "TX és RX értékek egymás mellett, nem egymás alatt.", + "label": "Vízszintes elrendezés" }, "iconSizeModifier": { "desc": "Az ikonméret skálázása az alapértelmezett mérethez képest.", @@ -40,10 +57,6 @@ "desc": "Válaszd ki az TX/RX indikátorokhoz használt ikonkészletet.", "label": "Ikon típusa" }, - "minWidth": { - "desc": "Állítson be egy minimális szélességet a widget számára (px-ben).", - "label": "Minimum Widget Szélesség" - }, "showNumbers": { "desc": "A pillanatnyi RX/TX sebességek megjelenítése számként.", "label": "Értékek megjelenítése" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Egyéni színek engedélyezése a téma alapértelmezett színei helyett.", "label": "Egyéni színek" + }, + "useCustomFont": { + "desc": "Az alapértelmezett betűtípus felülírása a sebességértékekhez.", + "label": "Egyéni betűtípus" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/it.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/it.json index e1c82b2..23a4f54 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/it.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/it.json @@ -1,60 +1,77 @@ { + "actions": { + "widget-settings": "Impostazioni widget" + }, "settings": { "byteThresholdActive": { "desc": "Imposta la soglia di attività in byte al secondo (B/s).", - "label": "Zeige Aktive Schwelle" - }, - "colorBackground": { - "desc": "Imposta il colore di sfondo per il widget.", - "label": "Hintergrund" + "label": "Mostra soglia attiva" }, "colorRx": { - "desc": "Imposta il colore dell'icona di download (RX) quando è sopra la soglia.", - "label": "RX Aktiv" + "desc": "Imposta il colore dell'icona di download (RX) quando sopra la soglia.", + "label": "RX Attivo" }, "colorSilent": { - "desc": "Imposta il colore dell'icona quando il traffico è al di sotto della soglia.", - "label": "RX/TX Neaktivan" + "desc": "Imposta il colore dell'icona quando il traffico è sotto la soglia.", + "label": "RX/TX Inattivo" }, "colorText": { - "desc": "Imposta il colore del testo utilizzato sia per i valori RX che TX.", - "label": "Please provide the English text you would like me to translate. I need the text to be able to provide the translation." + "desc": "Imposta il colore del testo utilizzato per i valori RX e TX.", + "label": "Testo" }, "colorTx": { - "desc": "Määritä lähetyskuvakkeen (TX) väri, kun raja-arvo ylittyy.", - "label": "TX Aktibo" + "desc": "Imposta il colore dell'icona di upload (TX) quando sopra la soglia.", + "label": "TX Attivo" + }, + "contentMargin": { + "desc": "Padding orizzontale su entrambi i lati del contenuto del widget.", + "label": "Margine contenuto" + }, + "customFontBold": { + "desc": "Visualizza i valori di velocità in grassetto.", + "label": "Grassetto" + }, + "customFontFamily": { + "desc": "Scegli un font per i valori di velocità.", + "label": "Font", + "placeholder": "Seleziona un font", + "searchPlaceholder": "Cerca font…" + }, + "customFontItalic": { + "desc": "Visualizza i valori di velocità in corsivo.", + "label": "Corsivo" }, "fontSizeModifier": { - "desc": "Skala textstorleken relativt standardstorleken.", - "label": "Modifikator veličine fonta" + "desc": "Scala la dimensione del testo rispetto al valore predefinito.", + "label": "Modificatore dimensione font" }, - "forceMegabytes": { - "desc": "Zeigen Sie alle Verkehrswerte in MB an, anstatt bei geringer Nutzung auf KB umzuschalten.", - "label": "Megabajtów siłą (MB)" + "horizontalLayout": { + "desc": "Posiziona i valori TX e RX fianco a fianco invece che impilati.", + "label": "Layout orizzontale" }, "iconSizeModifier": { - "desc": "Mérje a ikon méretét a alapértelmezetthez képest.", - "label": "Modifikator za veličinu ikone" + "desc": "Scala la dimensione dell'icona rispetto al valore predefinito.", + "label": "Modificatore dimensione icona" }, "iconType": { - "desc": "Alege stilul pictogramei folosit pentru indicatorii TX/RX.", - "label": "Tip ikonë" - }, - "minWidth": { - "desc": "Imposta una larghezza minima per il widget (in px).", - "label": "Breite des minimalen Widgets" + "desc": "Scegli lo stile dell'icona usata per gli indicatori TX/RX.", + "label": "Tipo icona" }, "showNumbers": { - "desc": "Zeige die aktuellen RX/TX-Geschwindigkeiten als Zahlen an.", - "label": "Ipakita ang mga Halaga" + "desc": "Visualizza le velocità RX/TX attuali come numeri.", + "label": "Mostra valori" }, "spacingInbetween": { - "desc": "Rregulloje hapësirën midis elementeve RX/TX.", - "label": "Vertikaler Abstand" + "desc": "Regola lo spazio tra gli elementi RX/TX.", + "label": "Spaziatura verticale" }, "useCustomColors": { - "desc": "Aktiviere benutzerdefinierte Farben anstelle der Standardfarben des Designs.", - "label": "Ngjyra të personalizuara" + "desc": "Attiva i colori personalizzati invece dei colori predefiniti del tema.", + "label": "Colori personalizzati" + }, + "useCustomFont": { + "desc": "Sovrascrivi il font predefinito per i valori di velocità.", + "label": "Font personalizzato" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ja.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ja.json index 85a706b..c70c454 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ja.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ja.json @@ -1,16 +1,15 @@ { + "actions": { + "widget-settings": "ウィジェット設定" + }, "settings": { "byteThresholdActive": { "desc": "アクティビティの閾値をバイト毎秒 (B/s) で設定します。", - "label": "アクティブなしきい値を表示" - }, - "colorBackground": { - "desc": "ウィジェットの背景色を設定します。", - "label": "背景" + "label": "アクティブ閾値を表示" }, "colorRx": { "desc": "閾値を超えた場合のダウンロード (RX) アイコンの色を設定します。", - "label": "RXアクティブ" + "label": "RX アクティブ" }, "colorSilent": { "desc": "トラフィックが閾値を下回った場合に、アイコンの色を設定します。", @@ -18,19 +17,37 @@ }, "colorText": { "desc": "RX と TX の両方の値に使用するテキストの色を設定します。", - "label": "申し訳ありませんが、翻訳するテキストが提供されていません。テキストを入力してください。" + "label": "テキスト" }, "colorTx": { "desc": "閾値を超えた場合のアップロード (TX) アイコンの色を設定します。", - "label": "TXアクティブ" + "label": "TX アクティブ" + }, + "contentMargin": { + "desc": "ウィジェットコンテンツの両サイドの水平パディング。", + "label": "コンテンツマージン" + }, + "customFontBold": { + "desc": "速度値を太字で表示。", + "label": "太字" + }, + "customFontFamily": { + "desc": "速度値に使用するフォントを選択してください。", + "label": "フォント", + "placeholder": "フォントを選択", + "searchPlaceholder": "フォントを検索…" + }, + "customFontItalic": { + "desc": "速度値を斜体で表示。", + "label": "斜体" }, "fontSizeModifier": { "desc": "テキストのサイズをデフォルトを基準に調整します。", "label": "フォントサイズ変更" }, - "forceMegabytes": { - "desc": "低い使用量でもKBに切り替えずに、すべてのトラフィック値をMBで表示する。", - "label": "メガバイトを強制的に実行する" + "horizontalLayout": { + "desc": "TXとRXの値を縦並びではなく横並びで表示。", + "label": "水平レイアウト" }, "iconSizeModifier": { "desc": "デフォルトに対するアイコンのサイズを調整します。", @@ -40,21 +57,21 @@ "desc": "TX/RXインジケーターに使用するアイコンのスタイルを選択してください。", "label": "アイコンの種類" }, - "minWidth": { - "desc": "ウィジェットの最小幅を(pxで)設定します。", - "label": "ウィジェットの最小幅" - }, "showNumbers": { - "desc": "現在のRX/TX速度を数値で表示する。", + "desc": "現在のRX/TX速度を数値で表示。", "label": "値を表示" }, "spacingInbetween": { "desc": "RX/TX要素間の間隔を調整してください。", - "label": "垂直方向の間隔" + "label": "垂直間隔" }, "useCustomColors": { "desc": "テーマのデフォルトの代わりにカスタムカラーを有効にする。", "label": "カスタムカラー" + }, + "useCustomFont": { + "desc": "速度値のデフォルトフォントを上書き。", + "label": "カスタムフォント" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ku.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ku.json index 5805ff5..2e8562a 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ku.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ku.json @@ -1,15 +1,14 @@ { + "actions": { + "widget-settings": "Mîhengên widgetê" + }, "settings": { "byteThresholdActive": { "desc": "Sînorê çalakiyê bi bayt di duyemîn de (B/s) destnîşan bike.", "label": "Derheqê Çalakîyê Nîşan Bide" }, - "colorBackground": { - "desc": "Rengê paşxaneyê ji bo widgetê destnîşan bike.", - "label": "Paşxan" - }, "colorRx": { - "desc": "Dema rengê îkona daxistinê (RX) dema ku ji tixûbê derbas dibe, destnîşan bike.", + "desc": "Rengê îkona daxistinê (RX) dema ku ji tixûbê derbas dibe, destnîşan bike.", "label": "RX Çalak" }, "colorSilent": { @@ -18,19 +17,37 @@ }, "colorText": { "desc": "Rengê nivîsê yê ku ji bo nirxên RX û TX tê bikaranîn, destnîşan bike.", - "label": "Bar Height" + "label": "Nivîs" }, "colorTx": { "desc": "Rengê îkona barkirinê (TX) dema ku ji tixûbê derbas dibe, destnîşan bike.", "label": "TX Çalak" }, + "contentMargin": { + "desc": "Peddinga asayî li her aliyê naveroka widgetê.", + "label": "Berkêşana Naverokê" + }, + "customFontBold": { + "desc": "Nirxên lezê bi qalın ve bike.", + "label": "Qalın" + }, + "customFontFamily": { + "desc": "Ji bo nirxên lezê fontek hilbijêre.", + "label": "Font", + "placeholder": "Fontek hilbijêre", + "searchPlaceholder": "Font lêgerîn…" + }, + "customFontItalic": { + "desc": "Nirxên lezê bi xwar ve bike.", + "label": "Xwar" + }, "fontSizeModifier": { "desc": "Mezinahiya nivîsê li gorî ya xwerû mezin bike.", "label": "Guherînera Mezinahiya Tîpan" }, - "forceMegabytes": { - "desc": "Hemû nirxên trafîkê bi MB nîşan bide, li şûna ku ji bo bikaranîna kêm veguhere KB.", - "label": "Meqsed mekabyte (MB)" + "horizontalLayout": { + "desc": "Nirxên TX û RX li hev re biparêze, ne bi hev ve.", + "label": "Sazmona_ASAYÎ" }, "iconSizeModifier": { "desc": "Mezinahiya îkonê li gorî ya xwerû mezin bike.", @@ -40,21 +57,21 @@ "desc": "Şêwaza îkonê ya ku ji bo nîşanderên TX/RX tê bikaranîn hilbijêre.", "label": "Cureyê Îkonê" }, - "minWidth": { - "desc": "Ji bo widget firehiyeke kêmtirin (bi px) diyar bike.", - "label": "Firehiya Herî Kêm a Wîcêtê" - }, "showNumbers": { "desc": "Leza lezahenên RX/TX yên niha wekî hejmaran.", "label": "Nîşan bide Nirxan" }, "spacingInbetween": { "desc": "Cihêtiya navbera elementên RX/TX eyar bike.", - "label": "Valahiya Rastkirin" + "label": "Valahiya_Rastkirin" }, "useCustomColors": { "desc": "Çalak bike rengên xwerû li şûna rengên xwerû yên temayê.", "label": "Rengên Xweser" + }, + "useCustomFont": { + "desc": "Fontê DEFAULT ji bo nirxên lezê binpê kirin.", + "label": "Fontê Xweser" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/nl.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/nl.json index 9e92230..560581f 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/nl.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/nl.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Widget-instellingen" + }, "settings": { "byteThresholdActive": { "desc": "Stel de activiteitsdrempel in bytes per seconde (B/s) in.", "label": "Actieve drempel weergeven" }, - "colorBackground": { - "desc": "Stel de achtergrondkleur voor de widget in.", - "label": "Achtergrond" - }, "colorRx": { "desc": "Stel de kleur van het download (RX) pictogram in wanneer deze boven de drempelwaarde ligt.", "label": "RX Actief" @@ -22,15 +21,33 @@ }, "colorTx": { "desc": "Stel de kleur van het upload (TX) icoon in wanneer boven de drempelwaarde.", - "label": "TX Active" + "label": "TX Actief" + }, + "contentMargin": { + "desc": "Horizontale padding aan beide zijden van de widget-inhoud.", + "label": "Inhoudmarge" + }, + "customFontBold": { + "desc": "Geef snelheidswaarden vetgedrukt weer.", + "label": "Vet" + }, + "customFontFamily": { + "desc": "Kies een lettertype voor de snelheidswaarden.", + "label": "Lettertype", + "placeholder": "Selecteer lettertype", + "searchPlaceholder": "Lettertypen zoeken…" + }, + "customFontItalic": { + "desc": "Geef snelheidswaarden scheefgedrukt weer.", + "label": "Schuin" }, "fontSizeModifier": { "desc": "Schaal de tekstgrootte ten opzichte van de standaard.", "label": "Lettergrootte aanpassing" }, - "forceMegabytes": { - "desc": "Toon alle verkeerswaarden in MB in plaats van over te schakelen naar KB bij laag gebruik.", - "label": "Forceer megabytes (MB)" + "horizontalLayout": { + "desc": "Plaats TX en RX waarden naast elkaar in plaats van gestapeld.", + "label": "Horizontale lay-out" }, "iconSizeModifier": { "desc": "Schaal de pictogramgrootte ten opzichte van de standaard.", @@ -40,10 +57,6 @@ "desc": "Kies de pictogramstijl die gebruikt wordt voor de TX/RX-indicatoren.", "label": "Icoontype" }, - "minWidth": { - "desc": "Stel een minimale breedte in voor de widget (in px).", - "label": "Minimale widgetbreedte" - }, "showNumbers": { "desc": "Toon de huidige RX/TX snelheden als getallen.", "label": "Waarden weergeven" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Schakel aangepaste kleuren in in plaats van de standaard themakleuren.", "label": "Aangepaste kleuren" + }, + "useCustomFont": { + "desc": "Overschrijf het standaard lettertype voor snelheidswaarden.", + "label": "Aangepast lettertype" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pl.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pl.json index c81a0f5..b0b68a8 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pl.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pl.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Ustawienia widgetu" + }, "settings": { "byteThresholdActive": { "desc": "Ustaw próg aktywności w bajtach na sekundę (B/s).", "label": "Pokaż Aktywny Próg" }, - "colorBackground": { - "desc": "Ustaw kolor tła widżetu.", - "label": "Tło" - }, "colorRx": { "desc": "Ustaw kolor ikony pobierania (RX), gdy wartość przekroczy próg.", "label": "RX Aktywny" @@ -18,19 +17,37 @@ }, "colorText": { "desc": "Ustaw kolor tekstu używany zarówno dla wartości RX, jak i TX.", - "label": "Uptime" + "label": "Tekst" }, "colorTx": { "desc": "Ustaw kolor ikony wysyłania (TX), gdy przekroczony zostanie próg.", - "label": "Aktywny TX" + "label": "TX Aktywny" + }, + "contentMargin": { + "desc": "Poziomy padding po obu stronach treści widgetu.", + "label": "Margines treści" + }, + "customFontBold": { + "desc": "Wyświetlaj wartości prędkości pogrubionym tekstem.", + "label": "Pogrubiony" + }, + "customFontFamily": { + "desc": "Wybierz czcionkę dla wartości prędkości.", + "label": "Czcionka", + "placeholder": "Wybierz czcionkę", + "searchPlaceholder": "Szukaj czcionek…" + }, + "customFontItalic": { + "desc": "Wyświetlaj wartości prędkości kursywą.", + "label": "Kursywa" }, "fontSizeModifier": { "desc": "Skaluj rozmiar tekstu względem domyślnego.", "label": "Modyfikator rozmiaru czcionki" }, - "forceMegabytes": { - "desc": "Wyświetlaj wszystkie wartości transferu w MB zamiast przełączać się na KB przy niskim użyciu.", - "label": "Wymuś megabajty (MB)" + "horizontalLayout": { + "desc": "Umieść wartości TX i RX obok siebie zamiast jedna nad drugą.", + "label": "Układ poziomy" }, "iconSizeModifier": { "desc": "Skaluj rozmiar ikony względem domyślnego.", @@ -40,10 +57,6 @@ "desc": "Wybierz styl ikony używany dla wskaźników TX/RX.", "label": "Typ Ikony" }, - "minWidth": { - "desc": "Ustaw minimalną szerokość widżetu (w px).", - "label": "Minimalna szerokość widżetu" - }, "showNumbers": { "desc": "Wyświetlaj aktualne prędkości RX/TX jako liczby.", "label": "Pokaż wartości" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Włącz własne kolory zamiast domyślnych motywu.", "label": "Własne kolory" + }, + "useCustomFont": { + "desc": "Zastąp domyślną czcionkę dla wartości prędkości.", + "label": "Własna czcionka" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pt.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pt.json index 02ba903..551abdc 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pt.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/pt.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Configurações do widget" + }, "settings": { "byteThresholdActive": { "desc": "Defina o limite de atividade em bytes por segundo (B/s).", "label": "Mostrar Limiar Ativo" }, - "colorBackground": { - "desc": "Definir a cor de fundo do widget.", - "label": "Fundo" - }, "colorRx": { "desc": "Defina a cor do ícone de download (RX) quando acima do limite.", "label": "RX Ativo" @@ -24,13 +23,31 @@ "desc": "Definir a cor do ícone de upload (TX) quando acima do limite.", "label": "TX Ativo" }, + "contentMargin": { + "desc": "Padding horizontal em ambos os lados do conteúdo do widget.", + "label": "Margem do conteúdo" + }, + "customFontBold": { + "desc": "Renderizar valores de velocidade em negrito.", + "label": "Negrito" + }, + "customFontFamily": { + "desc": "Escolha uma fonte para os valores de velocidade.", + "label": "Fonte", + "placeholder": "Selecionar fonte", + "searchPlaceholder": "Pesquisar fontes…" + }, + "customFontItalic": { + "desc": "Renderizar valores de velocidade em itálico.", + "label": "Itálico" + }, "fontSizeModifier": { "desc": "Ajustar o tamanho do texto em relação ao padrão.", "label": "Modificador de Tamanho da Fonte" }, - "forceMegabytes": { - "desc": "Mostrar todos os valores de tráfego em MB em vez de mudar para KB para baixo uso.", - "label": "Forçar megabytes (MB)" + "horizontalLayout": { + "desc": "Colocar valores TX e RX lado a lado em vez de empilhados.", + "label": "Layout Horizontal" }, "iconSizeModifier": { "desc": "Dimensionar o tamanho do ícone em relação ao padrão.", @@ -40,10 +57,6 @@ "desc": "Escolha o estilo do ícone usado para os indicadores TX/RX.", "label": "Tipo de Ícone" }, - "minWidth": { - "desc": "Defina uma largura mínima para o widget (em px).", - "label": "Largura Mínima do Widget" - }, "showNumbers": { "desc": "Exibir as velocidades atuais de RX/TX como números.", "label": "Mostrar Valores" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Ativar cores personalizadas em vez das cores padrão do tema.", "label": "Cores Personalizadas" + }, + "useCustomFont": { + "desc": "Substituir a fonte padrão para valores de velocidade.", + "label": "Fonte Personalizada" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ru.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ru.json index 1f47b6e..0a2e595 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ru.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/ru.json @@ -1,49 +1,62 @@ { + "actions": { + "widget-settings": "Настройки виджета" + }, "settings": { "byteThresholdActive": { "desc": "Установите порог активности в байтах в секунду (Б/с).", "label": "Показать активный порог" }, - "colorBackground": { - "desc": "Установить цвет фона для виджета.", - "label": "Фон" - }, "colorRx": { - "desc": "Установить цвет значка загрузки (RX), когда он выше порогового значения.", - "label": "RX Active" + "desc": "Установите цвет значка загрузки (RX), когда он выше порогового значения.", + "label": "RX активен" }, "colorSilent": { - "desc": "Установить цвет значка, когда трафик ниже порогового значения.", + "desc": "Установите цвет значка, когда трафик ниже порогового значения.", "label": "RX/TX неактивны" }, "colorText": { - "desc": "Установить цвет текста, используемый для значений RX и TX.", + "desc": "Установите цвет текста для значений RX и TX.", "label": "Текст" }, "colorTx": { - "desc": "Установить цвет значка загрузки (TX) при превышении порогового значения.", - "label": "TX Active" + "desc": "Установите цвет значка загрузки (TX) при превышении порогового значения.", + "label": "TX активен" + }, + "contentMargin": { + "desc": "Горизонтальный отступ по обеим сторонам содержимого виджета.", + "label": "Отступ содержимого" + }, + "customFontBold": { + "desc": "Отображать значения скорости жирным шрифтом.", + "label": "Жирный" + }, + "customFontFamily": { + "desc": "Выберите шрифт для значений скорости.", + "label": "Шрифт", + "placeholder": "Выбрать шрифт", + "searchPlaceholder": "Поиск шрифтов…" + }, + "customFontItalic": { + "desc": "Отображать значения скорости курсивом.", + "label": "Курсив" }, "fontSizeModifier": { - "desc": "Изменить размер текста относительно размера по умолчанию.", - "label": "Изменение размера шрифта" + "desc": "Измените размер текста относительно размера по умолчанию.", + "label": "Модификатор размера шрифта" }, - "forceMegabytes": { - "desc": "Показывать все значения трафика в МБ, вместо переключения на КБ при низком использовании.", - "label": "Принудительно мегабайты (МБ)" + "horizontalLayout": { + "desc": "Разместите значения TX и RX рядом друг с другом, а не друг под другом.", + "label": "Горизонтальная раскладка" }, "iconSizeModifier": { - "desc": "Изменить размер значка относительно размера по умолчанию.", - "label": "Изменение размера значков" + "desc": "Измените размер значка относительно размера по умолчанию.", + "label": "Модификатор размера значка" }, "iconType": { - "desc": "Выберите стиль значков, используемых для индикаторов TX/RX.", + "desc": "Выберите стиль значков для индикаторов TX/RX.", "label": "Тип значка" }, - "minWidth": { - "desc": "Установить минимальную ширину для виджета (в px).", - "label": "Минимальная ширина виджета" - }, "showNumbers": { "desc": "Отображать текущие скорости RX/TX в виде чисел.", "label": "Показать значения" @@ -53,8 +66,12 @@ "label": "Вертикальный интервал" }, "useCustomColors": { - "desc": "Включить пользовательские цвета вместо цветов темы по умолчанию.", + "desc": "Включите пользовательские цвета вместо цветов темы по умолчанию.", "label": "Пользовательские цвета" + }, + "useCustomFont": { + "desc": "Переопределите шрифт по умолчанию для значений скорости.", + "label": "Пользовательский шрифт" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/tr.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/tr.json index 6d6fd95..cfa3972 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/tr.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/tr.json @@ -1,13 +1,12 @@ { + "actions": { + "widget-settings": "Widget Ayarları" + }, "settings": { "byteThresholdActive": { "desc": "Etkinlik eşiğini saniye başına bayt (B/s) cinsinden ayarlayın.", "label": "Aktif Eşiği Göster" }, - "colorBackground": { - "desc": "Araç için arka plan rengini ayarla.", - "label": "Arka plan" - }, "colorRx": { "desc": "Eşiğin üzerindeyken indirme (RX) simge rengini ayarla.", "label": "RX Aktif" @@ -24,13 +23,31 @@ "desc": "Eşik değerinin üzerindeyken yükleme (TX) simge rengini ayarla.", "label": "TX Aktif" }, + "contentMargin": { + "desc": "Widget içeriğinin her iki tarafında yatay dolgu.", + "label": "İçerik Kenar Boşluğu" + }, + "customFontBold": { + "desc": "Hız değerlerini kalın olarak oluştur.", + "label": "Kalın" + }, + "customFontFamily": { + "desc": "Hız değerleri için bir yazı tipi seçin.", + "label": "Yazı Tipi", + "placeholder": "Yazı tipi seçin", + "searchPlaceholder": "Yazı tipleri ara…" + }, + "customFontItalic": { + "desc": "Hız değerlerini italik olarak oluştur.", + "label": "İtalik" + }, "fontSizeModifier": { "desc": "Metin boyutunu varsayılana göre ölçekle.", "label": "Yazı Boyutu Değiştirici" }, - "forceMegabytes": { - "desc": "Düşük kullanımda KB'a geçmek yerine tüm trafik değerlerini MB olarak göster.", - "label": "Megabayt (MB) zorla" + "horizontalLayout": { + "desc": "TX ve RX değerlerini üst üste yerine yan yana yerleştir.", + "label": "Yatay Düzen" }, "iconSizeModifier": { "desc": "Simge boyutunu varsayılan değere göre ölçekle.", @@ -40,10 +57,6 @@ "desc": "TX/RX göstergeleri için kullanılan simge stilini seçin.", "label": "Simge Türü" }, - "minWidth": { - "desc": "Araç için minimum genişlik (piksel cinsinden) belirleyin.", - "label": "Minimum Widget Genişliği" - }, "showNumbers": { "desc": "Mevcut RX/TX hızlarını sayı olarak görüntüle.", "label": "Değerleri Göster" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Tema varsayılanları yerine özel renkleri etkinleştir.", "label": "Özel Renkler" + }, + "useCustomFont": { + "desc": "Hız değerleri için varsayılan yazı tipini geçersiz kıl.", + "label": "Özel Yazı Tipi" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/uk-UA.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/uk-UA.json index 6884eea..b1f74be 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/uk-UA.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/uk-UA.json @@ -1,36 +1,53 @@ { + "actions": { + "widget-settings": "Налаштування віджета" + }, "settings": { "byteThresholdActive": { "desc": "Встановіть поріг активності в байтах на секунду (Б/с).", "label": "Показати активний поріг" }, - "colorBackground": { - "desc": "Встановити колір фону для віджета.", - "label": "Тло" - }, "colorRx": { - "desc": "Встановити колір значка завантаження (RX), коли він перевищує поріг.", - "label": "RX Active" + "desc": "Встановіть колір значка завантаження (RX), коли він перевищує поріг.", + "label": "RX активний" }, "colorSilent": { - "desc": "Встановити колір значка, коли трафік нижче порогового значення.", + "desc": "Встановіть колір значка, коли трафік нижче порогового значення.", "label": "RX/TX неактивні" }, "colorText": { - "desc": "Встановити колір тексту, який використовується для значень RX та TX.", + "desc": "Встановіть колір тексту, який використовується для значень RX та TX.", "label": "Текст" }, "colorTx": { - "desc": "Встановити колір піктограми завантаження (TX), коли значення перевищує поріг.", - "label": "TX Active" + "desc": "Встановіть колір піктограми завантаження (TX), коли значення перевищує поріг.", + "label": "TX активний" + }, + "contentMargin": { + "desc": "Горизонтальний відступ з обох боків вмісту віджета.", + "label": "Відступ вмісту" + }, + "customFontBold": { + "desc": "Відображати значення швидкості жирним шрифтом.", + "label": "Жирний" + }, + "customFontFamily": { + "desc": "Оберіть шрифт для значень швидкості.", + "label": "Шрифт", + "placeholder": "Обрати шрифт", + "searchPlaceholder": "Пошук шрифтів…" + }, + "customFontItalic": { + "desc": "Відображати значення швидкості курсивом.", + "label": "Курсив" }, "fontSizeModifier": { "desc": "Змінити розмір тексту відносно стандартного.", "label": "Модифікатор розміру шрифту" }, - "forceMegabytes": { - "desc": "Показувати всі значення трафіку в МБ замість переходу на КБ для низького використання.", - "label": "Примусово мегабайти (МБ)" + "horizontalLayout": { + "desc": "Розмістити значення TX та RX поруч, а не один під одним.", + "label": "Горизонтальне розташування" }, "iconSizeModifier": { "desc": "Змінюйте розмір значка відносно стандартного.", @@ -40,10 +57,6 @@ "desc": "Виберіть стиль іконок, що використовуються для індикаторів TX/RX.", "label": "Тип іконки" }, - "minWidth": { - "desc": "Встановити мінімальну ширину для віджета (у пікселях).", - "label": "Мінімальна ширина віджета" - }, "showNumbers": { "desc": "Показувати поточні швидкості RX/TX у вигляді чисел.", "label": "Показати значення" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "Увімкнути власні кольори замість кольорів теми за замовчуванням.", "label": "Користувацькі кольори" + }, + "useCustomFont": { + "desc": "Перевизначити шрифт за замовчуванням для значень швидкості.", + "label": "Користувацький шрифт" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/zh-CN.json b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/zh-CN.json index b3d0644..9e9e6e1 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/i18n/zh-CN.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/i18n/zh-CN.json @@ -1,20 +1,19 @@ { + "actions": { + "widget-settings": "小组件设置" + }, "settings": { "byteThresholdActive": { "desc": "设置活动阈值,单位为字节/秒 (B/s)。", "label": "显示活动阈值" }, - "colorBackground": { - "desc": "设置小部件的背景颜色。", - "label": "背景" - }, "colorRx": { "desc": "设置高于阈值时的下载(RX)图标颜色。", - "label": "RX Active" + "label": "RX 活跃" }, "colorSilent": { "desc": "当流量低于阈值时,设置图标颜色。", - "label": "RX/TX 无活动" + "label": "RX/TX 非活跃" }, "colorText": { "desc": "设置用于RX和TX值的文本颜色。", @@ -22,28 +21,42 @@ }, "colorTx": { "desc": "设置上传(TX)图标颜色,当高于阈值时。", - "label": "TX Active" + "label": "TX 活跃" + }, + "contentMargin": { + "desc": "小组件内容两侧的水平内边距。", + "label": "内容边距" + }, + "customFontBold": { + "desc": "以粗体显示速度值。", + "label": "粗体" + }, + "customFontFamily": { + "desc": "为速度值选择字体。", + "label": "字体", + "placeholder": "选择字体", + "searchPlaceholder": "搜索字体…" + }, + "customFontItalic": { + "desc": "以斜体显示速度值。", + "label": "斜体" }, "fontSizeModifier": { "desc": "相对于默认值缩放文本大小。", - "label": "字体大小调整器" + "label": "字体大小调整" }, - "forceMegabytes": { - "desc": "显示所有流量值,以MB为单位,而不是在低使用量时切换到KB。", - "label": "强制兆字节 (MB)" + "horizontalLayout": { + "desc": "将TX和RX值并排显示,而不是堆叠。", + "label": "水平布局" }, "iconSizeModifier": { "desc": "相对于默认值缩放图标大小。", - "label": "图标大小修改器" + "label": "图标大小调整" }, "iconType": { "desc": "选择用于 TX/RX 指示器的图标样式。", "label": "图标类型" }, - "minWidth": { - "desc": "设置小部件的最小宽度(以像素为单位)。", - "label": "最小部件宽度" - }, "showNumbers": { "desc": "以数字形式显示当前的 RX/TX 速度。", "label": "显示数值" @@ -55,6 +68,10 @@ "useCustomColors": { "desc": "启用自定义颜色,而非主题默认颜色。", "label": "自定义颜色" + }, + "useCustomFont": { + "desc": "覆盖速度值的默认字体。", + "label": "自定义字体" } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/manifest.json b/home/aiden/.config/noctalia/plugins/network-indicator/manifest.json index 7282c6b..ba44311 100644 --- a/home/aiden/.config/noctalia/plugins/network-indicator/manifest.json +++ b/home/aiden/.config/noctalia/plugins/network-indicator/manifest.json @@ -1,8 +1,8 @@ { "id": "network-indicator", "name": "Network Indicator", - "version": "1.0.7", - "minNoctaliaVersion": "3.7.5", + "version": "1.1.0", + "minNoctaliaVersion": "4.7.6", "author": "tonigineer", "license": "MIT", "repository": "https://github.com/noctalia-dev/noctalia-plugins", @@ -14,6 +14,7 @@ ], "entryPoints": { "barWidget": "BarWidget.qml", + "panel": "Panel.qml", "settings": "Settings.qml" }, "dependencies": { @@ -22,14 +23,16 @@ "metadata": { "defaultSettings": { "arrowType": "caret", - "byteThresholdActive": 1024, - "fontSizeModifier": 1.0, - "forceMegabytes": false, + "byteThresholdActive": 5000, + "fontSizeModifier": 0.75, "iconSizeModifier": 1.0, - "minWidth": 0, "showNumbers": true, "spacingInbetween": 0, - "useCustomColors": false + "useCustomColors": false, + "useCustomFont": false, + "customFontBold": false, + "customFontItalic": false, + "horizontalLayout": false } } } diff --git a/home/aiden/.config/noctalia/plugins/network-indicator/preview.png b/home/aiden/.config/noctalia/plugins/network-indicator/preview.png index 2371af7..3244cdc 100644 Binary files a/home/aiden/.config/noctalia/plugins/network-indicator/preview.png and b/home/aiden/.config/noctalia/plugins/network-indicator/preview.png differ diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/Main.qml b/home/aiden/.config/noctalia/plugins/privacy-indicator/Main.qml index e88d62f..29d94a0 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/Main.qml +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/Main.qml @@ -31,6 +31,7 @@ Item { property bool enableToast: cfg.enableToast ?? defaults.enableToast ?? true property string activeColorKey: cfg.activeColor ?? defaults.activeColor ?? "primary" property string micFilterRegex: cfg.micFilterRegex ?? defaults.micFilterRegex ?? "" + property string camFilterRegex: cfg.camFilterRegex ?? defaults.camFilterRegex ?? "" PwObjectTracker { objects: Pipewire.ready ? Pipewire.nodes.values : [] @@ -44,8 +45,25 @@ Item { onStreamFinished: { var appsString = this.text.trim(); var apps = appsString.length > 0 ? appsString.split(',') : []; - root.camApps = apps; - root.camActive = apps.length > 0; + + var filterRegex = null; + if (root.camFilterRegex && root.camFilterRegex.length > 0) { + try { + filterRegex = new RegExp(root.camFilterRegex); + } catch (e) { + Logger.w("PrivacyIndicator: Invalid camFilterRegex:", root.camFilterRegex); + } + } + + var appNames = []; + for (var i = 0; i < apps.length; i++) { + var appName = apps[i]; + if (filterRegex && appName && filterRegex.test(appName)) continue; + if (appName && appNames.indexOf(appName) === -1) appNames.push(appName); + } + + root.camApps = appNames; + root.camActive = appNames.length > 0; } } } @@ -265,7 +283,7 @@ Item { property bool oldMicActive: false onMicActiveChanged: { if (enableToast && micActive && !oldMicActive) { - ToastService.showNotice(pluginApi?.tr("toast.mic-on") || "Microphone is active", "", "microphone"); + ToastService.showNotice(pluginApi?.tr("toast.mic-on"), "", "microphone"); } oldMicActive = micActive } @@ -273,7 +291,7 @@ Item { property bool oldCamActive: false onCamActiveChanged: { if (enableToast && camActive && !oldCamActive) { - ToastService.showNotice(pluginApi?.tr("toast.cam-on") || "Camera is active", "", "camera"); + ToastService.showNotice(pluginApi?.tr("toast.cam-on"), "", "camera"); } oldCamActive = camActive } @@ -285,7 +303,7 @@ Item { property bool oldScrActive: false onScrActiveChanged: { if (enableToast && scrActive && !oldScrActive) { - ToastService.showNotice(pluginApi?.tr("toast.screen-on") || "Screen sharing is active", "", "screen-share"); + ToastService.showNotice(pluginApi?.tr("toast.screen-on"), "", "screen-share"); } oldScrActive = scrActive } diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/Panel.qml b/home/aiden/.config/noctalia/plugins/privacy-indicator/Panel.qml index 4b16bc7..0cfcc22 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/Panel.qml +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/Panel.qml @@ -16,6 +16,7 @@ Item { property real contentPreferredHeight: 450 * Style.uiScaleRatio readonly property var mainInstance: pluginApi?.mainInstance + readonly property bool allowAttach: true Rectangle { id: panelContainer @@ -46,7 +47,7 @@ Item { NText { Layout.fillWidth: true - text: pluginApi?.tr("history.title") || "Access History" + text: pluginApi?.tr("history.title") font.weight: Style.fontWeightBold pointSize: Style.fontSizeL color: Color.mOnSurface @@ -154,7 +155,7 @@ Item { NText { Layout.alignment: Qt.AlignHCenter visible: (!mainInstance || mainInstance.accessHistory.length === 0) - text: pluginApi?.tr("history.empty") || "No recent access" + text: pluginApi?.tr("history.empty") color: Qt.alpha(Color.mOnSurface, 0.5) pointSize: Style.fontSizeM Layout.topMargin: Style.marginL diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/Settings.qml b/home/aiden/.config/noctalia/plugins/privacy-indicator/Settings.qml index c978015..a6acde9 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/Settings.qml +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/Settings.qml @@ -18,6 +18,7 @@ ColumnLayout { property string activeColor: cfg.activeColor ?? defaults.activeColor ?? "primary" property string inactiveColor: cfg.inactiveColor ?? defaults.inactiveColor ?? "none" property string micFilterRegex: cfg.micFilterRegex ?? defaults.micFilterRegex + property string camFilterRegex: cfg.camFilterRegex ?? defaults.camFilterRegex spacing: Style.marginL @@ -102,12 +103,21 @@ ColumnLayout { NTextInput { Layout.fillWidth: true - label: pluginApi?.tr("settings.micFilterRegex.label") || "Microphone filter regex" - description: pluginApi?.tr("settings.micFilterRegex.desc") || "Regex pattern to filter out microphone applications" + label: pluginApi?.tr("settings.micFilterRegex.label") + description: pluginApi?.tr("settings.micFilterRegex.desc") placeholderText: "effect_input.rnnoise|easyeffects" text: root.micFilterRegex onTextChanged: root.micFilterRegex = text } + + NTextInput { + Layout.fillWidth: true + label: pluginApi?.tr("settings.camFilterRegex.label") + description: pluginApi?.tr("settings.camFilterRegex.desc") + placeholderText: "droidcam" + text: root.camFilterRegex + onTextChanged: root.camFilterRegex = text + } } function saveSettings() { @@ -123,6 +133,7 @@ ColumnLayout { pluginApi.pluginSettings.activeColor = root.activeColor; pluginApi.pluginSettings.inactiveColor = root.inactiveColor; pluginApi.pluginSettings.micFilterRegex = root.micFilterRegex; + pluginApi.pluginSettings.camFilterRegex = root.camFilterRegex; pluginApi.saveSettings(); diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/de.json b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/de.json index ddbecfe..b25635e 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/de.json +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/de.json @@ -1,9 +1,24 @@ { + "menu": { + "settings": "Widget Einstellungen" + }, "settings": { + "activeColor": { + "desc": "Farbe der Symbole, wenn sie aktiv sind.", + "label": "Aktive Farbsymbol" + }, "hideInactive": { "desc": "Mikrofon-, Kamera- und Bildschirmsymbole ausblenden, wenn sie inaktiv sind.", "label": "Inaktive Zustände ausblenden" }, + "enableToast": { + "desc": "Zeige Toast Mitteilungen an, wenn sich einer der Zustände ändert.", + "label": "Aktiviere Toast Mitteilungen" + }, + "inactiveColor": { + "desc": "Farbe der Symbole, wenn sie inaktiv sind.", + "label": "Inaktive Farbsymbol" + }, "iconSpacing": { "desc": "Den Abstand zwischen den Symbolen festlegen.", "label": "Symbolabstand" @@ -12,13 +27,9 @@ "desc": "Alle äußeren Ränder des Widgets entfernen.", "label": "Ränder entfernen" }, - "activeColor": { - "desc": "Farbe der Symbole, wenn sie aktiv sind.", - "label": "Aktive Farbsymbol" - }, - "inactiveColor": { - "desc": "Farbe der Symbole, wenn sie inaktiv sind.", - "label": "Inaktive Farbsymbol" + "micFilterRegex": { + "desc": "Regex Muster zum Herausfiltern von Mikrofon-Apps. Entsprechende Apps werden vollständig von der Erkennung ausgeschlossen.", + "label": "Regex für Mikrofonfilter" } }, "tooltip": { @@ -31,9 +42,6 @@ "mic-on": "Mikrofon ist aktiv", "screen-on": "Bildschirmfreigabe ist aktiv" }, - "menu": { - "settings": "Widget-Einstellungen" - }, "history": { "title": "Zugriffsverlauf", "empty": "Kein kürzlicher Zugriff", diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/en.json b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/en.json index 4c32788..fa65418 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/en.json +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/en.json @@ -30,6 +30,10 @@ "micFilterRegex": { "desc": "Regex pattern to filter out microphone applications. Matching apps are completely excluded from detection.", "label": "Microphone filter regex" + }, + "camFilterRegex": { + "desc": "Regex pattern to filter out camera applications. Matching apps are completely excluded from detection.", + "label": "Camera filter regex" } }, "tooltip": { @@ -51,4 +55,4 @@ "stopped": "Stopped" } } -} \ No newline at end of file +} diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/fr.json b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/fr.json index ab9de44..814c07d 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/fr.json +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/fr.json @@ -1,9 +1,24 @@ { + "menu": { + "settings": "Paramètres du widget" + }, "settings": { + "activeColor": { + "desc": "Couleur des icônes lorsqu'elles sont actives.", + "label": "Couleur d'icône active" + }, "hideInactive": { "desc": "Masquer les icônes du micro, de la caméra et de l’écran lorsqu’ils sont inactifs.", "label": "Masquer les états inactifs" }, + "enableToast": { + "desc": "Afficher des messages toast lorsque l'un des états change.", + "label": "Activer les notifications toast" + }, + "inactiveColor": { + "desc": "Couleur des icônes lorsqu'elles sont inactives.", + "label": "Couleur d'icône inactive" + }, "iconSpacing": { "desc": "Définir l’espacement entre les icônes.", "label": "Espacement des icônes" @@ -12,13 +27,13 @@ "desc": "Supprime toutes les marges extérieures du widget.", "label": "Supprimer les marges" }, - "activeColor": { - "desc": "Couleur des icônes lorsqu'elles sont actives.", - "label": "Couleur d'icône active" + "micFilterRegex": { + "desc": "Motif Regex pour filtrer les applications de microphone. Les applications correspondantes sont complètement exclues de la détection.", + "label": "Regex de filtrage du microphone" }, - "inactiveColor": { - "desc": "Couleur des icônes lorsqu'elles sont inactives.", - "label": "Couleur d'icône inactive" + "camFilterRegex": { + "desc": "Motif Regex pour filtrer les applications de caméra. Les applications correspondantes sont complètement exclues de la détection.", + "label": "Regex de filtrage de la caméra" } }, "tooltip": { @@ -31,9 +46,6 @@ "mic-on": "Le microphone est actif", "screen-on": "Le partage d'écran est actif" }, - "menu": { - "settings": "Paramètres du widget" - }, "history": { "title": "Historique d'accès", "empty": "Aucun accès récent", @@ -43,4 +55,4 @@ "stopped": "Arrêté" } } -} \ No newline at end of file +} diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/ko.json b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/ko.json new file mode 100644 index 0000000..e104202 --- /dev/null +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/i18n/ko.json @@ -0,0 +1,58 @@ +{ + "menu": { + "settings": "위젯 설정" + }, + "settings": { + "activeColor": { + "desc": "활성 상태일 때 아이콘에 적용되는 색상입니다.", + "label": "활성 아이콘 색상" + }, + "hideInactive": { + "desc": "비활성화된 상태의 마이크, 카메라, 화면 아이콘을 숨깁니다.", + "label": "비활성 상태 숨기기" + }, + "enableToast": { + "desc": "상태가 변경될 때 토스트 알림을 표시합니다.", + "label": "토스트 알림 활성화" + }, + "inactiveColor": { + "desc": "비활성 상태일 때 아이콘에 적용되는 색상입니다.", + "label": "비활성 아이콘 색상" + }, + "iconSpacing": { + "desc": "아이콘 사이의 간격을 설정합니다.", + "label": "아이콘 간격" + }, + "removeMargins": { + "desc": "위젯의 모든 외곽 여백을 제거합니다.", + "label": "여백 제거" + }, + "micFilterRegex": { + "desc": "마이크를 사용하는 애플리케이션을 필터링하기 위한 정규식을 지정합니다. 일치하는 애플리케이션은 상태 감지에서 완전히 제외됩니다.", + "label": "마이크 필터 정규식" + }, + "camFilterRegex": { + "desc": "카메라를 사용하는 애플리케이션을 필터링하기 위한 정규식을 지정합니다. 일치하는 애플리케이션은 상태 감지에서 완전히 제외됩니다.", + "label": "카메라 필터 정규식" + } + }, + "tooltip": { + "cam-on": "카메라: {apps}", + "mic-on": "마이크: {apps}", + "screen-on": "화면 공유: {apps}" + }, + "toast": { + "cam-on": "카메라가 활성화되었습니다.", + "mic-on": "마이크가 활성화되었습니다.", + "screen-on": "화면 공유가 활성화되었습니다." + }, + "history": { + "title": "접근 기록", + "empty": "최근에 접근한 기록 없음", + "clear": "비우기", + "action": { + "started": "시작됨", + "stopped": "정지됨" + } + } +} diff --git a/home/aiden/.config/noctalia/plugins/privacy-indicator/manifest.json b/home/aiden/.config/noctalia/plugins/privacy-indicator/manifest.json index 71d8941..3c5bf2d 100644 --- a/home/aiden/.config/noctalia/plugins/privacy-indicator/manifest.json +++ b/home/aiden/.config/noctalia/plugins/privacy-indicator/manifest.json @@ -1,7 +1,7 @@ { "id": "privacy-indicator", "name": "Privacy Indicator", - "version": "1.2.7", + "version": "1.2.12", "minNoctaliaVersion": "3.6.0", "author": "Noctalia Team", "official": true, @@ -30,7 +30,8 @@ "iconSpacing": 4, "activeColor": "primary", "inactiveColor": "none", - "micFilterRegex": "" + "micFilterRegex": "", + "camFilterRegex": "" } } } diff --git a/home/aiden/.config/noctalia/plugins/update-count/settings.json b/home/aiden/.config/noctalia/plugins/update-count/settings.json index 6ef979a..3f1d756 100644 --- a/home/aiden/.config/noctalia/plugins/update-count/settings.json +++ b/home/aiden/.config/noctalia/plugins/update-count/settings.json @@ -1,6 +1,6 @@ { "updateIntervalMinutes": 30, - "updateTerminalCommand": "alacritty -e", + "updateTerminalCommand": "alacritty --hold -e", "currentIconName": "world-download", "hideOnZero": true, "customCmdGetNumUpdates": "expr $(xbps-install -Mnu 2>&1 | grep -v '^$' | wc -l) + $(flatpak remote-ls --updates | wc -l)", diff --git a/home/aiden/.config/noctalia/settings.json b/home/aiden/.config/noctalia/settings.json index 762d6ab..3ec9c00 100644 --- a/home/aiden/.config/noctalia/settings.json +++ b/home/aiden/.config/noctalia/settings.json @@ -56,12 +56,12 @@ "hideOnOverview": false, "marginHorizontal": 10, "marginVertical": 5, - "middleClickAction": "none", + "middleClickAction": "launcherPanel", "middleClickCommand": "", "middleClickFollowMouse": false, "monitors": [ ], - "mouseWheelAction": "none", + "mouseWheelAction": "content", "mouseWheelWrap": true, "outerCorners": true, "position": "top", @@ -80,10 +80,11 @@ "center": [ { "colorizeSystemIcon": "none", - "enableColorization": false, + "colorizeSystemText": "none", "generalTooltipText": "", "hideMode": "alwaysExpanded", "icon": "rocket", + "iconPosition": "left", "id": "CustomButton", "ipcIdentifier": "", "leftClickExec": "qs -c noctalia-shell ipc call launcher toggle", @@ -170,7 +171,7 @@ }, { "compactMode": false, - "diskPath": "/", + "diskPath": "/boot/efi", "iconColor": "none", "id": "SystemMonitor", "showCpuCores": false, @@ -179,7 +180,7 @@ "showCpuUsage": true, "showDiskAvailable": false, "showDiskUsage": false, - "showDiskUsageAsPercent": false, + "showDiskUsageAsPercent": true, "showGpuTemp": false, "showLoadAverage": false, "showMemoryAsPercent": false, @@ -190,6 +191,41 @@ "useMonospaceFont": true, "usePadding": false }, + { + "colorizeSystemIcon": "none", + "colorizeSystemText": "none", + "generalTooltipText": "", + "hideMode": "alwaysExpanded", + "icon": "database", + "iconPosition": "left", + "id": "CustomButton", + "ipcIdentifier": "", + "leftClickExec": "nemo", + "leftClickUpdateText": false, + "maxTextLength": { + "horizontal": 10, + "vertical": 10 + }, + "middleClickExec": "", + "middleClickUpdateText": false, + "parseJson": false, + "rightClickExec": "filelight", + "rightClickUpdateText": false, + "showExecTooltip": true, + "showIcon": true, + "showTextTooltip": true, + "textCollapse": "", + "textCommand": "zfs list | grep zroot/ROOT/void | cut -d ' ' -f 15", + "textIntervalMs": 20000, + "textStream": false, + "wheelDownExec": "", + "wheelDownUpdateText": false, + "wheelExec": "", + "wheelMode": "unified", + "wheelUpExec": "", + "wheelUpUpdateText": false, + "wheelUpdateText": false + }, { "defaultSettings": { "currentIconName": "world-download", @@ -203,10 +239,11 @@ "right": [ { "colorizeSystemIcon": "none", - "enableColorization": false, + "colorizeSystemText": "none", "generalTooltipText": "", "hideMode": "alwaysExpanded", "icon": "eye", + "iconPosition": "left", "id": "CustomButton", "ipcIdentifier": "", "leftClickExec": "/home/aiden/toggle-transparency.sh", @@ -283,6 +320,7 @@ { "colorizeDistroLogo": false, "colorizeSystemIcon": "none", + "colorizeSystemText": "none", "customIconPath": "/home/aiden/Pictures/Icons/Void_Linux_logo-notext.png", "enableColorization": false, "icon": "noctalia", @@ -552,7 +590,7 @@ "dockType": "floating", "enabled": false, "floatingRatio": 1, - "groupApps": false, + "groupApps": true, "groupClickAction": "cycle", "groupContextMenuMode": "extended", "groupIndicatorStyle": "dots", @@ -573,14 +611,14 @@ "Alacritty", "Firefox", "com.discordapp.Discord", - "firefox" + "element-desktop" ], "pinnedStatic": true, "position": "top", "showDockIndicator": false, - "showLauncherIcon": false, + "showLauncherIcon": true, "sitOnFrame": false, - "size": 0.72 + "size": 1 }, "general": { "allowPanelsOnScreenWithoutBar": true, @@ -593,12 +631,12 @@ "clockFormat": "hh:mm\\nt", "clockStyle": "custom", "compactLockScreen": false, - "dimmerOpacity": 0, + "dimmerOpacity": 0.2, "enableBlurBehind": true, "enableLockScreenCountdown": true, "enableLockScreenMediaControls": true, "enableShadows": true, - "forceBlackScreenCorners": false, + "forceBlackScreenCorners": true, "iRadiusRatio": 1, "keybinds": { "keyDown": [ @@ -642,7 +680,7 @@ "shadowOffsetY": 3, "showChangelogOnStartup": true, "showHibernateOnLockScreen": true, - "showScreenCorners": false, + "showScreenCorners": true, "showSessionButtonsOnLockScreen": true, "smoothScrollEnabled": true, "telemetryEnabled": true @@ -876,6 +914,10 @@ { "enabled": true, "id": "btop" + }, + { + "enabled": true, + "id": "steam" } ], "enableUserTheming": false @@ -886,7 +928,7 @@ "fontDefaultScale": 1, "fontFixed": "monospace", "fontFixedScale": 1, - "panelBackgroundOpacity": 0.73, + "panelBackgroundOpacity": 0.4, "panelsAttachedToBar": true, "scrollbarAlwaysVisible": true, "settingsPanelMode": "centered", diff --git a/home/aiden/update.sh b/home/aiden/update.sh index a34aa73..f8a7a05 100755 --- a/home/aiden/update.sh +++ b/home/aiden/update.sh @@ -3,4 +3,3 @@ git -C ~/void-packages/ pull --rebase ~/void-packages/xbps-src update-local cat local-package-list.txt | xargs -n1 ~/void-packages/xbps-src update-check sudo xbps-install -Su -read -p "Press enter to continue"