mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
settings: mecha re-organization
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -19,15 +19,14 @@ FocusScope {
|
||||
color: "transparent"
|
||||
|
||||
Loader {
|
||||
id: personalizationLoader
|
||||
|
||||
id: wallpaperLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 0
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: Component {
|
||||
PersonalizationTab {
|
||||
WallpaperTab {
|
||||
parentModal: root.parentModal
|
||||
}
|
||||
}
|
||||
@@ -41,7 +40,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: timeWeatherLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 1
|
||||
visible: active
|
||||
@@ -58,7 +56,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: keybindsLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 2
|
||||
visible: active
|
||||
@@ -77,7 +74,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: topBarLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 3
|
||||
visible: active
|
||||
@@ -95,14 +91,13 @@ FocusScope {
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: widgetsLoader
|
||||
|
||||
id: workspacesLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 4
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: WidgetTweaksTab {}
|
||||
sourceComponent: WorkspacesTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
@@ -113,7 +108,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: dockLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 5
|
||||
visible: active
|
||||
@@ -132,7 +126,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: displaysLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 6
|
||||
visible: active
|
||||
@@ -149,7 +142,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: networkLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 7
|
||||
visible: active
|
||||
@@ -166,7 +158,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: printerLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 8
|
||||
visible: active
|
||||
@@ -183,7 +174,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: launcherLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 9
|
||||
visible: active
|
||||
@@ -200,7 +190,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: themeColorsLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 10
|
||||
visible: active
|
||||
@@ -216,14 +205,13 @@ FocusScope {
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: powerLoader
|
||||
|
||||
id: lockScreenLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 11
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: PowerSettings {}
|
||||
sourceComponent: LockScreenTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
@@ -234,7 +222,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: pluginsLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 12
|
||||
visible: active
|
||||
@@ -253,7 +240,6 @@ FocusScope {
|
||||
|
||||
Loader {
|
||||
id: aboutLoader
|
||||
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 13
|
||||
visible: active
|
||||
@@ -267,5 +253,133 @@ FocusScope {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: typographyMotionLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 14
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: TypographyMotionTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: soundsLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 15
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: SoundsTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: mediaPlayerLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 16
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: MediaPlayerTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: notificationsLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 17
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: NotificationsTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: osdLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 18
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: OSDTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: runningAppsLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 19
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: RunningAppsTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: systemUpdaterLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 20
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: SystemUpdaterTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: powerSleepLoader
|
||||
anchors.fill: parent
|
||||
active: root.currentIndex === 21
|
||||
visible: active
|
||||
focus: active
|
||||
|
||||
sourceComponent: PowerSleepTab {}
|
||||
|
||||
onActiveChanged: {
|
||||
if (active && item) {
|
||||
Qt.callLater(() => item.forceActiveFocus());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ FloatingWindow {
|
||||
title: I18n.tr("Settings", "settings window title")
|
||||
minimumSize: Qt.size(500, 400)
|
||||
implicitWidth: 800
|
||||
implicitHeight: 800
|
||||
implicitHeight: 875
|
||||
color: Theme.withAlpha(Theme.surfaceContainer, Theme.popupTransparency)
|
||||
visible: false
|
||||
|
||||
@@ -121,29 +121,18 @@ FloatingWindow {
|
||||
focus: true
|
||||
|
||||
Keys.onPressed: event => {
|
||||
const tabCount = 13;
|
||||
if (event.key === Qt.Key_Escape) {
|
||||
hide();
|
||||
event.accepted = true;
|
||||
return;
|
||||
}
|
||||
if (event.key === Qt.Key_Down) {
|
||||
currentTabIndex = (currentTabIndex + 1) % tabCount;
|
||||
if (event.key === Qt.Key_Down || (event.key === Qt.Key_Tab && !event.modifiers)) {
|
||||
sidebar.navigateNext();
|
||||
event.accepted = true;
|
||||
return;
|
||||
}
|
||||
if (event.key === Qt.Key_Up) {
|
||||
currentTabIndex = (currentTabIndex - 1 + tabCount) % tabCount;
|
||||
event.accepted = true;
|
||||
return;
|
||||
}
|
||||
if (event.key === Qt.Key_Tab && !event.modifiers) {
|
||||
currentTabIndex = (currentTabIndex + 1) % tabCount;
|
||||
event.accepted = true;
|
||||
return;
|
||||
}
|
||||
if (event.key === Qt.Key_Backtab || (event.key === Qt.Key_Tab && event.modifiers & Qt.ShiftModifier)) {
|
||||
currentTabIndex = (currentTabIndex - 1 + tabCount) % tabCount;
|
||||
if (event.key === Qt.Key_Up || event.key === Qt.Key_Backtab || (event.key === Qt.Key_Tab && event.modifiers & Qt.ShiftModifier)) {
|
||||
sidebar.navigatePrevious();
|
||||
event.accepted = true;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -7,105 +7,324 @@ import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Rectangle {
|
||||
id: sidebarContainer
|
||||
id: root
|
||||
|
||||
property int currentIndex: 0
|
||||
property var parentModal: null
|
||||
readonly property var allSidebarItems: [
|
||||
property var expandedCategories: ({})
|
||||
property var autoExpandedCategories: ({})
|
||||
|
||||
readonly property var categoryStructure: [
|
||||
{
|
||||
"id": "personalization",
|
||||
"text": I18n.tr("Personalization"),
|
||||
"icon": "person",
|
||||
"tabIndex": 0
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Time & Weather"),
|
||||
"icon": "schedule",
|
||||
"tabIndex": 1
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Keyboard Shortcuts"),
|
||||
"icon": "keyboard",
|
||||
"shortcutsOnly": true,
|
||||
"tabIndex": 2
|
||||
"icon": "palette",
|
||||
"children": [
|
||||
{
|
||||
"text": I18n.tr("Wallpaper"),
|
||||
"icon": "wallpaper",
|
||||
"tabIndex": 0
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Theme & Colors"),
|
||||
"icon": "format_paint",
|
||||
"tabIndex": 10
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Typography & Motion"),
|
||||
"icon": "text_fields",
|
||||
"tabIndex": 14
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Time & Weather"),
|
||||
"icon": "schedule",
|
||||
"tabIndex": 1
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Sounds"),
|
||||
"icon": "volume_up",
|
||||
"tabIndex": 15,
|
||||
"soundsOnly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dankbar",
|
||||
"text": I18n.tr("Dank Bar"),
|
||||
"icon": "toolbar",
|
||||
"tabIndex": 3
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Widgets"),
|
||||
"icon": "widgets",
|
||||
"tabIndex": 4
|
||||
"id": "workspaces_widgets",
|
||||
"text": I18n.tr("Workspaces & Widgets"),
|
||||
"icon": "dashboard",
|
||||
"collapsedByDefault": true,
|
||||
"children": [
|
||||
{
|
||||
"text": I18n.tr("Workspaces"),
|
||||
"icon": "view_module",
|
||||
"tabIndex": 4
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Media Player"),
|
||||
"icon": "music_note",
|
||||
"tabIndex": 16
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Notifications"),
|
||||
"icon": "notifications",
|
||||
"tabIndex": 17
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("On-screen Displays"),
|
||||
"icon": "tune",
|
||||
"tabIndex": 18
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Running Apps"),
|
||||
"icon": "apps",
|
||||
"tabIndex": 19,
|
||||
"hyprlandNiriOnly": true
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("System Updater"),
|
||||
"icon": "refresh",
|
||||
"tabIndex": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Dock"),
|
||||
"icon": "dock_to_bottom",
|
||||
"tabIndex": 5
|
||||
"id": "dock_launcher",
|
||||
"text": I18n.tr("Dock & Launcher"),
|
||||
"icon": "apps",
|
||||
"collapsedByDefault": true,
|
||||
"children": [
|
||||
{
|
||||
"text": I18n.tr("Dock"),
|
||||
"icon": "dock_to_bottom",
|
||||
"tabIndex": 5
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Launcher"),
|
||||
"icon": "grid_view",
|
||||
"tabIndex": 9
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "input",
|
||||
"text": I18n.tr("Keyboard Shortcuts"),
|
||||
"icon": "keyboard",
|
||||
"tabIndex": 2,
|
||||
"shortcutsOnly": true
|
||||
},
|
||||
{
|
||||
"id": "displays",
|
||||
"text": I18n.tr("Displays"),
|
||||
"icon": "monitor",
|
||||
"tabIndex": 6
|
||||
},
|
||||
{
|
||||
"id": "network",
|
||||
"text": I18n.tr("Network"),
|
||||
"icon": "wifi",
|
||||
"dmsOnly": true,
|
||||
"tabIndex": 7
|
||||
"tabIndex": 7,
|
||||
"dmsOnly": true
|
||||
},
|
||||
{
|
||||
"id": "printers",
|
||||
"text": I18n.tr("Printers"),
|
||||
"icon": "print",
|
||||
"cupsOnly": true,
|
||||
"tabIndex": 8
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Launcher"),
|
||||
"icon": "apps",
|
||||
"tabIndex": 9
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Theme & Colors"),
|
||||
"icon": "palette",
|
||||
"tabIndex": 10
|
||||
"tabIndex": 8,
|
||||
"cupsOnly": true
|
||||
},
|
||||
{
|
||||
"id": "power_security",
|
||||
"text": I18n.tr("Power & Security"),
|
||||
"icon": "power",
|
||||
"tabIndex": 11
|
||||
"icon": "security",
|
||||
"collapsedByDefault": true,
|
||||
"children": [
|
||||
{
|
||||
"text": I18n.tr("Lock Screen"),
|
||||
"icon": "lock",
|
||||
"tabIndex": 11
|
||||
},
|
||||
{
|
||||
"text": I18n.tr("Power & Sleep"),
|
||||
"icon": "power_settings_new",
|
||||
"tabIndex": 21
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "plugins",
|
||||
"text": I18n.tr("Plugins"),
|
||||
"icon": "extension",
|
||||
"tabIndex": 12
|
||||
},
|
||||
{
|
||||
"id": "separator",
|
||||
"separator": true
|
||||
},
|
||||
{
|
||||
"id": "about",
|
||||
"text": I18n.tr("About"),
|
||||
"icon": "info",
|
||||
"tabIndex": 13
|
||||
}
|
||||
]
|
||||
readonly property var sidebarItems: allSidebarItems.filter(item => {
|
||||
|
||||
function isItemVisible(item) {
|
||||
if (item.dmsOnly && NetworkService.usingLegacy)
|
||||
return false;
|
||||
if (item.cupsOnly && !CupsService.cupsAvailable)
|
||||
return false;
|
||||
if (item.shortcutsOnly && !KeybindsService.available)
|
||||
return false;
|
||||
if (item.soundsOnly && !AudioService.soundsAvailable)
|
||||
return false;
|
||||
if (item.hyprlandNiriOnly && !CompositorService.isNiri && !CompositorService.isHyprland)
|
||||
return false;
|
||||
return true;
|
||||
})
|
||||
}
|
||||
|
||||
function hasVisibleChildren(category) {
|
||||
if (!category.children)
|
||||
return false;
|
||||
return category.children.some(child => isItemVisible(child));
|
||||
}
|
||||
|
||||
function isCategoryVisible(category) {
|
||||
if (category.separator)
|
||||
return true;
|
||||
if (!isItemVisible(category))
|
||||
return false;
|
||||
if (category.children && !hasVisibleChildren(category))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
function toggleCategory(categoryId) {
|
||||
var newExpanded = Object.assign({}, expandedCategories);
|
||||
newExpanded[categoryId] = !isCategoryExpanded(categoryId);
|
||||
expandedCategories = newExpanded;
|
||||
|
||||
var newAutoExpanded = Object.assign({}, autoExpandedCategories);
|
||||
delete newAutoExpanded[categoryId];
|
||||
autoExpandedCategories = newAutoExpanded;
|
||||
}
|
||||
|
||||
function isCategoryExpanded(categoryId) {
|
||||
if (expandedCategories[categoryId] !== undefined) {
|
||||
return expandedCategories[categoryId];
|
||||
}
|
||||
var category = categoryStructure.find(cat => cat.id === categoryId);
|
||||
if (category && category.collapsedByDefault) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function isChildActive(category) {
|
||||
if (!category.children)
|
||||
return false;
|
||||
return category.children.some(child => child.tabIndex === currentIndex);
|
||||
}
|
||||
|
||||
function findParentCategory(tabIndex) {
|
||||
for (var i = 0; i < categoryStructure.length; i++) {
|
||||
var cat = categoryStructure[i];
|
||||
if (cat.children) {
|
||||
for (var j = 0; j < cat.children.length; j++) {
|
||||
if (cat.children[j].tabIndex === tabIndex) {
|
||||
return cat;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function autoExpandForTab(tabIndex) {
|
||||
var parent = findParentCategory(tabIndex);
|
||||
if (!parent)
|
||||
return;
|
||||
|
||||
if (!isCategoryExpanded(parent.id)) {
|
||||
var newExpanded = Object.assign({}, expandedCategories);
|
||||
newExpanded[parent.id] = true;
|
||||
expandedCategories = newExpanded;
|
||||
|
||||
var newAutoExpanded = Object.assign({}, autoExpandedCategories);
|
||||
newAutoExpanded[parent.id] = true;
|
||||
autoExpandedCategories = newAutoExpanded;
|
||||
}
|
||||
}
|
||||
|
||||
function autoCollapseIfNeeded(oldTabIndex, newTabIndex) {
|
||||
var oldParent = findParentCategory(oldTabIndex);
|
||||
var newParent = findParentCategory(newTabIndex);
|
||||
|
||||
if (oldParent && oldParent !== newParent && autoExpandedCategories[oldParent.id]) {
|
||||
var newExpanded = Object.assign({}, expandedCategories);
|
||||
newExpanded[oldParent.id] = false;
|
||||
expandedCategories = newExpanded;
|
||||
|
||||
var newAutoExpanded = Object.assign({}, autoExpandedCategories);
|
||||
delete newAutoExpanded[oldParent.id];
|
||||
autoExpandedCategories = newAutoExpanded;
|
||||
}
|
||||
}
|
||||
|
||||
function navigateNext() {
|
||||
const currentItemIndex = sidebarItems.findIndex(item => item.tabIndex === currentIndex);
|
||||
const nextIndex = (currentItemIndex + 1) % sidebarItems.length;
|
||||
currentIndex = sidebarItems[nextIndex].tabIndex;
|
||||
var flatItems = getFlatNavigableItems();
|
||||
var currentPos = flatItems.findIndex(item => item.tabIndex === currentIndex);
|
||||
var oldIndex = currentIndex;
|
||||
if (currentPos === -1) {
|
||||
currentIndex = flatItems[0]?.tabIndex ?? 0;
|
||||
} else {
|
||||
var nextPos = (currentPos + 1) % flatItems.length;
|
||||
currentIndex = flatItems[nextPos].tabIndex;
|
||||
}
|
||||
autoCollapseIfNeeded(oldIndex, currentIndex);
|
||||
autoExpandForTab(currentIndex);
|
||||
}
|
||||
|
||||
function navigatePrevious() {
|
||||
const currentItemIndex = sidebarItems.findIndex(item => item.tabIndex === currentIndex);
|
||||
const prevIndex = (currentItemIndex - 1 + sidebarItems.length) % sidebarItems.length;
|
||||
currentIndex = sidebarItems[prevIndex].tabIndex;
|
||||
var flatItems = getFlatNavigableItems();
|
||||
var currentPos = flatItems.findIndex(item => item.tabIndex === currentIndex);
|
||||
var oldIndex = currentIndex;
|
||||
if (currentPos === -1) {
|
||||
currentIndex = flatItems[0]?.tabIndex ?? 0;
|
||||
} else {
|
||||
var prevPos = (currentPos - 1 + flatItems.length) % flatItems.length;
|
||||
currentIndex = flatItems[prevPos].tabIndex;
|
||||
}
|
||||
autoCollapseIfNeeded(oldIndex, currentIndex);
|
||||
autoExpandForTab(currentIndex);
|
||||
}
|
||||
|
||||
function getFlatNavigableItems() {
|
||||
var items = [];
|
||||
for (var i = 0; i < categoryStructure.length; i++) {
|
||||
var cat = categoryStructure[i];
|
||||
if (cat.separator || !isCategoryVisible(cat))
|
||||
continue;
|
||||
|
||||
if (cat.tabIndex !== undefined && !cat.children) {
|
||||
items.push(cat);
|
||||
}
|
||||
|
||||
if (cat.children) {
|
||||
for (var j = 0; j < cat.children.length; j++) {
|
||||
var child = cat.children[j];
|
||||
if (isItemVisible(child)) {
|
||||
items.push(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
width: 270
|
||||
@@ -120,17 +339,16 @@ Rectangle {
|
||||
|
||||
Column {
|
||||
id: sidebarColumn
|
||||
|
||||
width: parent.width
|
||||
leftPadding: Theme.spacingS
|
||||
rightPadding: Theme.spacingS
|
||||
bottomPadding: Theme.spacingL
|
||||
topPadding: Theme.spacingM + 2
|
||||
spacing: Theme.spacingXS
|
||||
spacing: 2
|
||||
|
||||
ProfileSection {
|
||||
width: parent.width - parent.leftPadding - parent.rightPadding
|
||||
parentModal: sidebarContainer.parentModal
|
||||
parentModal: root.parentModal
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
@@ -142,62 +360,194 @@ Rectangle {
|
||||
|
||||
Item {
|
||||
width: parent.width - parent.leftPadding - parent.rightPadding
|
||||
height: Theme.spacingL
|
||||
height: Theme.spacingM
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: sidebarRepeater
|
||||
model: root.categoryStructure
|
||||
|
||||
model: sidebarContainer.sidebarItems
|
||||
|
||||
delegate: Rectangle {
|
||||
delegate: Column {
|
||||
id: categoryDelegate
|
||||
required property int index
|
||||
required property var modelData
|
||||
|
||||
property bool isActive: sidebarContainer.currentIndex === modelData.tabIndex
|
||||
|
||||
width: parent.width - parent.leftPadding - parent.rightPadding
|
||||
height: 44
|
||||
radius: Theme.cornerRadius
|
||||
color: isActive ? Theme.primary : tabMouseArea.containsMouse ? Theme.surfaceHover : "transparent"
|
||||
visible: root.isCategoryVisible(modelData)
|
||||
spacing: 2
|
||||
|
||||
Row {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingM
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.15
|
||||
visible: categoryDelegate.modelData.separator === true
|
||||
}
|
||||
|
||||
DankIcon {
|
||||
name: modelData.icon || ""
|
||||
size: Theme.iconSize - 2
|
||||
color: parent.parent.isActive ? Theme.primaryText : Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
Item {
|
||||
width: parent.width
|
||||
height: Theme.spacingS
|
||||
visible: categoryDelegate.modelData.separator === true
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: categoryRow
|
||||
width: parent.width
|
||||
height: 40
|
||||
radius: Theme.cornerRadius
|
||||
visible: categoryDelegate.modelData.separator !== true
|
||||
color: {
|
||||
var hasTab = categoryDelegate.modelData.tabIndex !== undefined && !categoryDelegate.modelData.children;
|
||||
var isActive = hasTab && root.currentIndex === categoryDelegate.modelData.tabIndex;
|
||||
if (isActive)
|
||||
return Theme.primary;
|
||||
if (categoryMouseArea.containsMouse)
|
||||
return Theme.surfaceHover;
|
||||
return "transparent";
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: modelData.text || ""
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: parent.parent.isActive ? Theme.primaryText : Theme.surfaceText
|
||||
font.weight: parent.parent.isActive ? Font.Medium : Font.Normal
|
||||
Row {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: categoryDelegate.modelData.icon || ""
|
||||
size: Theme.iconSize - 2
|
||||
color: {
|
||||
var hasTab = categoryDelegate.modelData.tabIndex !== undefined && !categoryDelegate.modelData.children;
|
||||
var isActive = hasTab && root.currentIndex === categoryDelegate.modelData.tabIndex;
|
||||
return isActive ? Theme.primaryText : Theme.surfaceText;
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: categoryDelegate.modelData.text || ""
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: {
|
||||
var hasTab = categoryDelegate.modelData.tabIndex !== undefined && !categoryDelegate.modelData.children;
|
||||
var isActive = hasTab && root.currentIndex === categoryDelegate.modelData.tabIndex;
|
||||
var childActive = root.isChildActive(categoryDelegate.modelData);
|
||||
return (isActive || childActive) ? Font.Medium : Font.Normal;
|
||||
}
|
||||
color: {
|
||||
var hasTab = categoryDelegate.modelData.tabIndex !== undefined && !categoryDelegate.modelData.children;
|
||||
var isActive = hasTab && root.currentIndex === categoryDelegate.modelData.tabIndex;
|
||||
return isActive ? Theme.primaryText : Theme.surfaceText;
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: parent.width - Theme.iconSize - Theme.spacingM - (categoryDelegate.modelData.children ? expandIcon.width + Theme.spacingS : 0)
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
DankIcon {
|
||||
id: expandIcon
|
||||
name: root.isCategoryExpanded(categoryDelegate.modelData.id) ? "expand_less" : "expand_more"
|
||||
size: Theme.iconSize - 4
|
||||
color: Theme.surfaceVariantText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: categoryDelegate.modelData.children !== undefined && categoryDelegate.modelData.children.length > 0
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: categoryMouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
if (categoryDelegate.modelData.children) {
|
||||
root.toggleCategory(categoryDelegate.modelData.id);
|
||||
} else if (categoryDelegate.modelData.tabIndex !== undefined) {
|
||||
root.currentIndex = categoryDelegate.modelData.tabIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Theme.standardEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: tabMouseArea
|
||||
Column {
|
||||
id: childrenColumn
|
||||
width: parent.width
|
||||
spacing: 2
|
||||
visible: categoryDelegate.modelData.children !== undefined && root.isCategoryExpanded(categoryDelegate.modelData.id)
|
||||
clip: true
|
||||
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: () => {
|
||||
sidebarContainer.currentIndex = modelData.tabIndex;
|
||||
}
|
||||
}
|
||||
Repeater {
|
||||
model: categoryDelegate.modelData.children || []
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Theme.standardEasing
|
||||
delegate: Rectangle {
|
||||
id: childDelegate
|
||||
required property int index
|
||||
required property var modelData
|
||||
|
||||
width: childrenColumn.width
|
||||
height: 36
|
||||
radius: Theme.cornerRadius
|
||||
visible: root.isItemVisible(modelData)
|
||||
color: {
|
||||
var isActive = root.currentIndex === modelData.tabIndex;
|
||||
if (isActive)
|
||||
return Theme.primary;
|
||||
if (childMouseArea.containsMouse)
|
||||
return Theme.surfaceHover;
|
||||
return "transparent";
|
||||
}
|
||||
|
||||
Row {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingL + Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: childDelegate.modelData.icon || ""
|
||||
size: Theme.iconSize - 4
|
||||
color: {
|
||||
var isActive = root.currentIndex === childDelegate.modelData.tabIndex;
|
||||
return isActive ? Theme.primaryText : Theme.surfaceVariantText;
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: childDelegate.modelData.text || ""
|
||||
font.pixelSize: Theme.fontSizeSmall + 1
|
||||
font.weight: root.currentIndex === childDelegate.modelData.tabIndex ? Font.Medium : Font.Normal
|
||||
color: {
|
||||
var isActive = root.currentIndex === childDelegate.modelData.tabIndex;
|
||||
return isActive ? Theme.primaryText : Theme.surfaceText;
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: childMouseArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
root.currentIndex = childDelegate.modelData.tabIndex;
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Theme.standardEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import QtQuick.Effects
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: aboutTab
|
||||
@@ -122,13 +123,17 @@ Item {
|
||||
|
||||
Row {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingL
|
||||
spacing: parent.width < 350 ? Theme.spacingM : Theme.spacingL
|
||||
|
||||
property bool compactLogo: parent.width < 400
|
||||
property bool hideLogo: parent.width < 280
|
||||
|
||||
Image {
|
||||
id: logoImage
|
||||
|
||||
visible: !parent.hideLogo
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: 120
|
||||
width: parent.compactLogo ? 80 : 120
|
||||
height: width * (569.94629 / 506.50931)
|
||||
fillMode: Image.PreserveAspectFit
|
||||
smooth: true
|
||||
@@ -148,7 +153,7 @@ Item {
|
||||
Text {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: "DANK LINUX"
|
||||
font.pixelSize: 48
|
||||
font.pixelSize: parent.compactLogo ? 32 : 48
|
||||
font.weight: Font.Bold
|
||||
font.family: interFont.name
|
||||
color: Theme.surfaceText
|
||||
@@ -163,7 +168,8 @@ Item {
|
||||
|
||||
StyledText {
|
||||
text: {
|
||||
if (!SystemUpdateService.shellVersion) return "dms";
|
||||
if (!SystemUpdateService.shellVersion)
|
||||
return "dms";
|
||||
|
||||
let version = SystemUpdateService.shellVersion;
|
||||
|
||||
@@ -194,6 +200,82 @@ Item {
|
||||
width: parent.width
|
||||
}
|
||||
|
||||
Row {
|
||||
id: resourceButtonsRow
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingS
|
||||
|
||||
property bool compactMode: parent.width < 400
|
||||
|
||||
DankButton {
|
||||
id: docsButton
|
||||
text: resourceButtonsRow.compactMode ? "" : I18n.tr("Docs")
|
||||
iconName: "menu_book"
|
||||
iconSize: 18
|
||||
backgroundColor: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08)
|
||||
textColor: Theme.surfaceText
|
||||
onClicked: Qt.openUrlExternally("https://danklinux.com/docs")
|
||||
onHoveredChanged: {
|
||||
if (hovered)
|
||||
resourceTooltip.show(resourceButtonsRow.compactMode ? I18n.tr("Docs") + " - danklinux.com/docs" : "danklinux.com/docs", docsButton, 0, 0, "bottom");
|
||||
else
|
||||
resourceTooltip.hide();
|
||||
}
|
||||
}
|
||||
|
||||
DankButton {
|
||||
id: pluginsButton
|
||||
text: resourceButtonsRow.compactMode ? "" : I18n.tr("Plugins")
|
||||
iconName: "extension"
|
||||
iconSize: 18
|
||||
backgroundColor: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08)
|
||||
textColor: Theme.surfaceText
|
||||
onClicked: Qt.openUrlExternally("https://plugins.danklinux.com")
|
||||
onHoveredChanged: {
|
||||
if (hovered)
|
||||
resourceTooltip.show(resourceButtonsRow.compactMode ? I18n.tr("Plugins") + " - plugins.danklinux.com" : "plugins.danklinux.com", pluginsButton, 0, 0, "bottom");
|
||||
else
|
||||
resourceTooltip.hide();
|
||||
}
|
||||
}
|
||||
|
||||
DankButton {
|
||||
id: githubButton
|
||||
text: resourceButtonsRow.compactMode ? "" : I18n.tr("GitHub")
|
||||
iconName: "code"
|
||||
iconSize: 18
|
||||
backgroundColor: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08)
|
||||
textColor: Theme.surfaceText
|
||||
onClicked: Qt.openUrlExternally("https://github.com/AvengeMedia/DankMaterialShell")
|
||||
onHoveredChanged: {
|
||||
if (hovered)
|
||||
resourceTooltip.show(resourceButtonsRow.compactMode ? "GitHub - AvengeMedia/DankMaterialShell" : "github.com/AvengeMedia/DankMaterialShell", githubButton, 0, 0, "bottom");
|
||||
else
|
||||
resourceTooltip.hide();
|
||||
}
|
||||
}
|
||||
|
||||
DankButton {
|
||||
id: kofiButton
|
||||
text: resourceButtonsRow.compactMode ? "" : I18n.tr("Ko-fi")
|
||||
iconName: "favorite"
|
||||
iconSize: 18
|
||||
backgroundColor: Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.12)
|
||||
textColor: Theme.primary
|
||||
onClicked: Qt.openUrlExternally("https://ko-fi.com/danklinux")
|
||||
onHoveredChanged: {
|
||||
if (hovered)
|
||||
resourceTooltip.show(resourceButtonsRow.compactMode ? I18n.tr("Ko-fi") + " - ko-fi.com/danklinux" : "ko-fi.com/danklinux", kofiButton, 0, 0, "bottom");
|
||||
else
|
||||
resourceTooltip.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DankTooltipV2 {
|
||||
id: resourceTooltip
|
||||
}
|
||||
|
||||
Item {
|
||||
id: communityIcons
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
@@ -459,166 +541,6 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: techSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Column {
|
||||
id: techSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "code"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Resources")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Grid {
|
||||
width: parent.width
|
||||
columns: 2
|
||||
columnSpacing: Theme.spacingL
|
||||
rowSpacing: Theme.spacingS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Website:")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: `<a href="https://danklinux.com" style="text-decoration:none; color:${Theme.primary};">danklinux.com</a>`
|
||||
linkColor: Theme.primary
|
||||
textFormat: Text.RichText
|
||||
onLinkActivated: url => Qt.openUrlExternally(url)
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
propagateComposedEvents: true
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Plugins:")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: `<a href="https://plugins.danklinux.com" style="text-decoration:none; color:${Theme.primary};">plugins.danklinux.com</a>`
|
||||
linkColor: Theme.primary
|
||||
textFormat: Text.RichText
|
||||
onLinkActivated: url => Qt.openUrlExternally(url)
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
propagateComposedEvents: true
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Github:")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
}
|
||||
|
||||
Row {
|
||||
spacing: 4
|
||||
|
||||
StyledText {
|
||||
text: `<a href="https://github.com/AvengeMedia/DankMaterialShell" style="text-decoration:none; color:${Theme.primary};">DankMaterialShell</a>`
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
linkColor: Theme.primary
|
||||
textFormat: Text.RichText
|
||||
onLinkActivated: url => Qt.openUrlExternally(url)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
propagateComposedEvents: true
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("- Support Us With a Star ⭐")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("System Monitoring:")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
}
|
||||
|
||||
Row {
|
||||
spacing: 4
|
||||
|
||||
StyledText {
|
||||
text: `<a href="https://github.com/AvengeMedia/dgop" style="text-decoration:none; color:${Theme.primary};">dgop</a>`
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
linkColor: Theme.primary
|
||||
textFormat: Text.RichText
|
||||
onLinkActivated: url => Qt.openUrlExternally(url)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
propagateComposedEvents: true
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("- Stateless System Monitoring")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
visible: DMSService.isConnected
|
||||
width: parent.width
|
||||
@@ -772,57 +694,20 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
// Support Section
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: supportSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Row {
|
||||
id: supportSection
|
||||
StyledText {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
text: `<a href="https://github.com/AvengeMedia/DankMaterialShell/blob/master/LICENSE" style="text-decoration:none; color:${Theme.surfaceVariantText};">MIT License</a>`
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceVariantText
|
||||
textFormat: Text.RichText
|
||||
wrapMode: Text.NoWrap
|
||||
onLinkActivated: url => Qt.openUrlExternally(url)
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
spacing: Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
DankIcon {
|
||||
name: "volunteer_activism"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Support Development")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
width: parent.width - parent.spacing - kofiButton.width - supportSection.children[0].width
|
||||
height: 1
|
||||
}
|
||||
|
||||
DankButton {
|
||||
id: kofiButton
|
||||
text: I18n.tr("Donate on Ko-fi")
|
||||
iconName: "favorite"
|
||||
iconSize: 20
|
||||
backgroundColor: Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.08)
|
||||
textColor: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
onClicked: Qt.openUrlExternally("https://ko-fi.com/danklinux")
|
||||
}
|
||||
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
propagateComposedEvents: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -120,12 +120,10 @@ Item {
|
||||
function onBindSaved(key) {
|
||||
keybindsTab._savedScrollY = flickable.contentY;
|
||||
keybindsTab._preserveScroll = true;
|
||||
keybindsTab._editingKey = key;
|
||||
}
|
||||
function onBindRemoved(key) {
|
||||
keybindsTab._savedScrollY = flickable.contentY;
|
||||
keybindsTab._preserveScroll = true;
|
||||
keybindsTab._editingKey = "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -597,15 +595,50 @@ Item {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
bindData: modelData
|
||||
isExpanded: keybindsTab.expandedKey === modelData.action
|
||||
restoreKey: isExpanded ? keybindsTab._editingKey : ""
|
||||
panelWindow: keybindsTab.parentModal
|
||||
onToggleExpand: keybindsTab.toggleExpanded(modelData.action)
|
||||
onSaveBind: (originalKey, newData) => {
|
||||
KeybindsService.saveBind(originalKey, newData);
|
||||
keybindsTab._editingKey = newData.key;
|
||||
keybindsTab.expandedKey = modelData.action;
|
||||
}
|
||||
onRemoveBind: key => KeybindsService.removeBind(key)
|
||||
onRestoreKeyConsumed: keybindsTab._editingKey = ""
|
||||
onRemoveBind: key => {
|
||||
const remainingKey = bindItem.keys.find(k => k.key !== key)?.key ?? "";
|
||||
KeybindsService.removeBind(key);
|
||||
keybindsTab._editingKey = remainingKey;
|
||||
}
|
||||
onIsExpandedChanged: {
|
||||
if (!isExpanded || !keybindsTab._editingKey)
|
||||
return;
|
||||
const keyExists = keys.some(k => k.key === keybindsTab._editingKey);
|
||||
if (keyExists) {
|
||||
restoreKey = keybindsTab._editingKey;
|
||||
keybindsTab._editingKey = "";
|
||||
}
|
||||
}
|
||||
|
||||
onKeysChanged: {
|
||||
if (!isExpanded || !keybindsTab._editingKey)
|
||||
return;
|
||||
const keyExists = keys.some(k => k.key === keybindsTab._editingKey);
|
||||
if (keyExists) {
|
||||
restoreKey = keybindsTab._editingKey;
|
||||
keybindsTab._editingKey = "";
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: keybindsTab
|
||||
function on_EditingKeyChanged() {
|
||||
if (!bindItem.isExpanded || !keybindsTab._editingKey)
|
||||
return;
|
||||
const keyExists = bindItem.keys.some(k => k.key === keybindsTab._editingKey);
|
||||
if (keyExists) {
|
||||
bindItem.restoreKey = keybindsTab._editingKey;
|
||||
keybindsTab._editingKey = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
183
quickshell/Modules/Settings/LockScreenTab.qml
Normal file
183
quickshell/Modules/Settings/LockScreenTab.qml
Normal file
@@ -0,0 +1,183 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "lock"
|
||||
title: I18n.tr("Lock Screen")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Show Power Actions")
|
||||
description: I18n.tr("Show power, restart, and logout buttons on the lock screen")
|
||||
checked: SettingsData.lockScreenShowPowerActions
|
||||
onToggled: checked => SettingsData.set("lockScreenShowPowerActions", checked)
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("loginctl not available - lock integration requires DMS socket connection")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.warning
|
||||
visible: !SessionService.loginctlAvailable
|
||||
width: parent.width
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Enable loginctl lock integration")
|
||||
description: I18n.tr("Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen")
|
||||
checked: SessionService.loginctlAvailable && SettingsData.loginctlLockIntegration
|
||||
enabled: SessionService.loginctlAvailable
|
||||
onToggled: checked => {
|
||||
if (!SessionService.loginctlAvailable)
|
||||
return;
|
||||
SettingsData.set("loginctlLockIntegration", checked);
|
||||
}
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Lock before suspend")
|
||||
description: I18n.tr("Automatically lock the screen when the system prepares to suspend")
|
||||
checked: SettingsData.lockBeforeSuspend
|
||||
visible: SessionService.loginctlAvailable && SettingsData.loginctlLockIntegration
|
||||
onToggled: checked => SettingsData.set("lockBeforeSuspend", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Enable fingerprint authentication")
|
||||
description: I18n.tr("Use fingerprint reader for lock screen authentication (requires enrolled fingerprints)")
|
||||
checked: SettingsData.enableFprint
|
||||
visible: SettingsData.fprintdAvailable
|
||||
onToggled: checked => SettingsData.set("enableFprint", checked)
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "monitor"
|
||||
title: I18n.tr("Lock Screen Display")
|
||||
visible: Quickshell.screens.length > 1
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
width: parent.width
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
id: lockScreenMonitorDropdown
|
||||
text: I18n.tr("Active Lock Screen Monitor")
|
||||
options: {
|
||||
var opts = [I18n.tr("All Monitors")];
|
||||
var screens = Quickshell.screens;
|
||||
for (var i = 0; i < screens.length; i++) {
|
||||
opts.push(SettingsData.getScreenDisplayName(screens[i]));
|
||||
}
|
||||
return opts;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (SettingsData.lockScreenActiveMonitor === "all") {
|
||||
currentValue = I18n.tr("All Monitors");
|
||||
return;
|
||||
}
|
||||
var screens = Quickshell.screens;
|
||||
for (var i = 0; i < screens.length; i++) {
|
||||
if (screens[i].name === SettingsData.lockScreenActiveMonitor) {
|
||||
currentValue = SettingsData.getScreenDisplayName(screens[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
currentValue = I18n.tr("All Monitors");
|
||||
}
|
||||
|
||||
onValueChanged: value => {
|
||||
if (value === I18n.tr("All Monitors")) {
|
||||
SettingsData.set("lockScreenActiveMonitor", "all");
|
||||
return;
|
||||
}
|
||||
var screens = Quickshell.screens;
|
||||
for (var i = 0; i < screens.length; i++) {
|
||||
if (SettingsData.getScreenDisplayName(screens[i]) === value) {
|
||||
SettingsData.set("lockScreenActiveMonitor", screens[i].name);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
visible: SettingsData.lockScreenActiveMonitor !== "all"
|
||||
|
||||
Column {
|
||||
width: parent.width - inactiveColorPreview.width - Theme.spacingM
|
||||
spacing: Theme.spacingXS
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Inactive Monitor Color")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceText
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Color displayed on monitors without the lock screen")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
width: parent.width
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: inactiveColorPreview
|
||||
width: 48
|
||||
height: 48
|
||||
radius: Theme.cornerRadius
|
||||
color: SettingsData.lockScreenInactiveColor
|
||||
border.color: Theme.outline
|
||||
border.width: 1
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
if (!PopoutService.colorPickerModal)
|
||||
return;
|
||||
PopoutService.colorPickerModal.selectedColor = SettingsData.lockScreenInactiveColor;
|
||||
PopoutService.colorPickerModal.pickerTitle = I18n.tr("Inactive Monitor Color");
|
||||
PopoutService.colorPickerModal.onColorSelectedCallback = function (selectedColor) {
|
||||
SettingsData.set("lockScreenInactiveColor", selectedColor);
|
||||
};
|
||||
PopoutService.colorPickerModal.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
42
quickshell/Modules/Settings/MediaPlayerTab.qml
Normal file
42
quickshell/Modules/Settings/MediaPlayerTab.qml
Normal file
@@ -0,0 +1,42 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "music_note"
|
||||
title: I18n.tr("Media Player Settings")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Wave Progress Bars")
|
||||
description: I18n.tr("Use animated wave progress bars for media playback")
|
||||
checked: SettingsData.waveProgressEnabled
|
||||
onToggled: checked => SettingsData.set("waveProgressEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Scroll song title")
|
||||
description: I18n.tr("Scroll title if it doesn't fit in widget")
|
||||
checked: SettingsData.scrollTitleEnabled
|
||||
onToggled: checked => SettingsData.set("scrollTitleEnabled", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
208
quickshell/Modules/Settings/NotificationsTab.qml
Normal file
208
quickshell/Modules/Settings/NotificationsTab.qml
Normal file
@@ -0,0 +1,208 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
readonly property var timeoutOptions: [
|
||||
{
|
||||
text: I18n.tr("Never"),
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
text: I18n.tr("1 second"),
|
||||
value: 1000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("3 seconds"),
|
||||
value: 3000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("5 seconds"),
|
||||
value: 5000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("8 seconds"),
|
||||
value: 8000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("10 seconds"),
|
||||
value: 10000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("15 seconds"),
|
||||
value: 15000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("30 seconds"),
|
||||
value: 30000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("1 minute"),
|
||||
value: 60000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("2 minutes"),
|
||||
value: 120000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("5 minutes"),
|
||||
value: 300000
|
||||
},
|
||||
{
|
||||
text: I18n.tr("10 minutes"),
|
||||
value: 600000
|
||||
}
|
||||
]
|
||||
|
||||
function getTimeoutText(value) {
|
||||
if (value === undefined || value === null || isNaN(value))
|
||||
return I18n.tr("5 seconds");
|
||||
for (let i = 0; i < timeoutOptions.length; i++) {
|
||||
if (timeoutOptions[i].value === value)
|
||||
return timeoutOptions[i].text;
|
||||
}
|
||||
if (value === 0)
|
||||
return I18n.tr("Never");
|
||||
if (value < 1000)
|
||||
return value + "ms";
|
||||
if (value < 60000)
|
||||
return Math.round(value / 1000) + " " + I18n.tr("seconds");
|
||||
return Math.round(value / 60000) + " " + I18n.tr("minutes");
|
||||
}
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "notifications"
|
||||
title: I18n.tr("Notification Popups")
|
||||
|
||||
SettingsDropdownRow {
|
||||
text: I18n.tr("Popup Position")
|
||||
description: I18n.tr("Choose where notification popups appear on screen")
|
||||
currentValue: {
|
||||
if (SettingsData.notificationPopupPosition === -1)
|
||||
return "Top Center";
|
||||
switch (SettingsData.notificationPopupPosition) {
|
||||
case SettingsData.Position.Top:
|
||||
return "Top Right";
|
||||
case SettingsData.Position.Bottom:
|
||||
return "Bottom Left";
|
||||
case SettingsData.Position.Left:
|
||||
return "Top Left";
|
||||
case SettingsData.Position.Right:
|
||||
return "Bottom Right";
|
||||
default:
|
||||
return "Top Right";
|
||||
}
|
||||
}
|
||||
options: ["Top Right", "Top Left", "Top Center", "Bottom Right", "Bottom Left"]
|
||||
onValueChanged: value => {
|
||||
switch (value) {
|
||||
case "Top Right":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Top);
|
||||
break;
|
||||
case "Top Left":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Left);
|
||||
break;
|
||||
case "Top Center":
|
||||
SettingsData.set("notificationPopupPosition", -1);
|
||||
break;
|
||||
case "Bottom Right":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Right);
|
||||
break;
|
||||
case "Bottom Left":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Bottom);
|
||||
break;
|
||||
}
|
||||
SettingsData.sendTestNotifications();
|
||||
}
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Notification Overlay")
|
||||
description: I18n.tr("Display all priorities over fullscreen apps")
|
||||
checked: SettingsData.notificationOverlayEnabled
|
||||
onToggled: checked => SettingsData.set("notificationOverlayEnabled", checked)
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "notifications_off"
|
||||
title: I18n.tr("Do Not Disturb")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Enable Do Not Disturb")
|
||||
description: I18n.tr("Suppress notification popups while enabled")
|
||||
checked: SessionData.doNotDisturb
|
||||
onToggled: checked => SessionData.setDoNotDisturb(checked)
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "timer"
|
||||
title: I18n.tr("Notification Timeouts")
|
||||
|
||||
SettingsDropdownRow {
|
||||
text: I18n.tr("Low Priority")
|
||||
description: I18n.tr("Timeout for low priority notifications")
|
||||
currentValue: root.getTimeoutText(SettingsData.notificationTimeoutLow)
|
||||
options: root.timeoutOptions.map(opt => opt.text)
|
||||
onValueChanged: value => {
|
||||
for (let i = 0; i < root.timeoutOptions.length; i++) {
|
||||
if (root.timeoutOptions[i].text === value) {
|
||||
SettingsData.set("notificationTimeoutLow", root.timeoutOptions[i].value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
text: I18n.tr("Normal Priority")
|
||||
description: I18n.tr("Timeout for normal priority notifications")
|
||||
currentValue: root.getTimeoutText(SettingsData.notificationTimeoutNormal)
|
||||
options: root.timeoutOptions.map(opt => opt.text)
|
||||
onValueChanged: value => {
|
||||
for (let i = 0; i < root.timeoutOptions.length; i++) {
|
||||
if (root.timeoutOptions[i].text === value) {
|
||||
SettingsData.set("notificationTimeoutNormal", root.timeoutOptions[i].value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
text: I18n.tr("Critical Priority")
|
||||
description: I18n.tr("Timeout for critical priority notifications")
|
||||
currentValue: root.getTimeoutText(SettingsData.notificationTimeoutCritical)
|
||||
options: root.timeoutOptions.map(opt => opt.text)
|
||||
onValueChanged: value => {
|
||||
for (let i = 0; i < root.timeoutOptions.length; i++) {
|
||||
if (root.timeoutOptions[i].text === value) {
|
||||
SettingsData.set("notificationTimeoutCritical", root.timeoutOptions[i].value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
147
quickshell/Modules/Settings/OSDTab.qml
Normal file
147
quickshell/Modules/Settings/OSDTab.qml
Normal file
@@ -0,0 +1,147 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "tune"
|
||||
title: I18n.tr("On-screen Displays")
|
||||
|
||||
SettingsDropdownRow {
|
||||
text: I18n.tr("OSD Position")
|
||||
description: I18n.tr("Choose where on-screen displays appear on screen")
|
||||
currentValue: {
|
||||
switch (SettingsData.osdPosition) {
|
||||
case SettingsData.Position.Top:
|
||||
return "Top Right";
|
||||
case SettingsData.Position.Left:
|
||||
return "Top Left";
|
||||
case SettingsData.Position.TopCenter:
|
||||
return "Top Center";
|
||||
case SettingsData.Position.Right:
|
||||
return "Bottom Right";
|
||||
case SettingsData.Position.Bottom:
|
||||
return "Bottom Left";
|
||||
case SettingsData.Position.BottomCenter:
|
||||
return "Bottom Center";
|
||||
case SettingsData.Position.LeftCenter:
|
||||
return "Left Center";
|
||||
case SettingsData.Position.RightCenter:
|
||||
return "Right Center";
|
||||
default:
|
||||
return "Bottom Center";
|
||||
}
|
||||
}
|
||||
options: ["Top Right", "Top Left", "Top Center", "Bottom Right", "Bottom Left", "Bottom Center", "Left Center", "Right Center"]
|
||||
onValueChanged: value => {
|
||||
switch (value) {
|
||||
case "Top Right":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Top);
|
||||
break;
|
||||
case "Top Left":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Left);
|
||||
break;
|
||||
case "Top Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.TopCenter);
|
||||
break;
|
||||
case "Bottom Right":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Right);
|
||||
break;
|
||||
case "Bottom Left":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Bottom);
|
||||
break;
|
||||
case "Bottom Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.BottomCenter);
|
||||
break;
|
||||
case "Left Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.LeftCenter);
|
||||
break;
|
||||
case "Right Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.RightCenter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Always Show Percentage")
|
||||
description: I18n.tr("Display volume and brightness percentage values in OSD popups")
|
||||
checked: SettingsData.osdAlwaysShowValue
|
||||
onToggled: checked => SettingsData.set("osdAlwaysShowValue", checked)
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.15
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Volume")
|
||||
description: I18n.tr("Show on-screen display when volume changes")
|
||||
checked: SettingsData.osdVolumeEnabled
|
||||
onToggled: checked => SettingsData.set("osdVolumeEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Media Volume")
|
||||
description: I18n.tr("Show on-screen display when media player volume changes")
|
||||
checked: SettingsData.osdMediaVolumeEnabled
|
||||
onToggled: checked => SettingsData.set("osdMediaVolumeEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Brightness")
|
||||
description: I18n.tr("Show on-screen display when brightness changes")
|
||||
checked: SettingsData.osdBrightnessEnabled
|
||||
onToggled: checked => SettingsData.set("osdBrightnessEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Idle Inhibitor")
|
||||
description: I18n.tr("Show on-screen display when idle inhibitor state changes")
|
||||
checked: SettingsData.osdIdleInhibitorEnabled
|
||||
onToggled: checked => SettingsData.set("osdIdleInhibitorEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Microphone Mute")
|
||||
description: I18n.tr("Show on-screen display when microphone is muted/unmuted")
|
||||
checked: SettingsData.osdMicMuteEnabled
|
||||
onToggled: checked => SettingsData.set("osdMicMuteEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Caps Lock")
|
||||
description: I18n.tr("Show on-screen display when caps lock state changes")
|
||||
checked: SettingsData.osdCapsLockEnabled
|
||||
onToggled: checked => SettingsData.set("osdCapsLockEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Power Profile")
|
||||
description: I18n.tr("Show on-screen display when power profile changes")
|
||||
checked: SettingsData.osdPowerProfileEnabled
|
||||
onToggled: checked => SettingsData.set("osdPowerProfileEnabled", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
459
quickshell/Modules/Settings/PowerSleepTab.qml
Normal file
459
quickshell/Modules/Settings/PowerSleepTab.qml
Normal file
@@ -0,0 +1,459 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
readonly property var timeoutOptions: ["Never", "1 minute", "2 minutes", "3 minutes", "5 minutes", "10 minutes", "15 minutes", "20 minutes", "30 minutes", "1 hour", "1 hour 30 minutes", "2 hours", "3 hours"]
|
||||
readonly property var timeoutValues: [0, 60, 120, 180, 300, 600, 900, 1200, 1800, 3600, 5400, 7200, 10800]
|
||||
|
||||
function getTimeoutIndex(timeout) {
|
||||
var idx = timeoutValues.indexOf(timeout);
|
||||
return idx >= 0 ? idx : 0;
|
||||
}
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "schedule"
|
||||
title: I18n.tr("Idle Settings")
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Power source")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: BatteryService.batteryAvailable
|
||||
}
|
||||
|
||||
Item {
|
||||
width: Theme.spacingS
|
||||
height: 1
|
||||
visible: BatteryService.batteryAvailable
|
||||
}
|
||||
|
||||
DankButtonGroup {
|
||||
id: powerCategory
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: BatteryService.batteryAvailable
|
||||
model: ["AC Power", "Battery"]
|
||||
currentIndex: 0
|
||||
selectionMode: "single"
|
||||
checkEnabled: false
|
||||
}
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Prevent idle for media")
|
||||
description: I18n.tr("Inhibit idle timeout when audio or video is playing")
|
||||
checked: SettingsData.preventIdleForMedia
|
||||
visible: IdleService.idleMonitorAvailable
|
||||
onToggled: checked => SettingsData.set("preventIdleForMedia", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Fade to lock screen")
|
||||
description: I18n.tr("Gradually fade the screen before locking with a configurable grace period")
|
||||
checked: SettingsData.fadeToLockEnabled
|
||||
onToggled: checked => SettingsData.set("fadeToLockEnabled", checked)
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
id: fadeGracePeriodDropdown
|
||||
property var periodOptions: ["1 second", "2 seconds", "3 seconds", "4 seconds", "5 seconds", "10 seconds", "15 seconds", "20 seconds", "30 seconds"]
|
||||
property var periodValues: [1, 2, 3, 4, 5, 10, 15, 20, 30]
|
||||
|
||||
text: I18n.tr("Fade grace period")
|
||||
options: periodOptions
|
||||
visible: SettingsData.fadeToLockEnabled
|
||||
enabled: SettingsData.fadeToLockEnabled
|
||||
|
||||
Component.onCompleted: {
|
||||
const currentPeriod = SettingsData.fadeToLockGracePeriod;
|
||||
const index = periodValues.indexOf(currentPeriod);
|
||||
currentValue = index >= 0 ? periodOptions[index] : "5 seconds";
|
||||
}
|
||||
|
||||
onValueChanged: value => {
|
||||
const index = periodOptions.indexOf(value);
|
||||
if (index < 0)
|
||||
return;
|
||||
SettingsData.set("fadeToLockGracePeriod", periodValues[index]);
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.15
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
id: lockDropdown
|
||||
text: I18n.tr("Automatically lock after")
|
||||
options: root.timeoutOptions
|
||||
|
||||
Connections {
|
||||
target: powerCategory
|
||||
function onCurrentIndexChanged() {
|
||||
const currentTimeout = powerCategory.currentIndex === 0 ? SettingsData.acLockTimeout : SettingsData.batteryLockTimeout;
|
||||
lockDropdown.currentValue = root.timeoutOptions[root.getTimeoutIndex(currentTimeout)];
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
const currentTimeout = powerCategory.currentIndex === 0 ? SettingsData.acLockTimeout : SettingsData.batteryLockTimeout;
|
||||
currentValue = root.timeoutOptions[root.getTimeoutIndex(currentTimeout)];
|
||||
}
|
||||
|
||||
onValueChanged: value => {
|
||||
const index = root.timeoutOptions.indexOf(value);
|
||||
if (index < 0)
|
||||
return;
|
||||
const timeout = root.timeoutValues[index];
|
||||
if (powerCategory.currentIndex === 0) {
|
||||
SettingsData.set("acLockTimeout", timeout);
|
||||
} else {
|
||||
SettingsData.set("batteryLockTimeout", timeout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
id: monitorDropdown
|
||||
text: I18n.tr("Turn off monitors after")
|
||||
options: root.timeoutOptions
|
||||
|
||||
Connections {
|
||||
target: powerCategory
|
||||
function onCurrentIndexChanged() {
|
||||
const currentTimeout = powerCategory.currentIndex === 0 ? SettingsData.acMonitorTimeout : SettingsData.batteryMonitorTimeout;
|
||||
monitorDropdown.currentValue = root.timeoutOptions[root.getTimeoutIndex(currentTimeout)];
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
const currentTimeout = powerCategory.currentIndex === 0 ? SettingsData.acMonitorTimeout : SettingsData.batteryMonitorTimeout;
|
||||
currentValue = root.timeoutOptions[root.getTimeoutIndex(currentTimeout)];
|
||||
}
|
||||
|
||||
onValueChanged: value => {
|
||||
const index = root.timeoutOptions.indexOf(value);
|
||||
if (index < 0)
|
||||
return;
|
||||
const timeout = root.timeoutValues[index];
|
||||
if (powerCategory.currentIndex === 0) {
|
||||
SettingsData.set("acMonitorTimeout", timeout);
|
||||
} else {
|
||||
SettingsData.set("batteryMonitorTimeout", timeout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
id: suspendDropdown
|
||||
text: I18n.tr("Suspend system after")
|
||||
options: root.timeoutOptions
|
||||
|
||||
Connections {
|
||||
target: powerCategory
|
||||
function onCurrentIndexChanged() {
|
||||
const currentTimeout = powerCategory.currentIndex === 0 ? SettingsData.acSuspendTimeout : SettingsData.batterySuspendTimeout;
|
||||
suspendDropdown.currentValue = root.timeoutOptions[root.getTimeoutIndex(currentTimeout)];
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
const currentTimeout = powerCategory.currentIndex === 0 ? SettingsData.acSuspendTimeout : SettingsData.batterySuspendTimeout;
|
||||
currentValue = root.timeoutOptions[root.getTimeoutIndex(currentTimeout)];
|
||||
}
|
||||
|
||||
onValueChanged: value => {
|
||||
const index = root.timeoutOptions.indexOf(value);
|
||||
if (index < 0)
|
||||
return;
|
||||
const timeout = root.timeoutValues[index];
|
||||
if (powerCategory.currentIndex === 0) {
|
||||
SettingsData.set("acSuspendTimeout", timeout);
|
||||
} else {
|
||||
SettingsData.set("batterySuspendTimeout", timeout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingS
|
||||
visible: SessionService.hibernateSupported
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Suspend behavior")
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.surfaceText
|
||||
leftPadding: Theme.spacingM
|
||||
}
|
||||
|
||||
DankButtonGroup {
|
||||
id: suspendBehaviorSelector
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
model: ["Suspend", "Hibernate", "Suspend then Hibernate"]
|
||||
selectionMode: "single"
|
||||
checkEnabled: false
|
||||
|
||||
Connections {
|
||||
target: powerCategory
|
||||
function onCurrentIndexChanged() {
|
||||
const behavior = powerCategory.currentIndex === 0 ? SettingsData.acSuspendBehavior : SettingsData.batterySuspendBehavior;
|
||||
suspendBehaviorSelector.currentIndex = behavior;
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
const behavior = powerCategory.currentIndex === 0 ? SettingsData.acSuspendBehavior : SettingsData.batterySuspendBehavior;
|
||||
currentIndex = behavior;
|
||||
}
|
||||
|
||||
onSelectionChanged: (index, selected) => {
|
||||
if (!selected)
|
||||
return;
|
||||
if (powerCategory.currentIndex === 0) {
|
||||
SettingsData.set("acSuspendBehavior", index);
|
||||
} else {
|
||||
SettingsData.set("batterySuspendBehavior", index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Idle monitoring not supported - requires newer Quickshell version")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.error
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: !IdleService.idleMonitorAvailable
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "tune"
|
||||
title: I18n.tr("Power Menu Customization")
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Customize which actions appear in the power menu")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
width: parent.width
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Use Grid Layout")
|
||||
description: I18n.tr("Display power menu actions in a grid instead of a list")
|
||||
checked: SettingsData.powerMenuGridLayout
|
||||
onToggled: checked => SettingsData.set("powerMenuGridLayout", checked)
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
id: defaultActionDropdown
|
||||
text: I18n.tr("Default selected action")
|
||||
options: ["Reboot", "Log Out", "Power Off", "Lock", "Suspend", "Restart DMS", "Hibernate"]
|
||||
property var actionValues: ["reboot", "logout", "poweroff", "lock", "suspend", "restart", "hibernate"]
|
||||
|
||||
Component.onCompleted: {
|
||||
const currentAction = SettingsData.powerMenuDefaultAction || "logout";
|
||||
const index = actionValues.indexOf(currentAction);
|
||||
currentValue = index >= 0 ? options[index] : "Log Out";
|
||||
}
|
||||
|
||||
onValueChanged: value => {
|
||||
const index = options.indexOf(value);
|
||||
if (index < 0)
|
||||
return;
|
||||
SettingsData.set("powerMenuDefaultAction", actionValues[index]);
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.15
|
||||
}
|
||||
|
||||
Column {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingS
|
||||
|
||||
Repeater {
|
||||
model: [
|
||||
{
|
||||
key: "reboot",
|
||||
label: I18n.tr("Show Reboot")
|
||||
},
|
||||
{
|
||||
key: "logout",
|
||||
label: I18n.tr("Show Log Out")
|
||||
},
|
||||
{
|
||||
key: "poweroff",
|
||||
label: I18n.tr("Show Power Off")
|
||||
},
|
||||
{
|
||||
key: "lock",
|
||||
label: I18n.tr("Show Lock")
|
||||
},
|
||||
{
|
||||
key: "suspend",
|
||||
label: I18n.tr("Show Suspend")
|
||||
},
|
||||
{
|
||||
key: "restart",
|
||||
label: I18n.tr("Show Restart DMS"),
|
||||
desc: I18n.tr("Restart the DankMaterialShell")
|
||||
},
|
||||
{
|
||||
key: "hibernate",
|
||||
label: I18n.tr("Show Hibernate"),
|
||||
desc: I18n.tr("Only visible if hibernate is supported by your system"),
|
||||
hibernate: true
|
||||
}
|
||||
]
|
||||
|
||||
SettingsToggleRow {
|
||||
required property var modelData
|
||||
text: modelData.label
|
||||
description: modelData.desc || ""
|
||||
visible: !modelData.hibernate || SessionService.hibernateSupported
|
||||
checked: SettingsData.powerMenuActions.includes(modelData.key)
|
||||
onToggled: checked => {
|
||||
let actions = [...SettingsData.powerMenuActions];
|
||||
if (checked && !actions.includes(modelData.key)) {
|
||||
actions.push(modelData.key);
|
||||
} else if (!checked) {
|
||||
actions = actions.filter(a => a !== modelData.key);
|
||||
}
|
||||
SettingsData.set("powerMenuActions", actions);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "check_circle"
|
||||
title: I18n.tr("Power Action Confirmation")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Hold to Confirm Power Actions")
|
||||
description: I18n.tr("Require holding button/key to confirm power off, restart, suspend, hibernate and logout")
|
||||
checked: SettingsData.powerActionConfirm
|
||||
onToggled: checked => SettingsData.set("powerActionConfirm", checked)
|
||||
}
|
||||
|
||||
SettingsSliderRow {
|
||||
text: I18n.tr("Hold Duration")
|
||||
description: I18n.tr("How long to hold the button to confirm the action")
|
||||
minimum: 1
|
||||
maximum: 10
|
||||
unit: "s"
|
||||
visible: SettingsData.powerActionConfirm
|
||||
value: SettingsData.powerActionHoldDuration
|
||||
onSliderValueChanged: newValue => SettingsData.set("powerActionHoldDuration", newValue)
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "developer_mode"
|
||||
title: I18n.tr("Custom Power Actions")
|
||||
|
||||
Repeater {
|
||||
model: [
|
||||
{
|
||||
key: "customPowerActionLock",
|
||||
label: I18n.tr("Custom Lock Command"),
|
||||
placeholder: "/usr/bin/myLock.sh"
|
||||
},
|
||||
{
|
||||
key: "customPowerActionLogout",
|
||||
label: I18n.tr("Custom Logout Command"),
|
||||
placeholder: "/usr/bin/myLogout.sh"
|
||||
},
|
||||
{
|
||||
key: "customPowerActionSuspend",
|
||||
label: I18n.tr("Custom Suspend Command"),
|
||||
placeholder: "/usr/bin/mySuspend.sh"
|
||||
},
|
||||
{
|
||||
key: "customPowerActionHibernate",
|
||||
label: I18n.tr("Custom Hibernate Command"),
|
||||
placeholder: "/usr/bin/myHibernate.sh"
|
||||
},
|
||||
{
|
||||
key: "customPowerActionReboot",
|
||||
label: I18n.tr("Custom Reboot Command"),
|
||||
placeholder: "/usr/bin/myReboot.sh"
|
||||
},
|
||||
{
|
||||
key: "customPowerActionPowerOff",
|
||||
label: I18n.tr("Custom Power Off Command"),
|
||||
placeholder: "/usr/bin/myPowerOff.sh"
|
||||
}
|
||||
]
|
||||
|
||||
Column {
|
||||
required property var modelData
|
||||
width: parent.width
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
StyledText {
|
||||
text: modelData.label
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
width: parent.width
|
||||
height: 48
|
||||
placeholderText: modelData.placeholder
|
||||
backgroundColor: Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency)
|
||||
normalBorderColor: Theme.outlineMedium
|
||||
focusedBorderColor: Theme.primary
|
||||
|
||||
Component.onCompleted: {
|
||||
var val = SettingsData[modelData.key];
|
||||
if (val)
|
||||
text = val;
|
||||
}
|
||||
|
||||
onTextEdited: {
|
||||
SettingsData.set(modelData.key, text.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
35
quickshell/Modules/Settings/RunningAppsTab.qml
Normal file
35
quickshell/Modules/Settings/RunningAppsTab.qml
Normal file
@@ -0,0 +1,35 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "apps"
|
||||
title: I18n.tr("Running Apps Settings")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Running Apps Only In Current Workspace")
|
||||
description: I18n.tr("Show only apps running in current workspace")
|
||||
checked: SettingsData.runningAppsCurrentWorkspace
|
||||
onToggled: checked => SettingsData.set("runningAppsCurrentWorkspace", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
|
||||
Column {
|
||||
id: root
|
||||
|
||||
property string title: ""
|
||||
property string iconName: ""
|
||||
property alias content: contentLoader.sourceComponent
|
||||
property bool expanded: false
|
||||
property bool collapsible: true
|
||||
property bool lazyLoad: true
|
||||
|
||||
width: parent.width
|
||||
spacing: expanded ? Theme.spacingM : 0
|
||||
Component.onCompleted: {
|
||||
if (!collapsible)
|
||||
expanded = true;
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
width: parent.width
|
||||
height: headerRow.height
|
||||
enabled: collapsible
|
||||
hoverEnabled: collapsible
|
||||
onClicked: {
|
||||
if (collapsible)
|
||||
expanded = !expanded;
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: parent.containsMouse ? Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.08) : "transparent"
|
||||
radius: Theme.radiusS
|
||||
}
|
||||
|
||||
Row {
|
||||
id: headerRow
|
||||
|
||||
width: parent.width
|
||||
spacing: Theme.spacingS
|
||||
topPadding: Theme.spacingS
|
||||
bottomPadding: Theme.spacingS
|
||||
|
||||
DankIcon {
|
||||
name: root.collapsible ? (root.expanded ? "expand_less" : "expand_more") : root.iconName
|
||||
size: Theme.iconSize - 2
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Behavior on rotation {
|
||||
NumberAnimation {
|
||||
duration: Appearance.anim.durations.fast
|
||||
easing.type: Easing.BezierSpline
|
||||
easing.bezierCurve: Appearance.anim.curves.standard
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DankIcon {
|
||||
name: root.iconName
|
||||
size: Theme.iconSize - 4
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: root.collapsible
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: root.title
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
color: Theme.surfaceText
|
||||
font.weight: Font.Medium
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.12)
|
||||
visible: expanded || !collapsible
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: contentLoader
|
||||
|
||||
width: parent.width
|
||||
active: lazyLoad ? expanded || !collapsible : true
|
||||
visible: expanded || !collapsible
|
||||
asynchronous: true
|
||||
opacity: visible ? 1 : 0
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: Appearance.anim.durations.normal
|
||||
easing.type: Easing.BezierSpline
|
||||
easing.bezierCurve: Appearance.anim.curves.standard
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
156
quickshell/Modules/Settings/SoundsTab.qml
Normal file
156
quickshell/Modules/Settings/SoundsTab.qml
Normal file
@@ -0,0 +1,156 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "audio", "notification", "volume"]
|
||||
title: I18n.tr("System Sounds")
|
||||
iconName: SettingsData.soundsEnabled ? "volume_up" : "volume_off"
|
||||
visible: AudioService.soundsAvailable
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "enable", "system"]
|
||||
settingKey: "soundsEnabled"
|
||||
text: I18n.tr("Enable System Sounds")
|
||||
description: I18n.tr("Play sounds for system events")
|
||||
checked: SettingsData.soundsEnabled
|
||||
onToggled: checked => SettingsData.set("soundsEnabled", checked)
|
||||
}
|
||||
|
||||
Column {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
visible: SettingsData.soundsEnabled
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.2
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "theme", "system"]
|
||||
settingKey: "useSystemSoundTheme"
|
||||
visible: AudioService.gsettingsAvailable
|
||||
text: I18n.tr("Use System Theme")
|
||||
description: I18n.tr("Use sound theme from system settings")
|
||||
checked: SettingsData.useSystemSoundTheme
|
||||
onToggled: checked => SettingsData.set("useSystemSoundTheme", checked)
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "theme", "select"]
|
||||
settingKey: "soundTheme"
|
||||
visible: SettingsData.useSystemSoundTheme && AudioService.availableSoundThemes.length > 0
|
||||
enabled: SettingsData.useSystemSoundTheme && AudioService.availableSoundThemes.length > 0
|
||||
text: I18n.tr("Sound Theme")
|
||||
description: I18n.tr("Select system sound theme")
|
||||
options: AudioService.availableSoundThemes
|
||||
currentValue: {
|
||||
const theme = AudioService.currentSoundTheme;
|
||||
if (theme && AudioService.availableSoundThemes.includes(theme))
|
||||
return theme;
|
||||
return AudioService.availableSoundThemes.length > 0 ? AudioService.availableSoundThemes[0] : "";
|
||||
}
|
||||
onValueChanged: value => {
|
||||
if (value && value !== AudioService.currentSoundTheme)
|
||||
AudioService.setSoundTheme(value);
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.2
|
||||
visible: AudioService.gsettingsAvailable
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "notification", "new"]
|
||||
settingKey: "soundNewNotification"
|
||||
text: I18n.tr("New Notification")
|
||||
description: I18n.tr("Play sound when new notification arrives")
|
||||
checked: SettingsData.soundNewNotification
|
||||
onToggled: checked => SettingsData.set("soundNewNotification", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "volume", "changed"]
|
||||
settingKey: "soundVolumeChanged"
|
||||
text: I18n.tr("Volume Changed")
|
||||
description: I18n.tr("Play sound when volume is adjusted")
|
||||
checked: SettingsData.soundVolumeChanged
|
||||
onToggled: checked => SettingsData.set("soundVolumeChanged", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
tab: "sounds"
|
||||
tags: ["sound", "power", "plugged"]
|
||||
settingKey: "soundPluggedIn"
|
||||
visible: BatteryService.batteryAvailable
|
||||
text: I18n.tr("Plugged In")
|
||||
description: I18n.tr("Play sound when power cable is connected")
|
||||
checked: SettingsData.soundPluggedIn
|
||||
onToggled: checked => SettingsData.set("soundPluggedIn", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: notAvailableText.implicitHeight + Theme.spacingM * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Qt.rgba(Theme.warning.r, Theme.warning.g, Theme.warning.b, 0.12)
|
||||
visible: !AudioService.soundsAvailable
|
||||
|
||||
Row {
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingM
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "info"
|
||||
size: Theme.iconSizeSmall
|
||||
color: Theme.warning
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
id: notAvailableText
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
text: I18n.tr("System sounds are not available. Install canberra-gtk-play for sound support.")
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width - Theme.iconSizeSmall - Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
133
quickshell/Modules/Settings/SystemUpdaterTab.qml
Normal file
133
quickshell/Modules/Settings/SystemUpdaterTab.qml
Normal file
@@ -0,0 +1,133 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "refresh"
|
||||
title: I18n.tr("System Updater")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Use Custom Command")
|
||||
description: I18n.tr("Use custom command for update your system")
|
||||
checked: SettingsData.updaterUseCustomCommand
|
||||
onToggled: checked => {
|
||||
if (!checked) {
|
||||
updaterCustomCommand.text = "";
|
||||
updaterTerminalCustomClass.text = "";
|
||||
SettingsData.set("updaterCustomCommand", "");
|
||||
SettingsData.set("updaterTerminalAdditionalParams", "");
|
||||
}
|
||||
SettingsData.set("updaterUseCustomCommand", checked);
|
||||
}
|
||||
}
|
||||
|
||||
FocusScope {
|
||||
width: parent.width - Theme.spacingM * 2
|
||||
height: customCommandColumn.implicitHeight
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
|
||||
Column {
|
||||
id: customCommandColumn
|
||||
width: parent.width
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("System update custom command")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
id: updaterCustomCommand
|
||||
width: parent.width
|
||||
height: 48
|
||||
placeholderText: "myPkgMngr --sysupdate"
|
||||
backgroundColor: Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency)
|
||||
normalBorderColor: Theme.outlineMedium
|
||||
focusedBorderColor: Theme.primary
|
||||
|
||||
Component.onCompleted: {
|
||||
if (SettingsData.updaterCustomCommand) {
|
||||
text = SettingsData.updaterCustomCommand;
|
||||
}
|
||||
}
|
||||
|
||||
onTextEdited: SettingsData.set("updaterCustomCommand", text.trim())
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onPressed: mouse => {
|
||||
updaterCustomCommand.forceActiveFocus();
|
||||
mouse.accepted = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FocusScope {
|
||||
width: parent.width - Theme.spacingM * 2
|
||||
height: terminalParamsColumn.implicitHeight
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
|
||||
Column {
|
||||
id: terminalParamsColumn
|
||||
width: parent.width
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Terminal custom additional parameters")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
id: updaterTerminalCustomClass
|
||||
width: parent.width
|
||||
height: 48
|
||||
placeholderText: "-T udpClass"
|
||||
backgroundColor: Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency)
|
||||
normalBorderColor: Theme.outlineMedium
|
||||
focusedBorderColor: Theme.primary
|
||||
|
||||
Component.onCompleted: {
|
||||
if (SettingsData.updaterTerminalAdditionalParams) {
|
||||
text = SettingsData.updaterTerminalAdditionalParams;
|
||||
}
|
||||
}
|
||||
|
||||
onTextEdited: SettingsData.set("updaterTerminalAdditionalParams", text.trim())
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onPressed: mouse => {
|
||||
updaterTerminalCustomClass.forceActiveFocus();
|
||||
mouse.accepted = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
285
quickshell/Modules/Settings/TypographyMotionTab.qml
Normal file
285
quickshell/Modules/Settings/TypographyMotionTab.qml
Normal file
@@ -0,0 +1,285 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property var cachedFontFamilies: []
|
||||
property var cachedMonoFamilies: []
|
||||
property bool fontsEnumerated: false
|
||||
|
||||
function enumerateFonts() {
|
||||
var fonts = [];
|
||||
var availableFonts = Qt.fontFamilies();
|
||||
|
||||
for (var i = 0; i < availableFonts.length; i++) {
|
||||
var fontName = availableFonts[i];
|
||||
if (fontName.startsWith("."))
|
||||
continue;
|
||||
fonts.push(fontName);
|
||||
}
|
||||
fonts.sort();
|
||||
fonts.unshift("Default");
|
||||
cachedFontFamilies = fonts;
|
||||
|
||||
var monoFonts = [];
|
||||
for (var j = 0; j < availableFonts.length; j++) {
|
||||
var fontName2 = availableFonts[j];
|
||||
if (fontName2.startsWith("."))
|
||||
continue;
|
||||
var lowerName = fontName2.toLowerCase();
|
||||
if (lowerName.includes("mono") || lowerName.includes("code") || lowerName.includes("console") || lowerName.includes("terminal") || lowerName.includes("courier") || lowerName.includes("jetbrains") || lowerName.includes("fira") || lowerName.includes("hack") || lowerName.includes("source code") || lowerName.includes("cascadia")) {
|
||||
monoFonts.push(fontName2);
|
||||
}
|
||||
}
|
||||
monoFonts.sort();
|
||||
monoFonts.unshift("Default");
|
||||
cachedMonoFamilies = monoFonts;
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: fontEnumerationTimer
|
||||
interval: 50
|
||||
running: false
|
||||
onTriggered: {
|
||||
if (fontsEnumerated)
|
||||
return;
|
||||
enumerateFonts();
|
||||
fontsEnumerated = true;
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
fontEnumerationTimer.start();
|
||||
}
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
tab: "typography"
|
||||
tags: ["font", "family", "text", "typography"]
|
||||
title: I18n.tr("Typography")
|
||||
iconName: "text_fields"
|
||||
|
||||
SettingsDropdownRow {
|
||||
tab: "typography"
|
||||
tags: ["font", "family", "normal", "text"]
|
||||
settingKey: "fontFamily"
|
||||
text: I18n.tr("Normal Font")
|
||||
description: I18n.tr("Select the font family for UI text")
|
||||
options: root.fontsEnumerated ? root.cachedFontFamilies : ["Default"]
|
||||
currentValue: SettingsData.fontFamily === Theme.defaultFontFamily ? "Default" : (SettingsData.fontFamily || "Default")
|
||||
enableFuzzySearch: true
|
||||
popupWidthOffset: 100
|
||||
maxPopupHeight: 400
|
||||
onValueChanged: value => {
|
||||
if (value === "Default")
|
||||
SettingsData.set("fontFamily", Theme.defaultFontFamily);
|
||||
else
|
||||
SettingsData.set("fontFamily", value);
|
||||
}
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
tab: "typography"
|
||||
tags: ["font", "monospace", "code", "terminal"]
|
||||
settingKey: "monoFontFamily"
|
||||
text: I18n.tr("Monospace Font")
|
||||
description: I18n.tr("Select monospace font for process list and technical displays")
|
||||
options: root.fontsEnumerated ? root.cachedMonoFamilies : ["Default"]
|
||||
currentValue: SettingsData.monoFontFamily === SettingsData.defaultMonoFontFamily ? "Default" : (SettingsData.monoFontFamily || "Default")
|
||||
enableFuzzySearch: true
|
||||
popupWidthOffset: 100
|
||||
maxPopupHeight: 400
|
||||
onValueChanged: value => {
|
||||
if (value === "Default")
|
||||
SettingsData.set("monoFontFamily", SettingsData.defaultMonoFontFamily);
|
||||
else
|
||||
SettingsData.set("monoFontFamily", value);
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.15
|
||||
}
|
||||
|
||||
SettingsDropdownRow {
|
||||
tab: "typography"
|
||||
tags: ["font", "weight", "bold", "light"]
|
||||
settingKey: "fontWeight"
|
||||
text: I18n.tr("Font Weight")
|
||||
description: I18n.tr("Select font weight for UI text")
|
||||
options: ["Thin", "Extra Light", "Light", "Regular", "Medium", "Demi Bold", "Bold", "Extra Bold", "Black"]
|
||||
currentValue: {
|
||||
switch (SettingsData.fontWeight) {
|
||||
case Font.Thin:
|
||||
return "Thin";
|
||||
case Font.ExtraLight:
|
||||
return "Extra Light";
|
||||
case Font.Light:
|
||||
return "Light";
|
||||
case Font.Normal:
|
||||
return "Regular";
|
||||
case Font.Medium:
|
||||
return "Medium";
|
||||
case Font.DemiBold:
|
||||
return "Demi Bold";
|
||||
case Font.Bold:
|
||||
return "Bold";
|
||||
case Font.ExtraBold:
|
||||
return "Extra Bold";
|
||||
case Font.Black:
|
||||
return "Black";
|
||||
default:
|
||||
return "Regular";
|
||||
}
|
||||
}
|
||||
onValueChanged: value => {
|
||||
var weight;
|
||||
switch (value) {
|
||||
case "Thin":
|
||||
weight = Font.Thin;
|
||||
break;
|
||||
case "Extra Light":
|
||||
weight = Font.ExtraLight;
|
||||
break;
|
||||
case "Light":
|
||||
weight = Font.Light;
|
||||
break;
|
||||
case "Regular":
|
||||
weight = Font.Normal;
|
||||
break;
|
||||
case "Medium":
|
||||
weight = Font.Medium;
|
||||
break;
|
||||
case "Demi Bold":
|
||||
weight = Font.DemiBold;
|
||||
break;
|
||||
case "Bold":
|
||||
weight = Font.Bold;
|
||||
break;
|
||||
case "Extra Bold":
|
||||
weight = Font.ExtraBold;
|
||||
break;
|
||||
case "Black":
|
||||
weight = Font.Black;
|
||||
break;
|
||||
default:
|
||||
weight = Font.Normal;
|
||||
break;
|
||||
}
|
||||
SettingsData.set("fontWeight", weight);
|
||||
}
|
||||
}
|
||||
|
||||
SettingsSliderRow {
|
||||
tab: "typography"
|
||||
tags: ["font", "scale", "size", "zoom"]
|
||||
settingKey: "fontScale"
|
||||
text: I18n.tr("Font Scale")
|
||||
description: I18n.tr("Scale all font sizes throughout the shell")
|
||||
minimum: 75
|
||||
maximum: 150
|
||||
value: Math.round(SettingsData.fontScale * 100)
|
||||
unit: "%"
|
||||
defaultValue: 100
|
||||
onSliderValueChanged: newValue => SettingsData.set("fontScale", newValue / 100)
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
tab: "typography"
|
||||
tags: ["animation", "speed", "motion", "duration"]
|
||||
title: I18n.tr("Animation Speed")
|
||||
iconName: "animation"
|
||||
|
||||
Item {
|
||||
width: parent.width
|
||||
height: animationSpeedGroup.implicitHeight
|
||||
clip: true
|
||||
|
||||
DankButtonGroup {
|
||||
id: animationSpeedGroup
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
buttonPadding: parent.width < 480 ? Theme.spacingS : Theme.spacingL
|
||||
minButtonWidth: parent.width < 480 ? 44 : 64
|
||||
textSize: parent.width < 480 ? Theme.fontSizeSmall : Theme.fontSizeMedium
|
||||
model: [I18n.tr("None"), I18n.tr("Short"), I18n.tr("Medium"), I18n.tr("Long"), I18n.tr("Custom")]
|
||||
selectionMode: "single"
|
||||
currentIndex: SettingsData.animationSpeed
|
||||
onSelectionChanged: (index, selected) => {
|
||||
if (!selected)
|
||||
return;
|
||||
SettingsData.set("animationSpeed", index);
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SettingsData
|
||||
function onAnimationSpeedChanged() {
|
||||
animationSpeedGroup.currentIndex = SettingsData.animationSpeed;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: 1
|
||||
color: Theme.outline
|
||||
opacity: 0.15
|
||||
}
|
||||
|
||||
SettingsSliderRow {
|
||||
id: durationSlider
|
||||
tab: "typography"
|
||||
tags: ["animation", "duration", "custom", "speed"]
|
||||
settingKey: "customAnimationDuration"
|
||||
text: I18n.tr("Custom Duration")
|
||||
description: I18n.tr("Fine-tune animation timing in milliseconds")
|
||||
minimum: 0
|
||||
maximum: 750
|
||||
value: Theme.currentAnimationBaseDuration
|
||||
unit: "ms"
|
||||
defaultValue: 200
|
||||
onSliderValueChanged: newValue => {
|
||||
SettingsData.set("animationSpeed", SettingsData.AnimationSpeed.Custom);
|
||||
SettingsData.set("customAnimationDuration", newValue);
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SettingsData
|
||||
function onAnimationSpeedChanged() {
|
||||
if (SettingsData.animationSpeed === SettingsData.AnimationSpeed.Custom)
|
||||
return;
|
||||
durationSlider.value = Theme.currentAnimationBaseDuration;
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: Theme
|
||||
function onCurrentAnimationBaseDurationChanged() {
|
||||
if (SettingsData.animationSpeed === SettingsData.AnimationSpeed.Custom)
|
||||
return;
|
||||
durationSlider.value = Theme.currentAnimationBaseDuration;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1282
quickshell/Modules/Settings/WallpaperTab.qml
Normal file
1282
quickshell/Modules/Settings/WallpaperTab.qml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,873 +0,0 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: widgetTweaksTab
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: workspaceSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Column {
|
||||
id: workspaceSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "view_module"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Workspace Settings")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Workspace Index Numbers")
|
||||
description: I18n.tr("Show workspace index numbers in the top bar workspace switcher")
|
||||
checked: SettingsData.showWorkspaceIndex
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("showWorkspaceIndex", checked);
|
||||
}
|
||||
}
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Workspace Padding")
|
||||
description: I18n.tr("Always show a minimum of 3 workspaces, even if fewer are available")
|
||||
checked: SettingsData.showWorkspacePadding
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("showWorkspacePadding", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Show Workspace Apps")
|
||||
description: I18n.tr("Display application icons in workspace indicators")
|
||||
checked: SettingsData.showWorkspaceApps
|
||||
visible: CompositorService.isNiri || CompositorService.isHyprland
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("showWorkspaceApps", checked);
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
width: parent.width - Theme.spacingL
|
||||
spacing: Theme.spacingL
|
||||
visible: SettingsData.showWorkspaceApps
|
||||
opacity: visible ? 1 : 0
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingL
|
||||
|
||||
Column {
|
||||
width: 120
|
||||
spacing: Theme.spacingS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Max apps to show")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceText
|
||||
font.weight: Font.Medium
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
width: 100
|
||||
height: 28
|
||||
placeholderText: "#ffffff"
|
||||
text: SettingsData.maxWorkspaceIcons
|
||||
maximumLength: 7
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
topPadding: Theme.spacingXS
|
||||
bottomPadding: Theme.spacingXS
|
||||
onEditingFinished: {
|
||||
SettingsData.set("maxWorkspaceIcons", parseInt(text, 10));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: Theme.mediumDuration
|
||||
easing.type: Theme.emphasizedEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Per-Monitor Workspaces")
|
||||
description: I18n.tr("Show only workspaces belonging to each specific monitor.")
|
||||
checked: SettingsData.workspacesPerMonitor
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("workspacesPerMonitor", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Show Occupied Workspaces Only")
|
||||
description: I18n.tr("Display only workspaces that contain windows")
|
||||
checked: SettingsData.showOccupiedWorkspacesOnly
|
||||
visible: CompositorService.isNiri || CompositorService.isHyprland
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("showOccupiedWorkspacesOnly", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Show All Tags")
|
||||
description: I18n.tr("Show all 9 tags instead of only occupied tags (DWL only)")
|
||||
checked: SettingsData.dwlShowAllTags
|
||||
visible: CompositorService.isDwl
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("dwlShowAllTags", checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: mediaSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Column {
|
||||
id: mediaSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "music_note"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Media Player Settings")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Wave Progress Bars")
|
||||
description: I18n.tr("Use animated wave progress bars for media playback")
|
||||
checked: SettingsData.waveProgressEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("waveProgressEnabled", checked);
|
||||
}
|
||||
}
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Scroll song title")
|
||||
description: I18n.tr("Scroll title if it doesn't fit in widget")
|
||||
checked: SettingsData.scrollTitleEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("scrollTitleEnabled", checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: updaterSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Column {
|
||||
id: updaterSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "refresh"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("System Updater")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Use Custom Command")
|
||||
description: I18n.tr("Use custom command for update your system")
|
||||
checked: SettingsData.updaterUseCustomCommand
|
||||
onToggled: checked => {
|
||||
if (!checked) {
|
||||
updaterCustomCommand.text = "";
|
||||
updaterTerminalCustomClass.text = "";
|
||||
SettingsData.set("updaterCustomCommand", "");
|
||||
SettingsData.set("updaterTerminalAdditionalParams", "");
|
||||
}
|
||||
return SettingsData.set("updaterUseCustomCommand", checked);
|
||||
}
|
||||
}
|
||||
|
||||
FocusScope {
|
||||
width: parent.width - Theme.spacingM * 2
|
||||
height: customCommandColumn.implicitHeight
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
|
||||
Column {
|
||||
id: customCommandColumn
|
||||
width: parent.width
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("System update custom command")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
id: updaterCustomCommand
|
||||
width: parent.width
|
||||
height: 48
|
||||
placeholderText: "myPkgMngr --sysupdate"
|
||||
backgroundColor: Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency)
|
||||
normalBorderColor: Theme.outlineMedium
|
||||
focusedBorderColor: Theme.primary
|
||||
|
||||
Component.onCompleted: {
|
||||
if (SettingsData.updaterCustomCommand) {
|
||||
text = SettingsData.updaterCustomCommand;
|
||||
}
|
||||
}
|
||||
|
||||
onTextEdited: {
|
||||
SettingsData.set("updaterCustomCommand", text.trim());
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onPressed: mouse => {
|
||||
updaterCustomCommand.forceActiveFocus();
|
||||
mouse.accepted = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FocusScope {
|
||||
width: parent.width - Theme.spacingM * 2
|
||||
height: terminalParamsColumn.implicitHeight
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
|
||||
Column {
|
||||
id: terminalParamsColumn
|
||||
width: parent.width
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Terminal custom additional parameters")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
id: updaterTerminalCustomClass
|
||||
width: parent.width
|
||||
height: 48
|
||||
placeholderText: "-T udpClass"
|
||||
backgroundColor: Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency)
|
||||
normalBorderColor: Theme.outlineMedium
|
||||
focusedBorderColor: Theme.primary
|
||||
|
||||
Component.onCompleted: {
|
||||
if (SettingsData.updaterTerminalAdditionalParams) {
|
||||
text = SettingsData.updaterTerminalAdditionalParams;
|
||||
}
|
||||
}
|
||||
|
||||
onTextEdited: {
|
||||
SettingsData.set("updaterTerminalAdditionalParams", text.trim());
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onPressed: mouse => {
|
||||
updaterTerminalCustomClass.forceActiveFocus();
|
||||
mouse.accepted = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: runningAppsSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
visible: CompositorService.isNiri || CompositorService.isHyprland
|
||||
|
||||
Column {
|
||||
id: runningAppsSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "apps"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Running Apps Settings")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Running Apps Only In Current Workspace")
|
||||
description: I18n.tr("Show only apps running in current workspace")
|
||||
checked: SettingsData.runningAppsCurrentWorkspace
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("runningAppsCurrentWorkspace", checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: workspaceIconsSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
visible: SettingsData.hasNamedWorkspaces()
|
||||
|
||||
Column {
|
||||
id: workspaceIconsSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "label"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Named Workspace Icons")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
StyledText {
|
||||
width: parent.width
|
||||
text: I18n.tr("Configure icons for named workspaces. Icons take priority over numbers when both are enabled.")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.outline
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: SettingsData.getNamedWorkspaces()
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: workspaceIconRow.implicitHeight + Theme.spacingM
|
||||
radius: Theme.cornerRadius
|
||||
color: Qt.rgba(Theme.surfaceContainer.r, Theme.surfaceContainer.g, Theme.surfaceContainer.b, 0.5)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.3)
|
||||
border.width: 0
|
||||
|
||||
Row {
|
||||
id: workspaceIconRow
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
anchors.rightMargin: Theme.spacingM
|
||||
spacing: Theme.spacingM
|
||||
|
||||
StyledText {
|
||||
text: "\"" + modelData + "\""
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: 150
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
DankIconPicker {
|
||||
id: iconPicker
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Component.onCompleted: {
|
||||
var iconData = SettingsData.getWorkspaceNameIcon(modelData);
|
||||
if (iconData) {
|
||||
setIcon(iconData.value, iconData.type);
|
||||
}
|
||||
}
|
||||
|
||||
onIconSelected: (iconName, iconType) => {
|
||||
SettingsData.setWorkspaceNameIcon(modelData, {
|
||||
"type": iconType,
|
||||
"value": iconName
|
||||
});
|
||||
setIcon(iconName, iconType);
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SettingsData
|
||||
function onWorkspaceIconsUpdated() {
|
||||
var iconData = SettingsData.getWorkspaceNameIcon(modelData);
|
||||
if (iconData) {
|
||||
iconPicker.setIcon(iconData.value, iconData.type);
|
||||
} else {
|
||||
iconPicker.setIcon("", "icon");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: 28
|
||||
height: 28
|
||||
radius: Theme.cornerRadius
|
||||
color: clearMouseArea.containsMouse ? Theme.errorHover : Theme.surfaceContainer
|
||||
border.color: clearMouseArea.containsMouse ? Theme.error : Theme.outline
|
||||
border.width: 0
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
DankIcon {
|
||||
name: "close"
|
||||
size: 16
|
||||
color: clearMouseArea.containsMouse ? Theme.error : Theme.outline
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: clearMouseArea
|
||||
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
SettingsData.removeWorkspaceNameIcon(modelData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
width: parent.width - 150 - 240 - 28 - Theme.spacingM * 4
|
||||
height: 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: notificationSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Column {
|
||||
id: notificationSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "notifications"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Notification Popups")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
width: parent.width
|
||||
spacing: 0
|
||||
leftPadding: Theme.spacingM
|
||||
rightPadding: Theme.spacingM
|
||||
|
||||
DankDropdown {
|
||||
width: parent.width - parent.leftPadding - parent.rightPadding
|
||||
text: I18n.tr("Popup Position")
|
||||
description: I18n.tr("Choose where notification popups appear on screen")
|
||||
currentValue: {
|
||||
if (SettingsData.notificationPopupPosition === -1) {
|
||||
return "Top Center";
|
||||
}
|
||||
switch (SettingsData.notificationPopupPosition) {
|
||||
case SettingsData.Position.Top:
|
||||
return "Top Right";
|
||||
case SettingsData.Position.Bottom:
|
||||
return "Bottom Left";
|
||||
case SettingsData.Position.Left:
|
||||
return "Top Left";
|
||||
case SettingsData.Position.Right:
|
||||
return "Bottom Right";
|
||||
default:
|
||||
return "Top Right";
|
||||
}
|
||||
}
|
||||
options: ["Top Right", "Top Left", "Top Center", "Bottom Right", "Bottom Left"]
|
||||
onValueChanged: value => {
|
||||
switch (value) {
|
||||
case "Top Right":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Top);
|
||||
break;
|
||||
case "Top Left":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Left);
|
||||
break;
|
||||
case "Top Center":
|
||||
SettingsData.set("notificationPopupPosition", -1);
|
||||
break;
|
||||
case "Bottom Right":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Right);
|
||||
break;
|
||||
case "Bottom Left":
|
||||
SettingsData.set("notificationPopupPosition", SettingsData.Position.Bottom);
|
||||
break;
|
||||
}
|
||||
SettingsData.sendTestNotifications();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: osdRow.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Row {
|
||||
id: osdRow
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "tune"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Column {
|
||||
width: parent.width - Theme.iconSize - Theme.spacingM - osdToggle.width - Theme.spacingM
|
||||
spacing: Theme.spacingXS
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Always Show OSD Percentage")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Display volume and brightness percentage values by default in OSD popups")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
id: osdToggle
|
||||
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
checked: SettingsData.osdAlwaysShowValue
|
||||
onToggled: checked => {
|
||||
SettingsData.set("osdAlwaysShowValue", checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StyledRect {
|
||||
width: parent.width
|
||||
height: osdSection.implicitHeight + Theme.spacingL * 2
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.2)
|
||||
border.width: 0
|
||||
|
||||
Column {
|
||||
id: osdSection
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Row {
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
name: "notification_important"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("On-screen Displays")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
width: parent.width
|
||||
spacing: 0
|
||||
leftPadding: Theme.spacingM
|
||||
rightPadding: Theme.spacingM
|
||||
|
||||
DankDropdown {
|
||||
width: parent.width - parent.leftPadding - parent.rightPadding
|
||||
text: I18n.tr("OSD Position")
|
||||
description: I18n.tr("Choose where on-screen displays appear on screen")
|
||||
currentValue: {
|
||||
switch (SettingsData.osdPosition) {
|
||||
case SettingsData.Position.Top:
|
||||
return "Top Right";
|
||||
case SettingsData.Position.Left:
|
||||
return "Top Left";
|
||||
case SettingsData.Position.TopCenter:
|
||||
return "Top Center";
|
||||
case SettingsData.Position.Right:
|
||||
return "Bottom Right";
|
||||
case SettingsData.Position.Bottom:
|
||||
return "Bottom Left";
|
||||
case SettingsData.Position.BottomCenter:
|
||||
return "Bottom Center";
|
||||
case SettingsData.Position.LeftCenter:
|
||||
return "Left Center";
|
||||
case SettingsData.Position.RightCenter:
|
||||
return "Right Center";
|
||||
default:
|
||||
return "Bottom Center";
|
||||
}
|
||||
}
|
||||
options: ["Top Right", "Top Left", "Top Center", "Bottom Right", "Bottom Left", "Bottom Center", "Left Center", "Right Center"]
|
||||
onValueChanged: value => {
|
||||
switch (value) {
|
||||
case "Top Right":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Top);
|
||||
break;
|
||||
case "Top Left":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Left);
|
||||
break;
|
||||
case "Top Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.TopCenter);
|
||||
break;
|
||||
case "Bottom Right":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Right);
|
||||
break;
|
||||
case "Bottom Left":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.Bottom);
|
||||
break;
|
||||
case "Bottom Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.BottomCenter);
|
||||
break;
|
||||
case "Left Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.LeftCenter);
|
||||
break;
|
||||
case "Right Center":
|
||||
SettingsData.set("osdPosition", SettingsData.Position.RightCenter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Volume OSD")
|
||||
description: I18n.tr("Show on-screen display when volume changes")
|
||||
checked: SettingsData.osdVolumeEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdVolumeEnabled", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Media Volume OSD")
|
||||
description: I18n.tr("Show on-screen display when media player volume changes")
|
||||
checked: SettingsData.osdMediaVolumeEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdMediaVolumeEnabled", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Brightness OSD")
|
||||
description: I18n.tr("Show on-screen display when brightness changes")
|
||||
checked: SettingsData.osdBrightnessEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdBrightnessEnabled", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Idle Inhibitor OSD")
|
||||
description: I18n.tr("Show on-screen display when idle inhibitor state changes")
|
||||
checked: SettingsData.osdIdleInhibitorEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdIdleInhibitorEnabled", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Microphone Mute OSD")
|
||||
description: I18n.tr("Show on-screen display when microphone is muted/unmuted")
|
||||
checked: SettingsData.osdMicMuteEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdMicMuteEnabled", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Caps Lock OSD")
|
||||
description: I18n.tr("Show on-screen display when caps lock state changes")
|
||||
checked: SettingsData.osdCapsLockEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdCapsLockEnabled", checked);
|
||||
}
|
||||
}
|
||||
|
||||
DankToggle {
|
||||
width: parent.width
|
||||
text: I18n.tr("Power Profile OSD")
|
||||
description: I18n.tr("Show on-screen display when power profile changes")
|
||||
checked: SettingsData.osdPowerProfileEnabled
|
||||
onToggled: checked => {
|
||||
return SettingsData.set("osdPowerProfileEnabled", checked);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property string tab: ""
|
||||
property var tags: []
|
||||
property string settingKey: ""
|
||||
|
||||
property string text: ""
|
||||
property string description: ""
|
||||
property alias model: buttonGroup.model
|
||||
property alias currentIndex: buttonGroup.currentIndex
|
||||
property alias selectionMode: buttonGroup.selectionMode
|
||||
property alias buttonHeight: buttonGroup.buttonHeight
|
||||
property alias minButtonWidth: buttonGroup.minButtonWidth
|
||||
property alias buttonPadding: buttonGroup.buttonPadding
|
||||
property alias checkIconSize: buttonGroup.checkIconSize
|
||||
property alias textSize: buttonGroup.textSize
|
||||
property alias spacing: buttonGroup.spacing
|
||||
property alias checkEnabled: buttonGroup.checkEnabled
|
||||
|
||||
signal selectionChanged(int index, bool selected)
|
||||
|
||||
width: parent?.width ?? 0
|
||||
height: 60
|
||||
|
||||
Row {
|
||||
id: contentRow
|
||||
width: parent.width - Theme.spacingM * 2
|
||||
x: Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingM
|
||||
|
||||
Column {
|
||||
width: parent.width - buttonGroup.width - Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
StyledText {
|
||||
text: root.text
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
elide: Text.ElideRight
|
||||
width: parent.width
|
||||
visible: root.text !== ""
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: root.description
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width
|
||||
visible: root.description !== ""
|
||||
}
|
||||
}
|
||||
|
||||
DankButtonGroup {
|
||||
id: buttonGroup
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
selectionMode: "single"
|
||||
onSelectionChanged: (index, selected) => root.selectionChanged(index, selected)
|
||||
}
|
||||
}
|
||||
}
|
||||
121
quickshell/Modules/Settings/Widgets/SettingsCard.qml
Normal file
121
quickshell/Modules/Settings/Widgets/SettingsCard.qml
Normal file
@@ -0,0 +1,121 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
|
||||
StyledRect {
|
||||
id: root
|
||||
|
||||
property string tab: ""
|
||||
property var tags: []
|
||||
|
||||
property string title: ""
|
||||
property string iconName: ""
|
||||
property bool collapsible: false
|
||||
property bool expanded: true
|
||||
|
||||
default property alias content: contentColumn.children
|
||||
|
||||
width: parent?.width ?? 0
|
||||
height: {
|
||||
var hasHeader = root.title !== "" || root.iconName !== "";
|
||||
if (collapsed)
|
||||
return headerRow.height + Theme.spacingL * 2;
|
||||
var h = Theme.spacingL * 2 + contentColumn.height;
|
||||
if (hasHeader)
|
||||
h += headerRow.height + Theme.spacingM;
|
||||
return h;
|
||||
}
|
||||
radius: Theme.cornerRadius
|
||||
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
|
||||
readonly property bool collapsed: collapsible && !expanded
|
||||
readonly property bool hasHeader: root.title !== "" || root.iconName !== ""
|
||||
property bool animationsEnabled: false
|
||||
|
||||
Component.onCompleted: Qt.callLater(() => animationsEnabled = true)
|
||||
|
||||
Behavior on height {
|
||||
enabled: root.animationsEnabled
|
||||
NumberAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Theme.standardEasing
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
anchors.fill: parent
|
||||
anchors.margins: Theme.spacingL
|
||||
spacing: root.hasHeader ? Theme.spacingM : 0
|
||||
clip: true
|
||||
|
||||
Item {
|
||||
id: headerRow
|
||||
width: parent.width
|
||||
height: root.hasHeader ? Math.max(headerIcon.height, headerText.height) : 0
|
||||
visible: root.hasHeader
|
||||
|
||||
Row {
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingM
|
||||
|
||||
DankIcon {
|
||||
id: headerIcon
|
||||
name: root.iconName
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: root.iconName !== ""
|
||||
}
|
||||
|
||||
StyledText {
|
||||
id: headerText
|
||||
text: root.title
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: root.title !== ""
|
||||
}
|
||||
}
|
||||
|
||||
DankIcon {
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
name: root.expanded ? "expand_less" : "expand_more"
|
||||
size: Theme.iconSize - 2
|
||||
color: Theme.surfaceVariantText
|
||||
visible: root.collapsible
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
enabled: root.collapsible
|
||||
cursorShape: root.collapsible ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
onClicked: {
|
||||
if (!root.collapsible)
|
||||
return;
|
||||
root.expanded = !root.expanded;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
id: contentColumn
|
||||
width: parent.width
|
||||
spacing: Theme.spacingM
|
||||
visible: !root.collapsed
|
||||
opacity: root.collapsed ? 0 : 1
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Theme.standardEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
quickshell/Modules/Settings/Widgets/SettingsDropdownRow.qml
Normal file
15
quickshell/Modules/Settings/Widgets/SettingsDropdownRow.qml
Normal file
@@ -0,0 +1,15 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import qs.Widgets
|
||||
|
||||
DankDropdown {
|
||||
id: root
|
||||
|
||||
property string tab: ""
|
||||
property var tags: []
|
||||
property string settingKey: ""
|
||||
|
||||
width: parent?.width ?? 0
|
||||
addHorizontalPadding: true
|
||||
}
|
||||
99
quickshell/Modules/Settings/Widgets/SettingsSliderRow.qml
Normal file
99
quickshell/Modules/Settings/Widgets/SettingsSliderRow.qml
Normal file
@@ -0,0 +1,99 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property string tab: ""
|
||||
property var tags: []
|
||||
property string settingKey: ""
|
||||
|
||||
property string text: ""
|
||||
property string description: ""
|
||||
property alias value: slider.value
|
||||
property alias minimum: slider.minimum
|
||||
property alias maximum: slider.maximum
|
||||
property alias unit: slider.unit
|
||||
property alias wheelEnabled: slider.wheelEnabled
|
||||
property alias thumbOutlineColor: slider.thumbOutlineColor
|
||||
property int defaultValue: -1
|
||||
|
||||
signal sliderValueChanged(int newValue)
|
||||
|
||||
width: parent?.width ?? 0
|
||||
height: headerRow.height + Theme.spacingXS + slider.height
|
||||
|
||||
Column {
|
||||
id: contentColumn
|
||||
width: parent.width - Theme.spacingM * 2
|
||||
x: Theme.spacingM
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingXS
|
||||
|
||||
Row {
|
||||
id: headerRow
|
||||
width: parent.width
|
||||
height: labelColumn.height
|
||||
spacing: Theme.spacingS
|
||||
|
||||
Column {
|
||||
id: labelColumn
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
spacing: Theme.spacingXS
|
||||
width: parent.width - resetButtonContainer.width - Theme.spacingS
|
||||
|
||||
StyledText {
|
||||
text: root.text
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
visible: root.text !== ""
|
||||
}
|
||||
|
||||
StyledText {
|
||||
text: root.description
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width
|
||||
visible: root.description !== ""
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: resetButtonContainer
|
||||
width: root.defaultValue >= 0 ? 36 : 0
|
||||
height: 36
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
DankActionButton {
|
||||
id: resetButton
|
||||
anchors.centerIn: parent
|
||||
buttonSize: 36
|
||||
iconName: "restart_alt"
|
||||
iconSize: 20
|
||||
visible: root.defaultValue >= 0 && slider.value !== root.defaultValue
|
||||
backgroundColor: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
iconColor: Theme.surfaceVariantText
|
||||
onClicked: {
|
||||
slider.value = root.defaultValue;
|
||||
root.sliderValueChanged(root.defaultValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DankSlider {
|
||||
id: slider
|
||||
width: parent.width
|
||||
height: 32
|
||||
showValue: true
|
||||
wheelEnabled: false
|
||||
thumbOutlineColor: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||
onSliderValueChanged: newValue => root.sliderValueChanged(newValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
14
quickshell/Modules/Settings/Widgets/SettingsToggleRow.qml
Normal file
14
quickshell/Modules/Settings/Widgets/SettingsToggleRow.qml
Normal file
@@ -0,0 +1,14 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import qs.Widgets
|
||||
|
||||
DankToggle {
|
||||
id: root
|
||||
|
||||
property string tab: ""
|
||||
property var tags: []
|
||||
property string settingKey: ""
|
||||
|
||||
width: parent?.width ?? 0
|
||||
}
|
||||
224
quickshell/Modules/Settings/WorkspacesTab.qml
Normal file
224
quickshell/Modules/Settings/WorkspacesTab.qml
Normal file
@@ -0,0 +1,224 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
import qs.Modules.Settings.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DankFlickable {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
contentHeight: mainColumn.height + Theme.spacingXL
|
||||
contentWidth: width
|
||||
|
||||
Column {
|
||||
id: mainColumn
|
||||
width: Math.min(550, parent.width - Theme.spacingL * 2)
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: Theme.spacingXL
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "view_module"
|
||||
title: I18n.tr("Workspace Settings")
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Workspace Index Numbers")
|
||||
description: I18n.tr("Show workspace index numbers in the top bar workspace switcher")
|
||||
checked: SettingsData.showWorkspaceIndex
|
||||
onToggled: checked => SettingsData.set("showWorkspaceIndex", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Workspace Padding")
|
||||
description: I18n.tr("Always show a minimum of 3 workspaces, even if fewer are available")
|
||||
checked: SettingsData.showWorkspacePadding
|
||||
onToggled: checked => SettingsData.set("showWorkspacePadding", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Show Workspace Apps")
|
||||
description: I18n.tr("Display application icons in workspace indicators")
|
||||
checked: SettingsData.showWorkspaceApps
|
||||
visible: CompositorService.isNiri || CompositorService.isHyprland
|
||||
onToggled: checked => SettingsData.set("showWorkspaceApps", checked)
|
||||
}
|
||||
|
||||
Row {
|
||||
width: parent.width - Theme.spacingL
|
||||
spacing: Theme.spacingL
|
||||
visible: SettingsData.showWorkspaceApps
|
||||
opacity: visible ? 1 : 0
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.spacingL
|
||||
|
||||
Column {
|
||||
width: 120
|
||||
spacing: Theme.spacingS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Max apps to show")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceText
|
||||
font.weight: Font.Medium
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
width: 100
|
||||
height: 28
|
||||
placeholderText: "#ffffff"
|
||||
text: SettingsData.maxWorkspaceIcons
|
||||
maximumLength: 7
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
topPadding: Theme.spacingXS
|
||||
bottomPadding: Theme.spacingXS
|
||||
onEditingFinished: SettingsData.set("maxWorkspaceIcons", parseInt(text, 10))
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: Theme.mediumDuration
|
||||
easing.type: Theme.emphasizedEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Per-Monitor Workspaces")
|
||||
description: I18n.tr("Show only workspaces belonging to each specific monitor.")
|
||||
checked: SettingsData.workspacesPerMonitor
|
||||
onToggled: checked => SettingsData.set("workspacesPerMonitor", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Show Occupied Workspaces Only")
|
||||
description: I18n.tr("Display only workspaces that contain windows")
|
||||
checked: SettingsData.showOccupiedWorkspacesOnly
|
||||
visible: CompositorService.isNiri || CompositorService.isHyprland
|
||||
onToggled: checked => SettingsData.set("showOccupiedWorkspacesOnly", checked)
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
text: I18n.tr("Show All Tags")
|
||||
description: I18n.tr("Show all 9 tags instead of only occupied tags (DWL only)")
|
||||
checked: SettingsData.dwlShowAllTags
|
||||
visible: CompositorService.isDwl
|
||||
onToggled: checked => SettingsData.set("dwlShowAllTags", checked)
|
||||
}
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
width: parent.width
|
||||
iconName: "label"
|
||||
title: I18n.tr("Named Workspace Icons")
|
||||
visible: SettingsData.hasNamedWorkspaces()
|
||||
|
||||
StyledText {
|
||||
width: parent.width
|
||||
text: I18n.tr("Configure icons for named workspaces. Icons take priority over numbers when both are enabled.")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.outline
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: SettingsData.getNamedWorkspaces()
|
||||
|
||||
Rectangle {
|
||||
width: parent.width
|
||||
height: workspaceIconRow.implicitHeight + Theme.spacingM
|
||||
radius: Theme.cornerRadius
|
||||
color: Qt.rgba(Theme.surfaceContainer.r, Theme.surfaceContainer.g, Theme.surfaceContainer.b, 0.5)
|
||||
border.width: 0
|
||||
|
||||
Row {
|
||||
id: workspaceIconRow
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.leftMargin: Theme.spacingM
|
||||
anchors.rightMargin: Theme.spacingM
|
||||
spacing: Theme.spacingM
|
||||
|
||||
StyledText {
|
||||
text: "\"" + modelData + "\""
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
font.weight: Font.Medium
|
||||
color: Theme.surfaceText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: 150
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
DankIconPicker {
|
||||
id: iconPicker
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Component.onCompleted: {
|
||||
var iconData = SettingsData.getWorkspaceNameIcon(modelData);
|
||||
if (iconData) {
|
||||
setIcon(iconData.value, iconData.type);
|
||||
}
|
||||
}
|
||||
|
||||
onIconSelected: (iconName, iconType) => {
|
||||
SettingsData.setWorkspaceNameIcon(modelData, {
|
||||
"type": iconType,
|
||||
"value": iconName
|
||||
});
|
||||
setIcon(iconName, iconType);
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SettingsData
|
||||
function onWorkspaceIconsUpdated() {
|
||||
var iconData = SettingsData.getWorkspaceNameIcon(modelData);
|
||||
if (iconData) {
|
||||
iconPicker.setIcon(iconData.value, iconData.type);
|
||||
} else {
|
||||
iconPicker.setIcon("", "icon");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: 28
|
||||
height: 28
|
||||
radius: Theme.cornerRadius
|
||||
color: clearMouseArea.containsMouse ? Theme.errorHover : Theme.surfaceContainer
|
||||
border.width: 0
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
DankIcon {
|
||||
name: "close"
|
||||
size: 16
|
||||
color: clearMouseArea.containsMouse ? Theme.error : Theme.outline
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: clearMouseArea
|
||||
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: SettingsData.removeWorkspaceNameIcon(modelData)
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
width: parent.width - 150 - 240 - 28 - Theme.spacingM * 4
|
||||
height: 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,6 @@ Item {
|
||||
signal saveBind(string originalKey, var newData)
|
||||
signal removeBind(string key)
|
||||
signal cancelEdit
|
||||
signal restoreKeyConsumed
|
||||
|
||||
implicitHeight: contentColumn.implicitHeight
|
||||
height: implicitHeight
|
||||
@@ -67,7 +66,6 @@ Item {
|
||||
return;
|
||||
if (restoreKey) {
|
||||
restoreToKey(restoreKey);
|
||||
restoreKeyConsumed();
|
||||
} else {
|
||||
resetEdits();
|
||||
}
|
||||
@@ -77,7 +75,6 @@ Item {
|
||||
if (!isExpanded || !restoreKey)
|
||||
return;
|
||||
restoreToKey(restoreKey);
|
||||
restoreKeyConsumed();
|
||||
}
|
||||
|
||||
function restoreToKey(keyToFind) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": "%1 adaptador(es), ninguno conectado"
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- Apóyanos con una estrella"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1 evento"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "Formato de 24 horas"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "Formato de 24 horas"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "De terceros"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "Clima de la semana"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "Un archivo con este nombre ya existe. ¿Quieres reemplazarlo?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": "Activo"
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": "Activo:"
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "Todo"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "Todo el día"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "Siempre mostrar el porcentaje en el OSD"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": "Iconos fijos"
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "Nivel de batería y gestión de energía"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "Conectar pantalla de bloqueo a las señales dbus de loginctl. Deshabilitar si se usa una pantalla de bloqueo externa"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "Capacidad"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": "Indicador de Bloq Mayús"
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": "Elije dónde aparecen los indicadores en pantalla"
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": "Cifrado"
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": "Cerrar vista general al iniciar"
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "Sobrescribir color"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "Selector de color"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "Temperatura de color para el día"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "Compositor"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "Configuración activada"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "Controlar la reproducción en curso"
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": "Controla la opacidad de todas las ventanas, modales y sus capas de contenido (DankDash, Ajustes, Cajón de aplicaciones, Centro de control, etc.)"
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "Copiar Nombre del Proceso"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "Redondeo de esquinas (0 = esquinas cuadradas)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "Personal"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "Ubicación personalizada"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "Acciones de energía personalizadas"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "Transparencia personalizada"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearch no disponible"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": "Modo oscuro"
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": "Formato de nombre"
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "Mostrar un panel con aplicaciones fijadas y activas que puede colocarse en el borde superior, inferior, izquierdo o derecho de la pantalla"
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": "Mostrar acciones en una cuadrícula en vez de una lista"
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": "Ajustes de pantalla para "
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "Mostrar porcentaje de volumen y brillo en los avisos OSD"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "Pantallas"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "Dock"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "Posición del dock"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "Transparencia del dock"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "Dominio (opcional)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": "Habilitar barra"
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "Habilitar temperatura GPU"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "Información del archivo"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "Encontrar texto"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "Encontrar en notas..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "Control de gamma no disponible. Requiere DMS API v6+."
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "GitHub:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "Con qué frecuencia cambiar el fondo de pantalla"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": "Importar VPN"
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "Incluir transiciones"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "Matar el proceso"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "Usado hace %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "Pantalla de bloqueo"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "Formato en la pantalla de bloqueo"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "Cerrar sesión"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "Texto largo"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": "Medio necesario"
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "Ajustes del reproductor"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "Reproductores ("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": "Volumen multimedia OSD"
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "Memoria"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": "Micrófono"
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": "Silencio del micrófono OSD"
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "Mostrar velocidad de descarga y subida de la red"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "Nuevo"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "Temperatura nocturna"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": "Ninguna"
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "Prioridad normal"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": "Bandeja de salida no encontrada"
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": "Posición: "
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "Energía y seguridad"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "Confirmación de acción"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "Opciones de Energía"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "Perfil de Energía Degradada"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": "Perfil de energía OSD"
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "Escalar todos los tamaños de fuente"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "Escanear"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "Seleccionar el grosor de la fuente"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "Seleccionar monitor para configurar el fondo de pantalla"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "Seleccionar tema de sonidos del sistema"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "Selecciona el algoritmo de colores del fondo de pantalla"
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "Ajustes"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: Borrar todo • Esc: Cerrar "
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": "Mostrar Reiniciar DMS"
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": "Mostrar Suspender"
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "Tamaño relativo"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "Ordenar alfabéticamente"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "Tema de sonidos"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "Espaciador"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "Apoyar desarrollo"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "Superficie"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "Monitoreo del sistema:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "Bandeja del sistema"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "Iconos del área de notificaciones del sistema"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "Notificaciones emergentes del sistema"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "Los complementos de terceros son creados por la comunidad y no cuentan con soporte oficial de DankMaterialShell.\\n\\nEstos complementos pueden representar riesgos de seguridad y privacidad - instálalos bajo tu propia responsabilidad."
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "Este widget evita que la GPU entre en estados de apagado y puede afectar significativamente la batería en portátiles. No se recomienda usarlo en portátiles con gráficos híbridos."
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "Tiempo y clima"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": "Tiempo agotado"
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "Para actualizar, ejecute el siguiente comando:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "Mensajes emergentes"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "Efecto de transición"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "Apagar monitores después de"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": "No disponible"
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "Efecto visual usado al cambiar el fondo de pantalla"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "Cambio de volumen"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "Espacios de trabajo"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": "Si"
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "Tienes cambios sin guardar. ¿Guardar antes de abrir otro archivo?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": "Elegir tema personalizado"
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": "Seleccionar fondo de pantalla"
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "eventos"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctl no disponible - integración requiere conexión al socket DMS"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "Matugen no detectado - tematización dinámica no disponible"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "oficial"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": "Elegir foto de perfil"
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": "Ajustes"
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": "Elegir carpeta de fondos de pantalla"
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "• Instalar solo desde fuentes confiables"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": ""
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- Supportaci Con Una Stella ⭐"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1 evento"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "Formato 24-Ore"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "formato 24-ore"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "terze parti"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "Previsioni 7-giorni"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "Un file con questo nome esiste già. Vuoi sovrascriverlo?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": ""
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": ""
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "Tutto"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "Tutto il giorno"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "Visualizza sempre percentuale OSD"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": "Icone sempre attive"
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "Livello batteria e gestione energetica"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "Collega il blocca schermo ai segnali dbus da loginctl.\nDisabilità se stai usando un blocca schermo esterno"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "Capacità"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": "Indicatore Maiuscolo"
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": "Scegli dove i messaggi appaiono sullo schermo"
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": ""
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": "Chiudi Overview all'Avvio"
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "Sostituzione Colore"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "Prelievo Colore"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "Temperatura colore per il giorno"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "Compositor\n"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "Configurazione attivata"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "Controllo media attualmente in riproduzione "
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": "Controlla l'opacità di tutti i popup, delle finestre modali e dei relativi livelli di contenuto (Dank Dash, Impostazioni, App Drawer, Centro di controllo, ecc.)"
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "Copia Nome Processo"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "Raggio Angoli (0 = angoli squadrati)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "Personalizzato"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "Posizione Personalizzata"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "Azione Alimentazione Personalizzate"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "Trasparenza personalizzata"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearch non disponibile"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": "Modalità Scura"
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": "Formato del nome visualizzato"
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "Visualizza una dock con applicazioni pinnate ed in esecuzione che possono essere posizionate nell'angolo superiore, inferiore, sinistro o destro dello schermo"
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": "Visualizza le azioni di alimentazioni in griglia invece di una lista"
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": "Impostazioni display per "
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "Mostra di default la percentuale volume e luminosità nei popups OSD"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "Displays"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "Dock"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "Posizione Dock"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "Trasparenza Dock"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "Dominio (opzionale)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": "Abilita Barra"
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "Abilita Temperatura GPU"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "Informazioni File"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "Trova nel Testo"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "Trova in note..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "Gamma control non disponibile. Richiede API DMS v6+."
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "Github:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "Quanto spesso cambiare lo sfondo"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": ""
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "Includi Transizioni"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "Chiusura Processo"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "Ultimo avviato %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "Blocca Schermo"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "Formato Blocca Schermo"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "Log Out"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "Testo Lungo"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": "Media Richiesti"
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "Impostazioni Media Player"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "Media Players ("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": "OSD Volume Media"
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "Memoria"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": "Microfono"
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": "OSD Microfono Muto"
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "Mostra velocità di download e upload della rete"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "Nuovo"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "Temperatura Notte"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": "Nulla"
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "Priorità Normale"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": "Vassoio Uscita Mancante"
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": "Posizione"
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "Alimentazione & Sicurezza"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "Conferma Azioni Alimentazione"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "Opzioni Alimentazione"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "Degradamento profilo energetico"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": "OSD Profilo Alimentazione"
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "Scala tutte le dimensioni dei font"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "Scansiona"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "Seleziona peso font"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "Selezionare il monitor per configurare lo sconto"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "Seleziona tema suoni di sistema"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "Seleziona l'algoritmo tavolozza usato per i colori basati sullo sfondo"
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "Impostazioni"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: Elimina tutto • Esc: Chiude"
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": "Mostra Riavvia DMS"
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": "Mostra Sospendi"
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "Dimensione Offset"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "Ordina Alfabeticamente"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "Tema Suoni"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "Spaziatore"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "Supporta Sviluppo"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "Superficie"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "Monitoraggio Sistema:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "Vassoio Sistema"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "Icone area notifiche di sistema"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "Notiche toast di sistema"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "I plugin di terze parti sono creati dalla community e non sono ufficialmente supportati da DankMaterialShell.\\n\\nQuesti plugin possono comportare rischi per la sicurezza e la privacy - installare a proprio rischio."
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "Questo widget impedisce gli stati di spegnimento della GPU, che possono influire in modo significativo sulla durata della batteria sui laptop. Non è consigliabile utilizzare questo su laptop con grafica ibrida."
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "Orario & Meteo"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": "Scaduto"
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "Per aggiornare, esegui il seguente comando:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "Messaggi Toast"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "Effetto Transizione"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "Spegni monitors dopo"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": ""
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "Effetto visivo usato quando cambia lo sfondo"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "Volume Cambiato"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "Switcher Workspace"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": ""
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "Ci sono modifiche non salvate. Salvare prima di aprire un file?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": "Seleziona Tema Personalizzato"
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": "Seleziona Sfondo"
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "eventi"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctl non disponibile - integrazione blocco richiede connessione socket DMS"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "matugen non rilevato - tema dinamico non disponibile"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "ufficiale"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": "Seleziona Immagine Profilo"
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": "Impostazioni"
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": "Seleziona Cartella Sfondo"
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "• Installa solo da sorgenti fidate"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": ""
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- 星を付けて応援してください⭐"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1件のイベント"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "24時間形式"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "24時間形式"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "サードパーティ"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "7日間予報"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "この名前のファイルは既に存在します。上書きしてもよろしいですか?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": ""
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": ""
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "全て"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "毎日"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "常に OSD パーセンテージを表示"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": "常時表示アイコン"
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "バッテリーレベルおよび電源管理"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "ロック画面をloginctlからのdbus信号にバインド。外部ロック画面を使用している場合は無効に"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "容量"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": "Caps Lock インジケーター"
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": "OSDの表示する場所を選んでください"
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": ""
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": "起動中のときに概要を閉じる"
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "色のオーバーライド"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "カラーピッカー"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "昼間の色温度"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "コンポジター"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "設定が適用されました"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "現在再生中のメディアを制御"
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": "すべてのポップアウト、モーダル、およびそれらのコンテンツレイヤー(DankDash、設定、アプリドロワー、コントロールセンターなど)の不透明度を制御"
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "プロセス名をコピー"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "コーナー半径(0 = 角丸なし)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "カスタム"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "カスタムロケーション"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "カスタム電源アクション"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "カスタム透明度"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearchが利用できません"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": "ダークモード"
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": "名称形式を表示"
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "画面の上、下、左、右の端に配置できる、ピン留めされた実行中のアプリケーションを含むドックを表示します"
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": "電源メニューのアクションをリストではなくグリッドに表示"
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": "以下の設定を表示 "
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "OSDポップアップに音量と輝度のパーセンテージ値をデフォルトで表示"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "表示"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "ドック"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "ドック位置"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "ドックの透明度"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "ドメイン (オプション)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": "バーを起用"
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "GPU温度を有効にする"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "ファイル情報"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "テキスト内検索"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "メモで検索..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "ガンマ制御は使用できません。DMS API v6+ が必要です。"
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "GitHub:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "壁紙を切り替える間隔"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": ""
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "トランジションを含める"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "プロセスを強制終了"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "最終起動日 %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "ロック画面"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "ロック画面のフォーマット"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "ログアウト"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "長文"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": "メディアが必要"
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "メディアプレーヤーの設定"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "メディアプレーヤー("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": "メディア音量OSD"
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "メモリ"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": "マイク"
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": "マイクミュートOSD"
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "ネットワークのダウンロードおよびアップロード速度を表示"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "新しい"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "夜間の温度"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": "ない"
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "通常の優先度"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": "アウトプットトレイが見つかりませんでした"
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": "位置: "
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "電源とセキュリティ"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "電源アクションの確認"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "電源オプション"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "電源プロファイルの劣化"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": "電源プロファイルOSD"
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "すべてのフォントサイズを拡大縮小"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "スキャン"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "フォントの太さを選ぶ"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "壁紙を設定するモニターを選ぶ"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "システムサウンドテーマを選ぶ"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "壁紙ベースの色で、使用するパレットアルゴリズムを選ぶ"
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "設定"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: すべてクリア • Esc: 閉じる"
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": "DMS再起動を表示"
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": "一時停止を表示"
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "サイズオフセット"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "アルファベット順に並べ替える"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "サウンドテーマ"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "間隔"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "開発をサポート"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "表面"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "システム監視:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "システムトレイ"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "システム通知エリアアイコン"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "システムトースト通知"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "サードパーティプラグインはコミュニティによって作成されており、DankMaterialShellによる公式サポートはありません。\\n\\nこれらのプラグインはセキュリティやプライバシーのリスクをもたらす可能性があります - 自己責任でインストールしてください。"
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "このウィジェットはGPUの省電力状態を防ぎ、ノートパソコンのバッテリー寿命に大きな影響を与える可能性があります。ハイブリッドグラフィックス搭載のノートパソコンでの使用は推奨されません。"
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "時間および天気"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": "タイムアウト"
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "更新するには以下のコマンドを実行してください:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "トーストメッセージ"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "トランジション効果"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "後にモニターの電源を切る"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": ""
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "壁紙が変更される時に使用されるビジュアルエフェクト"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "音量変更"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "ワークスペーススイッチャー"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": ""
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "保存されていない変更があります。ファイルを開く前に保存しますか?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": "カスタムテーマを選んでください"
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": "壁紙を選んでください"
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "イベント"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctlが利用できません- ロック統合のためにDMS socketの接続が必要です。"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "matugen が検出されません - ダイナミックテーマ設定は利用できません"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "公式"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": "プロファイル画像を選んでください"
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": "設定"
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": "壁紙のディレクトリを選んでください"
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "• 信頼できるソースからのみインストールする"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": "%1 adapter(y), brak połączenia"
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- Wesprzyj nas gwiazdką ⭐"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1 wydarzenie"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "Format 24-godzinny"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "format 24-godzinny"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "strona trzecia"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "Prognoza 7-dniowa"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "Plik o takiej nazwie już istnieje. Czy chcesz go nadpisać?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": "Aktywny"
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": "Aktywny: "
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "Wszystkie"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "Cały dzień"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "Zawsze pokazuj procent w OSD"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": "Ikony zawsze włączone"
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "Poziom baterii i zarządzanie zasilaniem"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "Powiąż ekran blokady z sygnałami dbus z loginctl. Wyłącz, jeśli używasz zewnętrznego ekranu blokady"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "Pojemność"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": "Wskaźnik caps locka"
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": "Wybierz miejsce wyświetlania informacji na ekranie"
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": "Szyfr"
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": "Zamknij podgląd przy uruchomieniu"
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "Nadpisanie koloru"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "Próbnik kolorów"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "Temperatura barwowa w ciągu dnia"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "Kompozytor"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "Konfiguracja aktywowana"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "Steruj aktualnie odtwarzanymi multimediami"
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": "Kontroluje przezroczystość wszystkich wyskakujących okienek, okien modalnych i ich warstw zawartości (DankDash, Ustawienia, Szuflada aplikacji, Centrum sterowania itp.)"
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "Kopiuj nazwę procesu"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "Promień narożnika (0 = kwadratowe narożniki)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "Niestandardowy"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "Niestandardowa lokalizacja"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "Niestandardowe akcje zasilania"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "Niestandardowa przezroczystość"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearch niedostępny"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": "Tryb ciemny"
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": "Format nazwy wyświetlanej"
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "Wyświetla dok z przypiętymi i uruchomionymi aplikacjami, który można umieścić na górze, na dole, po lewej lub po prawej stronie ekranu."
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": "Wyświetl elementy menu zasilania w siatce zamiast listy"
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": "Ustawienia wyświetlania dla "
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "Domyślnie wyświetlaj wartości procentowe głośności i jasności w wyskakujących okienkach OSD"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "Ekrany"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "Dok"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "Pozycja Doka"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "Przezroczystość Doka"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "Domena (opcjonalnie)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": "Włącz pasek"
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "Pokaż temperaturę GPU"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "Informacje"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "Znajdź w tekście"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "Znajdź w notatce..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "Kontrola gamma niedostępna. Wymaga DMS API w wersji 6+."
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "Github:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "Jak często zmieniać tapetę"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": "Importuj VPN"
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "Uwzględnij przejścia"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "Zabij proces"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "Ostatnio uruchomiony %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "Ekran blokady"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "Format ekranu blokady"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "Wyloguj"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "Długi tekst"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": "Wymagany nośnik"
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "Ustawienia odtwarzacza multimediów"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "Odtwarzacze multimediów ("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": "OSD głośności multimediów"
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "Pamięć"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": "Mikrofon"
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": "OSD Wyciszenia Mikrofonu"
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "Wyświetlanie prędkości pobierania i wysyłania sieci"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "Nowy"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "Temperatura w nocy"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": "Brak"
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "Normalny priorytet"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": "Brak tacy wyjściowej"
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": "Stanowisko: "
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "Zasilanie i bezpieczeństwo"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "Potwierdzenie działania zasilania"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "Opcje zasilania"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "Pogorszenie profilu zasilania"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": "OSD Profilu Zasilania"
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "Skaluj wszystkie rozmiary czcionek"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "Skanuj"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "Wybierz grubość czcionki"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "Wybierz monitor, aby skonfigurować tapetę"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "Wybierz motyw dźwiękowy systemu"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "Wybierz algorytm palety używany dla kolorów tapet."
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "Ustawienia"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: Wyczyść wszystko • Esc: Zamknij"
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": "Pokaż ponowne uruchomienie DMS"
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": "Pokaż zawieszenie"
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "Przesunięcie rozmiaru"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "Sortuj alfabetycznie"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "Motyw dźwiękowy"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "Odstęp"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "Wspieraj rozwój"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "Powierzchnia"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "Monitorowanie systemu:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "Zasobnik systemowy"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "Ikony obszaru powiadomień systemowych"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "Powiadomienia o toastach systemowych"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "Wtyczki firm trzecich są tworzone przez społeczność i nie są oficjalnie wspierane przez DankMaterialShell.\\n\\nTe wtyczki mogą stanowić zagrożenie dla bezpieczeństwa i prywatności - instaluj na własne ryzyko."
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "Ten widżet zapobiega wyłączaniu zasilania GPU, co może znacznie wpłynąć na żywotność baterii w laptopach. Nie zaleca się używania go na laptopach z hybrydową grafiką."
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "Czas i pogoda"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": "Przekroczono limit czasu"
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "Aby dokonać aktualizacji, uruchom następujące polecenie:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "Wiadomości toastowe"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "Efekt przejścia"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "Wyłącz monitory po"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": "Niedostępny"
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "Efekt wizualny używany przy zmianie tapety"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "Zmieniony wolumen"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "Przełącznik obszarów roboczych"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": "Tak"
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "Masz niezapisane zmiany. Zapisać przed otwarciem pliku?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": "Wybierz niestandardowy motyw"
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": "Wybierz tapetę"
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "wydarzenia"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctl niedostępny - integracja blokady wymaga połączenia z gniazdem DMS"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "nie wykryto matugen - dynamiczne motywy niedostępne"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "oficjalny"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": "Wybierz obraz profilowy"
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": "Ustawienia"
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": "Wybierz katalog z tapetami"
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "• Instaluj tylko z zaufanych źródeł"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": ""
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- Apoie-nos com uma Estrela ⭐"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1 evento"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "Formato de 24 Horas"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "formato de 24 horas"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "Terceiros"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "Previsão do Tempo de 7 Dias"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "Um arquivo com esse nome já existe. Você quer sobrescrevê-lo?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": ""
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": ""
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "Todos"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "O dia todo"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "Sempre mostrar porcetagem no OSD"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": ""
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "Nível de bateria e manejamento de energia"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "Vincular o bloqueio de tela aos sinais do DBus do loginctl. Desative se estiver usando um bloqueio de tela externo"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "Capacidade"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": ""
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": ""
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": ""
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": ""
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "Sobrescrever Cor"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "Seletor de Cores"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "Temperatura de cor durante o dia"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "Compositor"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "Configuração ativada"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "Controlar mídia que está sendo reproduzida"
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": ""
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "Copiar Nome do Processo"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "Ângulo da quina (0 = quina quadrilátera)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "Customizado"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "Customizar Localização"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "Ações de Energia Customizadas"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "Transparência Customizada"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearch não disponível"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": ""
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "Exibir um dock com aplicativos que estão sendo utilizados, e que pode ser posicionada no superior, inferior, esquerda ou direita dos cantos da tela"
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": ""
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": ""
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "Mostrar porcentagem de volume e brilho por padrão nos pop ups de OSD"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "Telas"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "Dock"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "Posição da Dock"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "Transparência da Dock"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "Domínio (opcional)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": ""
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "Habilitar Temperatura da GPU"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "Informação do Arquivo"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "Procurar no Texto"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "Procurar na nota..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "Controle de gama não disponível. Necessário DMS API v6+."
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "Github:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "Tempo entre papéis de parede"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": ""
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "Incluir Transições"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "Matar Processo"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "Lançado pela última vez em %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "Tela de Bloqueio"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "Formato da Tela de Bloqueio"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "Sair"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "Longo Texto"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": ""
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "Configurações do Reprodutor de Mídia"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "Reprodutores de Mídia("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": ""
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "Memória"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": ""
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": ""
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "Monitor de velocidades de download e upload da rede"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "Novo"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "Temperatura Noturna"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": ""
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "Prioridade Normal"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": ""
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": ""
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "Energia & Segurança"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "Confirmação de Ação de Energia"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "Opções de Energia"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "Degradação do Perfil de Energia"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": ""
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "Ajustar todos os tamanhos de fonte"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "Escanear"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "Selecionar espessura da fonte"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "Selecionar monitor para configurar papel de parede"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "Selecionar tema do som do sistema"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "Selecione o algoritmo usado para cores baseadas no papel de parede"
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "Configurações"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: Apagar tudo • Esc: Fechar"
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": ""
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": ""
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "Ajuste de Tamanho"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "Ordenar Alfabeticamente"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "Tema do Som"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "Espaçador"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "Apoie o Desenvolvimento"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "Superfície"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "Monitoramento do Sistema:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "Bandeja do Sistema"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "Área de ícones de notificações do sistema"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "Notificações toast do sistema"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "Plugins de terceiros são criados pela comunidade e não têm suporte oficial do DankMaterialShell.\\n\\nEsses plugins podem representar riscos à segurança e à privacidade - instale por sua conta e risco."
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "Este widget mantém a GPU ativa, podendo reduzir a duração da bateria. Não recomendado em laptops com gráficos híbridos."
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "Hora & Clima"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": ""
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "Para atualizar, execute o seguinte comando:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "Mensagens Toast"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "Efeito de Transição"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "Desligar monitores depois de"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": ""
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "Efeito visual usado na mudança do papel de parede"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "Volume Alterado"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "Seletor de Áreas de Trabalho"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": ""
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "Você tem mudanças não salvas. Deseja salvar antes de abrir um arquivo?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": ""
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": ""
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "eventos"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctl não disponível - integração com bloqueio requer conexão de socket DMS"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "matugen não detectado - tematização dinâmica não disponível"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "oficial"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": ""
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": ""
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": ""
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "Instale apenas de fontes confiáveis"
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": ""
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- 给个 Star ⭐来表示支持吧"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1个事件"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "24小时制"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "24小时制"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "第三方"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "七日天气预报"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "已存在同名文件,是否覆盖?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": ""
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": ""
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "全部"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "每天"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "始终显示 OSD 百分比"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": "总显示的图标"
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "电池电量与电源管理"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "将锁屏绑定到来自 loginctl 的 dbus 信号。如使用外部锁屏程序,请禁用此项"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "电池容量"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": "大小写指示灯"
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": "选择OSD在屏幕上出现的位置"
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": ""
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": "在启动时关闭概览"
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "覆盖颜色"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "取色器"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "白天模式色温"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "合成器"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "已应用配置"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "控制当前播放的媒体"
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": "控制所有弹出窗口、模态及其内容层(DankDash、设置、应用抽屉、控制中心等)的不透明度"
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "复制进程名"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "圆角半径(0 = 直角)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "自定义"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "自定义位置"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "自定义电源操作"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "自定义透明度"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearch 不可用"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": "暗色模式"
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": "显示名称格式"
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "显示一个包含固定和运行中应用的程序坞,可放置在屏幕四边任意位置"
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": "通过网格而非列表显示电源菜单"
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": "显示设置 "
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "在OSD弹窗中默认显示音量与亮度数值"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "显示"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "程序坞"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "程序坞位置"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "程序坞透明度"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "域(可选)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": "启用状态栏"
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "显示 GPU 温度"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "文件信息"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "查找文本"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "在便签中查找..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "伽玛控制不可用,需要 DMS API v6+。"
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "Github:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "壁纸轮换频率"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": ""
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "包含过渡效果"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "结束进程"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "上次启动于 %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "锁屏"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "锁屏格式"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "注销"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "长文本"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": "需要纸张"
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "媒体播放器设置"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "媒体播放器 ("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": "媒体音量OSD"
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "内存"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": "麦克风"
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": "OSD麦克风静音"
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "显示网络下载与上传速度"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "新建"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "夜间色温"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": "无"
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "标准通知"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": "未检测到出纸盒"
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": "位置: "
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "电源与安全"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "电源操作确认"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "电源菜单"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "电源配置性能下降"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": "OSD电源配置"
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "缩放所有字体大小"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "扫描"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "选择字体粗细"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "选择要设置壁纸的屏幕"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "选择系统声音主题"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "选择从壁纸取色的配色方案"
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "设置"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: 清空 • Esc: 关闭"
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": "显示重启 DMS"
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": "显示挂起"
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "尺寸偏移"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "按字母顺序排序"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "声音主题"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "空白占位"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "支持开发"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "表面色"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "系统监测:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "系统托盘"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "系统通知区域图标"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "系统弹出式通知"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "第三方插件由社区开发,DankMaterialShell 不提供官方支持。\\n\\n这些插件可能存在隐私和安全隐患,请自行承担风险。"
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "此组件会阻止 GPU 进入省电状态,可能会显著影响笔记本的电池续航。不建议在配备混合显卡的笔记本上使用。"
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "时间与天气"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": "超时"
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "请运行以下命令以更新:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "弹出式信息"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "过渡效果"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "在此时间后关闭显示器"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": ""
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "壁纸切换时的动画效果"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "音量变化"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "工作区切换器"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": ""
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "检测到未保存的更改,是否在打开文件前保存?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": "选择自定义主题"
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": "选择壁纸"
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "事件"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctl 不可用 - 启用锁定集成需连接 DMS socket"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "未检测到 Matugen,动态主题不可用"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "官方"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": "选择个人信息图像"
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": "设置"
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": "选择壁纸位置"
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "• 仅从可信来源安装"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": {
|
||||
"%1 DMS bind(s) may be overridden by config binds that come after the include.": ""
|
||||
},
|
||||
"%1 adapter(s), none connected": {
|
||||
"%1 adapter(s), none connected": "%1 個轉接器,未連接"
|
||||
},
|
||||
@@ -32,21 +35,57 @@
|
||||
"- Support Us With a Star ⭐": {
|
||||
"- Support Us With a Star ⭐": "- 給我們點個 Star ⭐ 來支持我們"
|
||||
},
|
||||
"0 = square corners": {
|
||||
"0 = square corners": ""
|
||||
},
|
||||
"1 event": {
|
||||
"1 event": "1 個活動"
|
||||
},
|
||||
"1 minute": {
|
||||
"1 minute": ""
|
||||
},
|
||||
"1 second": {
|
||||
"1 second": ""
|
||||
},
|
||||
"10 minutes": {
|
||||
"10 minutes": ""
|
||||
},
|
||||
"10 seconds": {
|
||||
"10 seconds": ""
|
||||
},
|
||||
"15 seconds": {
|
||||
"15 seconds": ""
|
||||
},
|
||||
"2 minutes": {
|
||||
"2 minutes": ""
|
||||
},
|
||||
"24-Hour Format": {
|
||||
"24-Hour Format": "24 小時制"
|
||||
},
|
||||
"24-hour format": {
|
||||
"24-hour format": "24 小時制"
|
||||
},
|
||||
"3 seconds": {
|
||||
"3 seconds": ""
|
||||
},
|
||||
"30 seconds": {
|
||||
"30 seconds": ""
|
||||
},
|
||||
"3rd party": {
|
||||
"3rd party": "第三方"
|
||||
},
|
||||
"5 minutes": {
|
||||
"5 minutes": ""
|
||||
},
|
||||
"5 seconds": {
|
||||
"5 seconds": ""
|
||||
},
|
||||
"7-Day Forecast": {
|
||||
"7-Day Forecast": "七天氣象預報"
|
||||
},
|
||||
"8 seconds": {
|
||||
"8 seconds": ""
|
||||
},
|
||||
"A file with this name already exists. Do you want to overwrite it?": {
|
||||
"A file with this name already exists. Do you want to overwrite it?": "檔案名稱已存在。是否要覆蓋它?"
|
||||
},
|
||||
@@ -86,6 +125,9 @@
|
||||
"Active": {
|
||||
"Active": "啟用"
|
||||
},
|
||||
"Active Lock Screen Monitor": {
|
||||
"Active Lock Screen Monitor": ""
|
||||
},
|
||||
"Active: ": {
|
||||
"Active: ": "啟用:"
|
||||
},
|
||||
@@ -128,6 +170,9 @@
|
||||
"All": {
|
||||
"All": "所有"
|
||||
},
|
||||
"All Monitors": {
|
||||
"All Monitors": ""
|
||||
},
|
||||
"All day": {
|
||||
"All day": "全天"
|
||||
},
|
||||
@@ -140,6 +185,9 @@
|
||||
"Always Show OSD Percentage": {
|
||||
"Always Show OSD Percentage": "OSD 始終顯示百分比"
|
||||
},
|
||||
"Always Show Percentage": {
|
||||
"Always Show Percentage": ""
|
||||
},
|
||||
"Always on icons": {
|
||||
"Always on icons": "始終顯示圖示"
|
||||
},
|
||||
@@ -335,6 +383,9 @@
|
||||
"Battery level and power management": {
|
||||
"Battery level and power management": "電量與電源管理"
|
||||
},
|
||||
"Behavior": {
|
||||
"Behavior": ""
|
||||
},
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": {
|
||||
"Bind lock screen to dbus signals from loginctl. Disable if using an external lock screen": "將鎖定畫面綁定到 loginctl 的 dbus 訊號。如果使用外部鎖屏,請停用"
|
||||
},
|
||||
@@ -434,6 +485,9 @@
|
||||
"Capacity": {
|
||||
"Capacity": "容量"
|
||||
},
|
||||
"Caps Lock": {
|
||||
"Caps Lock": ""
|
||||
},
|
||||
"Caps Lock Indicator": {
|
||||
"Caps Lock Indicator": "大小寫鎖定指示器"
|
||||
},
|
||||
@@ -488,6 +542,9 @@
|
||||
"Choose where on-screen displays appear on screen": {
|
||||
"Choose where on-screen displays appear on screen": "選擇螢幕顯示出現在螢幕上的位置"
|
||||
},
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": {
|
||||
"Choose which monitor shows the lock screen interface. Other monitors will display a solid color for OLED burn-in protection.": ""
|
||||
},
|
||||
"Cipher": {
|
||||
"Cipher": "密碼"
|
||||
},
|
||||
@@ -530,12 +587,18 @@
|
||||
"Close Overview on Launch": {
|
||||
"Close Overview on Launch": "啟動時關閉概覽"
|
||||
},
|
||||
"Color Mode": {
|
||||
"Color Mode": ""
|
||||
},
|
||||
"Color Override": {
|
||||
"Color Override": "顏色覆蓋"
|
||||
},
|
||||
"Color Picker": {
|
||||
"Color Picker": "顏色選擇器"
|
||||
},
|
||||
"Color displayed on monitors without the lock screen": {
|
||||
"Color displayed on monitors without the lock screen": ""
|
||||
},
|
||||
"Color temperature for day time": {
|
||||
"Color temperature for day time": "白天螢幕的顏色溫度"
|
||||
},
|
||||
@@ -578,6 +641,9 @@
|
||||
"Compositor": {
|
||||
"Compositor": "合成器"
|
||||
},
|
||||
"Config action: %1": {
|
||||
"Config action: %1": ""
|
||||
},
|
||||
"Configuration activated": {
|
||||
"Configuration activated": "配置已啟動"
|
||||
},
|
||||
@@ -629,6 +695,9 @@
|
||||
"Control currently playing media": {
|
||||
"Control currently playing media": "控制目前播放器"
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers": {
|
||||
"Controls opacity of all popouts, modals, and their content layers": ""
|
||||
},
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": {
|
||||
"Controls opacity of all popouts, modals, and their content layers (DankDash, Settings, App Drawer, Control Center, etc.)": "控制所有彈出式介面、模態對話框及其內容層級的不透明度 (適用於 DankDash、設定、應用程式抽屜、控制中心等)"
|
||||
},
|
||||
@@ -650,6 +719,9 @@
|
||||
"Copy Process Name": {
|
||||
"Copy Process Name": "複製程序名"
|
||||
},
|
||||
"Corner Radius": {
|
||||
"Corner Radius": ""
|
||||
},
|
||||
"Corner Radius (0 = square corners)": {
|
||||
"Corner Radius (0 = square corners)": "圓角半徑 (0 = 方角)"
|
||||
},
|
||||
@@ -686,12 +758,33 @@
|
||||
"Custom": {
|
||||
"Custom": "自訂"
|
||||
},
|
||||
"Custom Duration": {
|
||||
"Custom Duration": ""
|
||||
},
|
||||
"Custom Hibernate Command": {
|
||||
"Custom Hibernate Command": ""
|
||||
},
|
||||
"Custom Location": {
|
||||
"Custom Location": "自訂位置"
|
||||
},
|
||||
"Custom Lock Command": {
|
||||
"Custom Lock Command": ""
|
||||
},
|
||||
"Custom Logout Command": {
|
||||
"Custom Logout Command": ""
|
||||
},
|
||||
"Custom Power Actions": {
|
||||
"Custom Power Actions": "自訂電源選項"
|
||||
},
|
||||
"Custom Power Off Command": {
|
||||
"Custom Power Off Command": ""
|
||||
},
|
||||
"Custom Reboot Command": {
|
||||
"Custom Reboot Command": ""
|
||||
},
|
||||
"Custom Suspend Command": {
|
||||
"Custom Suspend Command": ""
|
||||
},
|
||||
"Custom Transparency": {
|
||||
"Custom Transparency": "自訂透明度"
|
||||
},
|
||||
@@ -746,6 +839,9 @@
|
||||
"DankSearch not available": {
|
||||
"DankSearch not available": "DankSearch 不可用"
|
||||
},
|
||||
"DankShell & System Icons (requires restart)": {
|
||||
"DankShell & System Icons (requires restart)": ""
|
||||
},
|
||||
"Dark Mode": {
|
||||
"Dark Mode": "深色主題"
|
||||
},
|
||||
@@ -842,6 +938,9 @@
|
||||
"Display Name Format": {
|
||||
"Display Name Format": "顯示名稱格式"
|
||||
},
|
||||
"Display a dock with pinned and running applications": {
|
||||
"Display a dock with pinned and running applications": ""
|
||||
},
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": {
|
||||
"Display a dock with pinned and running applications that can be positioned at the top, bottom, left, or right edge of the screen": "顯示一個帶有固定和正在運行的應用程式的 Dock,這些應用程式可以放置在螢幕的頂部、底部、左側或右側邊緣"
|
||||
},
|
||||
@@ -863,12 +962,18 @@
|
||||
"Display power menu actions in a grid instead of a list": {
|
||||
"Display power menu actions in a grid instead of a list": "以網格而非列表顯示電源選單操作"
|
||||
},
|
||||
"Display seconds in the clock": {
|
||||
"Display seconds in the clock": ""
|
||||
},
|
||||
"Display settings for ": {
|
||||
"Display settings for ": "顯示設定適用於"
|
||||
},
|
||||
"Display volume and brightness percentage values by default in OSD popups": {
|
||||
"Display volume and brightness percentage values by default in OSD popups": "在 OSD 彈出視窗中預設顯示音量和亮度百分比值"
|
||||
},
|
||||
"Display volume and brightness percentage values in OSD popups": {
|
||||
"Display volume and brightness percentage values in OSD popups": ""
|
||||
},
|
||||
"Displays": {
|
||||
"Displays": "螢幕"
|
||||
},
|
||||
@@ -884,12 +989,21 @@
|
||||
"Dock": {
|
||||
"Dock": "Dock"
|
||||
},
|
||||
"Dock & Launcher": {
|
||||
"Dock & Launcher": ""
|
||||
},
|
||||
"Dock Position": {
|
||||
"Dock Position": "Dock 位置"
|
||||
},
|
||||
"Dock Transparency": {
|
||||
"Dock Transparency": "Dock 透明度"
|
||||
},
|
||||
"Dock Visibility": {
|
||||
"Dock Visibility": ""
|
||||
},
|
||||
"Docs": {
|
||||
"Docs": ""
|
||||
},
|
||||
"Domain (optional)": {
|
||||
"Domain (optional)": "網域 (可選)"
|
||||
},
|
||||
@@ -938,6 +1052,9 @@
|
||||
"Enable Bar": {
|
||||
"Enable Bar": "啟用欄"
|
||||
},
|
||||
"Enable Do Not Disturb": {
|
||||
"Enable Do Not Disturb": ""
|
||||
},
|
||||
"Enable GPU Temperature": {
|
||||
"Enable GPU Temperature": "啟用 GPU 溫度"
|
||||
},
|
||||
@@ -1148,12 +1265,21 @@
|
||||
"File Information": {
|
||||
"File Information": "檔案資訊"
|
||||
},
|
||||
"Files": {
|
||||
"Files": ""
|
||||
},
|
||||
"Find in Text": {
|
||||
"Find in Text": "尋找文字"
|
||||
},
|
||||
"Find in note...": {
|
||||
"Find in note...": "尋找筆記..."
|
||||
},
|
||||
"Fine-tune animation timing in milliseconds": {
|
||||
"Fine-tune animation timing in milliseconds": ""
|
||||
},
|
||||
"First Time Setup": {
|
||||
"First Time Setup": ""
|
||||
},
|
||||
"Fix Now": {
|
||||
"Fix Now": ""
|
||||
},
|
||||
@@ -1226,6 +1352,9 @@
|
||||
"Gamma control not available. Requires DMS API v6+.": {
|
||||
"Gamma control not available. Requires DMS API v6+.": "Gamma 控制不可用。需要 DMS API v6+。"
|
||||
},
|
||||
"GitHub": {
|
||||
"GitHub": ""
|
||||
},
|
||||
"Github:": {
|
||||
"Github:": "Github:"
|
||||
},
|
||||
@@ -1310,6 +1439,9 @@
|
||||
"Hourly Forecast": {
|
||||
"Hourly Forecast": ""
|
||||
},
|
||||
"How long to hold the button to confirm the action": {
|
||||
"How long to hold the button to confirm the action": ""
|
||||
},
|
||||
"How often to change wallpaper": {
|
||||
"How often to change wallpaper": "多久更換一次桌布"
|
||||
},
|
||||
@@ -1355,6 +1487,9 @@
|
||||
"Import VPN": {
|
||||
"Import VPN": "匯入 VPN"
|
||||
},
|
||||
"Inactive Monitor Color": {
|
||||
"Inactive Monitor Color": ""
|
||||
},
|
||||
"Include Transitions": {
|
||||
"Include Transitions": "包括過渡"
|
||||
},
|
||||
@@ -1424,6 +1559,9 @@
|
||||
"Kill Process": {
|
||||
"Kill Process": "結束程序"
|
||||
},
|
||||
"Ko-fi": {
|
||||
"Ko-fi": ""
|
||||
},
|
||||
"Last launched %1": {
|
||||
"Last launched %1": "上次啟動於 %1"
|
||||
},
|
||||
@@ -1499,6 +1637,9 @@
|
||||
"Lock Screen": {
|
||||
"Lock Screen": "鎖定螢幕"
|
||||
},
|
||||
"Lock Screen Display": {
|
||||
"Lock Screen Display": ""
|
||||
},
|
||||
"Lock Screen Format": {
|
||||
"Lock Screen Format": "鎖定螢幕格式"
|
||||
},
|
||||
@@ -1508,6 +1649,9 @@
|
||||
"Log Out": {
|
||||
"Log Out": "登出"
|
||||
},
|
||||
"Long": {
|
||||
"Long": ""
|
||||
},
|
||||
"Long Text": {
|
||||
"Long Text": "長文字"
|
||||
},
|
||||
@@ -1586,15 +1730,24 @@
|
||||
"Media Needed": {
|
||||
"Media Needed": "需要媒體"
|
||||
},
|
||||
"Media Player": {
|
||||
"Media Player": ""
|
||||
},
|
||||
"Media Player Settings": {
|
||||
"Media Player Settings": "媒體播放設定"
|
||||
},
|
||||
"Media Players (": {
|
||||
"Media Players (": "媒體播放 ("
|
||||
},
|
||||
"Media Volume": {
|
||||
"Media Volume": ""
|
||||
},
|
||||
"Media Volume OSD": {
|
||||
"Media Volume OSD": "媒體音量 OSD"
|
||||
},
|
||||
"Medium": {
|
||||
"Medium": ""
|
||||
},
|
||||
"Memory": {
|
||||
"Memory": "記憶體"
|
||||
},
|
||||
@@ -1607,6 +1760,9 @@
|
||||
"Microphone": {
|
||||
"Microphone": "麥克風"
|
||||
},
|
||||
"Microphone Mute": {
|
||||
"Microphone Mute": ""
|
||||
},
|
||||
"Microphone Mute OSD": {
|
||||
"Microphone Mute OSD": "麥克風靜音 OSD"
|
||||
},
|
||||
@@ -1691,6 +1847,9 @@
|
||||
"Network download and upload speed display": {
|
||||
"Network download and upload speed display": "顯示網路下載跟上傳速度"
|
||||
},
|
||||
"Never": {
|
||||
"Never": ""
|
||||
},
|
||||
"New": {
|
||||
"New": "新"
|
||||
},
|
||||
@@ -1715,6 +1874,9 @@
|
||||
"Night Temperature": {
|
||||
"Night Temperature": "夜間色溫"
|
||||
},
|
||||
"Niri Integration": {
|
||||
"Niri Integration": ""
|
||||
},
|
||||
"Niri compositor actions (focus, move, etc.)": {
|
||||
"Niri compositor actions (focus, move, etc.)": ""
|
||||
},
|
||||
@@ -1790,6 +1952,9 @@
|
||||
"None": {
|
||||
"None": "無"
|
||||
},
|
||||
"Normal Font": {
|
||||
"Normal Font": ""
|
||||
},
|
||||
"Normal Priority": {
|
||||
"Normal Priority": "普通優先級"
|
||||
},
|
||||
@@ -1898,6 +2063,9 @@
|
||||
"Output Tray Missing": {
|
||||
"Output Tray Missing": "輸出托盤遺失"
|
||||
},
|
||||
"Overridden by config": {
|
||||
"Overridden by config": ""
|
||||
},
|
||||
"Override": {
|
||||
"Override": ""
|
||||
},
|
||||
@@ -2015,9 +2183,15 @@
|
||||
"Position: ": {
|
||||
"Position: ": "位置:"
|
||||
},
|
||||
"Possible Override Conflicts": {
|
||||
"Possible Override Conflicts": ""
|
||||
},
|
||||
"Power & Security": {
|
||||
"Power & Security": "電源與安全"
|
||||
},
|
||||
"Power & Sleep": {
|
||||
"Power & Sleep": ""
|
||||
},
|
||||
"Power Action Confirmation": {
|
||||
"Power Action Confirmation": "電源操作確認"
|
||||
},
|
||||
@@ -2030,12 +2204,18 @@
|
||||
"Power Options": {
|
||||
"Power Options": "電源選項"
|
||||
},
|
||||
"Power Profile": {
|
||||
"Power Profile": ""
|
||||
},
|
||||
"Power Profile Degradation": {
|
||||
"Power Profile Degradation": "電源配置降級"
|
||||
},
|
||||
"Power Profile OSD": {
|
||||
"Power Profile OSD": "電源設定檔 OSD"
|
||||
},
|
||||
"Power source": {
|
||||
"Power source": ""
|
||||
},
|
||||
"Precipitation Chance": {
|
||||
"Precipitation Chance": ""
|
||||
},
|
||||
@@ -2240,6 +2420,9 @@
|
||||
"Scale all font sizes": {
|
||||
"Scale all font sizes": "縮放所有字體大小"
|
||||
},
|
||||
"Scale all font sizes throughout the shell": {
|
||||
"Scale all font sizes throughout the shell": ""
|
||||
},
|
||||
"Scan": {
|
||||
"Scan": "掃描"
|
||||
},
|
||||
@@ -2318,6 +2501,9 @@
|
||||
"Select font weight": {
|
||||
"Select font weight": "選擇字體粗細"
|
||||
},
|
||||
"Select font weight for UI text": {
|
||||
"Select font weight for UI text": ""
|
||||
},
|
||||
"Select monitor to configure wallpaper": {
|
||||
"Select monitor to configure wallpaper": "選擇指定螢幕桌布"
|
||||
},
|
||||
@@ -2330,6 +2516,9 @@
|
||||
"Select system sound theme": {
|
||||
"Select system sound theme": "選擇系統音效主題"
|
||||
},
|
||||
"Select the font family for UI text": {
|
||||
"Select the font family for UI text": ""
|
||||
},
|
||||
"Select the palette algorithm used for wallpaper-based colors": {
|
||||
"Select the palette algorithm used for wallpaper-based colors": "請選擇調色板演算法,以桌布的顏色為基底。"
|
||||
},
|
||||
@@ -2360,12 +2549,18 @@
|
||||
"Settings": {
|
||||
"Settings": "設定"
|
||||
},
|
||||
"Setup": {
|
||||
"Setup": ""
|
||||
},
|
||||
"Shell": {
|
||||
"Shell": ""
|
||||
},
|
||||
"Shift+Del: Clear All • Esc: Close": {
|
||||
"Shift+Del: Clear All • Esc: Close": "Shift+Del: 清除所有 • Esc: 關閉"
|
||||
},
|
||||
"Short": {
|
||||
"Short": ""
|
||||
},
|
||||
"Shortcuts": {
|
||||
"Shortcuts": ""
|
||||
},
|
||||
@@ -2405,6 +2600,9 @@
|
||||
"Show Restart DMS": {
|
||||
"Show Restart DMS": "顯示重新啟動 DMS"
|
||||
},
|
||||
"Show Seconds": {
|
||||
"Show Seconds": ""
|
||||
},
|
||||
"Show Suspend": {
|
||||
"Show Suspend": "顯示暫停"
|
||||
},
|
||||
@@ -2498,12 +2696,21 @@
|
||||
"Size Offset": {
|
||||
"Size Offset": "大小偏移"
|
||||
},
|
||||
"Sizing": {
|
||||
"Sizing": ""
|
||||
},
|
||||
"Sort Alphabetically": {
|
||||
"Sort Alphabetically": "按字母順序排序"
|
||||
},
|
||||
"Sorting & Layout": {
|
||||
"Sorting & Layout": ""
|
||||
},
|
||||
"Sound Theme": {
|
||||
"Sound Theme": "音效主題"
|
||||
},
|
||||
"Sounds": {
|
||||
"Sounds": ""
|
||||
},
|
||||
"Spacer": {
|
||||
"Spacer": "空白間隔"
|
||||
},
|
||||
@@ -2552,6 +2759,9 @@
|
||||
"Support Development": {
|
||||
"Support Development": "支援開發"
|
||||
},
|
||||
"Suppress notification popups while enabled": {
|
||||
"Suppress notification popups while enabled": ""
|
||||
},
|
||||
"Surface": {
|
||||
"Surface": "表面"
|
||||
},
|
||||
@@ -2591,6 +2801,9 @@
|
||||
"System Monitoring:": {
|
||||
"System Monitoring:": "系統監視器:"
|
||||
},
|
||||
"System Sounds": {
|
||||
"System Sounds": ""
|
||||
},
|
||||
"System Tray": {
|
||||
"System Tray": "系統匣"
|
||||
},
|
||||
@@ -2609,6 +2822,9 @@
|
||||
"System notification area icons": {
|
||||
"System notification area icons": "顯示常駐程式狀態圖示和系統通知"
|
||||
},
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": {
|
||||
"System sounds are not available. Install canberra-gtk-play for sound support.": ""
|
||||
},
|
||||
"System toast notifications": {
|
||||
"System toast notifications": "系統快顯通知"
|
||||
},
|
||||
@@ -2657,6 +2873,9 @@
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": {
|
||||
"Third-party plugins are created by the community and are not officially supported by DankMaterialShell.\\n\\nThese plugins may pose security and privacy risks - install at your own risk.": "第三方插件由社群創建,不受 DankMaterialShell 官方支援。\\n\\n這些插件可能會帶來安全性和隱私風險 - 安裝後風險自負。"
|
||||
},
|
||||
"This bind is overridden by config.kdl": {
|
||||
"This bind is overridden by config.kdl": ""
|
||||
},
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": {
|
||||
"This widget prevents GPU power off states, which can significantly impact battery life on laptops. It is not recommended to use this on laptops with hybrid graphics.": "此部件可防止 GPU 電源關閉,這會嚴重影響筆記型電腦的電池續航時間。不建議在配備混合顯示卡的筆記型電腦上使用此功能。"
|
||||
},
|
||||
@@ -2669,9 +2888,21 @@
|
||||
"Time & Weather": {
|
||||
"Time & Weather": "時間與天氣"
|
||||
},
|
||||
"Time Format": {
|
||||
"Time Format": ""
|
||||
},
|
||||
"Timed Out": {
|
||||
"Timed Out": "逾時"
|
||||
},
|
||||
"Timeout for critical priority notifications": {
|
||||
"Timeout for critical priority notifications": ""
|
||||
},
|
||||
"Timeout for low priority notifications": {
|
||||
"Timeout for low priority notifications": ""
|
||||
},
|
||||
"Timeout for normal priority notifications": {
|
||||
"Timeout for normal priority notifications": ""
|
||||
},
|
||||
"Title": {
|
||||
"Title": ""
|
||||
},
|
||||
@@ -2681,6 +2912,9 @@
|
||||
"To update, run the following command:": {
|
||||
"To update, run the following command:": "若要更新,請執行以下命令:"
|
||||
},
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": {
|
||||
"To use this DMS bind, remove or change the keybind in your config.kdl": ""
|
||||
},
|
||||
"Toast Messages": {
|
||||
"Toast Messages": "快顯通知"
|
||||
},
|
||||
@@ -2720,12 +2954,21 @@
|
||||
"Transition Effect": {
|
||||
"Transition Effect": "切換動畫效果"
|
||||
},
|
||||
"Transparency": {
|
||||
"Transparency": ""
|
||||
},
|
||||
"Turn off monitors after": {
|
||||
"Turn off monitors after": "關閉螢幕之後"
|
||||
},
|
||||
"Type": {
|
||||
"Type": ""
|
||||
},
|
||||
"Typography": {
|
||||
"Typography": ""
|
||||
},
|
||||
"Typography & Motion": {
|
||||
"Typography & Motion": ""
|
||||
},
|
||||
"Unavailable": {
|
||||
"Unavailable": "不可用"
|
||||
},
|
||||
@@ -2867,6 +3110,9 @@
|
||||
"Visual effect used when wallpaper changes": {
|
||||
"Visual effect used when wallpaper changes": "桌布變更時所使用的視覺效果"
|
||||
},
|
||||
"Volume": {
|
||||
"Volume": ""
|
||||
},
|
||||
"Volume Changed": {
|
||||
"Volume Changed": "音量改變"
|
||||
},
|
||||
@@ -2969,6 +3215,12 @@
|
||||
"Workspace Switcher": {
|
||||
"Workspace Switcher": "工作區切換器"
|
||||
},
|
||||
"Workspaces": {
|
||||
"Workspaces": ""
|
||||
},
|
||||
"Workspaces & Widgets": {
|
||||
"Workspaces & Widgets": ""
|
||||
},
|
||||
"Yes": {
|
||||
"Yes": "是"
|
||||
},
|
||||
@@ -2984,12 +3236,18 @@
|
||||
"You have unsaved changes. Save before opening a file?": {
|
||||
"You have unsaved changes. Save before opening a file?": "您有未儲存的變更。是否先保存再開檔案?"
|
||||
},
|
||||
"apps": {
|
||||
"apps": ""
|
||||
},
|
||||
"custom theme file browser title": {
|
||||
"Select Custom Theme": "選擇自訂主題"
|
||||
},
|
||||
"dark mode wallpaper file browser title | light mode wallpaper file browser title | wallpaper file browser title": {
|
||||
"Select Wallpaper": "選擇桌布"
|
||||
},
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl exists but is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": {
|
||||
"dms/binds.kdl is not included in config.kdl. Custom keybinds will not work until this is fixed.": ""
|
||||
},
|
||||
@@ -3005,18 +3263,27 @@
|
||||
"events": {
|
||||
"events": "活動"
|
||||
},
|
||||
"files": {
|
||||
"files": ""
|
||||
},
|
||||
"loginctl not available - lock integration requires DMS socket connection": {
|
||||
"loginctl not available - lock integration requires DMS socket connection": "loginctl 不可用 - 鎖定整合需要 DMS 套接字連接"
|
||||
},
|
||||
"matugen not detected - dynamic theming unavailable": {
|
||||
"matugen not detected - dynamic theming unavailable": "未偵測到 matugen - 動態主題不可用"
|
||||
},
|
||||
"minutes": {
|
||||
"minutes": ""
|
||||
},
|
||||
"official": {
|
||||
"official": "官方"
|
||||
},
|
||||
"profile image file browser title": {
|
||||
"Select Profile Image": "選擇個人資料圖片"
|
||||
},
|
||||
"seconds": {
|
||||
"seconds": ""
|
||||
},
|
||||
"settings window title": {
|
||||
"Settings": "設定"
|
||||
},
|
||||
@@ -3029,6 +3296,15 @@
|
||||
"wallpaper directory file browser title": {
|
||||
"Select Wallpaper Directory": "選擇桌布目錄"
|
||||
},
|
||||
"wallpaper settings disable description": {
|
||||
"Use an external wallpaper manager like swww, hyprpaper, or swaybg.": ""
|
||||
},
|
||||
"wallpaper settings disable toggle": {
|
||||
"Disable Built-in Wallpapers": ""
|
||||
},
|
||||
"wallpaper settings external management": {
|
||||
"External Wallpaper Management": ""
|
||||
},
|
||||
"• Install only from trusted sources": {
|
||||
"• Install only from trusted sources": "• 僅從受信任的來源安裝"
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user