mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-02 03:28:28 -04:00
feat(Battery): add horizontal battery pill style option in widget settings
This commit is contained in:
@@ -760,6 +760,8 @@ Singleton {
|
||||
property bool showBatteryPercentOnlyOnBattery: false
|
||||
property bool showBatteryTime: false
|
||||
property bool showBatteryTimeOnlyOnBattery: false
|
||||
property bool batteryPillStyle: false
|
||||
property bool batteryPillPercentSign: false
|
||||
property bool lockBeforeSuspend: false
|
||||
property bool loginctlLockIntegration: true
|
||||
property bool fadeToLockEnabled: true
|
||||
|
||||
@@ -32,6 +32,8 @@ Singleton {
|
||||
showBatteryPercentOnlyOnBattery: false,
|
||||
showBatteryTime: false,
|
||||
showBatteryTimeOnlyOnBattery: false,
|
||||
batteryPillStyle: false,
|
||||
batteryPillPercentSign: false,
|
||||
showPrinterIcon: false,
|
||||
showScreenSharingIcon: true
|
||||
};
|
||||
@@ -95,6 +97,10 @@ Singleton {
|
||||
item.showBatteryTime = order[i].showBatteryTime;
|
||||
if (isObj && order[i].showBatteryTimeOnlyOnBattery !== undefined)
|
||||
item.showBatteryTimeOnlyOnBattery = order[i].showBatteryTimeOnlyOnBattery;
|
||||
if (isObj && order[i].batteryPillStyle !== undefined)
|
||||
item.batteryPillStyle = order[i].batteryPillStyle;
|
||||
if (isObj && order[i].batteryPillPercentSign !== undefined)
|
||||
item.batteryPillPercentSign = order[i].batteryPillPercentSign;
|
||||
if (isObj && order[i].showPrinterIcon !== undefined)
|
||||
item.showPrinterIcon = order[i].showPrinterIcon;
|
||||
if (isObj && order[i].showScreenSharingIcon !== undefined)
|
||||
|
||||
@@ -102,6 +102,8 @@ var SPEC = {
|
||||
showBatteryPercentOnlyOnBattery: { def: false },
|
||||
showBatteryTime: { def: false },
|
||||
showBatteryTimeOnlyOnBattery: { def: false },
|
||||
batteryPillStyle: { def: false },
|
||||
batteryPillPercentSign: { def: false },
|
||||
showControlCenterButton: { def: true },
|
||||
showCapsLockIndicator: { def: true },
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import QtQuick
|
||||
import QtQuick.Shapes
|
||||
import Quickshell.Services.UPower
|
||||
import qs.Common
|
||||
import qs.Modules.Plugins
|
||||
@@ -19,6 +20,8 @@ BasePill {
|
||||
}
|
||||
readonly property bool showTime: widgetData?.showBatteryTime !== undefined ? widgetData.showBatteryTime : SettingsData.showBatteryTime
|
||||
readonly property bool showTimeOnlyOnBattery: widgetData?.showBatteryTimeOnlyOnBattery !== undefined ? widgetData.showBatteryTimeOnlyOnBattery : SettingsData.showBatteryTimeOnlyOnBattery
|
||||
readonly property bool pillStyle: widgetData?.batteryPillStyle !== undefined ? widgetData.batteryPillStyle : SettingsData.batteryPillStyle
|
||||
readonly property bool pillPercentSign: widgetData?.batteryPillPercentSign !== undefined ? widgetData.batteryPillPercentSign : SettingsData.batteryPillPercentSign
|
||||
|
||||
readonly property string batteryTimeText: {
|
||||
if (showTimeOnlyOnBattery && BatteryService.isPluggedIn) {
|
||||
@@ -29,7 +32,8 @@ BasePill {
|
||||
}
|
||||
|
||||
readonly property string verticalBatteryTimeText: {
|
||||
if (!batteryTimeText) return "";
|
||||
if (!batteryTimeText)
|
||||
return "";
|
||||
|
||||
// Parse batteryTimeText, e.g., "2h 41m" or "41m"
|
||||
let hours = 0;
|
||||
@@ -64,6 +68,14 @@ BasePill {
|
||||
return "";
|
||||
}
|
||||
|
||||
// Percent always stays inside the pill; only the time shows beside it.
|
||||
readonly property string horizontalSideText: {
|
||||
if (!pillStyle) {
|
||||
return horizontalDisplayText;
|
||||
}
|
||||
return (showTime && batteryTimeText) ? batteryTimeText : "";
|
||||
}
|
||||
|
||||
readonly property string verticalDisplayText: {
|
||||
if (showPercent && showTime && batteryTimeText) {
|
||||
return `${BatteryService.batteryLevel}\n${verticalBatteryTimeText}`;
|
||||
@@ -98,6 +110,234 @@ BasePill {
|
||||
|
||||
visible: true
|
||||
|
||||
// AOSP's battery bolt glyph (config_batterymeterBoltPath), solid-filled and
|
||||
// cropped tight to its own ink so it reads bold at normal icon size instead
|
||||
// of needing to be inflated past the bar's calibrated icon height.
|
||||
component OfficialBolt: Shape {
|
||||
id: officialBolt
|
||||
property color fillColor: Theme.surfaceText
|
||||
property real size: 16
|
||||
implicitWidth: Math.round(officialBolt.size * (6 / 13))
|
||||
implicitHeight: Math.round(officialBolt.size)
|
||||
preferredRendererType: Shape.CurveRenderer
|
||||
|
||||
ShapePath {
|
||||
fillColor: officialBolt.fillColor
|
||||
strokeColor: "transparent"
|
||||
|
||||
startX: officialBolt.width * (1 / 3)
|
||||
startY: officialBolt.height
|
||||
PathLine {
|
||||
x: officialBolt.width * (1 / 3)
|
||||
y: officialBolt.height * (7.5 / 13)
|
||||
}
|
||||
PathLine {
|
||||
x: 0
|
||||
y: officialBolt.height * (7.5 / 13)
|
||||
}
|
||||
PathLine {
|
||||
x: officialBolt.width * (2 / 3)
|
||||
y: 0
|
||||
}
|
||||
PathLine {
|
||||
x: officialBolt.width * (2 / 3)
|
||||
y: officialBolt.height * (5.5 / 13)
|
||||
}
|
||||
PathLine {
|
||||
x: officialBolt.width
|
||||
y: officialBolt.height * (5.5 / 13)
|
||||
}
|
||||
PathLine {
|
||||
x: officialBolt.width * (1 / 3)
|
||||
y: officialBolt.height
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Material 3 style horizontal/vertical battery pill with the level inside
|
||||
component BatteryPill: Item {
|
||||
id: pill
|
||||
|
||||
property real thickness: 18
|
||||
property bool vertical: false
|
||||
property bool showNumber: true
|
||||
property bool showPercentSign: false
|
||||
|
||||
readonly property int signSize: Math.max(1, Math.round(pill.glyphSize * 0.72))
|
||||
readonly property real bodyLength: Math.round(pill.thickness * 1.95)
|
||||
readonly property real level: Math.max(0, Math.min(100, BatteryService.batteryLevel))
|
||||
readonly property bool charging: BatteryService.isCharging
|
||||
readonly property bool lowState: BatteryService.isLowBattery && !BatteryService.isCharging
|
||||
readonly property color fillColor: {
|
||||
if (!BatteryService.batteryAvailable)
|
||||
return Theme.surfaceVariant;
|
||||
if (pill.lowState)
|
||||
return Theme.error;
|
||||
return Theme.primary;
|
||||
}
|
||||
readonly property color onFillColor: {
|
||||
const c = pill.fillColor;
|
||||
const lum = 0.299 * c.r + 0.587 * c.g + 0.114 * c.b;
|
||||
return lum > 0.5 ? Qt.rgba(0, 0, 0, 0.9) : Qt.rgba(1, 1, 1, 0.95);
|
||||
}
|
||||
readonly property string numberText: Math.round(pill.level).toString()
|
||||
readonly property int glyphSize: Math.round(pill.thickness * 0.58)
|
||||
readonly property int boltSize: Math.round(pill.thickness * 0.72)
|
||||
readonly property real nubBreadth: Math.round(pill.thickness * 0.16)
|
||||
readonly property real nubSpan: Math.round(pill.thickness * 0.46)
|
||||
|
||||
implicitWidth: pill.vertical ? pill.thickness : Math.max(pill.bodyLength, (!pill.vertical && pill.showNumber) ? numRowTrack.width + pill.thickness * 0.7 : 0) + pill.nubBreadth
|
||||
implicitHeight: pill.vertical ? pill.bodyLength + pill.nubBreadth : pill.thickness
|
||||
|
||||
Rectangle {
|
||||
id: body
|
||||
x: 0
|
||||
y: pill.vertical ? pill.nubBreadth : 0
|
||||
width: pill.vertical ? parent.width : parent.width - pill.nubBreadth
|
||||
height: pill.vertical ? parent.height - pill.nubBreadth : parent.height
|
||||
radius: Math.round(Math.min(width, height) * 0.34)
|
||||
color: Theme.withAlpha(Theme.surfaceVariant, 0.9)
|
||||
|
||||
Rectangle {
|
||||
id: fill
|
||||
radius: body.radius
|
||||
color: pill.fillColor
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
width: pill.vertical ? parent.width : Math.round(parent.width * pill.level / 100)
|
||||
height: pill.vertical ? Math.round(parent.height * pill.level / 100) : parent.height
|
||||
|
||||
Behavior on width {
|
||||
enabled: !pill.vertical
|
||||
NumberAnimation {
|
||||
duration: Theme.mediumDuration
|
||||
easing.type: Theme.standardEasing
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on height {
|
||||
enabled: pill.vertical
|
||||
NumberAnimation {
|
||||
duration: Theme.mediumDuration
|
||||
easing.type: Theme.standardEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Tinted for the empty track. Horizontal always shows the number;
|
||||
// vertical swaps in a centered bolt while charging.
|
||||
Item {
|
||||
id: glyphTrack
|
||||
anchors.fill: parent
|
||||
visible: BatteryService.batteryAvailable && ((pill.charging && pill.vertical) || (!pill.vertical && pill.showNumber))
|
||||
|
||||
Row {
|
||||
id: numRowTrack
|
||||
visible: !pill.vertical && pill.showNumber
|
||||
anchors.centerIn: parent
|
||||
spacing: 1
|
||||
|
||||
StyledText {
|
||||
id: numTrack
|
||||
text: pill.numberText
|
||||
color: Theme.surfaceText
|
||||
font.pixelSize: pill.glyphSize
|
||||
font.weight: Font.Bold
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: "%"
|
||||
visible: pill.showPercentSign
|
||||
color: Theme.surfaceText
|
||||
font.pixelSize: pill.signSize
|
||||
font.weight: Font.Bold
|
||||
anchors.baseline: numTrack.baseline
|
||||
}
|
||||
}
|
||||
|
||||
DankIcon {
|
||||
name: "bolt"
|
||||
size: pill.boltSize
|
||||
color: Theme.surfaceText
|
||||
visible: pill.charging && pill.vertical
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
||||
|
||||
// Same glyphs tinted for the fill, clipped so they stay legible over it.
|
||||
Item {
|
||||
visible: glyphTrack.visible
|
||||
x: fill.x
|
||||
y: fill.y
|
||||
width: fill.width
|
||||
height: fill.height
|
||||
clip: true
|
||||
|
||||
Item {
|
||||
x: -fill.x
|
||||
y: -fill.y
|
||||
width: body.width
|
||||
height: body.height
|
||||
|
||||
Row {
|
||||
visible: !pill.vertical && pill.showNumber
|
||||
anchors.centerIn: parent
|
||||
spacing: 1
|
||||
|
||||
StyledText {
|
||||
id: numFill
|
||||
text: pill.numberText
|
||||
color: pill.onFillColor
|
||||
font.pixelSize: pill.glyphSize
|
||||
font.weight: Font.Bold
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: "%"
|
||||
visible: pill.showPercentSign
|
||||
color: pill.onFillColor
|
||||
font.pixelSize: pill.signSize
|
||||
font.weight: Font.Bold
|
||||
anchors.baseline: numFill.baseline
|
||||
}
|
||||
}
|
||||
|
||||
DankIcon {
|
||||
name: "bolt"
|
||||
size: pill.boltSize
|
||||
color: pill.onFillColor
|
||||
visible: pill.charging && pill.vertical
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Battery terminal nub, colored to match the outline/track so it
|
||||
// reads as part of the same frame rather than a fill segment.
|
||||
Rectangle {
|
||||
visible: !pill.vertical
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: pill.nubBreadth
|
||||
height: pill.nubSpan
|
||||
radius: Math.round(pill.nubBreadth * 0.35)
|
||||
color: Theme.withAlpha(Theme.surfaceVariant, 0.9)
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
visible: pill.vertical
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: pill.nubSpan
|
||||
height: pill.nubBreadth
|
||||
radius: Math.round(pill.nubBreadth * 0.35)
|
||||
color: Theme.withAlpha(Theme.surfaceVariant, 0.9)
|
||||
}
|
||||
}
|
||||
|
||||
content: Component {
|
||||
Item {
|
||||
implicitWidth: battery.isVerticalOrientation ? (battery.widgetThickness - battery.horizontalPadding * 2) : batteryContent.implicitWidth
|
||||
@@ -111,6 +351,7 @@ BasePill {
|
||||
|
||||
DankIcon {
|
||||
name: BatteryService.getBatteryIcon()
|
||||
visible: !battery.pillStyle
|
||||
size: Theme.barIconSize(battery.barThickness, undefined, battery.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
||||
color: {
|
||||
if (!BatteryService.batteryAvailable) {
|
||||
@@ -130,6 +371,14 @@ BasePill {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
BatteryPill {
|
||||
visible: battery.pillStyle
|
||||
vertical: true
|
||||
showNumber: false
|
||||
thickness: Theme.barIconSize(battery.barThickness, undefined, battery.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: battery.verticalDisplayText
|
||||
font.pixelSize: Theme.barTextSize(battery.barThickness, battery.barConfig?.fontScale, battery.barConfig?.maximizeWidgetText)
|
||||
@@ -148,6 +397,7 @@ BasePill {
|
||||
|
||||
DankIcon {
|
||||
name: BatteryService.getBatteryIcon()
|
||||
visible: !battery.pillStyle
|
||||
size: Theme.barIconSize(battery.barThickness, -4, battery.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
||||
color: {
|
||||
if (!BatteryService.batteryAvailable) {
|
||||
@@ -167,12 +417,28 @@ BasePill {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
BatteryPill {
|
||||
visible: battery.pillStyle
|
||||
vertical: false
|
||||
showNumber: battery.showPercent
|
||||
showPercentSign: battery.pillPercentSign
|
||||
thickness: Theme.barIconSize(battery.barThickness, -4, battery.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
OfficialBolt {
|
||||
visible: battery.pillStyle && BatteryService.batteryAvailable && BatteryService.isCharging
|
||||
fillColor: Theme.primary
|
||||
size: Math.round(Theme.barIconSize(battery.barThickness, -4, battery.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale) * 0.85)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: battery.horizontalDisplayText
|
||||
text: battery.horizontalSideText
|
||||
font.pixelSize: Theme.barTextSize(battery.barThickness, battery.barConfig?.fontScale, battery.barConfig?.maximizeWidgetText)
|
||||
color: Theme.widgetTextColor
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: BatteryService.batteryAvailable && battery.horizontalDisplayText !== ""
|
||||
visible: BatteryService.batteryAvailable && battery.horizontalSideText !== ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,6 +485,8 @@ Item {
|
||||
widgetObj.showBatteryPercentOnlyOnBattery = SettingsData.showBatteryPercentOnlyOnBattery;
|
||||
widgetObj.showBatteryTime = SettingsData.showBatteryTime;
|
||||
widgetObj.showBatteryTimeOnlyOnBattery = SettingsData.showBatteryTimeOnlyOnBattery;
|
||||
widgetObj.batteryPillStyle = SettingsData.batteryPillStyle;
|
||||
widgetObj.batteryPillPercentSign = SettingsData.batteryPillPercentSign;
|
||||
}
|
||||
if (widgetId === "runningApps") {
|
||||
widgetObj.runningAppsCompactMode = SettingsData.runningAppsCompactMode;
|
||||
@@ -524,7 +526,7 @@ Item {
|
||||
"id": widget.id,
|
||||
"enabled": widget.enabled
|
||||
};
|
||||
var keys = ["size", "selectedGpuIndex", "pciId", "mountPath", "diskUsageMode", "minimumWidth", "showSwap", "showInGb", "mediaSize", "clockCompactMode", "focusedWindowSize", "focusedWindowCompactMode", "runningAppsCompactMode", "keyboardLayoutNameCompactMode", "keyboardLayoutNameShowIcon", "runningAppsGroupByApp", "runningAppsCurrentWorkspace", "runningAppsCurrentMonitor", "showNetworkIcon", "showBluetoothIcon", "showAudioIcon", "showAudioPercent", "showVpnIcon", "showBrightnessIcon", "showBrightnessPercent", "showMicIcon", "showMicPercent", "showBatteryIcon", "showBatteryPercent", "showBatteryPercentOnlyOnBattery", "showBatteryTime", "showBatteryTimeOnlyOnBattery", "showPrinterIcon", "showScreenSharingIcon", "showIdleInhibitorIcon", "showDoNotDisturbIcon", "controlCenterGroupOrder", "barMaxVisibleApps", "barMaxVisibleRunningApps", "barShowOverflowBadge", "trayUseInlineExpansion", "trayPopupSingleLine", "trayAutoOverflow", "trayMaxVisibleItems", "hideWhenIdle"];
|
||||
var keys = ["size", "selectedGpuIndex", "pciId", "mountPath", "diskUsageMode", "minimumWidth", "showSwap", "showInGb", "mediaSize", "clockCompactMode", "focusedWindowSize", "focusedWindowCompactMode", "runningAppsCompactMode", "keyboardLayoutNameCompactMode", "keyboardLayoutNameShowIcon", "runningAppsGroupByApp", "runningAppsCurrentWorkspace", "runningAppsCurrentMonitor", "showNetworkIcon", "showBluetoothIcon", "showAudioIcon", "showAudioPercent", "showVpnIcon", "showBrightnessIcon", "showBrightnessPercent", "showMicIcon", "showMicPercent", "showBatteryIcon", "showBatteryPercent", "showBatteryPercentOnlyOnBattery", "showBatteryTime", "showBatteryTimeOnlyOnBattery", "batteryPillStyle", "batteryPillPercentSign", "showPrinterIcon", "showScreenSharingIcon", "showIdleInhibitorIcon", "showDoNotDisturbIcon", "controlCenterGroupOrder", "barMaxVisibleApps", "barMaxVisibleRunningApps", "barShowOverflowBadge", "trayUseInlineExpansion", "trayPopupSingleLine", "trayAutoOverflow", "trayMaxVisibleItems", "hideWhenIdle"];
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
if (widget[keys[i]] !== undefined)
|
||||
result[keys[i]] = widget[keys[i]];
|
||||
@@ -1023,6 +1025,10 @@ Item {
|
||||
item.showBatteryTime = widget.showBatteryTime;
|
||||
if (widget.showBatteryTimeOnlyOnBattery !== undefined)
|
||||
item.showBatteryTimeOnlyOnBattery = widget.showBatteryTimeOnlyOnBattery;
|
||||
if (widget.batteryPillStyle !== undefined)
|
||||
item.batteryPillStyle = widget.batteryPillStyle;
|
||||
if (widget.batteryPillPercentSign !== undefined)
|
||||
item.batteryPillPercentSign = widget.batteryPillPercentSign;
|
||||
if (widget.showPrinterIcon !== undefined)
|
||||
item.showPrinterIcon = widget.showPrinterIcon;
|
||||
if (widget.showScreenSharingIcon !== undefined)
|
||||
|
||||
@@ -112,8 +112,6 @@
|
||||
"AUR helpers are interactive — see the terminal window for prompts. This popout will return to idle when the upgrade exits.",
|
||||
"Aborted",
|
||||
"About",
|
||||
"Accent Color",
|
||||
"Accept",
|
||||
"Accept Jobs",
|
||||
"Accepting",
|
||||
"Access clipboard history",
|
||||
@@ -127,7 +125,6 @@
|
||||
"Activate",
|
||||
"Activate Greeter",
|
||||
"Activate the DMS greeter? A terminal will open for sudo authentication. Run Sync after activation to apply your settings.",
|
||||
"Activation",
|
||||
"Active",
|
||||
"Active Color",
|
||||
"Active VPN",
|
||||
@@ -182,7 +179,6 @@
|
||||
"Also group repeated application icons on the active workspace",
|
||||
"Alt+←/Backspace: Back • F1/I: File Info • F10: Help • Esc: Close",
|
||||
"Alternative (OR)",
|
||||
"Always Active",
|
||||
"Always Show Percentage",
|
||||
"Always blur against the wallpaper, even with Xray off",
|
||||
"Always hide the dock and reveal it when hovering near the dock area",
|
||||
@@ -321,7 +317,6 @@
|
||||
"Available Plugins",
|
||||
"Available Screens (%1)",
|
||||
"Available Updates (%1)",
|
||||
"Available in Detailed and Forecast view modes",
|
||||
"Available.",
|
||||
"BSSID",
|
||||
"Back",
|
||||
@@ -411,7 +406,6 @@
|
||||
"Brightness Value",
|
||||
"Brightness control not available",
|
||||
"Browse",
|
||||
"Browse Files",
|
||||
"Browse Plugins",
|
||||
"Browse Themes",
|
||||
"Browse and set wallpapers",
|
||||
@@ -477,7 +471,6 @@
|
||||
"Choose a color",
|
||||
"Choose a power profile",
|
||||
"Choose colors from palette",
|
||||
"Choose how the weather widget is displayed",
|
||||
"Choose how this bar resolves shadow direction",
|
||||
"Choose how to be notified about critical battery alerts.",
|
||||
"Choose how to be notified about low battery alerts.",
|
||||
@@ -495,7 +488,6 @@
|
||||
"Choose which action buttons appear on clipboard entries",
|
||||
"Choose which displays show this widget",
|
||||
"Choose which monitors show the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.",
|
||||
"Chroma Style",
|
||||
"Cipher",
|
||||
"Circle",
|
||||
"Class regex",
|
||||
@@ -523,7 +515,6 @@
|
||||
"Clipboard History",
|
||||
"Clipboard Manager",
|
||||
"Clipboard Saved",
|
||||
"Clipboard sent",
|
||||
"Clipboard works but nothing saved to disk",
|
||||
"Clock",
|
||||
"Clock Style",
|
||||
@@ -545,8 +536,6 @@
|
||||
"Color shown for areas not covered by wallpaper",
|
||||
"Color temperature for day time",
|
||||
"Color temperature for night mode",
|
||||
"Color theme for syntax highlighting.",
|
||||
"Color theme for syntax highlighting. %1 themes available.",
|
||||
"Color theme from DMS registry",
|
||||
"Colorful",
|
||||
"Colorful mix of bright contrasting accents.",
|
||||
@@ -603,7 +592,6 @@
|
||||
"Connection failed",
|
||||
"Contains",
|
||||
"Content",
|
||||
"Content copied",
|
||||
"Contrast",
|
||||
"Contributor",
|
||||
"Control Center",
|
||||
@@ -629,13 +617,9 @@
|
||||
"Convenience options for the login screen. Sync to apply.",
|
||||
"Convert to DMS",
|
||||
"Cooldown",
|
||||
"Copied GIF",
|
||||
"Copied MP4",
|
||||
"Copied WebP",
|
||||
"Copied to clipboard",
|
||||
"Copied!",
|
||||
"Copy",
|
||||
"Copy Content",
|
||||
"Copy Full Command",
|
||||
"Copy HTML",
|
||||
"Copy Name",
|
||||
@@ -789,7 +773,6 @@
|
||||
"Desktop Widget",
|
||||
"Desktop Widgets",
|
||||
"Desktop background images",
|
||||
"Detailed",
|
||||
"Details for \"%1\"",
|
||||
"Detected backends: %1",
|
||||
"Development",
|
||||
@@ -798,7 +781,6 @@
|
||||
"Device list scroll volume",
|
||||
"Device names updated",
|
||||
"Device paired",
|
||||
"Device unpaired",
|
||||
"Diff",
|
||||
"Digital",
|
||||
"Direction Source",
|
||||
@@ -838,7 +820,6 @@
|
||||
"Display brightness control",
|
||||
"Display configuration is not available. WLR output management protocol not supported.",
|
||||
"Display currently focused application title",
|
||||
"Display hourly weather predictions",
|
||||
"Display line numbers in editor",
|
||||
"Display name for this entry",
|
||||
"Display only workspaces that contain windows",
|
||||
@@ -946,7 +927,6 @@
|
||||
"Enter 6-digit passkey",
|
||||
"Enter PIN",
|
||||
"Enter PIN for ",
|
||||
"Enter URI or text to share",
|
||||
"Enter a new name for session \"%1\"",
|
||||
"Enter a new name for this workspace",
|
||||
"Enter command or script path",
|
||||
@@ -995,7 +975,6 @@
|
||||
"Fade",
|
||||
"Fade to lock screen",
|
||||
"Fade to monitor off",
|
||||
"Failed to accept pairing",
|
||||
"Failed to activate configuration",
|
||||
"Failed to add binds include",
|
||||
"Failed to add printer to class",
|
||||
@@ -1003,7 +982,6 @@
|
||||
"Failed to apply Qt colors",
|
||||
"Failed to apply charge limit to system",
|
||||
"Failed to apply profile",
|
||||
"Failed to browse device",
|
||||
"Failed to cancel all jobs",
|
||||
"Failed to cancel selected job",
|
||||
"Failed to check pin limit",
|
||||
@@ -1029,7 +1007,6 @@
|
||||
"Failed to generate systemd override",
|
||||
"Failed to hold job",
|
||||
"Failed to import VPN",
|
||||
"Failed to launch SMS app",
|
||||
"Failed to load VPN config",
|
||||
"Failed to load clipboard configuration.",
|
||||
"Failed to move job",
|
||||
@@ -1041,7 +1018,6 @@
|
||||
"Failed to pin entry",
|
||||
"Failed to print test page",
|
||||
"Failed to read theme file: %1",
|
||||
"Failed to reject pairing",
|
||||
"Failed to reload plugin: %1",
|
||||
"Failed to remove QR code at %1: %2",
|
||||
"Failed to remove device",
|
||||
@@ -1050,17 +1026,12 @@
|
||||
"Failed to restart audio system",
|
||||
"Failed to restart job",
|
||||
"Failed to resume printer",
|
||||
"Failed to ring device",
|
||||
"Failed to run 'dms greeter status'. Ensure DMS is installed and dms is in PATH.",
|
||||
"Failed to save VPN credentials",
|
||||
"Failed to save audio config",
|
||||
"Failed to save clipboard setting",
|
||||
"Failed to save keybind",
|
||||
"Failed to save profile",
|
||||
"Failed to send SMS",
|
||||
"Failed to send clipboard",
|
||||
"Failed to send file",
|
||||
"Failed to send ping",
|
||||
"Failed to set brightness",
|
||||
"Failed to set night mode location",
|
||||
"Failed to set night mode schedule",
|
||||
@@ -1068,7 +1039,6 @@
|
||||
"Failed to set power profile",
|
||||
"Failed to set profile image",
|
||||
"Failed to set profile image: %1",
|
||||
"Failed to share",
|
||||
"Failed to start connection to %1",
|
||||
"Failed to unpin entry",
|
||||
"Failed to update %1: %2",
|
||||
@@ -1083,7 +1053,6 @@
|
||||
"Failed to write temp file for validation",
|
||||
"Failed: %1",
|
||||
"Features",
|
||||
"Feels",
|
||||
"Feels Like",
|
||||
"Feels Like %1°",
|
||||
"Fidelity",
|
||||
@@ -1094,7 +1063,6 @@
|
||||
"File Manager",
|
||||
"File changed on disk",
|
||||
"File manager used to open the trash. Pick \"custom\" to enter your own command.",
|
||||
"File received from",
|
||||
"File search requires dsearch\nInstall from github.com/AvengeMedia/danksearch",
|
||||
"File search unavailable",
|
||||
"Files",
|
||||
@@ -1165,8 +1133,6 @@
|
||||
"Force RGBX",
|
||||
"Force Wide Color",
|
||||
"Force terminal applications to always use dark color schemes",
|
||||
"Forecast",
|
||||
"Forecast Days",
|
||||
"Forecast Not Available",
|
||||
"Forecast and conditions",
|
||||
"Foreground Layers",
|
||||
@@ -1177,7 +1143,6 @@
|
||||
"Forget Network",
|
||||
"Forgot network %1",
|
||||
"Format Legend",
|
||||
"Forward 10s",
|
||||
"Frame",
|
||||
"Frame Blur",
|
||||
"Frame Blur follows Background Blur in Theme & Colors",
|
||||
@@ -1315,7 +1280,6 @@
|
||||
"Hotkey overlay title (optional)",
|
||||
"Hour",
|
||||
"Hourly",
|
||||
"Hourly Forecast Count",
|
||||
"Hover Popouts",
|
||||
"How often the server polls for new updates.",
|
||||
"How often to change wallpaper",
|
||||
@@ -1428,10 +1392,7 @@
|
||||
"Keeping Awake",
|
||||
"Kernel",
|
||||
"Key",
|
||||
"Keybind Sources",
|
||||
"Keybinds",
|
||||
"Keybinds Search Settings",
|
||||
"Keybinds shown alongside regular search results",
|
||||
"Keyboard Layout Name",
|
||||
"Keyboard Shortcuts",
|
||||
"Keys",
|
||||
@@ -1487,7 +1448,6 @@
|
||||
"Load Average",
|
||||
"Loading codecs...",
|
||||
"Loading keybinds...",
|
||||
"Loading trending...",
|
||||
"Loading...",
|
||||
"Local",
|
||||
"Local Weather",
|
||||
@@ -1525,7 +1485,6 @@
|
||||
"MTU",
|
||||
"Mail",
|
||||
"Make admin",
|
||||
"Make sure KDE Connect or Valent is running on your other devices",
|
||||
"Make the bar background fully transparent",
|
||||
"Manage and configure plugins for extending DMS functionality",
|
||||
"Manage up to 4 independent bar configurations. Each bar has its own position, widgets, styling, and display assignment.",
|
||||
@@ -1554,6 +1513,7 @@
|
||||
"Match Conditions",
|
||||
"Match Criteria",
|
||||
"Material",
|
||||
"Material Battery Style",
|
||||
"Material Colors",
|
||||
"Material Design inspired color themes",
|
||||
"Material colors generated from wallpaper",
|
||||
@@ -1606,7 +1566,6 @@
|
||||
"Memory usage indicator",
|
||||
"Merge indexed file results into the All tab (requires dsearch).",
|
||||
"Merge indexed folder results into the All tab (requires dsearch).",
|
||||
"Message",
|
||||
"Message Content",
|
||||
"Microphone",
|
||||
"Microphone Mute",
|
||||
@@ -1676,7 +1635,6 @@
|
||||
"Network Name (SSID)",
|
||||
"Network Speed Monitor",
|
||||
"Network Status",
|
||||
"Network Type",
|
||||
"Network download and upload speed display",
|
||||
"Network not found",
|
||||
"Neutral",
|
||||
@@ -1721,7 +1679,6 @@
|
||||
"No Shadow",
|
||||
"No VPN profiles",
|
||||
"No Weather",
|
||||
"No Weather Data",
|
||||
"No Weather Data Available",
|
||||
"No action",
|
||||
"No active %1 sessions",
|
||||
@@ -1754,7 +1711,6 @@
|
||||
"No folders found",
|
||||
"No hidden apps.",
|
||||
"No human user accounts found.",
|
||||
"No images found",
|
||||
"No info items",
|
||||
"No information available",
|
||||
"No input device",
|
||||
@@ -1820,7 +1776,6 @@
|
||||
"Not connected",
|
||||
"Not detected",
|
||||
"Not listed?",
|
||||
"Not paired",
|
||||
"Not set",
|
||||
"Notepad",
|
||||
"Notepad Settings",
|
||||
@@ -1850,7 +1805,6 @@
|
||||
"Occupied Color",
|
||||
"Off",
|
||||
"Office",
|
||||
"Offline",
|
||||
"Offline Report",
|
||||
"Older",
|
||||
"On",
|
||||
@@ -1867,7 +1821,6 @@
|
||||
"Opacity",
|
||||
"Opaque",
|
||||
"Open",
|
||||
"Open App",
|
||||
"Open Delay",
|
||||
"Open Dir",
|
||||
"Open Frame",
|
||||
@@ -1879,14 +1832,11 @@
|
||||
"Open a terminal and run a custom command instead of the in-shell upgrade flow.",
|
||||
"Open as window",
|
||||
"Open folder",
|
||||
"Open in Browser",
|
||||
"Open in terminal",
|
||||
"Open search bar to find text",
|
||||
"Open the launcher by hovering the emerge edge (when free of bar and dock)",
|
||||
"Open widget popouts by hovering over the bar. Moving to another widget switches the popout.",
|
||||
"Open with...",
|
||||
"Opening SMS app",
|
||||
"Opening file browser",
|
||||
"Opening terminal: ",
|
||||
"Opens a picker of other active sessions on this seat",
|
||||
"Opens image files",
|
||||
@@ -1936,11 +1886,7 @@
|
||||
"Pair",
|
||||
"Pair Bluetooth Device",
|
||||
"Paired",
|
||||
"Pairing",
|
||||
"Pairing failed",
|
||||
"Pairing request from",
|
||||
"Pairing request sent",
|
||||
"Pairing requested",
|
||||
"Pairing...",
|
||||
"Partly Cloudy",
|
||||
"Passkey:",
|
||||
@@ -1969,8 +1915,6 @@
|
||||
"Permanently delete %1 item(s)? This cannot be undone.",
|
||||
"Permission denied to set profile image.",
|
||||
"Personalization",
|
||||
"Phone Connect Not Available",
|
||||
"Phone number",
|
||||
"Pick a different file manager in Settings → Dock → Trash.",
|
||||
"Pick a different random video each time from the same folder",
|
||||
"Pick a terminal in Settings → Launcher (or set $TERMINAL).",
|
||||
@@ -1978,8 +1922,6 @@
|
||||
"Pictures",
|
||||
"Pin",
|
||||
"Pin to Dock",
|
||||
"Ping",
|
||||
"Ping sent to",
|
||||
"Pinned",
|
||||
"Pinned and running apps with drag-and-drop",
|
||||
"Pixelate",
|
||||
@@ -1988,7 +1930,6 @@
|
||||
"Place plugins in %1",
|
||||
"Place the bar on the Wayland overlay layer",
|
||||
"Place the dock on the Wayland overlay layer",
|
||||
"Play",
|
||||
"Play a video when the screen locks.",
|
||||
"Play sound after logging in",
|
||||
"Play sound when new notification arrives",
|
||||
@@ -2048,7 +1989,6 @@
|
||||
"Power source",
|
||||
"Pre-fill the last successful username on the greeter",
|
||||
"Pre-select the last used session on the greeter",
|
||||
"Precip",
|
||||
"Precipitation",
|
||||
"Precipitation Chance",
|
||||
"Preference",
|
||||
@@ -2062,7 +2002,6 @@
|
||||
"Prevent specific applications from displaying in the media controllers (e.g., browser audio streams, background tools). Matches player identity or desktop file name case-insensitively.",
|
||||
"Preview",
|
||||
"Preview: %1",
|
||||
"Previous",
|
||||
"Previous page",
|
||||
"Primary",
|
||||
"Primary Container",
|
||||
@@ -2125,7 +2064,6 @@
|
||||
"Reboot",
|
||||
"Recent",
|
||||
"Recent Colors",
|
||||
"Recent Images",
|
||||
"Recently Used Apps",
|
||||
"Recommended available",
|
||||
"Refresh",
|
||||
@@ -2133,7 +2071,6 @@
|
||||
"Refreshing...",
|
||||
"Regex",
|
||||
"Regular",
|
||||
"Reject",
|
||||
"Reject Jobs",
|
||||
"Related: %1",
|
||||
"Release",
|
||||
@@ -2170,7 +2107,6 @@
|
||||
"Repeat",
|
||||
"Replacement",
|
||||
"Report",
|
||||
"Request Pairing",
|
||||
"Require holding button/key to confirm power off, restart, suspend, hibernate and logout",
|
||||
"Required plugin: ",
|
||||
"Requires %1",
|
||||
@@ -2203,7 +2139,6 @@
|
||||
"Reverse Scrolling Direction",
|
||||
"Reverse workspace switch direction when scrolling over the bar",
|
||||
"Revert",
|
||||
"Rewind 10s",
|
||||
"Right",
|
||||
"Right Center",
|
||||
"Right Section",
|
||||
@@ -2211,8 +2146,6 @@
|
||||
"Right-click and drag anywhere on the widget",
|
||||
"Right-click and drag the bottom-right corner",
|
||||
"Right-click bar widget to cycle",
|
||||
"Ring",
|
||||
"Ringing",
|
||||
"Ripple Effects",
|
||||
"Root Filesystem",
|
||||
"Rounded corners for windows",
|
||||
@@ -2232,8 +2165,6 @@
|
||||
"Running in terminal",
|
||||
"SDR Brightness",
|
||||
"SDR Saturation",
|
||||
"SMS",
|
||||
"SMS sent successfully",
|
||||
"Saturation",
|
||||
"Save",
|
||||
"Save Notepad File",
|
||||
@@ -2276,12 +2207,10 @@
|
||||
"Search App Actions",
|
||||
"Search Options",
|
||||
"Search applications...",
|
||||
"Search by key combo, description, or action name.\n\nDefault action copies the keybind to clipboard.\nRight-click or press Right Arrow to pin frequently used keybinds - they'll appear at the top when not searching.",
|
||||
"Search devices...",
|
||||
"Search for a location...",
|
||||
"Search installed plugins...",
|
||||
"Search keybinds...",
|
||||
"Search keyboard shortcuts from your compositor and applications",
|
||||
"Search plugins...",
|
||||
"Search processes...",
|
||||
"Search sessions...",
|
||||
@@ -2289,7 +2218,6 @@
|
||||
"Search widgets...",
|
||||
"Search...",
|
||||
"Searching",
|
||||
"Searching...",
|
||||
"Second Factor (AND)",
|
||||
"Secondary",
|
||||
"Secondary Container",
|
||||
@@ -2304,7 +2232,6 @@
|
||||
"Select Bar",
|
||||
"Select Custom Theme",
|
||||
"Select Dock Launcher Logo",
|
||||
"Select File to Send",
|
||||
"Select Launcher Logo",
|
||||
"Select Profile Image",
|
||||
"Select Video or Folder",
|
||||
@@ -2317,7 +2244,6 @@
|
||||
"Select a window...",
|
||||
"Select an active session to switch to. The current session stays running in the background.",
|
||||
"Select an image file...",
|
||||
"Select at least one provider",
|
||||
"Select background image",
|
||||
"Select device",
|
||||
"Select device...",
|
||||
@@ -2332,14 +2258,9 @@
|
||||
"Select the font family for UI text",
|
||||
"Select the palette algorithm used for wallpaper-based colors",
|
||||
"Select user...",
|
||||
"Select which keybind providers to include",
|
||||
"Select which transitions to include in randomization",
|
||||
"Select...",
|
||||
"Selected image file not found.",
|
||||
"Send",
|
||||
"Send Clipboard",
|
||||
"Send SMS",
|
||||
"Sending",
|
||||
"Separate",
|
||||
"Separate Appearance for Unfocused Display(s)",
|
||||
"Separate Light & Dark Themes",
|
||||
@@ -2374,9 +2295,7 @@
|
||||
"Shadow elevation on modals and dialogs",
|
||||
"Shadow elevation on popouts, OSDs, and dropdowns",
|
||||
"Shadows",
|
||||
"Share",
|
||||
"Share Gamma Control Settings",
|
||||
"Shared",
|
||||
"Shell",
|
||||
"Shift+Enter to copy",
|
||||
"Shift+Enter to paste",
|
||||
@@ -2396,20 +2315,15 @@
|
||||
"Show Date",
|
||||
"Show Disk",
|
||||
"Show Dock",
|
||||
"Show Feels Like Temperature",
|
||||
"Show Flatpak, Snap, AppImage, or Nix badge icons on launcher items.",
|
||||
"Show Footer",
|
||||
"Show Forecast",
|
||||
"Show GPU Temperature",
|
||||
"Show Header",
|
||||
"Show Hibernate",
|
||||
"Show Hour Numbers",
|
||||
"Show Hourly Forecast",
|
||||
"Show Humidity",
|
||||
"Show Icon",
|
||||
"Show Launcher Button",
|
||||
"Show Line Numbers",
|
||||
"Show Location",
|
||||
"Show Lock",
|
||||
"Show Log Out",
|
||||
"Show Material Design ripple animations on interactive elements",
|
||||
@@ -2427,15 +2341,12 @@
|
||||
"Show Percentage",
|
||||
"Show Power Actions",
|
||||
"Show Power Off",
|
||||
"Show Precipitation Probability",
|
||||
"Show Pressure",
|
||||
"Show Profile Image",
|
||||
"Show Reboot",
|
||||
"Show Remaining Time",
|
||||
"Show Restart DMS",
|
||||
"Show Saved Items",
|
||||
"Show Seconds",
|
||||
"Show Sunrise/Sunset",
|
||||
"Show Suspend",
|
||||
"Show Swap",
|
||||
"Show Switch User",
|
||||
@@ -2444,10 +2355,8 @@
|
||||
"Show System Time",
|
||||
"Show Top Processes",
|
||||
"Show Trash in Dock",
|
||||
"Show Weather Condition",
|
||||
"Show Week Number",
|
||||
"Show Welcome",
|
||||
"Show Wind Speed",
|
||||
"Show Workspace Apps",
|
||||
"Show a bar that drains as the popup's auto-dismiss timer runs",
|
||||
"Show a notification when battery reaches the charge limit.",
|
||||
@@ -2497,7 +2406,6 @@
|
||||
"Shrink the media widget to fit shorter song titles while still respecting the configured maximum size",
|
||||
"Shutdown",
|
||||
"Signal",
|
||||
"Signal Strength",
|
||||
"Signal:",
|
||||
"Silence for a while",
|
||||
"Silence notifications",
|
||||
@@ -2541,7 +2449,6 @@
|
||||
"Standard",
|
||||
"Standard: Classic Material Design 3 — panels rise from below with a subtle scale. The DMS default.",
|
||||
"Start",
|
||||
"Start KDE Connect or Valent to use this plugin",
|
||||
"Start typing your notes here...",
|
||||
"State",
|
||||
"Status",
|
||||
@@ -2732,10 +2639,7 @@
|
||||
"Trash",
|
||||
"Trash command failed (exit %1)",
|
||||
"Tray Icon Fix",
|
||||
"Trending GIFs",
|
||||
"Trending Stickers",
|
||||
"Trigger",
|
||||
"Trigger Prefix",
|
||||
"Trigger: %1",
|
||||
"Trust",
|
||||
"Try a different search",
|
||||
@@ -2749,11 +2653,9 @@
|
||||
"Type",
|
||||
"Type at least 2 characters",
|
||||
"Type at least 2 characters to search files.",
|
||||
"Type this prefix to search keybinds",
|
||||
"Type to search files",
|
||||
"Typography",
|
||||
"Typography & Motion",
|
||||
"URI",
|
||||
"Unavailable",
|
||||
"Uncategorized",
|
||||
"Unfocused Color",
|
||||
@@ -2782,8 +2684,6 @@
|
||||
"Unmute",
|
||||
"Unmute popups for %1",
|
||||
"Unnamed Rule",
|
||||
"Unpair",
|
||||
"Unpair failed",
|
||||
"Unpin",
|
||||
"Unpin from Dock",
|
||||
"Unsaved Changes",
|
||||
@@ -2807,7 +2707,6 @@
|
||||
"Uptime:",
|
||||
"Urgent",
|
||||
"Urgent Color",
|
||||
"Usage Tips",
|
||||
"Use 24-hour time format instead of 12-hour AM/PM",
|
||||
"Use Custom Command",
|
||||
"Use Grid Layout",
|
||||
@@ -2842,9 +2741,7 @@
|
||||
"Use the extended surface for launcher content",
|
||||
"Use the overlay layer when opening the launcher",
|
||||
"Use the same position and size on all displays",
|
||||
"Use trigger prefix to activate",
|
||||
"Used for xdg-terminal-exec",
|
||||
"Used when accent color is set to Custom",
|
||||
"User",
|
||||
"User Window Rules (%1)",
|
||||
"User already exists",
|
||||
@@ -2878,7 +2775,6 @@
|
||||
"VRR Fullscreen Only",
|
||||
"VRR On-Demand",
|
||||
"Variable Refresh Rate",
|
||||
"Verification",
|
||||
"Version",
|
||||
"Vertical Deck",
|
||||
"Vertical Grid",
|
||||
@@ -2891,7 +2787,6 @@
|
||||
"Video Player",
|
||||
"Video Screensaver",
|
||||
"Videos",
|
||||
"View Mode",
|
||||
"Visibility",
|
||||
"Visible Entry Actions",
|
||||
"Visual Effects",
|
||||
@@ -3003,7 +2898,6 @@
|
||||
"days",
|
||||
"deprecated",
|
||||
"detached",
|
||||
"device",
|
||||
"dgop not available",
|
||||
"direct",
|
||||
"discuss",
|
||||
|
||||
Reference in New Issue
Block a user