update
This commit is contained in:
@@ -97,11 +97,30 @@ animations {
|
|||||||
// enable transparency
|
// enable transparency
|
||||||
window-rule {
|
window-rule {
|
||||||
match is-active=false
|
match is-active=false
|
||||||
opacity 1.0 //inactive transparency
|
opacity 0.8 //inactive transparency
|
||||||
|
background-effect {
|
||||||
|
blur true
|
||||||
|
//xray false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window-rule {
|
window-rule {
|
||||||
match is-active=true
|
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 {
|
window-rule {
|
||||||
draw-border-with-background false
|
draw-border-with-background false
|
||||||
|
|||||||
@@ -20,14 +20,14 @@ window-rule {
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
// WORKSAPCE: VM
|
// WORKSAPCE: VM
|
||||||
workspace "VM" {
|
//workspace "VM" {
|
||||||
open-on-output "LG Electronics LG ULTRAGEAR 101NTLELA752"
|
// open-on-output "LG Electronics LG ULTRAGEAR 101NTLELA752"
|
||||||
}
|
//}
|
||||||
window-rule {
|
//window-rule {
|
||||||
match app-id="virt-manager"
|
// match app-id="virt-manager"
|
||||||
open-on-workspace "VM"
|
// open-on-workspace "VM"
|
||||||
}
|
//}
|
||||||
window-rule {
|
//window-rule {
|
||||||
match app-id="VirtualBox Manager"
|
// match app-id="VirtualBox Manager"
|
||||||
open-on-workspace "VM"
|
// open-on-workspace "VM"
|
||||||
}
|
//}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
|
|
||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import Quickshell
|
|
||||||
import qs.Commons
|
import qs.Commons
|
||||||
import qs.Widgets
|
import qs.Widgets
|
||||||
import qs.Services.UI
|
import qs.Services.UI
|
||||||
import qs.Services.System
|
import qs.Services.System
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
import Quickshell
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
@@ -18,43 +17,65 @@ Item {
|
|||||||
property int sectionWidgetIndex: -1
|
property int sectionWidgetIndex: -1
|
||||||
property int sectionWidgetsCount: 0
|
property int sectionWidgetsCount: 0
|
||||||
|
|
||||||
// ---------- Configuration ----------
|
// ── Configuration ──
|
||||||
|
|
||||||
property var cfg: pluginApi?.pluginSettings || ({})
|
property var cfg: pluginApi?.pluginSettings || ({})
|
||||||
property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({})
|
property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({})
|
||||||
|
|
||||||
property string arrowType: cfg.arrowType || defaults.arrowType || "chevron"
|
property string arrowType: cfg.arrowType ?? defaults.arrowType
|
||||||
property int minWidth: cfg.minWidth || defaults.minWidth || 0
|
|
||||||
|
|
||||||
property bool useCustomColors: cfg.useCustomColors ?? defaults.useCustomColors
|
property bool useCustomColors: cfg.useCustomColors ?? defaults.useCustomColors
|
||||||
property bool showNumbers: cfg.showNumbers ?? defaults.showNumbers
|
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 colorSilent: root.useCustomColors && cfg.colorSilent || Color.mSurfaceVariant
|
||||||
property color colorTx: root.useCustomColors && cfg.colorTx || Color.mSecondary
|
property color colorTx: root.useCustomColors && cfg.colorTx || Color.mSecondary
|
||||||
property color colorRx: root.useCustomColors && cfg.colorRx || Color.mPrimary
|
property color colorRx: root.useCustomColors && cfg.colorRx || Color.mPrimary
|
||||||
property color colorText: root.useCustomColors && cfg.colorText || Color.mOnSurfaceVariant
|
property color colorText: root.useCustomColors && cfg.colorText || Color.mOnSurfaceVariant
|
||||||
|
|
||||||
property int byteThresholdActive: cfg.byteThresholdActive || defaults.byteThresholdActive || 1024
|
property int byteThresholdActive: cfg.byteThresholdActive ?? defaults.byteThresholdActive
|
||||||
property real fontSizeModifier: cfg.fontSizeModifier || defaults.fontSizeModifier || 1
|
property real fontSizeModifier: cfg.fontSizeModifier ?? defaults.fontSizeModifier
|
||||||
property real iconSizeModifier: cfg.iconSizeModifier || defaults.iconSizeModifier || 1
|
property real iconSizeModifier: cfg.iconSizeModifier ?? defaults.iconSizeModifier
|
||||||
property real spacingInbetween: cfg.spacingInbetween || defaults.spacingInbetween || 0
|
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 barPosition: Settings.data.bar.position || "top"
|
||||||
property string barDensity: Settings.data.bar.density || "compact"
|
property string barDensity: Settings.data.bar.density || "compact"
|
||||||
property bool barIsSpacious: barDensity != "mini"
|
property bool barIsSpacious: barDensity != "mini"
|
||||||
property bool barIsVertical: barPosition === "left" || barPosition === "right"
|
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
|
readonly property real contentHeight: barIsVertical ? Math.round(contentRow.implicitHeight + Style.marginM * 2) : Style.capsuleHeight
|
||||||
|
|
||||||
implicitWidth: contentWidth
|
implicitWidth: contentWidth
|
||||||
implicitHeight: contentHeight
|
implicitHeight: contentHeight
|
||||||
|
|
||||||
// ---------- Widget ----------
|
// ── Widget ──
|
||||||
|
|
||||||
property real txSpeed: SystemStatService.txSpeed
|
property string txSpeed: (SystemStatService.formatSpeed(SystemStatService.txSpeed).replace(/([0-9.]+)([A-Za-z]+)/, "$1 $2") + "/s").padStart(8, " ")
|
||||||
property real rxSpeed: SystemStatService.rxSpeed
|
property string rxSpeed: (SystemStatService.formatSpeed(SystemStatService.rxSpeed).replace(/([0-9.]+)([A-Za-z]+)/, "$1 $2") + "/s").padStart(8, " ")
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: visualCapsule
|
id: visualCapsule
|
||||||
@@ -62,106 +83,146 @@ Item {
|
|||||||
y: Style.pixelAlignCenter(parent.height, height)
|
y: Style.pixelAlignCenter(parent.height, height)
|
||||||
width: root.contentWidth
|
width: root.contentWidth
|
||||||
height: root.contentHeight
|
height: root.contentHeight
|
||||||
color: root.useCustomColors && cfg.colorBackground || Style.capsuleColor
|
color: Style.capsuleColor
|
||||||
radius: Style.radiusM
|
radius: Style.radiusM
|
||||||
border.color: Style.capsuleBorderColor
|
border.color: Style.capsuleBorderColor
|
||||||
border.width: Style.capsuleBorderWidth
|
border.width: Style.capsuleBorderWidth
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: contentRow
|
id: contentRow
|
||||||
|
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
spacing: Style.marginS
|
spacing: Style.marginS
|
||||||
|
|
||||||
|
// Vertical layout: stacked values to the left
|
||||||
Column {
|
Column {
|
||||||
visible: root.showNumbers && barIsSpacious && !barIsVertical
|
visible: root.numbersVisible && !root.horizontalNumbers
|
||||||
|
|
||||||
spacing: root.spacingInbetween
|
spacing: root.spacingInbetween
|
||||||
|
|
||||||
NText {
|
NText {
|
||||||
visible: true
|
horizontalAlignment: Text.AlignRight
|
||||||
text: convertBytes(root.txSpeed)
|
text: root.txSpeed
|
||||||
color: root.colorText
|
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 {
|
NText {
|
||||||
visible: true
|
horizontalAlignment: Text.AlignRight
|
||||||
text: convertBytes(root.rxSpeed)
|
text: root.rxSpeed
|
||||||
color: root.colorText
|
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 {
|
Column {
|
||||||
spacing: -10.0 + root.spacingInbetween
|
spacing: -10.0 + root.spacingInbetween
|
||||||
|
|
||||||
NIcon {
|
NIcon {
|
||||||
icon: arrowType + "-up"
|
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
|
pointSize: Style.fontSizeL * root.iconSizeModifier
|
||||||
}
|
}
|
||||||
|
|
||||||
NIcon {
|
NIcon {
|
||||||
icon: arrowType + "-down"
|
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
|
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 {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
acceptedButtons: Qt.RightButton
|
acceptedButtons: Qt.RightButton
|
||||||
|
|
||||||
onPressed: mouse => {
|
onPressed: mouse => {
|
||||||
if (mouse.button == Qt.RightButton)
|
if (mouse.button == Qt.RightButton)
|
||||||
PanelService.showContextMenu(contextMenu, root, screen);
|
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";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const text = value.toFixed(1) + " " + unit;
|
NPopupContextMenu {
|
||||||
return text.padStart(10, " ");
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
103
home/aiden/.config/noctalia/plugins/network-indicator/Panel.qml
Normal file
103
home/aiden/.config/noctalia/plugins/network-indicator/Panel.qml
Normal file
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +1,16 @@
|
|||||||
# NetworkIndicator Plugin for Noctalia
|
# 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
|
## Features
|
||||||
|
|
||||||
- **TX/RX Activity Indicators**: Separate icons for upload (TX) and download (RX).
|
- **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).
|
- **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.
|
- **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.
|
- **Theme Support**: Uses Noctalia theme colors by default, with optional custom colors.
|
||||||
- **Configurable Settings**: Provides a comprehensive set of user-adjustable options.
|
- **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:
|
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`.
|
- **Icon Type**: Select the icon style used for TX/RX: `arrow`, `arrow-bar`, `arrow-big`, `arrow-narrow`, `caret`, `chevron`, `chevron-compact`, `fold`.
|
||||||
- **Minimum Widget Width**: Enforce a minimum width for the widget.
|
- **Show Values**: Display formatted TX/RX speeds as numbers. Automatically hidden on vertical bars and when using "mini" density.
|
||||||
- **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.
|
|
||||||
- **Force Megabytes**: Always display values in MB/s instead of switching to KB/s at low traffic levels.
|
- **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.
|
- **Vertical Spacing**: Adjust the spacing between the TX and RX elements.
|
||||||
- **Font Size Modifier**: Scale the text size.
|
- **Font Size Modifier**: Scale the text size.
|
||||||
- **Icon Size Modifier**: Scale the icon 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
|
## Usage
|
||||||
|
|
||||||
- Add the widget to your Noctalia bar.
|
- 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.
|
- Configure the plugin settings as required.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Noctalia 3.6.0 or later.
|
- Noctalia 4.7.6 or later.
|
||||||
|
|
||||||
## Technical Details
|
## 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.
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import qs.Commons
|
import qs.Commons
|
||||||
import qs.Widgets
|
import qs.Widgets
|
||||||
|
import qs.Services.System
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
id: root
|
id: root
|
||||||
@@ -13,294 +14,338 @@ ColumnLayout {
|
|||||||
property var cfg: pluginApi?.pluginSettings || ({})
|
property var cfg: pluginApi?.pluginSettings || ({})
|
||||||
property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({})
|
property var defaults: pluginApi?.manifest?.metadata?.defaultSettings || ({})
|
||||||
|
|
||||||
property string arrowType: cfg.arrowType || defaults.arrowType
|
property string editArrowType: cfg.arrowType ?? defaults.arrowType
|
||||||
property int minWidth: cfg.minWidth || defaults.minWidth
|
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 editUseCustomFont: cfg.useCustomFont ?? defaults.useCustomFont ?? false
|
||||||
property bool showNumbers: cfg.showNumbers ?? defaults.showNumbers
|
property string editCustomFontFamily: cfg.customFontFamily ?? defaults.customFontFamily ?? ""
|
||||||
property bool forceMegabytes: cfg.forceMegabytes ?? defaults.forceMegabytes
|
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 bool editUseCustomColors: cfg.useCustomColors ?? defaults.useCustomColors ?? false
|
||||||
property color colorTx: root.useCustomColors && cfg.colorTx || Color.mSecondary
|
property color editColorBackground: editUseCustomColors && cfg.colorBackground || Style.capsuleColor
|
||||||
property color colorRx: root.useCustomColors && cfg.colorRx || Color.mPrimary
|
property color editColorFont: editUseCustomColors && cfg.colorFont || Color.mOnSurface
|
||||||
property color colorText: root.useCustomColors && cfg.colorText || Qt.alpha(Color.mOnSurfaceVariant, 0.3)
|
property color editColorRx: editUseCustomColors && cfg.colorRx || Color.mPrimary
|
||||||
property color colorBackground: root.useCustomColors && cfg.colorBackground || Style.capsuleColor
|
property color editColorSilent: editUseCustomColors && cfg.colorSilent || Color.mSurfaceVariant
|
||||||
|
property color editColorText: editUseCustomColors && cfg.colorText || Qt.alpha(Color.mOnSurfaceVariant, 0.3)
|
||||||
property int byteThresholdActive: cfg.byteThresholdActive || defaults.byteThresholdActive
|
property color editColorTx: editUseCustomColors && cfg.colorTx || Color.mSecondary
|
||||||
property real fontSizeModifier: cfg.fontSizeModifier || defaults.fontSizeModifier
|
|
||||||
property real iconSizeModifier: cfg.iconSizeModifier || defaults.iconSizeModifier
|
|
||||||
property real spacingInbetween: cfg.spacingInbetween || defaults.spacingInbetween
|
|
||||||
|
|
||||||
property string barPosition: Settings.data.bar.position || "top"
|
property string barPosition: Settings.data.bar.position || "top"
|
||||||
property string barDensity: Settings.data.bar.density || "compact"
|
property string barDensity: Settings.data.bar.density || "compact"
|
||||||
property bool barIsSpacious: root.barDensity != "mini"
|
property bool barIsSpacious: barDensity !== "mini"
|
||||||
property bool barIsVertical: root.barPosition === "left" || barPosition === "right"
|
property bool barIsVertical: barPosition === "left" || barPosition === "right"
|
||||||
|
|
||||||
spacing: Style.marginL
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
Logger.i("NetworkIndicator", "Settings UI loaded");
|
|
||||||
}
|
|
||||||
|
|
||||||
function toIntOr(defaultValue, text) {
|
function toIntOr(defaultValue, text) {
|
||||||
const v = parseInt(String(text).trim(), 10);
|
const v = parseInt(String(text).trim(), 10);
|
||||||
return isNaN(v) ? defaultValue : v;
|
return isNaN(v) ? defaultValue : v;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------- General ----------
|
function saveSettings() {
|
||||||
|
if (!pluginApi || !pluginApi.pluginSettings) {
|
||||||
RowLayout {
|
Logger.e("NetworkIndicator", "Cannot save: pluginApi or pluginSettings is null");
|
||||||
NComboBox {
|
return;
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
pluginApi.pluginSettings.arrowType = root.editArrowType;
|
||||||
spacing: -10.0 + root.spacingInbetween
|
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 {
|
pluginApi.pluginSettings.useCustomFont = root.editUseCustomFont;
|
||||||
icon: arrowType + "-up"
|
pluginApi.pluginSettings.customFontFamily = root.editCustomFontFamily;
|
||||||
color: Color.mSecondary
|
pluginApi.pluginSettings.customFontBold = root.editCustomFontBold;
|
||||||
pointSize: Style.fontSizeL * root.iconSizeModifier
|
pluginApi.pluginSettings.customFontItalic = root.editCustomFontItalic;
|
||||||
}
|
|
||||||
|
|
||||||
NIcon {
|
pluginApi.pluginSettings.useCustomColors = root.editUseCustomColors;
|
||||||
icon: arrowType + "-down"
|
if (root.editUseCustomColors) {
|
||||||
color: Color.mPrimary
|
pluginApi.pluginSettings.colorSilent = root.editColorSilent.toString();
|
||||||
pointSize: Style.fontSizeL * root.iconSizeModifier
|
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 {
|
Layout.rightMargin: Style.marginL
|
||||||
label: pluginApi?.tr("settings.minWidth.label")
|
spacing: Style.marginL
|
||||||
description: pluginApi?.tr("settings.minWidth.desc")
|
|
||||||
placeholderText: String(root.minWidth)
|
// ── Icon ──
|
||||||
text: String(root.minWidth)
|
|
||||||
onTextChanged: root.minWidth = root.toIntOr(0, text)
|
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 {
|
NTextInput {
|
||||||
label: pluginApi?.tr("settings.byteThresholdActive.label")
|
label: pluginApi?.tr("settings.byteThresholdActive.label")
|
||||||
description: pluginApi?.tr("settings.byteThresholdActive.desc")
|
description: pluginApi?.tr("settings.byteThresholdActive.desc")
|
||||||
placeholderText: root.byteThresholdActive + " bytes"
|
placeholderText: root.editByteThresholdActive + " bytes"
|
||||||
text: String(root.byteThresholdActive)
|
text: String(root.editByteThresholdActive)
|
||||||
onTextChanged: root.byteThresholdActive = root.toIntOr(0, text)
|
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 {
|
ColumnLayout {
|
||||||
spacing: Style.marginXXS
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
spacing: Style.marginXXS
|
||||||
|
|
||||||
NLabel {
|
NLabel {
|
||||||
label: pluginApi?.tr("settings.spacingInbetween.label")
|
description: root.pluginApi?.tr("settings.spacingInbetween.desc")
|
||||||
description: pluginApi?.tr("settings.spacingInbetween.desc")
|
label: root.pluginApi?.tr("settings.spacingInbetween.label")
|
||||||
}
|
}
|
||||||
|
|
||||||
NValueSlider {
|
NValueSlider {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
from: -5
|
from: -5
|
||||||
to: 5
|
|
||||||
stepSize: 1
|
stepSize: 1
|
||||||
value: root.spacingInbetween
|
text: root.editSpacingInbetween.toFixed(0)
|
||||||
onMoved: value => root.spacingInbetween = value
|
to: 5
|
||||||
text: root.spacingInbetween.toFixed(0)
|
value: root.editSpacingInbetween
|
||||||
|
|
||||||
|
onMoved: value => root.editSpacingInbetween = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
spacing: Style.marginXXS
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
spacing: Style.marginXXS
|
||||||
|
|
||||||
NLabel {
|
NLabel {
|
||||||
label: pluginApi?.tr("settings.fontSizeModifier.label")
|
description: root.pluginApi?.tr("settings.fontSizeModifier.desc")
|
||||||
description: pluginApi?.tr("settings.fontSizeModifier.desc")
|
label: root.pluginApi?.tr("settings.fontSizeModifier.label")
|
||||||
}
|
}
|
||||||
|
|
||||||
NValueSlider {
|
NValueSlider {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
from: 0.5
|
from: 0.5
|
||||||
to: 1.5
|
|
||||||
stepSize: 0.05
|
stepSize: 0.05
|
||||||
value: root.fontSizeModifier
|
text: root.editFontSizeModifier.toFixed(2)
|
||||||
onMoved: value => root.fontSizeModifier = value
|
to: 1.5
|
||||||
text: fontSizeModifier.toFixed(2)
|
value: root.editFontSizeModifier
|
||||||
|
|
||||||
|
onMoved: value => root.editFontSizeModifier = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
spacing: Style.marginXXS
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
spacing: Style.marginXXS
|
||||||
|
|
||||||
NLabel {
|
NLabel {
|
||||||
label: pluginApi?.tr("settings.iconSizeModifier.label")
|
description: root.pluginApi?.tr("settings.iconSizeModifier.desc")
|
||||||
description: pluginApi?.tr("settings.iconSizeModifier.desc")
|
label: root.pluginApi?.tr("settings.iconSizeModifier.label")
|
||||||
}
|
}
|
||||||
|
|
||||||
NValueSlider {
|
NValueSlider {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
from: 0.5
|
from: 0.5
|
||||||
to: 1.5
|
|
||||||
stepSize: 0.05
|
stepSize: 0.05
|
||||||
value: root.iconSizeModifier
|
text: root.editIconSizeModifier.toFixed(2)
|
||||||
onMoved: value => root.iconSizeModifier = value
|
to: 1.5
|
||||||
text: root.iconSizeModifier.toFixed(2)
|
value: root.editIconSizeModifier
|
||||||
|
|
||||||
|
onMoved: value => root.editIconSizeModifier = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NDivider {
|
NDivider {
|
||||||
visible: true
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.topMargin: Style.marginL
|
|
||||||
Layout.bottomMargin: Style.marginL
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------- Colors ----------
|
// ── Font ──
|
||||||
|
|
||||||
NToggle {
|
NToggle {
|
||||||
label: pluginApi?.tr("settings.useCustomColors.label")
|
checked: root.editUseCustomFont
|
||||||
description: pluginApi?.tr("settings.useCustomColors.desc")
|
defaultValue: defaults.useCustomFont ?? false
|
||||||
checked: root.useCustomColors
|
description: root.pluginApi?.tr("settings.useCustomFont.desc")
|
||||||
onToggled: function (checked) {
|
label: root.pluginApi?.tr("settings.useCustomFont.label")
|
||||||
root.useCustomColors = checked;
|
|
||||||
}
|
onToggled: c => root.editUseCustomFont = c
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
visible: root.useCustomColors
|
visible: root.editUseCustomFont
|
||||||
|
Layout.fillWidth: true
|
||||||
|
spacing: Style.marginL
|
||||||
|
|
||||||
RowLayout {
|
NSearchableComboBox {
|
||||||
NLabel {
|
label: root.pluginApi?.tr("settings.customFontFamily.label")
|
||||||
label: pluginApi?.tr("settings.colorTx.label")
|
description: root.pluginApi?.tr("settings.customFontFamily.desc")
|
||||||
description: pluginApi?.tr("settings.colorTx.desc")
|
model: FontService.availableFonts
|
||||||
Layout.alignment: Qt.AlignTop
|
currentKey: root.editCustomFontFamily || Qt.application.font.family
|
||||||
}
|
placeholder: root.pluginApi?.tr("settings.customFontFamily.placeholder")
|
||||||
|
searchPlaceholder: root.pluginApi?.tr("settings.customFontFamily.searchPlaceholder")
|
||||||
|
popupHeight: 420
|
||||||
|
|
||||||
NColorPicker {
|
onSelected: key => {
|
||||||
selectedColor: root.colorTx
|
root.editCustomFontFamily = (key === Qt.application.font.family) ? "" : key;
|
||||||
onColorSelected: color => root.colorTx = color
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout {
|
NToggle {
|
||||||
NLabel {
|
checked: root.editCustomFontBold
|
||||||
label: pluginApi?.tr("settings.colorRx.label")
|
defaultValue: defaults.customFontBold ?? false
|
||||||
description: pluginApi?.tr("settings.colorRx.desc")
|
description: root.pluginApi?.tr("settings.customFontBold.desc")
|
||||||
}
|
label: root.pluginApi?.tr("settings.customFontBold.label")
|
||||||
|
|
||||||
NColorPicker {
|
onToggled: c => root.editCustomFontBold = c
|
||||||
selectedColor: root.colorRx
|
|
||||||
onColorSelected: color => root.colorRx = color
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout {
|
NToggle {
|
||||||
NLabel {
|
checked: root.editCustomFontItalic
|
||||||
label: pluginApi?.tr("settings.colorSilent.label")
|
defaultValue: defaults.customFontItalic ?? false
|
||||||
description: pluginApi?.tr("settings.colorSilent.desc")
|
description: root.pluginApi?.tr("settings.customFontItalic.desc")
|
||||||
}
|
label: root.pluginApi?.tr("settings.customFontItalic.label")
|
||||||
|
|
||||||
NColorPicker {
|
onToggled: c => root.editCustomFontItalic = c
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------- Saving ----------
|
NDivider {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
function saveSettings() {
|
// ── Colors ──
|
||||||
if (!pluginApi) {
|
|
||||||
Logger.e("NetworkIndicator", "Cannot save settings: pluginApi is null");
|
NToggle {
|
||||||
return;
|
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;
|
RowLayout {
|
||||||
pluginApi.pluginSettings.showNumbers = root.showNumbers;
|
NLabel {
|
||||||
pluginApi.pluginSettings.forceMegabytes = root.forceMegabytes;
|
Layout.alignment: Qt.AlignTop
|
||||||
|
description: root.pluginApi?.tr("settings.colorRx.desc")
|
||||||
|
label: root.pluginApi?.tr("settings.colorRx.label")
|
||||||
|
}
|
||||||
|
|
||||||
pluginApi.pluginSettings.arrowType = root.arrowType;
|
NColorPicker {
|
||||||
pluginApi.pluginSettings.minWidth = root.minWidth;
|
selectedColor: root.editColorRx
|
||||||
pluginApi.pluginSettings.byteThresholdActive = root.byteThresholdActive;
|
|
||||||
pluginApi.pluginSettings.fontSizeModifier = root.fontSizeModifier;
|
|
||||||
pluginApi.pluginSettings.iconSizeModifier = root.iconSizeModifier;
|
|
||||||
pluginApi.pluginSettings.spacingInbetween = root.spacingInbetween;
|
|
||||||
|
|
||||||
if (root.useCustomColors) {
|
onColorSelected: color => root.editColorRx = color
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Widget-Einstellungen"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Aktivitätsschwellwert in Byte pro Sekunde (B/s) festlegen.",
|
"desc": "Aktivitätsschwellwert in Byte pro Sekunde (B/s) festlegen.",
|
||||||
"label": "Aktivitätsschwellwert anzeigen"
|
"label": "Aktivitätsschwellwert anzeigen"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Hintergrundfarbe festlegen.",
|
|
||||||
"label": "Hintergrund"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Symbolfarbe für Download (RX), wenn der Schwellwert überschritten ist.",
|
"desc": "Symbolfarbe für Download (RX), wenn der Schwellwert überschritten ist.",
|
||||||
"label": "RX aktiv"
|
"label": "RX aktiv"
|
||||||
@@ -24,26 +23,40 @@
|
|||||||
"desc": "Symbolfarbe für Upload (TX), wenn der Schwellwert überschritten ist.",
|
"desc": "Symbolfarbe für Upload (TX), wenn der Schwellwert überschritten ist.",
|
||||||
"label": "TX aktiv"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Schriftgröße relativ zum Standard skalieren.",
|
"desc": "Schriftgröße relativ zum Standard skalieren.",
|
||||||
"label": "Schriftgrößen-Faktor"
|
"label": "Schriftgrößen-Faktor"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Alle Verkehrswerte in MB anzeigen, statt bei geringer Nutzung auf KB zu wechseln.",
|
"desc": "TX- und RX-Werte nebeneinander statt übereinander anzeigen.",
|
||||||
"label": "Immer Megabyte (MB) verwenden"
|
"label": "Horizontales Layout"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Symbolgröße relativ zum Standard skalieren.",
|
"desc": "Symbolgröße relativ zum Standard skalieren.",
|
||||||
"label": "Symbolgrößen-Faktor"
|
"label": "Symbolgrößen-Faktor"
|
||||||
},
|
},
|
||||||
"iconType": {
|
"iconType": {
|
||||||
"desc": "Symbolstil auswählen",
|
"desc": "Symbolstil für die TX/RX-Anzeigen auswählen.",
|
||||||
"label": "Symboltyp"
|
"label": "Symboltyp"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Mindestbreite für das Widget festlegen (in px).",
|
|
||||||
"label": "Minimale Widget-Breite"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Aktuelle RX/TX-Geschwindigkeiten als Zahlen anzeigen.",
|
"desc": "Aktuelle RX/TX-Geschwindigkeiten als Zahlen anzeigen.",
|
||||||
"label": "Werte anzeigen"
|
"label": "Werte anzeigen"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Eigene Farben statt der Standard-Themefarben verwenden.",
|
"desc": "Eigene Farben statt der Standard-Themefarben verwenden.",
|
||||||
"label": "Eigene Farben"
|
"label": "Eigene Farben"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Standardschriftart für Geschwindigkeitswerte überschreiben.",
|
||||||
|
"label": "Eigene Schriftart"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Widget settings"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Set the activity threshold in bytes per second (B/s).",
|
"desc": "Set the activity threshold in bytes per second (B/s).",
|
||||||
"label": "Show Active Threshold"
|
"label": "Show Active Threshold"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Set the background color for the widget.",
|
|
||||||
"label": "Background"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Set the download (RX) icon color when above the threshold.",
|
"desc": "Set the download (RX) icon color when above the threshold.",
|
||||||
"label": "RX Active"
|
"label": "RX Active"
|
||||||
@@ -24,13 +23,31 @@
|
|||||||
"desc": "Set the upload (TX) icon color when above the threshold.",
|
"desc": "Set the upload (TX) icon color when above the threshold.",
|
||||||
"label": "TX Active"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Scale the text size relative to the default.",
|
"desc": "Scale the text size relative to the default.",
|
||||||
"label": "Font Size Modifier"
|
"label": "Font Size Modifier"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Show all traffic values in MB instead of switching to KB for low usage.",
|
"desc": "Place TX and RX values side by side instead of stacked.",
|
||||||
"label": "Force megabytes (MB)"
|
"label": "Horizontal Layout"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Scale the icon size relative to the default.",
|
"desc": "Scale the icon size relative to the default.",
|
||||||
@@ -40,10 +57,6 @@
|
|||||||
"desc": "Choose the icon style used for the TX/RX indicators.",
|
"desc": "Choose the icon style used for the TX/RX indicators.",
|
||||||
"label": "Icon Type"
|
"label": "Icon Type"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Set a minimum width for the widget (in px).",
|
|
||||||
"label": "Minimum Widget Width"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Display the current RX/TX speeds as numbers.",
|
"desc": "Display the current RX/TX speeds as numbers.",
|
||||||
"label": "Show Values"
|
"label": "Show Values"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Enable custom colors instead of theme defaults.",
|
"desc": "Enable custom colors instead of theme defaults.",
|
||||||
"label": "Custom Colors"
|
"label": "Custom Colors"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Override the default font for speed values.",
|
||||||
|
"label": "Custom Font"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Configuración del widget"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Establecer el umbral de actividad en bytes por segundo (B/s).",
|
"desc": "Establecer el umbral de actividad en bytes por segundo (B/s).",
|
||||||
"label": "Mostrar umbral activo"
|
"label": "Mostrar umbral activo"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Establecer el color de fondo para el widget.",
|
|
||||||
"label": "Antecedentes"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Establecer el color del icono de descarga (RX) cuando esté por encima del umbral.",
|
"desc": "Establecer el color del icono de descarga (RX) cuando esté por encima del umbral.",
|
||||||
"label": "RX Activo"
|
"label": "RX Activo"
|
||||||
@@ -24,13 +23,31 @@
|
|||||||
"desc": "Establecer el color del icono de carga (TX) cuando esté por encima del umbral.",
|
"desc": "Establecer el color del icono de carga (TX) cuando esté por encima del umbral.",
|
||||||
"label": "TX Activo"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Escalar el tamaño del texto en relación con el predeterminado.",
|
"desc": "Escalar el tamaño del texto en relación con el predeterminado.",
|
||||||
"label": "Modificador de tamaño de fuente"
|
"label": "Modificador de tamaño de fuente"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Mostrar todos los valores de tráfico en MB en lugar de cambiar a KB para bajo uso.",
|
"desc": "Colocar los valores TX y RX uno al lado del otro en lugar de apilados.",
|
||||||
"label": "Forzar megabytes (MB)"
|
"label": "Diseño horizontal"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Escalar el tamaño del icono en relación con el tamaño predeterminado.",
|
"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.",
|
"desc": "Elige el estilo de icono utilizado para los indicadores TX/RX.",
|
||||||
"label": "Tipo de icono"
|
"label": "Tipo de icono"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Establecer un ancho mínimo para el widget (en px).",
|
|
||||||
"label": "Ancho mínimo del widget"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Mostrar las velocidades actuales de RX/TX como números.",
|
"desc": "Mostrar las velocidades actuales de RX/TX como números.",
|
||||||
"label": "Mostrar valores"
|
"label": "Mostrar valores"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Activar colores personalizados en lugar de los predeterminados del tema.",
|
"desc": "Activar colores personalizados en lugar de los predeterminados del tema.",
|
||||||
"label": "Colores personalizados"
|
"label": "Colores personalizados"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Reemplazar la fuente predeterminada para los valores de velocidad.",
|
||||||
|
"label": "Fuente personalizada"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Paramètres du widget"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Définir le seuil d'activité en octets par seconde (o/s).",
|
"desc": "Définir le seuil d'activité en octets par seconde (o/s).",
|
||||||
"label": "Afficher le seuil actif"
|
"label": "Afficher le seuil actif"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Définir la couleur d'arrière-plan du widget.",
|
|
||||||
"label": "Contexte"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Définir la couleur de l'icône de téléchargement (RX) lorsque la valeur est supérieure au seuil.",
|
"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"
|
"label": "RX Active"
|
||||||
@@ -18,19 +17,37 @@
|
|||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Définir la couleur du texte utilisée pour les valeurs RX et TX.",
|
"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": {
|
"colorTx": {
|
||||||
"desc": "Définir la couleur de l'icône de téléversement (TX) lorsque le seuil est dépassé.",
|
"desc": "Définir la couleur de l'icône de téléversement (TX) lorsque le seuil est dépassé.",
|
||||||
"label": "TX Active"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Mettre à l'échelle la taille du texte par rapport à la taille par défaut.",
|
"desc": "Mettre à l'échelle la taille du texte par rapport à la taille par défaut.",
|
||||||
"label": "Modificateur de taille de police"
|
"label": "Modificateur de taille de police"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Afficher toutes les valeurs de trafic en Mo au lieu de passer en Ko pour une faible utilisation.",
|
"desc": "Afficher les valeurs TX et RX côte à côte au lieu de les empiler.",
|
||||||
"label": "Forcer les mégaoctets (Mo)"
|
"label": "Disposition horizontale"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Ajuster la taille de l'icône par rapport à la taille par défaut.",
|
"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.",
|
"desc": "Choisissez le style d'icône utilisé pour les indicateurs TX/RX.",
|
||||||
"label": "Type d'icône"
|
"label": "Type d'icône"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Définir une largeur minimale pour le widget (en px).",
|
|
||||||
"label": "Largeur minimale du widget"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Afficher les vitesses RX/TX actuelles sous forme de nombres.",
|
"desc": "Afficher les vitesses RX/TX actuelles sous forme de nombres.",
|
||||||
"label": "Afficher les valeurs"
|
"label": "Afficher les valeurs"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Activer les couleurs personnalisées au lieu des couleurs par défaut du thème.",
|
"desc": "Activer les couleurs personnalisées au lieu des couleurs par défaut du thème.",
|
||||||
"label": "Couleurs personnalisées"
|
"label": "Couleurs personnalisées"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Remplacer la police par défaut pour les valeurs de vitesse.",
|
||||||
|
"label": "Police personnalisée"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Widget beállítások"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Állítsa be az aktivitási küszöbértéket bájt/másodpercben (B/s).",
|
"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"
|
"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": {
|
"colorRx": {
|
||||||
"desc": "Állítsa be a letöltés (RX) ikon színét, ha az meghaladja a küszöbértéket.",
|
"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"
|
"label": "RX Aktív"
|
||||||
@@ -18,19 +17,37 @@
|
|||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Állítsa be az RX és TX értékekhez használt szövegszínt.",
|
"desc": "Állítsa be az RX és TX értékekhez használt szövegszínt.",
|
||||||
"label": "Általános"
|
"label": "Szöveg"
|
||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "Állítsa be a feltöltés (TX) ikon színét, ha a küszöbérték felett van.",
|
"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"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "A szövegméret skálázása az alapértelmezett mérethez képest.",
|
"desc": "A szövegméret skálázása az alapértelmezett mérethez képest.",
|
||||||
"label": "Betűméret módosító"
|
"label": "Betűméret módosító"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Az összes forgalmi értéket MB-ban mutassa, ahelyett, hogy alacsony használat esetén KB-ra váltana.",
|
"desc": "TX és RX értékek egymás mellett, nem egymás alatt.",
|
||||||
"label": "Megabájt (MB) kényszerítése"
|
"label": "Vízszintes elrendezés"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Az ikonméret skálázása az alapértelmezett mérethez képest.",
|
"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.",
|
"desc": "Válaszd ki az TX/RX indikátorokhoz használt ikonkészletet.",
|
||||||
"label": "Ikon típusa"
|
"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": {
|
"showNumbers": {
|
||||||
"desc": "A pillanatnyi RX/TX sebességek megjelenítése számként.",
|
"desc": "A pillanatnyi RX/TX sebességek megjelenítése számként.",
|
||||||
"label": "Értékek megjelenítése"
|
"label": "Értékek megjelenítése"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Egyéni színek engedélyezése a téma alapértelmezett színei helyett.",
|
"desc": "Egyéni színek engedélyezése a téma alapértelmezett színei helyett.",
|
||||||
"label": "Egyéni színek"
|
"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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,60 +1,77 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Impostazioni widget"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Imposta la soglia di attività in byte al secondo (B/s).",
|
"desc": "Imposta la soglia di attività in byte al secondo (B/s).",
|
||||||
"label": "Zeige Aktive Schwelle"
|
"label": "Mostra soglia attiva"
|
||||||
},
|
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Imposta il colore di sfondo per il widget.",
|
|
||||||
"label": "Hintergrund"
|
|
||||||
},
|
},
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Imposta il colore dell'icona di download (RX) quando è sopra la soglia.",
|
"desc": "Imposta il colore dell'icona di download (RX) quando sopra la soglia.",
|
||||||
"label": "RX Aktiv"
|
"label": "RX Attivo"
|
||||||
},
|
},
|
||||||
"colorSilent": {
|
"colorSilent": {
|
||||||
"desc": "Imposta il colore dell'icona quando il traffico è al di sotto della soglia.",
|
"desc": "Imposta il colore dell'icona quando il traffico è sotto la soglia.",
|
||||||
"label": "RX/TX Neaktivan"
|
"label": "RX/TX Inattivo"
|
||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Imposta il colore del testo utilizzato sia per i valori RX che TX.",
|
"desc": "Imposta il colore del testo utilizzato per i valori RX e TX.",
|
||||||
"label": "Please provide the English text you would like me to translate. I need the text to be able to provide the translation."
|
"label": "Testo"
|
||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "Määritä lähetyskuvakkeen (TX) väri, kun raja-arvo ylittyy.",
|
"desc": "Imposta il colore dell'icona di upload (TX) quando sopra la soglia.",
|
||||||
"label": "TX Aktibo"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Skala textstorleken relativt standardstorleken.",
|
"desc": "Scala la dimensione del testo rispetto al valore predefinito.",
|
||||||
"label": "Modifikator veličine fonta"
|
"label": "Modificatore dimensione font"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Zeigen Sie alle Verkehrswerte in MB an, anstatt bei geringer Nutzung auf KB umzuschalten.",
|
"desc": "Posiziona i valori TX e RX fianco a fianco invece che impilati.",
|
||||||
"label": "Megabajtów siłą (MB)"
|
"label": "Layout orizzontale"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Mérje a ikon méretét a alapértelmezetthez képest.",
|
"desc": "Scala la dimensione dell'icona rispetto al valore predefinito.",
|
||||||
"label": "Modifikator za veličinu ikone"
|
"label": "Modificatore dimensione icona"
|
||||||
},
|
},
|
||||||
"iconType": {
|
"iconType": {
|
||||||
"desc": "Alege stilul pictogramei folosit pentru indicatorii TX/RX.",
|
"desc": "Scegli lo stile dell'icona usata per gli indicatori TX/RX.",
|
||||||
"label": "Tip ikonë"
|
"label": "Tipo icona"
|
||||||
},
|
|
||||||
"minWidth": {
|
|
||||||
"desc": "Imposta una larghezza minima per il widget (in px).",
|
|
||||||
"label": "Breite des minimalen Widgets"
|
|
||||||
},
|
},
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Zeige die aktuellen RX/TX-Geschwindigkeiten als Zahlen an.",
|
"desc": "Visualizza le velocità RX/TX attuali come numeri.",
|
||||||
"label": "Ipakita ang mga Halaga"
|
"label": "Mostra valori"
|
||||||
},
|
},
|
||||||
"spacingInbetween": {
|
"spacingInbetween": {
|
||||||
"desc": "Rregulloje hapësirën midis elementeve RX/TX.",
|
"desc": "Regola lo spazio tra gli elementi RX/TX.",
|
||||||
"label": "Vertikaler Abstand"
|
"label": "Spaziatura verticale"
|
||||||
},
|
},
|
||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Aktiviere benutzerdefinierte Farben anstelle der Standardfarben des Designs.",
|
"desc": "Attiva i colori personalizzati invece dei colori predefiniti del tema.",
|
||||||
"label": "Ngjyra të personalizuara"
|
"label": "Colori personalizzati"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Sovrascrivi il font predefinito per i valori di velocità.",
|
||||||
|
"label": "Font personalizzato"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "ウィジェット設定"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "アクティビティの閾値をバイト毎秒 (B/s) で設定します。",
|
"desc": "アクティビティの閾値をバイト毎秒 (B/s) で設定します。",
|
||||||
"label": "アクティブなしきい値を表示"
|
"label": "アクティブ閾値を表示"
|
||||||
},
|
|
||||||
"colorBackground": {
|
|
||||||
"desc": "ウィジェットの背景色を設定します。",
|
|
||||||
"label": "背景"
|
|
||||||
},
|
},
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "閾値を超えた場合のダウンロード (RX) アイコンの色を設定します。",
|
"desc": "閾値を超えた場合のダウンロード (RX) アイコンの色を設定します。",
|
||||||
"label": "RXアクティブ"
|
"label": "RX アクティブ"
|
||||||
},
|
},
|
||||||
"colorSilent": {
|
"colorSilent": {
|
||||||
"desc": "トラフィックが閾値を下回った場合に、アイコンの色を設定します。",
|
"desc": "トラフィックが閾値を下回った場合に、アイコンの色を設定します。",
|
||||||
@@ -18,19 +17,37 @@
|
|||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "RX と TX の両方の値に使用するテキストの色を設定します。",
|
"desc": "RX と TX の両方の値に使用するテキストの色を設定します。",
|
||||||
"label": "申し訳ありませんが、翻訳するテキストが提供されていません。テキストを入力してください。"
|
"label": "テキスト"
|
||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "閾値を超えた場合のアップロード (TX) アイコンの色を設定します。",
|
"desc": "閾値を超えた場合のアップロード (TX) アイコンの色を設定します。",
|
||||||
"label": "TXアクティブ"
|
"label": "TX アクティブ"
|
||||||
|
},
|
||||||
|
"contentMargin": {
|
||||||
|
"desc": "ウィジェットコンテンツの両サイドの水平パディング。",
|
||||||
|
"label": "コンテンツマージン"
|
||||||
|
},
|
||||||
|
"customFontBold": {
|
||||||
|
"desc": "速度値を太字で表示。",
|
||||||
|
"label": "太字"
|
||||||
|
},
|
||||||
|
"customFontFamily": {
|
||||||
|
"desc": "速度値に使用するフォントを選択してください。",
|
||||||
|
"label": "フォント",
|
||||||
|
"placeholder": "フォントを選択",
|
||||||
|
"searchPlaceholder": "フォントを検索…"
|
||||||
|
},
|
||||||
|
"customFontItalic": {
|
||||||
|
"desc": "速度値を斜体で表示。",
|
||||||
|
"label": "斜体"
|
||||||
},
|
},
|
||||||
"fontSizeModifier": {
|
"fontSizeModifier": {
|
||||||
"desc": "テキストのサイズをデフォルトを基準に調整します。",
|
"desc": "テキストのサイズをデフォルトを基準に調整します。",
|
||||||
"label": "フォントサイズ変更"
|
"label": "フォントサイズ変更"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "低い使用量でもKBに切り替えずに、すべてのトラフィック値をMBで表示する。",
|
"desc": "TXとRXの値を縦並びではなく横並びで表示。",
|
||||||
"label": "メガバイトを強制的に実行する"
|
"label": "水平レイアウト"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "デフォルトに対するアイコンのサイズを調整します。",
|
"desc": "デフォルトに対するアイコンのサイズを調整します。",
|
||||||
@@ -40,21 +57,21 @@
|
|||||||
"desc": "TX/RXインジケーターに使用するアイコンのスタイルを選択してください。",
|
"desc": "TX/RXインジケーターに使用するアイコンのスタイルを選択してください。",
|
||||||
"label": "アイコンの種類"
|
"label": "アイコンの種類"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "ウィジェットの最小幅を(pxで)設定します。",
|
|
||||||
"label": "ウィジェットの最小幅"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "現在のRX/TX速度を数値で表示する。",
|
"desc": "現在のRX/TX速度を数値で表示。",
|
||||||
"label": "値を表示"
|
"label": "値を表示"
|
||||||
},
|
},
|
||||||
"spacingInbetween": {
|
"spacingInbetween": {
|
||||||
"desc": "RX/TX要素間の間隔を調整してください。",
|
"desc": "RX/TX要素間の間隔を調整してください。",
|
||||||
"label": "垂直方向の間隔"
|
"label": "垂直間隔"
|
||||||
},
|
},
|
||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "テーマのデフォルトの代わりにカスタムカラーを有効にする。",
|
"desc": "テーマのデフォルトの代わりにカスタムカラーを有効にする。",
|
||||||
"label": "カスタムカラー"
|
"label": "カスタムカラー"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "速度値のデフォルトフォントを上書き。",
|
||||||
|
"label": "カスタムフォント"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Mîhengên widgetê"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Sînorê çalakiyê bi bayt di duyemîn de (B/s) destnîşan bike.",
|
"desc": "Sînorê çalakiyê bi bayt di duyemîn de (B/s) destnîşan bike.",
|
||||||
"label": "Derheqê Çalakîyê Nîşan Bide"
|
"label": "Derheqê Çalakîyê Nîşan Bide"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Rengê paşxaneyê ji bo widgetê destnîşan bike.",
|
|
||||||
"label": "Paşxan"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"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"
|
"label": "RX Çalak"
|
||||||
},
|
},
|
||||||
"colorSilent": {
|
"colorSilent": {
|
||||||
@@ -18,19 +17,37 @@
|
|||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Rengê nivîsê yê ku ji bo nirxên RX û TX tê bikaranîn, destnîşan bike.",
|
"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": {
|
"colorTx": {
|
||||||
"desc": "Rengê îkona barkirinê (TX) dema ku ji tixûbê derbas dibe, destnîşan bike.",
|
"desc": "Rengê îkona barkirinê (TX) dema ku ji tixûbê derbas dibe, destnîşan bike.",
|
||||||
"label": "TX Çalak"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Mezinahiya nivîsê li gorî ya xwerû mezin bike.",
|
"desc": "Mezinahiya nivîsê li gorî ya xwerû mezin bike.",
|
||||||
"label": "Guherînera Mezinahiya Tîpan"
|
"label": "Guherînera Mezinahiya Tîpan"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Hemû nirxên trafîkê bi MB nîşan bide, li şûna ku ji bo bikaranîna kêm veguhere KB.",
|
"desc": "Nirxên TX û RX li hev re biparêze, ne bi hev ve.",
|
||||||
"label": "Meqsed mekabyte (MB)"
|
"label": "Sazmona_ASAYÎ"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Mezinahiya îkonê li gorî ya xwerû mezin bike.",
|
"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.",
|
"desc": "Şêwaza îkonê ya ku ji bo nîşanderên TX/RX tê bikaranîn hilbijêre.",
|
||||||
"label": "Cureyê Îkonê"
|
"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": {
|
"showNumbers": {
|
||||||
"desc": "Leza lezahenên RX/TX yên niha wekî hejmaran.",
|
"desc": "Leza lezahenên RX/TX yên niha wekî hejmaran.",
|
||||||
"label": "Nîşan bide Nirxan"
|
"label": "Nîşan bide Nirxan"
|
||||||
},
|
},
|
||||||
"spacingInbetween": {
|
"spacingInbetween": {
|
||||||
"desc": "Cihêtiya navbera elementên RX/TX eyar bike.",
|
"desc": "Cihêtiya navbera elementên RX/TX eyar bike.",
|
||||||
"label": "Valahiya Rastkirin"
|
"label": "Valahiya_Rastkirin"
|
||||||
},
|
},
|
||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Çalak bike rengên xwerû li şûna rengên xwerû yên temayê.",
|
"desc": "Çalak bike rengên xwerû li şûna rengên xwerû yên temayê.",
|
||||||
"label": "Rengên Xweser"
|
"label": "Rengên Xweser"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Fontê DEFAULT ji bo nirxên lezê binpê kirin.",
|
||||||
|
"label": "Fontê Xweser"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Widget-instellingen"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Stel de activiteitsdrempel in bytes per seconde (B/s) in.",
|
"desc": "Stel de activiteitsdrempel in bytes per seconde (B/s) in.",
|
||||||
"label": "Actieve drempel weergeven"
|
"label": "Actieve drempel weergeven"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Stel de achtergrondkleur voor de widget in.",
|
|
||||||
"label": "Achtergrond"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Stel de kleur van het download (RX) pictogram in wanneer deze boven de drempelwaarde ligt.",
|
"desc": "Stel de kleur van het download (RX) pictogram in wanneer deze boven de drempelwaarde ligt.",
|
||||||
"label": "RX Actief"
|
"label": "RX Actief"
|
||||||
@@ -22,15 +21,33 @@
|
|||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "Stel de kleur van het upload (TX) icoon in wanneer boven de drempelwaarde.",
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Schaal de tekstgrootte ten opzichte van de standaard.",
|
"desc": "Schaal de tekstgrootte ten opzichte van de standaard.",
|
||||||
"label": "Lettergrootte aanpassing"
|
"label": "Lettergrootte aanpassing"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Toon alle verkeerswaarden in MB in plaats van over te schakelen naar KB bij laag gebruik.",
|
"desc": "Plaats TX en RX waarden naast elkaar in plaats van gestapeld.",
|
||||||
"label": "Forceer megabytes (MB)"
|
"label": "Horizontale lay-out"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Schaal de pictogramgrootte ten opzichte van de standaard.",
|
"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.",
|
"desc": "Kies de pictogramstijl die gebruikt wordt voor de TX/RX-indicatoren.",
|
||||||
"label": "Icoontype"
|
"label": "Icoontype"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Stel een minimale breedte in voor de widget (in px).",
|
|
||||||
"label": "Minimale widgetbreedte"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Toon de huidige RX/TX snelheden als getallen.",
|
"desc": "Toon de huidige RX/TX snelheden als getallen.",
|
||||||
"label": "Waarden weergeven"
|
"label": "Waarden weergeven"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Schakel aangepaste kleuren in in plaats van de standaard themakleuren.",
|
"desc": "Schakel aangepaste kleuren in in plaats van de standaard themakleuren.",
|
||||||
"label": "Aangepaste kleuren"
|
"label": "Aangepaste kleuren"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Overschrijf het standaard lettertype voor snelheidswaarden.",
|
||||||
|
"label": "Aangepast lettertype"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Ustawienia widgetu"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Ustaw próg aktywności w bajtach na sekundę (B/s).",
|
"desc": "Ustaw próg aktywności w bajtach na sekundę (B/s).",
|
||||||
"label": "Pokaż Aktywny Próg"
|
"label": "Pokaż Aktywny Próg"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Ustaw kolor tła widżetu.",
|
|
||||||
"label": "Tło"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Ustaw kolor ikony pobierania (RX), gdy wartość przekroczy próg.",
|
"desc": "Ustaw kolor ikony pobierania (RX), gdy wartość przekroczy próg.",
|
||||||
"label": "RX Aktywny"
|
"label": "RX Aktywny"
|
||||||
@@ -18,19 +17,37 @@
|
|||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Ustaw kolor tekstu używany zarówno dla wartości RX, jak i TX.",
|
"desc": "Ustaw kolor tekstu używany zarówno dla wartości RX, jak i TX.",
|
||||||
"label": "Uptime"
|
"label": "Tekst"
|
||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "Ustaw kolor ikony wysyłania (TX), gdy przekroczony zostanie próg.",
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Skaluj rozmiar tekstu względem domyślnego.",
|
"desc": "Skaluj rozmiar tekstu względem domyślnego.",
|
||||||
"label": "Modyfikator rozmiaru czcionki"
|
"label": "Modyfikator rozmiaru czcionki"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Wyświetlaj wszystkie wartości transferu w MB zamiast przełączać się na KB przy niskim użyciu.",
|
"desc": "Umieść wartości TX i RX obok siebie zamiast jedna nad drugą.",
|
||||||
"label": "Wymuś megabajty (MB)"
|
"label": "Układ poziomy"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Skaluj rozmiar ikony względem domyślnego.",
|
"desc": "Skaluj rozmiar ikony względem domyślnego.",
|
||||||
@@ -40,10 +57,6 @@
|
|||||||
"desc": "Wybierz styl ikony używany dla wskaźników TX/RX.",
|
"desc": "Wybierz styl ikony używany dla wskaźników TX/RX.",
|
||||||
"label": "Typ Ikony"
|
"label": "Typ Ikony"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Ustaw minimalną szerokość widżetu (w px).",
|
|
||||||
"label": "Minimalna szerokość widżetu"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Wyświetlaj aktualne prędkości RX/TX jako liczby.",
|
"desc": "Wyświetlaj aktualne prędkości RX/TX jako liczby.",
|
||||||
"label": "Pokaż wartości"
|
"label": "Pokaż wartości"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Włącz własne kolory zamiast domyślnych motywu.",
|
"desc": "Włącz własne kolory zamiast domyślnych motywu.",
|
||||||
"label": "Własne kolory"
|
"label": "Własne kolory"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Zastąp domyślną czcionkę dla wartości prędkości.",
|
||||||
|
"label": "Własna czcionka"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Configurações do widget"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Defina o limite de atividade em bytes por segundo (B/s).",
|
"desc": "Defina o limite de atividade em bytes por segundo (B/s).",
|
||||||
"label": "Mostrar Limiar Ativo"
|
"label": "Mostrar Limiar Ativo"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Definir a cor de fundo do widget.",
|
|
||||||
"label": "Fundo"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Defina a cor do ícone de download (RX) quando acima do limite.",
|
"desc": "Defina a cor do ícone de download (RX) quando acima do limite.",
|
||||||
"label": "RX Ativo"
|
"label": "RX Ativo"
|
||||||
@@ -24,13 +23,31 @@
|
|||||||
"desc": "Definir a cor do ícone de upload (TX) quando acima do limite.",
|
"desc": "Definir a cor do ícone de upload (TX) quando acima do limite.",
|
||||||
"label": "TX Ativo"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Ajustar o tamanho do texto em relação ao padrão.",
|
"desc": "Ajustar o tamanho do texto em relação ao padrão.",
|
||||||
"label": "Modificador de Tamanho da Fonte"
|
"label": "Modificador de Tamanho da Fonte"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Mostrar todos os valores de tráfego em MB em vez de mudar para KB para baixo uso.",
|
"desc": "Colocar valores TX e RX lado a lado em vez de empilhados.",
|
||||||
"label": "Forçar megabytes (MB)"
|
"label": "Layout Horizontal"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Dimensionar o tamanho do ícone em relação ao padrão.",
|
"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.",
|
"desc": "Escolha o estilo do ícone usado para os indicadores TX/RX.",
|
||||||
"label": "Tipo de Ícone"
|
"label": "Tipo de Ícone"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Defina uma largura mínima para o widget (em px).",
|
|
||||||
"label": "Largura Mínima do Widget"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Exibir as velocidades atuais de RX/TX como números.",
|
"desc": "Exibir as velocidades atuais de RX/TX como números.",
|
||||||
"label": "Mostrar Valores"
|
"label": "Mostrar Valores"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Ativar cores personalizadas em vez das cores padrão do tema.",
|
"desc": "Ativar cores personalizadas em vez das cores padrão do tema.",
|
||||||
"label": "Cores Personalizadas"
|
"label": "Cores Personalizadas"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Substituir a fonte padrão para valores de velocidade.",
|
||||||
|
"label": "Fonte Personalizada"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,49 +1,62 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Настройки виджета"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Установите порог активности в байтах в секунду (Б/с).",
|
"desc": "Установите порог активности в байтах в секунду (Б/с).",
|
||||||
"label": "Показать активный порог"
|
"label": "Показать активный порог"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Установить цвет фона для виджета.",
|
|
||||||
"label": "Фон"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Установить цвет значка загрузки (RX), когда он выше порогового значения.",
|
"desc": "Установите цвет значка загрузки (RX), когда он выше порогового значения.",
|
||||||
"label": "RX Active"
|
"label": "RX активен"
|
||||||
},
|
},
|
||||||
"colorSilent": {
|
"colorSilent": {
|
||||||
"desc": "Установить цвет значка, когда трафик ниже порогового значения.",
|
"desc": "Установите цвет значка, когда трафик ниже порогового значения.",
|
||||||
"label": "RX/TX неактивны"
|
"label": "RX/TX неактивны"
|
||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Установить цвет текста, используемый для значений RX и TX.",
|
"desc": "Установите цвет текста для значений RX и TX.",
|
||||||
"label": "Текст"
|
"label": "Текст"
|
||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "Установить цвет значка загрузки (TX) при превышении порогового значения.",
|
"desc": "Установите цвет значка загрузки (TX) при превышении порогового значения.",
|
||||||
"label": "TX Active"
|
"label": "TX активен"
|
||||||
|
},
|
||||||
|
"contentMargin": {
|
||||||
|
"desc": "Горизонтальный отступ по обеим сторонам содержимого виджета.",
|
||||||
|
"label": "Отступ содержимого"
|
||||||
|
},
|
||||||
|
"customFontBold": {
|
||||||
|
"desc": "Отображать значения скорости жирным шрифтом.",
|
||||||
|
"label": "Жирный"
|
||||||
|
},
|
||||||
|
"customFontFamily": {
|
||||||
|
"desc": "Выберите шрифт для значений скорости.",
|
||||||
|
"label": "Шрифт",
|
||||||
|
"placeholder": "Выбрать шрифт",
|
||||||
|
"searchPlaceholder": "Поиск шрифтов…"
|
||||||
|
},
|
||||||
|
"customFontItalic": {
|
||||||
|
"desc": "Отображать значения скорости курсивом.",
|
||||||
|
"label": "Курсив"
|
||||||
},
|
},
|
||||||
"fontSizeModifier": {
|
"fontSizeModifier": {
|
||||||
"desc": "Изменить размер текста относительно размера по умолчанию.",
|
"desc": "Измените размер текста относительно размера по умолчанию.",
|
||||||
"label": "Изменение размера шрифта"
|
"label": "Модификатор размера шрифта"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Показывать все значения трафика в МБ, вместо переключения на КБ при низком использовании.",
|
"desc": "Разместите значения TX и RX рядом друг с другом, а не друг под другом.",
|
||||||
"label": "Принудительно мегабайты (МБ)"
|
"label": "Горизонтальная раскладка"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Изменить размер значка относительно размера по умолчанию.",
|
"desc": "Измените размер значка относительно размера по умолчанию.",
|
||||||
"label": "Изменение размера значков"
|
"label": "Модификатор размера значка"
|
||||||
},
|
},
|
||||||
"iconType": {
|
"iconType": {
|
||||||
"desc": "Выберите стиль значков, используемых для индикаторов TX/RX.",
|
"desc": "Выберите стиль значков для индикаторов TX/RX.",
|
||||||
"label": "Тип значка"
|
"label": "Тип значка"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Установить минимальную ширину для виджета (в px).",
|
|
||||||
"label": "Минимальная ширина виджета"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Отображать текущие скорости RX/TX в виде чисел.",
|
"desc": "Отображать текущие скорости RX/TX в виде чисел.",
|
||||||
"label": "Показать значения"
|
"label": "Показать значения"
|
||||||
@@ -53,8 +66,12 @@
|
|||||||
"label": "Вертикальный интервал"
|
"label": "Вертикальный интервал"
|
||||||
},
|
},
|
||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Включить пользовательские цвета вместо цветов темы по умолчанию.",
|
"desc": "Включите пользовательские цвета вместо цветов темы по умолчанию.",
|
||||||
"label": "Пользовательские цвета"
|
"label": "Пользовательские цвета"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Переопределите шрифт по умолчанию для значений скорости.",
|
||||||
|
"label": "Пользовательский шрифт"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Widget Ayarları"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Etkinlik eşiğini saniye başına bayt (B/s) cinsinden ayarlayın.",
|
"desc": "Etkinlik eşiğini saniye başına bayt (B/s) cinsinden ayarlayın.",
|
||||||
"label": "Aktif Eşiği Göster"
|
"label": "Aktif Eşiği Göster"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Araç için arka plan rengini ayarla.",
|
|
||||||
"label": "Arka plan"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Eşiğin üzerindeyken indirme (RX) simge rengini ayarla.",
|
"desc": "Eşiğin üzerindeyken indirme (RX) simge rengini ayarla.",
|
||||||
"label": "RX Aktif"
|
"label": "RX Aktif"
|
||||||
@@ -24,13 +23,31 @@
|
|||||||
"desc": "Eşik değerinin üzerindeyken yükleme (TX) simge rengini ayarla.",
|
"desc": "Eşik değerinin üzerindeyken yükleme (TX) simge rengini ayarla.",
|
||||||
"label": "TX Aktif"
|
"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": {
|
"fontSizeModifier": {
|
||||||
"desc": "Metin boyutunu varsayılana göre ölçekle.",
|
"desc": "Metin boyutunu varsayılana göre ölçekle.",
|
||||||
"label": "Yazı Boyutu Değiştirici"
|
"label": "Yazı Boyutu Değiştirici"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Düşük kullanımda KB'a geçmek yerine tüm trafik değerlerini MB olarak göster.",
|
"desc": "TX ve RX değerlerini üst üste yerine yan yana yerleştir.",
|
||||||
"label": "Megabayt (MB) zorla"
|
"label": "Yatay Düzen"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Simge boyutunu varsayılan değere göre ölçekle.",
|
"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.",
|
"desc": "TX/RX göstergeleri için kullanılan simge stilini seçin.",
|
||||||
"label": "Simge Türü"
|
"label": "Simge Türü"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Araç için minimum genişlik (piksel cinsinden) belirleyin.",
|
|
||||||
"label": "Minimum Widget Genişliği"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Mevcut RX/TX hızlarını sayı olarak görüntüle.",
|
"desc": "Mevcut RX/TX hızlarını sayı olarak görüntüle.",
|
||||||
"label": "Değerleri Göster"
|
"label": "Değerleri Göster"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Tema varsayılanları yerine özel renkleri etkinleştir.",
|
"desc": "Tema varsayılanları yerine özel renkleri etkinleştir.",
|
||||||
"label": "Özel Renkler"
|
"label": "Özel Renkler"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Hız değerleri için varsayılan yazı tipini geçersiz kıl.",
|
||||||
|
"label": "Özel Yazı Tipi"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,36 +1,53 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "Налаштування віджета"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "Встановіть поріг активності в байтах на секунду (Б/с).",
|
"desc": "Встановіть поріг активності в байтах на секунду (Б/с).",
|
||||||
"label": "Показати активний поріг"
|
"label": "Показати активний поріг"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "Встановити колір фону для віджета.",
|
|
||||||
"label": "Тло"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "Встановити колір значка завантаження (RX), коли він перевищує поріг.",
|
"desc": "Встановіть колір значка завантаження (RX), коли він перевищує поріг.",
|
||||||
"label": "RX Active"
|
"label": "RX активний"
|
||||||
},
|
},
|
||||||
"colorSilent": {
|
"colorSilent": {
|
||||||
"desc": "Встановити колір значка, коли трафік нижче порогового значення.",
|
"desc": "Встановіть колір значка, коли трафік нижче порогового значення.",
|
||||||
"label": "RX/TX неактивні"
|
"label": "RX/TX неактивні"
|
||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "Встановити колір тексту, який використовується для значень RX та TX.",
|
"desc": "Встановіть колір тексту, який використовується для значень RX та TX.",
|
||||||
"label": "Текст"
|
"label": "Текст"
|
||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "Встановити колір піктограми завантаження (TX), коли значення перевищує поріг.",
|
"desc": "Встановіть колір піктограми завантаження (TX), коли значення перевищує поріг.",
|
||||||
"label": "TX Active"
|
"label": "TX активний"
|
||||||
|
},
|
||||||
|
"contentMargin": {
|
||||||
|
"desc": "Горизонтальний відступ з обох боків вмісту віджета.",
|
||||||
|
"label": "Відступ вмісту"
|
||||||
|
},
|
||||||
|
"customFontBold": {
|
||||||
|
"desc": "Відображати значення швидкості жирним шрифтом.",
|
||||||
|
"label": "Жирний"
|
||||||
|
},
|
||||||
|
"customFontFamily": {
|
||||||
|
"desc": "Оберіть шрифт для значень швидкості.",
|
||||||
|
"label": "Шрифт",
|
||||||
|
"placeholder": "Обрати шрифт",
|
||||||
|
"searchPlaceholder": "Пошук шрифтів…"
|
||||||
|
},
|
||||||
|
"customFontItalic": {
|
||||||
|
"desc": "Відображати значення швидкості курсивом.",
|
||||||
|
"label": "Курсив"
|
||||||
},
|
},
|
||||||
"fontSizeModifier": {
|
"fontSizeModifier": {
|
||||||
"desc": "Змінити розмір тексту відносно стандартного.",
|
"desc": "Змінити розмір тексту відносно стандартного.",
|
||||||
"label": "Модифікатор розміру шрифту"
|
"label": "Модифікатор розміру шрифту"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "Показувати всі значення трафіку в МБ замість переходу на КБ для низького використання.",
|
"desc": "Розмістити значення TX та RX поруч, а не один під одним.",
|
||||||
"label": "Примусово мегабайти (МБ)"
|
"label": "Горизонтальне розташування"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "Змінюйте розмір значка відносно стандартного.",
|
"desc": "Змінюйте розмір значка відносно стандартного.",
|
||||||
@@ -40,10 +57,6 @@
|
|||||||
"desc": "Виберіть стиль іконок, що використовуються для індикаторів TX/RX.",
|
"desc": "Виберіть стиль іконок, що використовуються для індикаторів TX/RX.",
|
||||||
"label": "Тип іконки"
|
"label": "Тип іконки"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "Встановити мінімальну ширину для віджета (у пікселях).",
|
|
||||||
"label": "Мінімальна ширина віджета"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "Показувати поточні швидкості RX/TX у вигляді чисел.",
|
"desc": "Показувати поточні швидкості RX/TX у вигляді чисел.",
|
||||||
"label": "Показати значення"
|
"label": "Показати значення"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "Увімкнути власні кольори замість кольорів теми за замовчуванням.",
|
"desc": "Увімкнути власні кольори замість кольорів теми за замовчуванням.",
|
||||||
"label": "Користувацькі кольори"
|
"label": "Користувацькі кольори"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "Перевизначити шрифт за замовчуванням для значень швидкості.",
|
||||||
|
"label": "Користувацький шрифт"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
{
|
{
|
||||||
|
"actions": {
|
||||||
|
"widget-settings": "小组件设置"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"byteThresholdActive": {
|
"byteThresholdActive": {
|
||||||
"desc": "设置活动阈值,单位为字节/秒 (B/s)。",
|
"desc": "设置活动阈值,单位为字节/秒 (B/s)。",
|
||||||
"label": "显示活动阈值"
|
"label": "显示活动阈值"
|
||||||
},
|
},
|
||||||
"colorBackground": {
|
|
||||||
"desc": "设置小部件的背景颜色。",
|
|
||||||
"label": "背景"
|
|
||||||
},
|
|
||||||
"colorRx": {
|
"colorRx": {
|
||||||
"desc": "设置高于阈值时的下载(RX)图标颜色。",
|
"desc": "设置高于阈值时的下载(RX)图标颜色。",
|
||||||
"label": "RX Active"
|
"label": "RX 活跃"
|
||||||
},
|
},
|
||||||
"colorSilent": {
|
"colorSilent": {
|
||||||
"desc": "当流量低于阈值时,设置图标颜色。",
|
"desc": "当流量低于阈值时,设置图标颜色。",
|
||||||
"label": "RX/TX 无活动"
|
"label": "RX/TX 非活跃"
|
||||||
},
|
},
|
||||||
"colorText": {
|
"colorText": {
|
||||||
"desc": "设置用于RX和TX值的文本颜色。",
|
"desc": "设置用于RX和TX值的文本颜色。",
|
||||||
@@ -22,28 +21,42 @@
|
|||||||
},
|
},
|
||||||
"colorTx": {
|
"colorTx": {
|
||||||
"desc": "设置上传(TX)图标颜色,当高于阈值时。",
|
"desc": "设置上传(TX)图标颜色,当高于阈值时。",
|
||||||
"label": "TX Active"
|
"label": "TX 活跃"
|
||||||
|
},
|
||||||
|
"contentMargin": {
|
||||||
|
"desc": "小组件内容两侧的水平内边距。",
|
||||||
|
"label": "内容边距"
|
||||||
|
},
|
||||||
|
"customFontBold": {
|
||||||
|
"desc": "以粗体显示速度值。",
|
||||||
|
"label": "粗体"
|
||||||
|
},
|
||||||
|
"customFontFamily": {
|
||||||
|
"desc": "为速度值选择字体。",
|
||||||
|
"label": "字体",
|
||||||
|
"placeholder": "选择字体",
|
||||||
|
"searchPlaceholder": "搜索字体…"
|
||||||
|
},
|
||||||
|
"customFontItalic": {
|
||||||
|
"desc": "以斜体显示速度值。",
|
||||||
|
"label": "斜体"
|
||||||
},
|
},
|
||||||
"fontSizeModifier": {
|
"fontSizeModifier": {
|
||||||
"desc": "相对于默认值缩放文本大小。",
|
"desc": "相对于默认值缩放文本大小。",
|
||||||
"label": "字体大小调整器"
|
"label": "字体大小调整"
|
||||||
},
|
},
|
||||||
"forceMegabytes": {
|
"horizontalLayout": {
|
||||||
"desc": "显示所有流量值,以MB为单位,而不是在低使用量时切换到KB。",
|
"desc": "将TX和RX值并排显示,而不是堆叠。",
|
||||||
"label": "强制兆字节 (MB)"
|
"label": "水平布局"
|
||||||
},
|
},
|
||||||
"iconSizeModifier": {
|
"iconSizeModifier": {
|
||||||
"desc": "相对于默认值缩放图标大小。",
|
"desc": "相对于默认值缩放图标大小。",
|
||||||
"label": "图标大小修改器"
|
"label": "图标大小调整"
|
||||||
},
|
},
|
||||||
"iconType": {
|
"iconType": {
|
||||||
"desc": "选择用于 TX/RX 指示器的图标样式。",
|
"desc": "选择用于 TX/RX 指示器的图标样式。",
|
||||||
"label": "图标类型"
|
"label": "图标类型"
|
||||||
},
|
},
|
||||||
"minWidth": {
|
|
||||||
"desc": "设置小部件的最小宽度(以像素为单位)。",
|
|
||||||
"label": "最小部件宽度"
|
|
||||||
},
|
|
||||||
"showNumbers": {
|
"showNumbers": {
|
||||||
"desc": "以数字形式显示当前的 RX/TX 速度。",
|
"desc": "以数字形式显示当前的 RX/TX 速度。",
|
||||||
"label": "显示数值"
|
"label": "显示数值"
|
||||||
@@ -55,6 +68,10 @@
|
|||||||
"useCustomColors": {
|
"useCustomColors": {
|
||||||
"desc": "启用自定义颜色,而非主题默认颜色。",
|
"desc": "启用自定义颜色,而非主题默认颜色。",
|
||||||
"label": "自定义颜色"
|
"label": "自定义颜色"
|
||||||
|
},
|
||||||
|
"useCustomFont": {
|
||||||
|
"desc": "覆盖速度值的默认字体。",
|
||||||
|
"label": "自定义字体"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"id": "network-indicator",
|
"id": "network-indicator",
|
||||||
"name": "Network Indicator",
|
"name": "Network Indicator",
|
||||||
"version": "1.0.7",
|
"version": "1.1.0",
|
||||||
"minNoctaliaVersion": "3.7.5",
|
"minNoctaliaVersion": "4.7.6",
|
||||||
"author": "tonigineer",
|
"author": "tonigineer",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": "https://github.com/noctalia-dev/noctalia-plugins",
|
"repository": "https://github.com/noctalia-dev/noctalia-plugins",
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
],
|
],
|
||||||
"entryPoints": {
|
"entryPoints": {
|
||||||
"barWidget": "BarWidget.qml",
|
"barWidget": "BarWidget.qml",
|
||||||
|
"panel": "Panel.qml",
|
||||||
"settings": "Settings.qml"
|
"settings": "Settings.qml"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -22,14 +23,16 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"defaultSettings": {
|
"defaultSettings": {
|
||||||
"arrowType": "caret",
|
"arrowType": "caret",
|
||||||
"byteThresholdActive": 1024,
|
"byteThresholdActive": 5000,
|
||||||
"fontSizeModifier": 1.0,
|
"fontSizeModifier": 0.75,
|
||||||
"forceMegabytes": false,
|
|
||||||
"iconSizeModifier": 1.0,
|
"iconSizeModifier": 1.0,
|
||||||
"minWidth": 0,
|
|
||||||
"showNumbers": true,
|
"showNumbers": true,
|
||||||
"spacingInbetween": 0,
|
"spacingInbetween": 0,
|
||||||
"useCustomColors": false
|
"useCustomColors": false,
|
||||||
|
"useCustomFont": false,
|
||||||
|
"customFontBold": false,
|
||||||
|
"customFontItalic": false,
|
||||||
|
"horizontalLayout": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 459 KiB After Width: | Height: | Size: 61 KiB |
@@ -31,6 +31,7 @@ Item {
|
|||||||
property bool enableToast: cfg.enableToast ?? defaults.enableToast ?? true
|
property bool enableToast: cfg.enableToast ?? defaults.enableToast ?? true
|
||||||
property string activeColorKey: cfg.activeColor ?? defaults.activeColor ?? "primary"
|
property string activeColorKey: cfg.activeColor ?? defaults.activeColor ?? "primary"
|
||||||
property string micFilterRegex: cfg.micFilterRegex ?? defaults.micFilterRegex ?? ""
|
property string micFilterRegex: cfg.micFilterRegex ?? defaults.micFilterRegex ?? ""
|
||||||
|
property string camFilterRegex: cfg.camFilterRegex ?? defaults.camFilterRegex ?? ""
|
||||||
|
|
||||||
PwObjectTracker {
|
PwObjectTracker {
|
||||||
objects: Pipewire.ready ? Pipewire.nodes.values : []
|
objects: Pipewire.ready ? Pipewire.nodes.values : []
|
||||||
@@ -44,8 +45,25 @@ Item {
|
|||||||
onStreamFinished: {
|
onStreamFinished: {
|
||||||
var appsString = this.text.trim();
|
var appsString = this.text.trim();
|
||||||
var apps = appsString.length > 0 ? appsString.split(',') : [];
|
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
|
property bool oldMicActive: false
|
||||||
onMicActiveChanged: {
|
onMicActiveChanged: {
|
||||||
if (enableToast && micActive && !oldMicActive) {
|
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
|
oldMicActive = micActive
|
||||||
}
|
}
|
||||||
@@ -273,7 +291,7 @@ Item {
|
|||||||
property bool oldCamActive: false
|
property bool oldCamActive: false
|
||||||
onCamActiveChanged: {
|
onCamActiveChanged: {
|
||||||
if (enableToast && camActive && !oldCamActive) {
|
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
|
oldCamActive = camActive
|
||||||
}
|
}
|
||||||
@@ -285,7 +303,7 @@ Item {
|
|||||||
property bool oldScrActive: false
|
property bool oldScrActive: false
|
||||||
onScrActiveChanged: {
|
onScrActiveChanged: {
|
||||||
if (enableToast && scrActive && !oldScrActive) {
|
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
|
oldScrActive = scrActive
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ Item {
|
|||||||
property real contentPreferredHeight: 450 * Style.uiScaleRatio
|
property real contentPreferredHeight: 450 * Style.uiScaleRatio
|
||||||
|
|
||||||
readonly property var mainInstance: pluginApi?.mainInstance
|
readonly property var mainInstance: pluginApi?.mainInstance
|
||||||
|
readonly property bool allowAttach: true
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: panelContainer
|
id: panelContainer
|
||||||
@@ -46,7 +47,7 @@ Item {
|
|||||||
|
|
||||||
NText {
|
NText {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: pluginApi?.tr("history.title") || "Access History"
|
text: pluginApi?.tr("history.title")
|
||||||
font.weight: Style.fontWeightBold
|
font.weight: Style.fontWeightBold
|
||||||
pointSize: Style.fontSizeL
|
pointSize: Style.fontSizeL
|
||||||
color: Color.mOnSurface
|
color: Color.mOnSurface
|
||||||
@@ -154,7 +155,7 @@ Item {
|
|||||||
NText {
|
NText {
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
visible: (!mainInstance || mainInstance.accessHistory.length === 0)
|
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)
|
color: Qt.alpha(Color.mOnSurface, 0.5)
|
||||||
pointSize: Style.fontSizeM
|
pointSize: Style.fontSizeM
|
||||||
Layout.topMargin: Style.marginL
|
Layout.topMargin: Style.marginL
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ ColumnLayout {
|
|||||||
property string activeColor: cfg.activeColor ?? defaults.activeColor ?? "primary"
|
property string activeColor: cfg.activeColor ?? defaults.activeColor ?? "primary"
|
||||||
property string inactiveColor: cfg.inactiveColor ?? defaults.inactiveColor ?? "none"
|
property string inactiveColor: cfg.inactiveColor ?? defaults.inactiveColor ?? "none"
|
||||||
property string micFilterRegex: cfg.micFilterRegex ?? defaults.micFilterRegex
|
property string micFilterRegex: cfg.micFilterRegex ?? defaults.micFilterRegex
|
||||||
|
property string camFilterRegex: cfg.camFilterRegex ?? defaults.camFilterRegex
|
||||||
|
|
||||||
spacing: Style.marginL
|
spacing: Style.marginL
|
||||||
|
|
||||||
@@ -102,12 +103,21 @@ ColumnLayout {
|
|||||||
|
|
||||||
NTextInput {
|
NTextInput {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
label: pluginApi?.tr("settings.micFilterRegex.label") || "Microphone filter regex"
|
label: pluginApi?.tr("settings.micFilterRegex.label")
|
||||||
description: pluginApi?.tr("settings.micFilterRegex.desc") || "Regex pattern to filter out microphone applications"
|
description: pluginApi?.tr("settings.micFilterRegex.desc")
|
||||||
placeholderText: "effect_input.rnnoise|easyeffects"
|
placeholderText: "effect_input.rnnoise|easyeffects"
|
||||||
text: root.micFilterRegex
|
text: root.micFilterRegex
|
||||||
onTextChanged: root.micFilterRegex = text
|
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() {
|
function saveSettings() {
|
||||||
@@ -123,6 +133,7 @@ ColumnLayout {
|
|||||||
pluginApi.pluginSettings.activeColor = root.activeColor;
|
pluginApi.pluginSettings.activeColor = root.activeColor;
|
||||||
pluginApi.pluginSettings.inactiveColor = root.inactiveColor;
|
pluginApi.pluginSettings.inactiveColor = root.inactiveColor;
|
||||||
pluginApi.pluginSettings.micFilterRegex = root.micFilterRegex;
|
pluginApi.pluginSettings.micFilterRegex = root.micFilterRegex;
|
||||||
|
pluginApi.pluginSettings.camFilterRegex = root.camFilterRegex;
|
||||||
|
|
||||||
pluginApi.saveSettings();
|
pluginApi.saveSettings();
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,24 @@
|
|||||||
{
|
{
|
||||||
|
"menu": {
|
||||||
|
"settings": "Widget Einstellungen"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
"activeColor": {
|
||||||
|
"desc": "Farbe der Symbole, wenn sie aktiv sind.",
|
||||||
|
"label": "Aktive Farbsymbol"
|
||||||
|
},
|
||||||
"hideInactive": {
|
"hideInactive": {
|
||||||
"desc": "Mikrofon-, Kamera- und Bildschirmsymbole ausblenden, wenn sie inaktiv sind.",
|
"desc": "Mikrofon-, Kamera- und Bildschirmsymbole ausblenden, wenn sie inaktiv sind.",
|
||||||
"label": "Inaktive Zustände ausblenden"
|
"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": {
|
"iconSpacing": {
|
||||||
"desc": "Den Abstand zwischen den Symbolen festlegen.",
|
"desc": "Den Abstand zwischen den Symbolen festlegen.",
|
||||||
"label": "Symbolabstand"
|
"label": "Symbolabstand"
|
||||||
@@ -12,13 +27,9 @@
|
|||||||
"desc": "Alle äußeren Ränder des Widgets entfernen.",
|
"desc": "Alle äußeren Ränder des Widgets entfernen.",
|
||||||
"label": "Ränder entfernen"
|
"label": "Ränder entfernen"
|
||||||
},
|
},
|
||||||
"activeColor": {
|
"micFilterRegex": {
|
||||||
"desc": "Farbe der Symbole, wenn sie aktiv sind.",
|
"desc": "Regex Muster zum Herausfiltern von Mikrofon-Apps. Entsprechende Apps werden vollständig von der Erkennung ausgeschlossen.",
|
||||||
"label": "Aktive Farbsymbol"
|
"label": "Regex für Mikrofonfilter"
|
||||||
},
|
|
||||||
"inactiveColor": {
|
|
||||||
"desc": "Farbe der Symbole, wenn sie inaktiv sind.",
|
|
||||||
"label": "Inaktive Farbsymbol"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
@@ -31,9 +42,6 @@
|
|||||||
"mic-on": "Mikrofon ist aktiv",
|
"mic-on": "Mikrofon ist aktiv",
|
||||||
"screen-on": "Bildschirmfreigabe ist aktiv"
|
"screen-on": "Bildschirmfreigabe ist aktiv"
|
||||||
},
|
},
|
||||||
"menu": {
|
|
||||||
"settings": "Widget-Einstellungen"
|
|
||||||
},
|
|
||||||
"history": {
|
"history": {
|
||||||
"title": "Zugriffsverlauf",
|
"title": "Zugriffsverlauf",
|
||||||
"empty": "Kein kürzlicher Zugriff",
|
"empty": "Kein kürzlicher Zugriff",
|
||||||
|
|||||||
@@ -30,6 +30,10 @@
|
|||||||
"micFilterRegex": {
|
"micFilterRegex": {
|
||||||
"desc": "Regex pattern to filter out microphone applications. Matching apps are completely excluded from detection.",
|
"desc": "Regex pattern to filter out microphone applications. Matching apps are completely excluded from detection.",
|
||||||
"label": "Microphone filter regex"
|
"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": {
|
"tooltip": {
|
||||||
@@ -51,4 +55,4 @@
|
|||||||
"stopped": "Stopped"
|
"stopped": "Stopped"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,24 @@
|
|||||||
{
|
{
|
||||||
|
"menu": {
|
||||||
|
"settings": "Paramètres du widget"
|
||||||
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
"activeColor": {
|
||||||
|
"desc": "Couleur des icônes lorsqu'elles sont actives.",
|
||||||
|
"label": "Couleur d'icône active"
|
||||||
|
},
|
||||||
"hideInactive": {
|
"hideInactive": {
|
||||||
"desc": "Masquer les icônes du micro, de la caméra et de l’écran lorsqu’ils sont inactifs.",
|
"desc": "Masquer les icônes du micro, de la caméra et de l’écran lorsqu’ils sont inactifs.",
|
||||||
"label": "Masquer les états 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": {
|
"iconSpacing": {
|
||||||
"desc": "Définir l’espacement entre les icônes.",
|
"desc": "Définir l’espacement entre les icônes.",
|
||||||
"label": "Espacement des icônes"
|
"label": "Espacement des icônes"
|
||||||
@@ -12,13 +27,13 @@
|
|||||||
"desc": "Supprime toutes les marges extérieures du widget.",
|
"desc": "Supprime toutes les marges extérieures du widget.",
|
||||||
"label": "Supprimer les marges"
|
"label": "Supprimer les marges"
|
||||||
},
|
},
|
||||||
"activeColor": {
|
"micFilterRegex": {
|
||||||
"desc": "Couleur des icônes lorsqu'elles sont actives.",
|
"desc": "Motif Regex pour filtrer les applications de microphone. Les applications correspondantes sont complètement exclues de la détection.",
|
||||||
"label": "Couleur d'icône active"
|
"label": "Regex de filtrage du microphone"
|
||||||
},
|
},
|
||||||
"inactiveColor": {
|
"camFilterRegex": {
|
||||||
"desc": "Couleur des icônes lorsqu'elles sont inactives.",
|
"desc": "Motif Regex pour filtrer les applications de caméra. Les applications correspondantes sont complètement exclues de la détection.",
|
||||||
"label": "Couleur d'icône inactive"
|
"label": "Regex de filtrage de la caméra"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
@@ -31,9 +46,6 @@
|
|||||||
"mic-on": "Le microphone est actif",
|
"mic-on": "Le microphone est actif",
|
||||||
"screen-on": "Le partage d'écran est actif"
|
"screen-on": "Le partage d'écran est actif"
|
||||||
},
|
},
|
||||||
"menu": {
|
|
||||||
"settings": "Paramètres du widget"
|
|
||||||
},
|
|
||||||
"history": {
|
"history": {
|
||||||
"title": "Historique d'accès",
|
"title": "Historique d'accès",
|
||||||
"empty": "Aucun accès récent",
|
"empty": "Aucun accès récent",
|
||||||
@@ -43,4 +55,4 @@
|
|||||||
"stopped": "Arrêté"
|
"stopped": "Arrêté"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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": "정지됨"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "privacy-indicator",
|
"id": "privacy-indicator",
|
||||||
"name": "Privacy Indicator",
|
"name": "Privacy Indicator",
|
||||||
"version": "1.2.7",
|
"version": "1.2.12",
|
||||||
"minNoctaliaVersion": "3.6.0",
|
"minNoctaliaVersion": "3.6.0",
|
||||||
"author": "Noctalia Team",
|
"author": "Noctalia Team",
|
||||||
"official": true,
|
"official": true,
|
||||||
@@ -30,7 +30,8 @@
|
|||||||
"iconSpacing": 4,
|
"iconSpacing": 4,
|
||||||
"activeColor": "primary",
|
"activeColor": "primary",
|
||||||
"inactiveColor": "none",
|
"inactiveColor": "none",
|
||||||
"micFilterRegex": ""
|
"micFilterRegex": "",
|
||||||
|
"camFilterRegex": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"updateIntervalMinutes": 30,
|
"updateIntervalMinutes": 30,
|
||||||
"updateTerminalCommand": "alacritty -e",
|
"updateTerminalCommand": "alacritty --hold -e",
|
||||||
"currentIconName": "world-download",
|
"currentIconName": "world-download",
|
||||||
"hideOnZero": true,
|
"hideOnZero": true,
|
||||||
"customCmdGetNumUpdates": "expr $(xbps-install -Mnu 2>&1 | grep -v '^$' | wc -l) + $(flatpak remote-ls --updates | wc -l)",
|
"customCmdGetNumUpdates": "expr $(xbps-install -Mnu 2>&1 | grep -v '^$' | wc -l) + $(flatpak remote-ls --updates | wc -l)",
|
||||||
|
|||||||
@@ -56,12 +56,12 @@
|
|||||||
"hideOnOverview": false,
|
"hideOnOverview": false,
|
||||||
"marginHorizontal": 10,
|
"marginHorizontal": 10,
|
||||||
"marginVertical": 5,
|
"marginVertical": 5,
|
||||||
"middleClickAction": "none",
|
"middleClickAction": "launcherPanel",
|
||||||
"middleClickCommand": "",
|
"middleClickCommand": "",
|
||||||
"middleClickFollowMouse": false,
|
"middleClickFollowMouse": false,
|
||||||
"monitors": [
|
"monitors": [
|
||||||
],
|
],
|
||||||
"mouseWheelAction": "none",
|
"mouseWheelAction": "content",
|
||||||
"mouseWheelWrap": true,
|
"mouseWheelWrap": true,
|
||||||
"outerCorners": true,
|
"outerCorners": true,
|
||||||
"position": "top",
|
"position": "top",
|
||||||
@@ -80,10 +80,11 @@
|
|||||||
"center": [
|
"center": [
|
||||||
{
|
{
|
||||||
"colorizeSystemIcon": "none",
|
"colorizeSystemIcon": "none",
|
||||||
"enableColorization": false,
|
"colorizeSystemText": "none",
|
||||||
"generalTooltipText": "",
|
"generalTooltipText": "",
|
||||||
"hideMode": "alwaysExpanded",
|
"hideMode": "alwaysExpanded",
|
||||||
"icon": "rocket",
|
"icon": "rocket",
|
||||||
|
"iconPosition": "left",
|
||||||
"id": "CustomButton",
|
"id": "CustomButton",
|
||||||
"ipcIdentifier": "",
|
"ipcIdentifier": "",
|
||||||
"leftClickExec": "qs -c noctalia-shell ipc call launcher toggle",
|
"leftClickExec": "qs -c noctalia-shell ipc call launcher toggle",
|
||||||
@@ -170,7 +171,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"compactMode": false,
|
"compactMode": false,
|
||||||
"diskPath": "/",
|
"diskPath": "/boot/efi",
|
||||||
"iconColor": "none",
|
"iconColor": "none",
|
||||||
"id": "SystemMonitor",
|
"id": "SystemMonitor",
|
||||||
"showCpuCores": false,
|
"showCpuCores": false,
|
||||||
@@ -179,7 +180,7 @@
|
|||||||
"showCpuUsage": true,
|
"showCpuUsage": true,
|
||||||
"showDiskAvailable": false,
|
"showDiskAvailable": false,
|
||||||
"showDiskUsage": false,
|
"showDiskUsage": false,
|
||||||
"showDiskUsageAsPercent": false,
|
"showDiskUsageAsPercent": true,
|
||||||
"showGpuTemp": false,
|
"showGpuTemp": false,
|
||||||
"showLoadAverage": false,
|
"showLoadAverage": false,
|
||||||
"showMemoryAsPercent": false,
|
"showMemoryAsPercent": false,
|
||||||
@@ -190,6 +191,41 @@
|
|||||||
"useMonospaceFont": true,
|
"useMonospaceFont": true,
|
||||||
"usePadding": false
|
"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": {
|
"defaultSettings": {
|
||||||
"currentIconName": "world-download",
|
"currentIconName": "world-download",
|
||||||
@@ -203,10 +239,11 @@
|
|||||||
"right": [
|
"right": [
|
||||||
{
|
{
|
||||||
"colorizeSystemIcon": "none",
|
"colorizeSystemIcon": "none",
|
||||||
"enableColorization": false,
|
"colorizeSystemText": "none",
|
||||||
"generalTooltipText": "",
|
"generalTooltipText": "",
|
||||||
"hideMode": "alwaysExpanded",
|
"hideMode": "alwaysExpanded",
|
||||||
"icon": "eye",
|
"icon": "eye",
|
||||||
|
"iconPosition": "left",
|
||||||
"id": "CustomButton",
|
"id": "CustomButton",
|
||||||
"ipcIdentifier": "",
|
"ipcIdentifier": "",
|
||||||
"leftClickExec": "/home/aiden/toggle-transparency.sh",
|
"leftClickExec": "/home/aiden/toggle-transparency.sh",
|
||||||
@@ -283,6 +320,7 @@
|
|||||||
{
|
{
|
||||||
"colorizeDistroLogo": false,
|
"colorizeDistroLogo": false,
|
||||||
"colorizeSystemIcon": "none",
|
"colorizeSystemIcon": "none",
|
||||||
|
"colorizeSystemText": "none",
|
||||||
"customIconPath": "/home/aiden/Pictures/Icons/Void_Linux_logo-notext.png",
|
"customIconPath": "/home/aiden/Pictures/Icons/Void_Linux_logo-notext.png",
|
||||||
"enableColorization": false,
|
"enableColorization": false,
|
||||||
"icon": "noctalia",
|
"icon": "noctalia",
|
||||||
@@ -552,7 +590,7 @@
|
|||||||
"dockType": "floating",
|
"dockType": "floating",
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"floatingRatio": 1,
|
"floatingRatio": 1,
|
||||||
"groupApps": false,
|
"groupApps": true,
|
||||||
"groupClickAction": "cycle",
|
"groupClickAction": "cycle",
|
||||||
"groupContextMenuMode": "extended",
|
"groupContextMenuMode": "extended",
|
||||||
"groupIndicatorStyle": "dots",
|
"groupIndicatorStyle": "dots",
|
||||||
@@ -573,14 +611,14 @@
|
|||||||
"Alacritty",
|
"Alacritty",
|
||||||
"Firefox",
|
"Firefox",
|
||||||
"com.discordapp.Discord",
|
"com.discordapp.Discord",
|
||||||
"firefox"
|
"element-desktop"
|
||||||
],
|
],
|
||||||
"pinnedStatic": true,
|
"pinnedStatic": true,
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"showDockIndicator": false,
|
"showDockIndicator": false,
|
||||||
"showLauncherIcon": false,
|
"showLauncherIcon": true,
|
||||||
"sitOnFrame": false,
|
"sitOnFrame": false,
|
||||||
"size": 0.72
|
"size": 1
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
"allowPanelsOnScreenWithoutBar": true,
|
"allowPanelsOnScreenWithoutBar": true,
|
||||||
@@ -593,12 +631,12 @@
|
|||||||
"clockFormat": "hh:mm\\nt",
|
"clockFormat": "hh:mm\\nt",
|
||||||
"clockStyle": "custom",
|
"clockStyle": "custom",
|
||||||
"compactLockScreen": false,
|
"compactLockScreen": false,
|
||||||
"dimmerOpacity": 0,
|
"dimmerOpacity": 0.2,
|
||||||
"enableBlurBehind": true,
|
"enableBlurBehind": true,
|
||||||
"enableLockScreenCountdown": true,
|
"enableLockScreenCountdown": true,
|
||||||
"enableLockScreenMediaControls": true,
|
"enableLockScreenMediaControls": true,
|
||||||
"enableShadows": true,
|
"enableShadows": true,
|
||||||
"forceBlackScreenCorners": false,
|
"forceBlackScreenCorners": true,
|
||||||
"iRadiusRatio": 1,
|
"iRadiusRatio": 1,
|
||||||
"keybinds": {
|
"keybinds": {
|
||||||
"keyDown": [
|
"keyDown": [
|
||||||
@@ -642,7 +680,7 @@
|
|||||||
"shadowOffsetY": 3,
|
"shadowOffsetY": 3,
|
||||||
"showChangelogOnStartup": true,
|
"showChangelogOnStartup": true,
|
||||||
"showHibernateOnLockScreen": true,
|
"showHibernateOnLockScreen": true,
|
||||||
"showScreenCorners": false,
|
"showScreenCorners": true,
|
||||||
"showSessionButtonsOnLockScreen": true,
|
"showSessionButtonsOnLockScreen": true,
|
||||||
"smoothScrollEnabled": true,
|
"smoothScrollEnabled": true,
|
||||||
"telemetryEnabled": true
|
"telemetryEnabled": true
|
||||||
@@ -876,6 +914,10 @@
|
|||||||
{
|
{
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"id": "btop"
|
"id": "btop"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"id": "steam"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"enableUserTheming": false
|
"enableUserTheming": false
|
||||||
@@ -886,7 +928,7 @@
|
|||||||
"fontDefaultScale": 1,
|
"fontDefaultScale": 1,
|
||||||
"fontFixed": "monospace",
|
"fontFixed": "monospace",
|
||||||
"fontFixedScale": 1,
|
"fontFixedScale": 1,
|
||||||
"panelBackgroundOpacity": 0.73,
|
"panelBackgroundOpacity": 0.4,
|
||||||
"panelsAttachedToBar": true,
|
"panelsAttachedToBar": true,
|
||||||
"scrollbarAlwaysVisible": true,
|
"scrollbarAlwaysVisible": true,
|
||||||
"settingsPanelMode": "centered",
|
"settingsPanelMode": "centered",
|
||||||
|
|||||||
@@ -3,4 +3,3 @@ git -C ~/void-packages/ pull --rebase
|
|||||||
~/void-packages/xbps-src update-local
|
~/void-packages/xbps-src update-local
|
||||||
cat local-package-list.txt | xargs -n1 ~/void-packages/xbps-src update-check
|
cat local-package-list.txt | xargs -n1 ~/void-packages/xbps-src update-check
|
||||||
sudo xbps-install -Su
|
sudo xbps-install -Su
|
||||||
read -p "Press enter to continue"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user