From bad2d7dd2967cbc85b0e040c86a0ca8522d054ec Mon Sep 17 00:00:00 2001 From: Lysec Date: Sun, 1 Mar 2026 21:52:14 +0100 Subject: [PATCH] Idle: add user defined commands to basic commands, overhaul tab layout --- Assets/Translations/de.json | 29 ++-- Assets/Translations/en.json | 21 ++- Assets/Translations/es.json | 31 ++-- Assets/Translations/fr.json | 27 ++-- Assets/Translations/hu.json | 19 ++- Assets/Translations/it.json | 51 ++++--- Assets/Translations/ja.json | 19 ++- Assets/Translations/ko-KR.json | 17 ++- Assets/Translations/ku.json | 8 +- Assets/Translations/nl.json | 19 ++- Assets/Translations/nn-NO.json | 22 ++- Assets/Translations/pl.json | 29 ++-- Assets/Translations/pt.json | 37 +++-- Assets/Translations/ru.json | 25 ++-- Assets/Translations/sv.json | 69 +++++---- Assets/Translations/tr.json | 31 ++-- Assets/Translations/uk-UA.json | 23 ++- Assets/Translations/zh-CN.json | 17 ++- Assets/Translations/zh-TW.json | 15 +- Assets/settings-search-index.json | 45 ------ Commons/Settings.qml | 8 +- .../Settings/Tabs/Idle/BehaviorSubTab.qml | 134 +++++++++++++---- .../Settings/Tabs/Idle/CustomSubTab.qml | 123 ++++++++-------- .../Tabs/Idle/IdleCommandEditPopup.qml | 137 ++++++++++++++++++ Services/Power/IdleService.qml | 28 +++- 25 files changed, 662 insertions(+), 322 deletions(-) create mode 100644 Modules/Panels/Settings/Tabs/Idle/IdleCommandEditPopup.qml diff --git a/Assets/Translations/de.json b/Assets/Translations/de.json index 7a2c64936..9015df567 100644 --- a/Assets/Translations/de.json +++ b/Assets/Translations/de.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Automatisch ausblenden", "appearance-display-description": "Wählen Sie, wie sich das Dock verhält.", "appearance-display-exclusive": "Exklusiv", + "appearance-dock-indicator-description": "Zeige eine kleine Anzeige, wenn das Dock ausgeblendet ist.", + "appearance-dock-indicator-label": "Dock-Indikator", "appearance-floating-distance-description": "Schwebeabstand vom Bildschirmrand anpassen.", "appearance-floating-distance-label": "Dock-Schwebeabstand", - "appearance-frame-indicator-description": "Zeige eine kleine Anzeige am Rahmen, wenn das Dock ausgeblendet ist.", - "appearance-frame-indicator-label": "Gerahmter Dock-Indikator", "appearance-group-apps-description": "Gruppiere mehrere Fenster derselben App zu einem Dock-Eintrag.", "appearance-group-apps-label": "Gleiche Apps gruppieren", "appearance-group-click-action-cycle": "Fenster durchwechseln", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dock-Größe", "appearance-inactive-indicators-description": "Anzeige von Indikator-Pillen für alle Apps, nicht nur für die aktuell aktive.", "appearance-inactive-indicators-label": "Laufende Indikatoren", + "appearance-indicator-color-description": "Wählen Sie die Farbe des Indikators für das versteckte Dock.", + "appearance-indicator-color-label": "Indikatorfarbe", + "appearance-indicator-opacity-description": "Passen Sie die Deckkraft des Indikators für das versteckte Dock an.", + "appearance-indicator-opacity-label": "Indikator-Deckkraft", + "appearance-indicator-thickness-description": "Aktivieren Sie einen dickeren Indikator für das versteckte Dock (6px statt 3px).", + "appearance-indicator-thickness-label": "Dickerer Indikator", "appearance-launcher-position-description": "Wählen Sie, wo das Launcher-Symbol im Dock erscheint.", "appearance-launcher-position-end": "Ende", "appearance-launcher-position-label": "Position des Starters", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatisch", "language-select-description": "Wählen Sie die Sprache der Anwendungsoberfläche.", "language-select-label": "Anwendungssprache", - "launch-setup-wizard": "Starten Sie den Setup-Assistenten", + "launch-setup-wizard": "Setup-Assistent", "profile-desc": "Ändern Sie Ihren Avatar.", "profile-picture-description": "Der Avatar, der in der gesamten Benutzeroberfläche angezeigt wird.", "profile-picture-label": "Profilbild", @@ -1203,23 +1209,24 @@ "custom-entry-command": "Befehl", "custom-entry-delete": "Löschen", "custom-entry-timeout": "Inaktivitätszeit", - "custom-label": "Benutzerdefinierte Leerlaufbefehle", + "custom-label": "Benutzerdefinierte Inaktivitätsbefehle", "enable-description": "Automatisch den Bildschirm ausschalten, sperren oder in den Ruhezustand versetzen nach einer Zeit der Inaktivität.", - "enable-label": "Leerlaufverwaltung aktivieren", + "enable-label": "Inaktivitätsverwaltung aktivieren", "fade-duration-description": "Sekunden für die Schwarzblende-Animation, bevor jede Aktion ausgelöst wird. Jede Mausbewegung bricht die Überblendung ab.", - "fade-duration-label": "Einblenddauer", + "fade-duration-label": "Einblendedauer", "lock-description": "Sekunden der Inaktivität, bevor der Sperrbildschirm aktiviert wird.", "lock-label": "Bildschirmsperre", "screen-off-description": "Sekunden der Inaktivität, bevor die Monitore ausgeschaltet werden.", "screen-off-label": "Bildschirm ausschalten", - "status-description": "Leerlaufzeit, wie vom Compositor gemeldet.", - "status-label": "Leerlaufzeit", + "status-description": "Inaktivitätszeit, wie vom Compositor gemeldet.", + "status-label": "Inaktivitätszeit", "suspend-description": "Sekunden der Inaktivität, bevor das System in den Ruhezustand geht.", "tab-behavior": "Verhalten", "tab-custom": "Benutzerdefiniert", - "timeouts-description": "Auf 0 setzen, um eine Stufe zu deaktivieren. Timeouts werden pausiert, während Keep Awake aktiv ist.", - "timeouts-label": "Zeitüberschreitungen", - "unavailable": "Native Leerlaufüberwachung ist auf diesem Compositor nicht verfügbar." + "timeouts-description": "Auf 0 setzen, um eine Stufe zu deaktivieren. Timeouts werden pausiert, während 'Wach halten' aktiv ist.", + "timeouts-label": "Timeouts", + "title": "Inaktivität", + "unavailable": "Native Inaktivitätsüberwachung ist auf diesem Compositor nicht verfügbar." }, "indicator": { "default-value": "Standard: {value}", diff --git a/Assets/Translations/en.json b/Assets/Translations/en.json index 6d37cc374..c432c4704 100644 --- a/Assets/Translations/en.json +++ b/Assets/Translations/en.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Auto hide", "appearance-display-description": "Choose how the dock behaves.", "appearance-display-exclusive": "Exclusive", + "appearance-dock-indicator-description": "Show a small indicator when the dock is hidden.", + "appearance-dock-indicator-label": "Dock indicator", "appearance-floating-distance-description": "Set the distance between the dock and the edge of the screen.", "appearance-floating-distance-label": "Dock floating distance", - "appearance-frame-indicator-description": "Show a small indicator on the frame when the dock is hidden.", - "appearance-frame-indicator-label": "Frame dock indicator", "appearance-group-apps-description": "Group multiple windows from the same app into one dock entry.", "appearance-group-apps-label": "Group same apps", "appearance-group-click-action-cycle": "Cycle windows", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dock size", "appearance-inactive-indicators-description": "Display indicator pills for all apps, not just the currently active one.", "appearance-inactive-indicators-label": "Running indicators", + "appearance-indicator-color-description": "Choose the color of the hidden dock indicator.", + "appearance-indicator-color-label": "Indicator color", + "appearance-indicator-opacity-description": "Adjust the opacity of the hidden dock indicator.", + "appearance-indicator-opacity-label": "Indicator opacity", + "appearance-indicator-thickness-description": "Toggle a thicker hidden dock indicator (6px instead of 3px).", + "appearance-indicator-thickness-label": "Thicker indicator", "appearance-launcher-position-description": "Choose where the launcher icon appears in the dock.", "appearance-launcher-position-end": "End", "appearance-launcher-position-label": "Launcher position", @@ -1202,7 +1208,14 @@ "custom-description": "Run a shell command after a period of inactivity.", "custom-entry-command": "Command", "custom-entry-delete": "Delete", + "custom-entry-edit": "Edit Custom Command", + "custom-entry-name": "Name", + "custom-entry-name-placeholder": "e.g. Turn off lights", + "custom-entry-new": "New Custom Command", "custom-entry-timeout": "Inactivity time", + "custom-entry-timeout-format": "{count} second", + "custom-entry-timeout-format-plural": "{count} seconds", + "custom-entry-unnamed": "Unnamed command", "custom-label": "Custom idle commands", "enable-description": "Automatically turn off the screen, lock, or suspend after a period of inactivity.", "enable-label": "Enable idle management", @@ -1210,6 +1223,7 @@ "fade-duration-label": "Fade duration", "lock-description": "Seconds of inactivity before the lock screen activates.", "lock-label": "Lock screen", + "resume-command-label": "Resume command", "screen-off-description": "Seconds of inactivity before monitors are turned off.", "screen-off-label": "Turn off screen", "status-description": "Idle time as reported by the compositor.", @@ -1219,6 +1233,7 @@ "tab-custom": "Custom", "timeouts-description": "Set to 0 to disable a stage. Timeouts are paused while Keep Awake is active.", "timeouts-label": "Timeouts", + "title": "Idle", "unavailable": "Native idle monitoring is not available on this compositor." }, "indicator": { @@ -2073,4 +2088,4 @@ "poor": "Poor" } } -} +} \ No newline at end of file diff --git a/Assets/Translations/es.json b/Assets/Translations/es.json index d0b7e54e6..540fb6de9 100644 --- a/Assets/Translations/es.json +++ b/Assets/Translations/es.json @@ -948,7 +948,7 @@ "shortcuts-title": "Widgets de accesos directos", "system-monitor-disk-path-description": "Selecciona qué punto de montaje de disco debe monitorear la tarjeta del monitor del sistema en el centro de control.", "system-monitor-disk-path-label": "Ruta del disco del monitor del sistema", - "title": "Centro de Control" + "title": "Centro de control" }, "desktop-widgets": { "clock-enabled-description": "Mostrar un widget de reloj en el escritorio.", @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Ocultar autom.", "appearance-display-description": "Elige cómo se comporta el dock.", "appearance-display-exclusive": "Exclusivo", + "appearance-dock-indicator-description": "Mostrar un pequeño indicador cuando el dock está oculto.", + "appearance-dock-indicator-label": "Indicador del dock", "appearance-floating-distance-description": "Ajusta la distancia de flotación desde el borde de la pantalla.", "appearance-floating-distance-label": "Distancia de flotación del dock", - "appearance-frame-indicator-description": "Mostrar un pequeño indicador en el marco cuando el dock está oculto.", - "appearance-frame-indicator-label": "Indicador de muelle enmarcado", "appearance-group-apps-description": "Agrupar varias ventanas de la misma app en una entrada del Dock.", "appearance-group-apps-label": "Agrupar aplicaciones similares", "appearance-group-click-action-cycle": "Alternar ventanas", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Tamaño del dock", "appearance-inactive-indicators-description": "Mostrar indicadores en forma de pastillas para todas las aplicaciones, no solo para la que está activa actualmente.", "appearance-inactive-indicators-label": "Indicadores de ejecución", + "appearance-indicator-color-description": "Elige el color del indicador del dock oculto.", + "appearance-indicator-color-label": "Color del indicador", + "appearance-indicator-opacity-description": "Ajusta la opacidad del indicador del dock oculto.", + "appearance-indicator-opacity-label": "Opacidad del indicador", + "appearance-indicator-thickness-description": "Usa un indicador del dock oculto más grueso (6 px en lugar de 3 px).", + "appearance-indicator-thickness-label": "Indicador más grueso", "appearance-launcher-position-description": "Elige dónde aparece el icono del lanzador en el dock.", "appearance-launcher-position-end": "Fin", "appearance-launcher-position-label": "Posición del lanzador", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automático", "language-select-description": "Selecciona el idioma utilizado en la interfaz de la aplicación.", "language-select-label": "Idioma de la aplicación", - "launch-setup-wizard": "Inicie el asistente de configuración", + "launch-setup-wizard": "Asistente de configuración", "profile-desc": "Edita los detalles de tu usuario y tu avatar.", "profile-picture-description": "Tu foto de perfil que aparece en toda la interfaz.", "profile-picture-label": "Foto de perfil", @@ -1160,8 +1166,8 @@ "screen-corners-solid-black-label": "Esquinas negras sólidas", "screen-corners-title": "Esquinas de la pantalla", "settings-copied": "Ajustes copiados al portapapeles", - "tab-basics": "Conceptos Básicos", - "tab-keybinds": "Atajos de Teclado" + "tab-basics": "Básico", + "tab-keybinds": "Atajos de teclado" }, "hooks": { "info-command-info-description": "• Los comandos se ejecutan a través de shell (sh -lc)
• Los comandos se ejecutan en segundo plano (desvinculados)
• Los botones de prueba se ejecutan con los valores actuales", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Comando", "custom-entry-delete": "Eliminar", "custom-entry-timeout": "Tiempo de inactividad", - "custom-label": "Comandos de Inactividad Personalizados", + "custom-label": "Comandos de inactividad personalizados", "enable-description": "Apagar la pantalla, bloquear o suspender automáticamente después de un período de inactividad.", "enable-label": "Activar gestión de inactividad", "fade-duration-description": "Segundos para la animación de fundido a negro antes de que se active cada acción. Cualquier movimiento del ratón cancela el fundido.", @@ -1212,13 +1218,14 @@ "lock-label": "Bloquear pantalla", "screen-off-description": "Segundos de inactividad antes de que los monitores se apaguen.", "screen-off-label": "Apagar pantalla", - "status-description": "Tiempo de inactividad según lo informado por el Compositor.", - "status-label": "Tiempo de Inactividad", + "status-description": "Tiempo de inactividad según lo informado por el compositor.", + "status-label": "Tiempo de inactividad", "suspend-description": "Segundos de inactividad antes de que el sistema se suspenda.", "tab-behavior": "Comportamiento", "tab-custom": "Personalizado", - "timeouts-description": "Establece en 0 para deshabilitar una etapa. Los tiempos de espera se pausan mientras Keep Awake está activo.", - "timeouts-label": "Tiempos de Espera", + "timeouts-description": "Establece en 0 para deshabilitar una etapa. Los tiempos de espera se pausan mientras 'Mantener despierto' está activo.", + "timeouts-label": "Tiempos de espera", + "title": "Inactividad", "unavailable": "La monitorización nativa de inactividad no está disponible en este Compositor." }, "indicator": { @@ -1436,7 +1443,7 @@ "duration-desc": "Cuánto tiempo permanece visible el OSD antes de ocultarse automáticamente.", "duration-title": "Tiempo de ocultación automática", "enabled-description": "Mostrar cambios de volumen y brillo en tiempo real.", - "enabled-label": "Activar visualización en pantalla", + "enabled-label": "Activar visualización en pantalla (OSD)", "events-desc": "Seleccione qué eventos activan la visualización en pantalla.", "general-desc": "Configurar la visibilidad y el comportamiento del OSD.", "location-description": "Dónde aparece la visualización en pantalla.", diff --git a/Assets/Translations/fr.json b/Assets/Translations/fr.json index 5512cf95c..f21302241 100644 --- a/Assets/Translations/fr.json +++ b/Assets/Translations/fr.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Masquer automatiquement", "appearance-display-description": "Choisissez comment le dock se comporte.", "appearance-display-exclusive": "Exclusif", + "appearance-dock-indicator-description": "Afficher un petit indicateur lorsque le dock est masqué.", + "appearance-dock-indicator-label": "Indicateur du dock", "appearance-floating-distance-description": "Ajustez la distance de flottaison par rapport au bord de l'écran.", "appearance-floating-distance-label": "Distance de flottaison du dock", - "appearance-frame-indicator-description": "Afficher un petit indicateur sur le cadre lorsque le dock est masqué.", - "appearance-frame-indicator-label": "Indicateur de dock encadré", "appearance-group-apps-description": "Regrouper plusieurs fenêtres de la même app en une seule entrée du Dock.", "appearance-group-apps-label": "Regrouper les mêmes applications", "appearance-group-click-action-cycle": "Basculer entre les fenêtres", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Taille du dock", "appearance-inactive-indicators-description": "Afficher les pastilles d'indicateur pour toutes les applications, pas seulement celle qui est active.", "appearance-inactive-indicators-label": "Indicateurs de fonctionnement", + "appearance-indicator-color-description": "Choisissez la couleur de l'indicateur du dock masqué.", + "appearance-indicator-color-label": "Couleur de l'indicateur", + "appearance-indicator-opacity-description": "Ajustez l'opacité de l'indicateur du dock masqué.", + "appearance-indicator-opacity-label": "Opacité de l'indicateur", + "appearance-indicator-thickness-description": "Activez un indicateur du dock masqué plus épais (6 px au lieu de 3 px).", + "appearance-indicator-thickness-label": "Indicateur plus épais", "appearance-launcher-position-description": "Choisissez où l'icône du lanceur apparaît dans le dock.", "appearance-launcher-position-end": "Fin", "appearance-launcher-position-label": "Position du lanceur", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatique", "language-select-description": "Sélectionnez la langue utilisée dans l'interface de l'application.", "language-select-label": "Langue de l'application", - "launch-setup-wizard": "Lancer l'assistant d'installation", + "launch-setup-wizard": "Assistant de configuration", "profile-desc": "Modifiez vos informations utilisateur et votre avatar.", "profile-picture-description": "Votre photo de profil qui apparaît dans toute l'interface.", "profile-picture-label": "Photo de profil", @@ -1161,7 +1167,7 @@ "screen-corners-title": "Coins de l'écran", "settings-copied": "Paramètres copiés dans le presse-papier", "tab-basics": "Bases", - "tab-keybinds": "Raccourcis Clavier" + "tab-keybinds": "Raccourcis clavier" }, "hooks": { "info-command-info-description": "• Les commandes sont exécutées via le shell (sh -lc)
• Les commandes s'exécutent en arrière-plan (détachées)
• Les boutons de test s'exécutent avec les valeurs actuelles", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Commande", "custom-entry-delete": "Supprimer", "custom-entry-timeout": "Temps d'inactivité", - "custom-label": "Commandes d'Inactivité Personnalisées", + "custom-label": "Commandes d'inactivité personnalisées", "enable-description": "Éteindre l'écran, verrouiller ou suspendre automatiquement après une période d'inactivité.", "enable-label": "Activer la gestion de l'inactivité", "fade-duration-description": "Secondes pour l'animation de fondu au noir avant que chaque action ne se déclenche. Tout mouvement de souris annule le fondu.", @@ -1212,13 +1218,14 @@ "lock-label": "Verrouiller l'écran", "screen-off-description": "Secondes d'inactivité avant que les moniteurs ne s'éteignent.", "screen-off-label": "Éteindre l'écran", - "status-description": "Temps d'inactivité tel que rapporté par le Compositor.", - "status-label": "Temps d'Inactivité", + "status-description": "Temps d'inactivité tel que rapporté par le compositor.", + "status-label": "Temps d'inactivité", "suspend-description": "Secondes d'inactivité avant que le système ne se suspende.", "tab-behavior": "Comportement", "tab-custom": "Personnalisé", - "timeouts-description": "Réglez sur 0 pour désactiver une étape. Les délais d'attente sont mis en pause tant que Keep Awake est actif.", - "timeouts-label": "Délais d'Expiration", + "timeouts-description": "Réglez sur 0 pour désactiver une étape. Les délais d'attente sont mis en pause tant que 'Rester éveillé' est actif.", + "timeouts-label": "Délais d'expiration", + "title": "Inactivité", "unavailable": "La surveillance native de l'inactivité n'est pas disponible sur ce Compositor." }, "indicator": { @@ -1436,7 +1443,7 @@ "duration-desc": "Temps d'affichage avant masquage automatique de l'OSD.", "duration-title": "Délai d'auto‑masquage", "enabled-description": "Afficher en temps réel les changements de volume et de luminosité.", - "enabled-label": "Activer l'affichage à l'écran", + "enabled-label": "Activer l'affichage à l'écran (OSD)", "events-desc": "Sélectionnez les événements qui déclenchent l'affichage à l'écran.", "general-desc": "Configurer la visibilité et le comportement de l'OSD.", "location-description": "Emplacement des affichages à l'écran.", diff --git a/Assets/Translations/hu.json b/Assets/Translations/hu.json index 2fe1665d9..c587cd809 100644 --- a/Assets/Translations/hu.json +++ b/Assets/Translations/hu.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Automatikus elrejtés", "appearance-display-description": "A dokk viselkedése.", "appearance-display-exclusive": "Exkluzív", + "appearance-dock-indicator-description": "Mutass egy kis jelzőt, amikor a dokk rejtve van.", + "appearance-dock-indicator-label": "Dokk jelző", "appearance-floating-distance-description": "A dokk és a képernyő széle közötti távolság.", "appearance-floating-distance-label": "Dokk lebegési távolság", - "appearance-frame-indicator-description": "Mutass egy kis jelzőt a kereten, amikor a dokk rejtve van.", - "appearance-frame-indicator-label": "Keretezett dokk jelző", "appearance-group-apps-description": "Ugyanazon alkalmazás több ablakának csoportosítása egy dokk bejegyzésbe.", "appearance-group-apps-label": "Azonos alkalmazások csoportosítása", "appearance-group-click-action-cycle": "Ablakok váltása", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dokk mérete", "appearance-inactive-indicators-description": "Jelenjenek meg jelzőpöttyök minden alkalmazásnál, ne csak az aktuálisan aktívnál.", "appearance-inactive-indicators-label": "Futásjelzők", + "appearance-indicator-color-description": "Válassza ki a rejtett dokk jelzőjének színét.", + "appearance-indicator-color-label": "Jelző színe", + "appearance-indicator-opacity-description": "A rejtett dokk jelzőjének átlátszósága.", + "appearance-indicator-opacity-label": "Jelző átlátszósága", + "appearance-indicator-thickness-description": "Vastagabb jelző használata a rejtett dokkhoz (3 px helyett 6 px).", + "appearance-indicator-thickness-label": "Vastagabb jelző", "appearance-launcher-position-description": "Válaszd ki, hol jelenjen meg az indító ikonja a dokkban.", "appearance-launcher-position-end": "Vége", "appearance-launcher-position-label": "Indító pozíciója", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatikus", "language-select-description": "Az alkalmazás felületén használt nyelv.", "language-select-label": "Alkalmazás nyelve", - "launch-setup-wizard": "Telepítő varázsló indítása", + "launch-setup-wizard": "Beállítási varázsló", "profile-desc": "Szerkessze felhasználói adatait és profilképét.", "profile-picture-description": "A profilkép, amely megjelenik a felületen.", "profile-picture-label": "Profilkép", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Parancs", "custom-entry-delete": "Törlés", "custom-entry-timeout": "Inaktivitási idő", - "custom-label": "Egyedi Tétlenségi Parancsok", + "custom-label": "Egyedi tétlenségi parancsok", "enable-description": "Automatikusan kikapcsolja a képernyőt, zárolja vagy felfüggeszti egy inaktivitási időszak után.", "enable-label": "Inaktivitás kezelés engedélyezése", "fade-duration-description": "Másodpercek a feketére halványuló animációhoz, mielőtt minden művelet elindul. Bármilyen egérmozgás megszakítja a halványítást.", @@ -1213,12 +1219,13 @@ "screen-off-description": "Inaktivitás másodpercei, mielőtt a monitorok kikapcsolnak.", "screen-off-label": "Képernyő kikapcsolása", "status-description": "A kompozitor által jelentett inaktivitási idő.", - "status-label": "Tétlen Idő", + "status-label": "Tétlen idő", "suspend-description": "Másodpercnyi inaktivitás, mielőtt a rendszer felfüggeszti magát.", "tab-behavior": "Viselkedés", "tab-custom": "Egyéni", - "timeouts-description": "0 a szakasz letiltásához. Az időtúllépések szünetelnek, amíg az Ébren tartás aktív.", + "timeouts-description": "0 a szakasz letiltásához. Az időtúllépések szünetelnek, amíg az 'Ébren tartás' aktív.", "timeouts-label": "Időtúllépések", + "title": "Tétlenség", "unavailable": "Natív tétlenségfigyelés nem érhető el ezen a kompozitoron." }, "indicator": { diff --git a/Assets/Translations/it.json b/Assets/Translations/it.json index e36d9a547..a67bfdcd7 100644 --- a/Assets/Translations/it.json +++ b/Assets/Translations/it.json @@ -5,12 +5,12 @@ "connect-vpn": "Connetti a {name}", "cycle-visualizer": "Cambia visualizzatore", "disable-bluetooth": "Disattiva Bluetooth", - "disable-dnd": "Disattiva Non disturbare", + "disable-dnd": "Disattiva 'Non disturbare'", "disable-wifi": "Disattiva Wi-Fi", "disconnect-vpn": "Disconnetti {name}", "dock-settings": "Impostazioni dock", "enable-bluetooth": "Attiva Bluetooth", - "enable-dnd": "Attiva Non disturbare", + "enable-dnd": "Attiva 'Non disturbare'", "enable-wifi": "Attiva Wi-Fi", "launcher-settings": "Impostazioni launcher", "lower-to-bottom": "Porta in basso", @@ -70,7 +70,7 @@ "apply-all-label": "Applica modifiche di scorrimento a tutti i monitor" }, "clock": { - "clock-display-description": "Personalizza la visualizzazione dell’orologio aggiungendo token dall’elenco qui sotto. Per usare il formato 12 ore devi includere il token \"AP\".", + "clock-display-description": "Personalizza la visualizzazione dell’orologio aggiungendo token dall’elenco qui sotto. Per usare il formato 12 ore devi includere il token 'AP'.", "clock-display-label": "Visualizzazione orologio", "custom-font-description": "Seleziona un font personalizzato per la visualizzazione dell’orologio.", "custom-font-label": "Font personalizzato", @@ -117,7 +117,7 @@ "hide-mode-label": "Modalità nascondi", "hide-mode-max-transparent": "Massimo espanso ma trasparente", "icon-description": "Seleziona un’icona dalla libreria.", - "ipc-identifier-description": "Identificatore univoco per i comandi IPC. Usa questo identificatore con \"qs -c noctalia-shell ipc call cb [action] [identifier]\" per controllare questo pulsante via IPC.", + "ipc-identifier-description": "Identificatore univoco per i comandi IPC. Usa questo identificatore con 'qs -c noctalia-shell ipc call cb [action] [identifier]' per controllare questo pulsante via IPC.", "ipc-identifier-label": "Identificatore IPC", "left-click-description": "Comando da eseguire al clic sinistro sul pulsante.", "left-click-label": "Clic sinistro", @@ -274,7 +274,7 @@ "colorize-icons-label": "Colora icone", "drawer-enabled-description": "Se attivo, gli elementi tray non fissati vengono mostrati in un pannello cassetto.
Se disattivo, tutti gli elementi tray vengono mostrati in linea.", "drawer-enabled-label": "Abilita cassetto", - "hide-passive-description": "Se attivo, gli elementi tray con stato \"Passive\" verranno nascosti.", + "hide-passive-description": "Se attivo, gli elementi tray con stato 'Passive' verranno nascosti.", "hide-passive-label": "Nascondi elementi passivi" }, "volume": { @@ -806,7 +806,7 @@ "appearance-density-label": "Densità barra", "appearance-desc": "Personalizza aspetto e posizione della barra.", "appearance-display-mode-description": "Scegli quando la barra è visibile.", - "appearance-floating-description": "Mostra la barra come \"pill\" flottante.", + "appearance-floating-description": "Mostra la barra come 'pill' flottante.", "appearance-floating-label": "Barra flottante", "appearance-font-scale-description": "Regola la scala dimensione font per il testo mostrato nella barra.", "appearance-font-scale-label": "Scala font", @@ -930,14 +930,14 @@ "desc": "Configura posizione e comportamento del pannello centro di controllo.", "position-description": "Scegli dove appare il pannello centro di controllo quando viene aperto.", "shortcuts-custom-button-command-description": "Comando da eseguire quando il pulsante viene cliccato.", - "shortcuts-custom-button-enable-on-state-logic-description": "Abilita una seconda icona e uno stato \"attivo\" basato su un comando di controllo.", + "shortcuts-custom-button-enable-on-state-logic-description": "Abilita una seconda icona e uno stato 'attivo' basato su un comando di controllo.", "shortcuts-custom-button-enable-on-state-logic-label": "Abilita logica stato attivo", "shortcuts-custom-button-icon-description": "Seleziona un’icona dalla libreria.", "shortcuts-custom-button-on-clicked-label": "Comando clic sinistro", "shortcuts-custom-button-on-middle-clicked-description": "Comando da eseguire al clic centrale del pulsante.", - "shortcuts-custom-button-on-state-command-description": "Comando da eseguire per verificare se il pulsante deve essere nello stato \"attivo\". Restituisce 0 per attivo, valore diverso da 0 per spento.", + "shortcuts-custom-button-on-state-command-description": "Comando da eseguire per verificare se il pulsante deve essere nello stato 'attivo'. Restituisce 0 per attivo, valore diverso da 0 per spento.", "shortcuts-custom-button-on-state-command-label": "Comando controllo stato attivo", - "shortcuts-custom-button-on-state-icon-description": "L’icona del pulsante quando è nello stato \"attivo\".", + "shortcuts-custom-button-on-state-icon-description": "L’icona del pulsante quando è nello stato 'attivo'.", "shortcuts-custom-button-on-state-icon-label": "Icona stato attivo", "shortcuts-custom-button-state-checks-add": "Aggiungi controllo stato", "shortcuts-custom-button-state-checks-command": "Comando da eseguire per questo controllo stato", @@ -1006,7 +1006,7 @@ "system-stat-show-background-label": "Mostra sfondo", "system-stat-stat-type-description": "Scegli quale statistica di sistema visualizzare.", "system-stat-stat-type-label": "Tipo statistica", - "title": "Widget Desktop", + "title": "Widget desktop", "weather-enabled-description": "Mostra un widget meteo sul desktop.", "weather-enabled-label": "Abilita widget meteo", "weather-show-background-description": "Mostra il contenitore sfondo per il widget meteo." @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Nascondi automaticamente", "appearance-display-description": "Scegli come si comporta il dock.", "appearance-display-exclusive": "Esclusivo", + "appearance-dock-indicator-description": "Mostra un piccolo indicatore quando il dock è nascosto.", + "appearance-dock-indicator-label": "Indicatore dock", "appearance-floating-distance-description": "Imposta la distanza tra il dock e il bordo dello schermo.", "appearance-floating-distance-label": "Distanza flottante dock", - "appearance-frame-indicator-description": "Mostra un piccolo indicatore sul frame quando il dock è nascosto.", - "appearance-frame-indicator-label": "Indicatore frame dock", "appearance-group-apps-description": "Raggruppa più finestre della stessa app in una sola voce dock.", "appearance-group-apps-label": "Raggruppa stesse app", "appearance-group-click-action-cycle": "Scorri finestre", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dimensione dock", "appearance-inactive-indicators-description": "Mostra indicatori per tutte le app, non solo quella attualmente attiva.", "appearance-inactive-indicators-label": "Indicatori in esecuzione", + "appearance-indicator-color-description": "Scegli il colore dell'indicatore del dock nascosto.", + "appearance-indicator-color-label": "Colore dell'indicatore", + "appearance-indicator-opacity-description": "Regola l'opacità dell'indicatore del dock nascosto.", + "appearance-indicator-opacity-label": "Opacità dell'indicatore", + "appearance-indicator-thickness-description": "Utilizza un indicatore del dock nascosto più spesso (6px invece di 3px).", + "appearance-indicator-thickness-label": "Indicatore più spesso", "appearance-launcher-position-description": "Scegli dove appare l’icona launcher nel dock.", "appearance-launcher-position-end": "Fine", "appearance-launcher-position-label": "Posizione launcher", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatico", "language-select-description": "Seleziona la lingua usata nell’interfaccia dell’applicazione.", "language-select-label": "Lingua applicazione", - "launch-setup-wizard": "Procedura guidata", + "launch-setup-wizard": "Guidata di configurazione", "profile-desc": "Modifica i dettagli utente e l’avatar.", "profile-picture-description": "La tua immagine profilo mostrata in tutta l’interfaccia.", "profile-picture-label": "Immagine profilo", @@ -1169,7 +1175,7 @@ "info-parameters-label": "Parametri disponibili", "noctalia-started-description": "Comando da eseguire quando Noctalia ha finito il caricamento.", "noctalia-started-label": "Noctalia avviata", - "noctalia-started-placeholder": "es. notify-send \"Noctalia caricata\"", + "noctalia-started-placeholder": "es. notify-send 'Noctalia caricata'", "performance-mode-disabled-description": "Comando da eseguire quando Modalità Prestazioni Noctalia è disabilitata.", "performance-mode-disabled-label": "Modalità prestazioni disabilitata", "performance-mode-disabled-placeholder": "es. notify-send \"Prestazioni\" \"Modalità disabilitata\"", @@ -1212,13 +1218,14 @@ "lock-label": "Schermata blocco", "screen-off-description": "Secondi di inattività prima che i monitor vengano spenti.", "screen-off-label": "Spegni schermo", - "status-description": "Tempo inattività come riportato dal compositor.", + "status-description": "Tempo di inattività come riportato dal compositor.", "status-label": "Tempo inattività", "suspend-description": "Secondi di inattività prima che il sistema venga sospeso.", "tab-behavior": "Comportamento", "tab-custom": "Personalizzato", - "timeouts-description": "Imposta a 0 per disabilitare una fase. I timeout vengono sospesi mentre Mantieni attivo è attivo.", + "timeouts-description": "Imposta a 0 per disabilitare una fase. I timeout vengono sospesi mentre 'Mantieni attivo' è attivo.", "timeouts-label": "Timeout", + "title": "Inattività", "unavailable": "Il monitoraggio inattività nativo non è disponibile su questo compositor." }, "indicator": { @@ -1244,7 +1251,7 @@ "settings-clipboard-watch-image-label": "Comando monitoraggio immagini", "settings-clipboard-watch-text-description": "Stringa comando completa passata a wl-paste per cambi testo. (richiede riavvio)", "settings-clipboard-watch-text-label": "Comando monitoraggio testo", - "settings-custom-launch-prefix-description": "Prefissa i comandi con un launcher personalizzato (es. \"runapp\" per integrazione systemd).", + "settings-custom-launch-prefix-description": "Prefissa i comandi con un launcher personalizzato (es. 'runapp' per integrazione systemd).", "settings-custom-launch-prefix-enabled-description": "Usa un prefisso personalizzato per avviare applicazioni invece del metodo predefinito.", "settings-custom-launch-prefix-enabled-label": "Abilita prefisso avvio personalizzato", "settings-custom-launch-prefix-label": "Prefisso avvio personalizzato", @@ -1343,7 +1350,7 @@ "monitors-desc": "Mostra la schermata blocco su monitor specifici. Se non ne scegli nessuno, verranno usati tutti.", "password-chars-description": "Icone carine usate per nascondere la password.", "password-chars-label": "Icone password casuali", - "show-hibernate-description": "Mostra l’opzione \"ibernazione\" nei controlli alimentazione.", + "show-hibernate-description": "Mostra l’opzione 'ibernazione' nei controlli alimentazione.", "show-hibernate-label": "Mostra ibernazione", "show-session-buttons-description": "Consenti accesso alle impostazioni di alimentazione dalla schermata blocco.", "show-session-buttons-label": "Controlli alimentazione", @@ -1436,12 +1443,12 @@ "duration-desc": "Per quanto tempo OSD resta visibile prima di nascondersi automaticamente.", "duration-title": "Timeout nascondimento automatico", "enabled-description": "Mostra in tempo reale le variazioni di volume e luminosità.", - "enabled-label": "Abilita On-Screen Display", + "enabled-label": "Abilita on-screen display", "events-desc": "Seleziona quali eventi attivano OSD.", "general-desc": "Configura visibilità e comportamento di OSD.", "location-description": "Dove appaiono gli indicatori a schermo.", "monitors-desc": "Mostra OSD su monitor specifici. Se non ne scegli nessuno, verranno usati tutti.", - "title": "On-Screen Display", + "title": "On-screen display", "types-brightness-description": "Mostra OSD quando cambia la luminosità schermo.", "types-brightness-label": "Luminosità", "types-custom-text-description": "Mostra OSD per messaggi testuali personalizzati da IPC.", @@ -1799,9 +1806,9 @@ "unavailable-desc": "The 'cliphist' application is not installed. Please install it to use clipboard history features" }, "do-not-disturb": { - "disabled": "Do Not Disturb disabled", + "disabled": "'Non disturbare' disattivato", "disabled-desc": "Showing all notifications", - "enabled": "Do Not Disturb enabled", + "enabled": "'Non disturbare' attivato", "enabled-desc": "You'll find these notifications in your history" }, "donation-opened": "Donation page opened in your browser", diff --git a/Assets/Translations/ja.json b/Assets/Translations/ja.json index 33c8b0adc..046aab028 100644 --- a/Assets/Translations/ja.json +++ b/Assets/Translations/ja.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "自動的に隠す", "appearance-display-description": "ドックの表示方法を選択します。", "appearance-display-exclusive": "領域を確保", + "appearance-dock-indicator-description": "ドックが非表示のときに小さなインジケーターを表示します。", + "appearance-dock-indicator-label": "ドックインジケーター", "appearance-floating-distance-description": "画面端からドックまでの距離を設定します。", "appearance-floating-distance-label": "画面端からの距離", - "appearance-frame-indicator-description": "Dockが非表示のとき、フレームに小さなインジケーターを表示する。", - "appearance-frame-indicator-label": "フレーム付きドックインジケーター", "appearance-group-apps-description": "同じアプリの複数のウィンドウを1つのDockエントリにグループ化します。", "appearance-group-apps-label": "同じアプリをグループ化", "appearance-group-click-action-cycle": "ウィンドウを切り替える", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "ドックのサイズ", "appearance-inactive-indicators-description": "現在アクティブなアプリだけでなく、すべてのアプリにインジケーターを表示します。", "appearance-inactive-indicators-label": "実行インジケーター", + "appearance-indicator-color-description": "隠れたドックのインジケーターの色を選択します。", + "appearance-indicator-color-label": "インジケーターの色", + "appearance-indicator-opacity-description": "隠れたドックのインジケーターの不透明度を調整します。", + "appearance-indicator-opacity-label": "インジケーターの不透明度", + "appearance-indicator-thickness-description": "隠れたドックのインジケーターを太く表示します (3pxの代わりに6px)。", + "appearance-indicator-thickness-label": "太いインジケーター", "appearance-launcher-position-description": "ランチャーアイコンをドックのどこに表示するかを選択します。", "appearance-launcher-position-end": "終了", "appearance-launcher-position-label": "ランチャーの位置", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "自動検出", "language-select-description": "アプリケーションのインターフェースで使用する言語を選択します。", "language-select-label": "表示言語", - "launch-setup-wizard": "セットアップウィザードを起動", + "launch-setup-wizard": "セットアップウィザード", "profile-desc": "ユーザーの詳細とアバターを編集します。", "profile-picture-description": "インターフェース全体に表示されるプロフィール画像。", "profile-picture-label": "プロフィール画像", @@ -1212,13 +1218,14 @@ "lock-label": "画面をロック", "screen-off-description": "モニターがオフになるまでの非アクティブな秒数。", "screen-off-label": "画面をオフにする", - "status-description": "Compositorが報告したアイドル時間。", + "status-description": "コンポジターによって報告されたアイドル時間。", "status-label": "アイドル時間", "suspend-description": "システムがサスペンドするまでの非アクティブな時間(秒)。", "tab-behavior": "動作", "tab-custom": "カスタム", - "timeouts-description": "ステージを無効にするには0に設定します。Keep Awakeがアクティブな間、タイムアウトは一時停止されます。", + "timeouts-description": "ステージを無効にするには0に設定します。スリープ防止がアクティブな間、タイムアウトは一時停止されます。", "timeouts-label": "タイムアウト", + "title": "アイドル", "unavailable": "このCompositorでは、ネイティブのアイドル監視は利用できません。" }, "indicator": { @@ -1436,7 +1443,7 @@ "duration-desc": "OSD が自動的に隠れるまでの表示継続時間。", "duration-title": "自動非表示のタイムアウト", "enabled-description": "音量や輝度の変更をリアルタイムで表示します。", - "enabled-label": "OSD を有効化", + "enabled-label": "オンスクリーンディスプレイを有効に (OSD)", "events-desc": "画面表示をトリガーするイベントを選択してください。", "general-desc": "OSDの表示と動作を設定します。", "location-description": "OSD の表示位置を選択します。", diff --git a/Assets/Translations/ko-KR.json b/Assets/Translations/ko-KR.json index 4d50088a7..076201d8a 100644 --- a/Assets/Translations/ko-KR.json +++ b/Assets/Translations/ko-KR.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "자동 숨기기", "appearance-display-description": "독의 동작 방식을 선택하세요.", "appearance-display-exclusive": "독점", + "appearance-dock-indicator-description": "독이 숨겨져 있을 때 작은 표시기를 표시합니다.", + "appearance-dock-indicator-label": "독 표시기", "appearance-floating-distance-description": "독과 화면 가장자리 사이의 거리를 설정합니다.", "appearance-floating-distance-label": "독 플로팅 거리", - "appearance-frame-indicator-description": "Dock이 숨겨져 있을 때 프레임에 작은 표시기를 표시합니다.", - "appearance-frame-indicator-label": "프레임 독 표시기", "appearance-group-apps-description": "동일한 앱의 여러 창을 하나의 Dock 항목으로 그룹화합니다.", "appearance-group-apps-label": "동일한 앱 그룹화", "appearance-group-click-action-cycle": "창 전환", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "독 크기", "appearance-inactive-indicators-description": "현재 활성 앱뿐만 아니라 모든 앱에 대해 표시기 알약을 표시합니다.", "appearance-inactive-indicators-label": "실행 중 표시기", + "appearance-indicator-color-description": "숨겨진 독 인디케이터의 색상을 선택합니다.", + "appearance-indicator-color-label": "인디케이터 색상", + "appearance-indicator-opacity-description": "숨겨진 독 인디케이터의 불투명도를 조정합니다.", + "appearance-indicator-opacity-label": "인디케이터 불투명도", + "appearance-indicator-thickness-description": "숨겨진 독 인디케이터를 더 두껍게 표시합니다 (3px 대신 6px).", + "appearance-indicator-thickness-label": "더 두꺼운 인디케이터", "appearance-launcher-position-description": "독에서 런처 아이콘이 나타날 위치를 선택하세요.", "appearance-launcher-position-end": "끝", "appearance-launcher-position-label": "런처 위치", @@ -1212,13 +1218,14 @@ "lock-label": "화면 잠금", "screen-off-description": "모니터가 꺼지기 전 비활성 시간(초).", "screen-off-label": "화면 끄기", - "status-description": "Compositor가 보고한 유휴 시간.", + "status-description": "컴포지터가 보고한 유휴 시간.", "status-label": "유휴 시간", "suspend-description": "시스템이 일시 중단되기 전 비활성 시간(초).", "tab-behavior": "동작", "tab-custom": "사용자 지정", - "timeouts-description": "단계를 비활성화하려면 0으로 설정하세요. Keep Awake가 활성화된 동안 시간 초과는 일시 중지됩니다.", + "timeouts-description": "단계를 비활성화하려면 0으로 설정하세요. 깨어 있기 가 활성화된 동안 시간 초과는 일시 중지됩니다.", "timeouts-label": "시간 초과", + "title": "유휴", "unavailable": "이 Compositor에서는 네이티브 유휴 모니터링을 사용할 수 없습니다." }, "indicator": { @@ -1436,7 +1443,7 @@ "duration-desc": "OSD가 자동으로 숨겨지기 전까지 표시되는 시간입니다.", "duration-title": "자동 숨기기 시간 제한", "enabled-description": "볼륨 및 밝기 변경 사항을 실시간으로 표시합니다.", - "enabled-label": "OSD(화면 표시) 활성화", + "enabled-label": "OSD (화면 표시) 활성화", "events-desc": "OSD를 트리거할 이벤트를 선택하세요.", "general-desc": "OSD의 가시성과 동작을 구성합니다.", "location-description": "화면 표시가 나타나는 위치입니다.", diff --git a/Assets/Translations/ku.json b/Assets/Translations/ku.json index b56c20f5e..6d28ce006 100644 --- a/Assets/Translations/ku.json +++ b/Assets/Translations/ku.json @@ -1012,7 +1012,7 @@ "language-select-auto-detect": "Xweber", "language-select-description": "Zimanê ku di navrûya sepanê de tê bikaranîn hilbijêre.", "language-select-label": "Zimanê sepanê", - "launch-setup-wizard": "Sêrbazê sazkirinê bide destpêkirin", + "launch-setup-wizard": "Sêrbazê sazkirinê", "profile-desc": "Hûrgilyên bikarhêner û avatarê xwe biguherîne.", "profile-picture-description": "Wêneyê profîla we ku li seranserê navrûyê xuya dibe.", "profile-picture-label": "Wêneyê profîlê", @@ -1252,12 +1252,12 @@ "duration-desc": "Çiqas dirêj OSD berî ku bixweber veşêre, xuya dimîne.", "duration-title": "Demjimêra veşartina otomatîk", "enabled-description": "Guhertinên deng û ronahiyê di dema rast de nîşan bide.", - "enabled-label": "Dîmendera ser ekranê çalak bike", + "enabled-label": "Pêşandana ser ekranê (OSD) çalak bike", "events-desc": "Bûyerên ku pêşandana ser ekranê çalak dikin hilbijêre.", "general-desc": "Vebijêrkên dîtin û tevgera OSD'ê saz bike.", - "location-description": "Li ku derê dîmenderên ser ekranê xuya dibin.", + "location-description": "Li ku derê pêşandanên ser ekranê xuya dibin.", "monitors-desc": "OSD li ser çavdêrên taybet nîşan bide. Ger tu neyên hilbijartin, bi awayekî xwerû li ser hemûyan nîşan dide.", - "title": "Nîşandana ser dîmenderê", + "title": "Pêşandana ser ekranê", "types-brightness-description": "Dîmendera OSD nîşan bide dema ronahiya ekranê diguhere.", "types-brightness-label": "Ronahî", "types-custom-text-description": "OSD ya nivîsandeyên xwerû yên ji IPC'yê nîşan bide.", diff --git a/Assets/Translations/nl.json b/Assets/Translations/nl.json index e7cbb0281..d80277286 100644 --- a/Assets/Translations/nl.json +++ b/Assets/Translations/nl.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Automatisch verbergen", "appearance-display-description": "Kies hoe de dock zich gedraagt.", "appearance-display-exclusive": "Exclusief", + "appearance-dock-indicator-description": "Toon een kleine indicator wanneer het dock verborgen is.", + "appearance-dock-indicator-label": "Dock-indicator", "appearance-floating-distance-description": "Stel de afstand in tussen de dock en de rand van het scherm.", "appearance-floating-distance-label": "Afstand zwevende dock", - "appearance-frame-indicator-description": "Toon een kleine indicator op het frame wanneer het dock verborgen is.", - "appearance-frame-indicator-label": "Ingelijste dock-indicator", "appearance-group-apps-description": "Groepeer meerdere vensters van dezelfde app in één Dock-item.", "appearance-group-apps-label": "Dezelfde apps groeperen", "appearance-group-click-action-cycle": "Vensters wisselen", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Grootte van de dock", "appearance-inactive-indicators-description": "Toon indicatorpillen voor alle apps, niet alleen de actieve.", "appearance-inactive-indicators-label": "Lopende indicatoren", + "appearance-indicator-color-description": "Kies de kleur van de indicator voor het verborgen dock.", + "appearance-indicator-color-label": "Indicatorkleur", + "appearance-indicator-opacity-description": "Pas de ondoorzichtigheid van de indicator voor het verborgen dock aan.", + "appearance-indicator-opacity-label": "Ondoorzichtigheid van de indicator", + "appearance-indicator-thickness-description": "Schakel een dikkere indicator in voor het verborgen dock (6px in plaats van 3px).", + "appearance-indicator-thickness-label": "Dikkere indicator", "appearance-launcher-position-description": "Kies waar het starter-icoon in het dock verschijnt.", "appearance-launcher-position-end": "Einde", "appearance-launcher-position-label": "Positie van de starter", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatisch", "language-select-description": "Selecteer de taal die in de interface van de applicatie wordt gebruikt.", "language-select-label": "Applicatietaal", - "launch-setup-wizard": "Het configuratieprogramma starten", + "launch-setup-wizard": "Installatiewizard", "profile-desc": "Bewerk je gebruikersgegevens en avatar.", "profile-picture-description": "Je profielfoto die overal in de interface verschijnt.", "profile-picture-label": "Profielfoto", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Commando", "custom-entry-delete": "Verwijderen", "custom-entry-timeout": "Inactiviteitstijd", - "custom-label": "Aangepaste Inactiviteitscommando's", + "custom-label": "Aangepaste inactiviteitscommando's", "enable-description": "Schakel het scherm automatisch uit, vergrendel of zet in slaapstand na een periode van inactiviteit.", "enable-label": "Inactiviteitsbeheer inschakelen", "fade-duration-description": "Seconden voor de fade-to-black animatie voordat elke actie wordt geactiveerd. Elke muisbeweging annuleert de fade.", @@ -1212,13 +1218,14 @@ "lock-label": "Scherm vergrendelen", "screen-off-description": "Seconden van inactiviteit voordat monitoren worden uitgeschakeld.", "screen-off-label": "Scherm uitschakelen", - "status-description": "Inactiviteitstijd zoals gerapporteerd door de Compositor.", + "status-description": "Inactiviteitstijd zoals gerapporteerd door de compositor.", "status-label": "Inactiviteitstijd", "suspend-description": "Seconden van inactiviteit voordat het systeem in slaapstand gaat.", "tab-behavior": "Gedrag", "tab-custom": "Aangepast", - "timeouts-description": "Stel in op 0 om een fase uit te schakelen. Time-outs worden gepauzeerd zolang Keep Awake actief is.", + "timeouts-description": "Stel in op 0 om een fase uit te schakelen. Time-outs worden gepauzeerd zolang 'Wakker houden' actief is.", "timeouts-label": "Time-outs", + "title": "Inactiviteit", "unavailable": "Native inactiviteitsmonitoring is niet beschikbaar op deze Compositor." }, "indicator": { diff --git a/Assets/Translations/nn-NO.json b/Assets/Translations/nn-NO.json index 68d6a126b..e990e4ed5 100644 --- a/Assets/Translations/nn-NO.json +++ b/Assets/Translations/nn-NO.json @@ -271,7 +271,7 @@ "colorize-icons-label": "Farga ikon", "drawer-enabled-description": "Når dette er på, viser ufeste systempanelobjekt seg i eit skuffepanel.
Når dette er avslege, viser alle systempanelobjekt seg i rad.", "drawer-enabled-label": "Aktiver skuff", - "hide-passive-description": "Når dette er på, gøymer systempanelobjekt med \"passiv\" status seg.", + "hide-passive-description": "Når dette er på, gøymer systempanelobjekt med 'passiv' status seg.", "hide-passive-label": "Gøym passive objekt" }, "volume": { @@ -793,7 +793,7 @@ "appearance-density-label": "Tettleik på oppgåvelina", "appearance-desc": "Måtar til kor oppgåvelina ser ut og kvar ho er.", "appearance-display-mode-description": "Vel når baren er synleg.", - "appearance-floating-description": "Viser oppgåvelina som flytande \"pille\".", + "appearance-floating-description": "Viser oppgåvelina som flytande 'pille'.", "appearance-floating-label": "Flytande oppgåvelina", "appearance-frame-radius": "Innradius", "appearance-frame-settings-description": "Endrar rammetjukn og innradius på hyrnet", @@ -911,14 +911,14 @@ "desc": "Styrer stad og åtferd for kontrollsenteret.", "position-description": "Vel kvar på skjermen kontrollsenteret opnar seg.", "shortcuts-custom-button-command-description": "Kommandoen som køyrer når du klikkar på knappen.", - "shortcuts-custom-button-enable-on-state-logic-description": "Slå på eit anna ikon og \"varmt\" status frå ein sjekkekommando.", + "shortcuts-custom-button-enable-on-state-logic-description": "Slå på eit anna ikon og 'varmt' status frå ein sjekkekommando.", "shortcuts-custom-button-enable-on-state-logic-label": "Slå på \"på-stode\"-logikk", "shortcuts-custom-button-icon-description": "Vel eit ikon frå biblioteket.", "shortcuts-custom-button-on-clicked-label": "Kommando på venstreklikk", "shortcuts-custom-button-on-middle-clicked-description": "Kommando som køyrer når knappen er midtklikka.", - "shortcuts-custom-button-on-state-command-description": "Kommando som køyrer for å sjå om knappen er i \"på\"-stoda.", + "shortcuts-custom-button-on-state-command-description": "Kommando som køyrer for å sjå om knappen er i 'på'-stoda.", "shortcuts-custom-button-on-state-command-label": "På-stode sjekkekommando", - "shortcuts-custom-button-on-state-icon-description": "Ikonet for knappen når han er i \"på\"-stoda.", + "shortcuts-custom-button-on-state-icon-description": "Ikonet for knappen når han er i 'på'-stoda.", "shortcuts-custom-button-on-state-icon-label": "På-stode ikon", "shortcuts-custom-button-state-checks-add": "Legg til stodesjekk", "shortcuts-custom-button-state-checks-command": "Kommando som køyrer for denne stodesjekken.", @@ -1035,16 +1035,22 @@ "appearance-display-auto-hide": "Gøym automatisk", "appearance-display-description": "Vel korleis festepunktet ter seg", "appearance-display-exclusive": "Uthaldande", + "appearance-dock-indicator-description": "Syn ein framgangsvisar når festepunktet er gøymt.", + "appearance-dock-indicator-label": "Festepunktvisar", "appearance-floating-distance-description": "Set avstanden mellom festepunktet og skjermranda.", "appearance-floating-distance-label": "Festepunkt flyteavstand", - "appearance-frame-indicator-description": "Syn ein framgangsvisar på ramma når festepunktet er gøymt.", - "appearance-frame-indicator-label": "Festepunktvisar på ramma", "appearance-hide-show-speed-description": "Endrar på kor fort festepunktet viser og gøymer seg.", "appearance-hide-show-speed-label": "Vis/gøym fart", "appearance-icon-size-description": "Endra på kor stor festepunktet er.", "appearance-icon-size-label": "Storleik", "appearance-inactive-indicators-description": "Viser ei pille for kvar app, ikkje berre den opne.", "appearance-inactive-indicators-label": "Køyreteikn", + "appearance-indicator-color-description": "Vel fargen på indikatoren for den skjulte dokken.", + "appearance-indicator-color-label": "Indikatorfarge", + "appearance-indicator-opacity-description": "Juster gjennomsiktigheita for indikatoren for den skjulte dokken.", + "appearance-indicator-opacity-label": "Gjennomsiktigheit for indikator", + "appearance-indicator-thickness-description": "Bruk ein tjukkare indikator for den skjulte dokken (6 px i staden for 3 px).", + "appearance-indicator-thickness-label": "Tjukkare indikator", "appearance-pinned-static-description": "Alltid sender feste appikon til venstre i statisk rekkjefylgd.", "appearance-pinned-static-label": "Statiske feste appar", "appearance-position-description": "Vel kvar festepunktet står på skjermen.", @@ -1604,7 +1610,7 @@ "enter-command": "Skriv inn kommando som skal køyra (app eller eigendefinert skript)", "enter-ipc-identifier": "Skriv inn unik identifikator for IPC kommandoar", "enter-path": "Skriv inn filbane...", - "enter-text-to-collapse": "t.d. 'ingenting spelar av. Bruk /regex/ til mønster.", + "enter-text-to-collapse": "t.d. 'ingenting spelar av'. Bruk /regex/ til mønster.", "enter-tooltip": "Skriv inn hjelpetekst", "enter-width-pixels": "Skriv inn breidde i piksel", "keybind-recording": "Tek opp beinknapp...", diff --git a/Assets/Translations/pl.json b/Assets/Translations/pl.json index 88d080ddf..9b27cdbbd 100644 --- a/Assets/Translations/pl.json +++ b/Assets/Translations/pl.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Auto-ukrywanie", "appearance-display-description": "Wybierz, jak ma zachowywać się dok.", "appearance-display-exclusive": "Ekskluzywny", + "appearance-dock-indicator-description": "Pokaż mały wskaźnik, gdy dock jest ukryty.", + "appearance-dock-indicator-label": "Wskaźnik docka", "appearance-floating-distance-description": "Ustaw odległość między dokiem a krawędzią ekranu.", "appearance-floating-distance-label": "Odległość pływania doku", - "appearance-frame-indicator-description": "Pokaż mały wskaźnik na ramce, gdy dock jest ukryty.", - "appearance-frame-indicator-label": "Wskaźnik docka w ramce", "appearance-group-apps-description": "Grupuj wiele okien z tej samej aplikacji w jeden wpis Docka.", "appearance-group-apps-label": "Grupuj te same aplikacje", "appearance-group-click-action-cycle": "Przełączaj okna", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Rozmiar doku", "appearance-inactive-indicators-description": "Wyświetlaj wskaźniki dla wszystkich uruchomionych aplikacji, nie tylko dla aktywnej.", "appearance-inactive-indicators-label": "Wskaźniki uruchomionych", + "appearance-indicator-color-description": "Wybierz kolor indykatora ukrytego doku.", + "appearance-indicator-color-label": "Kolor indykatora", + "appearance-indicator-opacity-description": "Dostosuj przezroczystość indykatora ukrytego doku.", + "appearance-indicator-opacity-label": "Przezroczystość indykatora", + "appearance-indicator-thickness-description": "Włącz grubszy indykator ukrytego doku (6 px zamiast 3 px).", + "appearance-indicator-thickness-label": "Grubszy indykator", "appearance-launcher-position-description": "Wybierz, gdzie ikona programu uruchamiającego pojawi się w docku.", "appearance-launcher-position-end": "Koniec", "appearance-launcher-position-label": "Pozycja uruchamiacza", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatyczny", "language-select-description": "Wybierz język używany w interfejsie aplikacji.", "language-select-label": "Język aplikacji", - "launch-setup-wizard": "Uruchom asystenta konfiguracji", + "launch-setup-wizard": "Kreator konfiguracji", "profile-desc": "Edytuj dane użytkownika i awatar.", "profile-picture-description": "Twoje zdjęcie profilowe pojawiające się w interfejsie.", "profile-picture-label": "Zdjęcie profilowe", @@ -1161,7 +1167,7 @@ "screen-corners-title": "Narożniki ekranu", "settings-copied": "Ustawienia skopiowane do schowka", "tab-basics": "Podstawy", - "tab-keybinds": "Skróty Klawiszowe" + "tab-keybinds": "Skróty klawiszowe" }, "hooks": { "info-command-info-description": "• Polecenia są wykonywane przez powłokę (sh -lc)
• Polecenia działają w tle (detached)
• Przyciski testowe wykonują się z aktualnymi wartościami", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Polecenie", "custom-entry-delete": "Usuń", "custom-entry-timeout": "Czas bezczynności", - "custom-label": "Niestandardowe Polecenia Bezczynności", + "custom-label": "Niestandardowe polecenia bezczynności", "enable-description": "Automatycznie wyłącz ekran, zablokuj lub uśpij po okresie bezczynności.", "enable-label": "Włącz zarządzanie bezczynnością", "fade-duration-description": "Sekundy animacji wygaszania do czerni przed uruchomieniem każdej akcji. Każdy ruch myszy anuluje wygaszanie.", @@ -1212,13 +1218,14 @@ "lock-label": "Zablokuj ekran", "screen-off-description": "Sekundy bezczynności, zanim monitory zostaną wyłączone.", "screen-off-label": "Wyłącz ekran", - "status-description": "Czas bezczynności zgłoszony przez Compositor.", - "status-label": "Czas Bezczynności", + "status-description": "Czas bezczynności zgłoszony przez compositora.", + "status-label": "Czas bezczynności", "suspend-description": "Sekundy bezczynności przed wstrzymaniem systemu.", "tab-behavior": "Zachowanie", "tab-custom": "Niestandardowy", - "timeouts-description": "Ustaw na 0, aby wyłączyć etap. Limity czasu są wstrzymane, gdy Keep Awake jest aktywny.", - "timeouts-label": "Limity Czasu", + "timeouts-description": "Ustaw na 0, aby wyłączyć etap. Limity czasu są wstrzymane, gdy 'Nie usypiaj' jest aktywny.", + "timeouts-label": "Limity czasu", + "title": "Bezczynność", "unavailable": "Natywne monitorowanie bezczynności nie jest dostępne na tym Compositorze." }, "indicator": { @@ -1436,12 +1443,12 @@ "duration-desc": "Jak długo OSD pozostaje widoczne przed automatycznym ukryciem.", "duration-title": "Czas wygasania OSD", "enabled-description": "Pokazuj zmiany głośności i jasności w czasie rzeczywistym.", - "enabled-label": "Włącz OSD (On-screen display)", + "enabled-label": "Włącz wyświetlanie ekranowe (OSD)", "events-desc": "Wybierz, które zdarzenia mają wywoływać wyświetlanie ekranowe.", "general-desc": "Skonfiguruj widoczność i zachowanie OSD.", "location-description": "Miejsce na ekranie, w którym pojawia się OSD.", "monitors-desc": "Pokazuj OSD na konkretnych monitorach. Domyślnie na wszystkich.", - "title": "OSD (On-Screen Display)", + "title": "Wyświetlanie ekranowe", "types-brightness-description": "Pokazuj OSD podczas zmiany jasności ekranu.", "types-brightness-label": "Jasność", "types-custom-text-description": "Pokazuj OSD dla własnych wiadomości tekstowych z IPC.", diff --git a/Assets/Translations/pt.json b/Assets/Translations/pt.json index 4be1c1faf..41bb522a6 100644 --- a/Assets/Translations/pt.json +++ b/Assets/Translations/pt.json @@ -976,12 +976,12 @@ "cpu-intensive-note": "Os widgets marcados com ! usam mais CPU e devem ser ativados com atenção.", "edit-mode-button-label": "Entrar no modo de edição", "edit-mode-controls-explanation": "Clique esquerdo e arraste: Mover ou redimensionar o widget.\nClique direito: Abrir as opções do menu de contexto.", - "edit-mode-description": "Ative o modo de edição para mover e reposicionar widgets da área de trabalho. Quando ativado, os widgets exibem um contorno de arrastar e podem ser reposicionados.", + "edit-mode-description": "Ative o modo de edição para mover e reposicionar widgets do desktop. Quando ativado, os widgets exibem um contorno de arrastar e podem ser reposicionados.", "edit-mode-exit-button": "Sair do modo de edição", "edit-mode-grid-snap-label": "Alinhar à grade", "edit-mode-label": "Modo de edição", - "enabled-description": "Ativar ou desativar widgets da área de trabalho completamente.", - "enabled-label": "Ativar widgets da área de trabalho", + "enabled-description": "Ativar ou desativar widgets do desktop completamente.", + "enabled-label": "Ativar widgets do desktop", "general-desc": "Configure widgets que aparecem na sua área de trabalho.", "general-title": "Widgets para desktop", "media-player-enabled-description": "Mostrar um widget de reprodutor de mídia na área de trabalho.", @@ -994,7 +994,7 @@ "media-player-show-buttons-label": "Mostrar botões", "media-player-show-visualizer-description": "Mostrar a sobreposição do visualizador de áudio.", "media-player-visualizer-type-description": "Escolha um tipo de visualização para o fundo do reprodutor de mídia na área de trabalho.", - "overview-enabled-description": "Mostrar widgets da área de trabalho enquanto a visão geral do compositor estiver aberta.", + "overview-enabled-description": "Mostrar widgets do desktop enquanto a visão geral do compositor estiver aberta.", "overview-enabled-label": "Mostrar na visão geral", "system-stat-layout-bottom": "Inferior", "system-stat-layout-description": "Escolha como a legenda é exibida em relação ao gráfico.", @@ -1006,7 +1006,7 @@ "system-stat-show-background-label": "Mostrar plano de fundo", "system-stat-stat-type-description": "Escolhe qual estatística do sistema exibir.", "system-stat-stat-type-label": "Tipo de Estatística", - "title": "Widgets da área de trabalho", + "title": "Widgets do desktop", "weather-enabled-description": "Mostrar um widget de clima na área de trabalho.", "weather-enabled-label": "Ativar widget de clima", "weather-show-background-description": "Mostrar o contêiner de fundo para o widget de clima." @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Ocultar automaticamente", "appearance-display-description": "Escolha como a dock se comporta.", "appearance-display-exclusive": "Exclusivo", + "appearance-dock-indicator-description": "Mostrar um pequeno indicador quando o dock estiver oculto.", + "appearance-dock-indicator-label": "Indicador do dock", "appearance-floating-distance-description": "Ajuste a distância de flutuação da borda da tela.", "appearance-floating-distance-label": "Distância de flutuação da dock", - "appearance-frame-indicator-description": "Mostrar um pequeno indicador na moldura quando o dock estiver oculto.", - "appearance-frame-indicator-label": "Indicador de doca emoldurado", "appearance-group-apps-description": "Agrupar várias janelas da mesma app em uma única entrada do Dock.", "appearance-group-apps-label": "Agrupar aplicativos semelhantes", "appearance-group-click-action-cycle": "Alternar janelas", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Tamanho do dock", "appearance-inactive-indicators-description": "Exibir indicadores de pílula para todos os aplicativos, não apenas para o aplicativo ativo no momento.", "appearance-inactive-indicators-label": "Indicadores de execução", + "appearance-indicator-color-description": "Escolha a cor do indicador da dock oculta.", + "appearance-indicator-color-label": "Cor do indicador", + "appearance-indicator-opacity-description": "Ajuste a opacidade do indicador da dock oculta.", + "appearance-indicator-opacity-label": "Opacidade do indicador", + "appearance-indicator-thickness-description": "Ativar um indicador da dock oculta mais espesso (6 px em vez de 3 px).", + "appearance-indicator-thickness-label": "Indicador mais espesso", "appearance-launcher-position-description": "Escolha onde o ícone do lançador aparece no dock.", "appearance-launcher-position-end": "Fim", "appearance-launcher-position-label": "Posição do lançador", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automático", "language-select-description": "Selecione o idioma usado na interface da aplicação.", "language-select-label": "Idioma da aplicação", - "launch-setup-wizard": "Iniciar o assistente de configuração", + "launch-setup-wizard": "Assistente de configuração", "profile-desc": "Edite os detalhes do seu usuário e avatar.", "profile-picture-description": "Sua foto de perfil que aparece em toda a interface.", "profile-picture-label": "Foto de perfil", @@ -1161,7 +1167,7 @@ "screen-corners-title": "Cantos da tela", "settings-copied": "Configurações copiadas para a área de transferência", "tab-basics": "Básico", - "tab-keybinds": "Atalhos de Teclado" + "tab-keybinds": "Atalhos de teclado" }, "hooks": { "info-command-info-description": "• Comandos são executados via shell (sh -lc)
• Comandos rodam em segundo plano (desanexados)
• Botões de teste executam com os valores atuais", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Comando", "custom-entry-delete": "Excluir", "custom-entry-timeout": "Tempo de inatividade", - "custom-label": "Comandos de Inatividade Personalizados", + "custom-label": "Comandos de inatividade personalizados", "enable-description": "Desligar a tela, bloquear ou suspender automaticamente após um período de inatividade.", "enable-label": "Ativar gerenciamento de inatividade", "fade-duration-description": "Segundos para a animação de esmaecimento para preto antes de cada ação ser acionada. Qualquer movimento do rato cancela o esmaecimento.", @@ -1212,13 +1218,14 @@ "lock-label": "Bloquear tela", "screen-off-description": "Segundos de inatividade antes que os monitores sejam desligados.", "screen-off-label": "Desligar tela", - "status-description": "Tempo ocioso conforme relatado pelo Compositor.", - "status-label": "Tempo Ocioso", + "status-description": "Tempo ocioso conforme relatado pelo compositor.", + "status-label": "Tempo ocioso", "suspend-description": "Segundos de inatividade antes que o sistema suspenda.", "tab-behavior": "Comportamento", "tab-custom": "Personalizado", - "timeouts-description": "Defina como 0 para desativar uma etapa. Os tempos limite são pausados enquanto o Keep Awake estiver ativo.", - "timeouts-label": "Tempos Limite", + "timeouts-description": "Defina como 0 para desativar uma etapa. Os tempos limite são pausados enquanto o 'Manter acordado' estiver ativo.", + "timeouts-label": "Tempos limite", + "title": "Inatividade", "unavailable": "A monitorização nativa de inatividade não está disponível neste Compositor." }, "indicator": { @@ -1436,7 +1443,7 @@ "duration-desc": "Quanto tempo a OSD permanece visível antes de ocultar automaticamente.", "duration-title": "Tempo para ocultar", "enabled-description": "Mostrar alterações de volume e brilho em tempo real.", - "enabled-label": "Ativar exibição na tela", + "enabled-label": "Ativar exibição na tela (OSD)", "events-desc": "Selecione quais eventos acionam a exibição na tela.", "general-desc": "Configurar a visibilidade e o comportamento do OSD.", "location-description": "Onde a exibição na tela aparece.", diff --git a/Assets/Translations/ru.json b/Assets/Translations/ru.json index 5b333e71d..915d5b63b 100644 --- a/Assets/Translations/ru.json +++ b/Assets/Translations/ru.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Автоматически скрывать", "appearance-display-description": "Выберите поведение дока.", "appearance-display-exclusive": "Исключительно", + "appearance-dock-indicator-description": "Показывать небольшой индикатор, когда док скрыт.", + "appearance-dock-indicator-label": "Индикатор дока", "appearance-floating-distance-description": "Установите расстояние между доком и краем экрана.", "appearance-floating-distance-label": "Расстояние плавающего дока", - "appearance-frame-indicator-description": "Показывать небольшой индикатор на рамке, когда док скрыт.", - "appearance-frame-indicator-label": "Рамочный индикатор дока", "appearance-group-apps-description": "Группировать несколько окон одного и того же приложения в одну запись Dock.", "appearance-group-apps-label": "Группировать одинаковые приложения", "appearance-group-click-action-cycle": "Переключение окон", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Размер дока", "appearance-inactive-indicators-description": "Отображать индикаторы для всех приложений, а не только для активного.", "appearance-inactive-indicators-label": "Бегущие индикаторы", + "appearance-indicator-color-description": "Выберите цвет индикатора скрытого дока.", + "appearance-indicator-color-label": "Цвет индикатора", + "appearance-indicator-opacity-description": "Настройте непрозрачность индикатора скрытого дока.", + "appearance-indicator-opacity-label": "Непрозрачность индикатора", + "appearance-indicator-thickness-description": "Использовать более толстый индикатор скрытого дока (6 пк вместо 3 пк).", + "appearance-indicator-thickness-label": "Более толстый индикатор", "appearance-launcher-position-description": "Выберите, где значок запуска приложений отображается в доке.", "appearance-launcher-position-end": "Конец", "appearance-launcher-position-label": "Позиция запускателя", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Автоматически", "language-select-description": "Выберите язык, используемый в интерфейсе приложения.", "language-select-label": "Язык приложения", - "launch-setup-wizard": "Запустить мастер настройки", + "launch-setup-wizard": "Мастер настройки", "profile-desc": "Редактируйте данные пользователя и аватар.", "profile-picture-description": "Ваша фотография профиля, которая появляется во всем интерфейсе.", "profile-picture-label": "Фотография профиля", @@ -1161,7 +1167,7 @@ "screen-corners-title": "Углы экрана", "settings-copied": "Настройки скопированы в буфер обмена", "tab-basics": "Основы", - "tab-keybinds": "Горячие Клавиши" + "tab-keybinds": "Горячие клавиши" }, "hooks": { "info-command-info-description": "• Команды выполняются через shell (sh -lc)
• Команды выполняются в фоновом режиме (отдельно)
• Кнопки 'Тест' выполняются с текущими значениями", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Команда", "custom-entry-delete": "Удалить", "custom-entry-timeout": "Время бездействия", - "custom-label": "Пользовательские Команды Простоя", + "custom-label": "Пользовательские команды простоя", "enable-description": "Автоматически выключать экран, блокировать или приостанавливать работу после периода бездействия.", "enable-label": "Включить управление бездействием", "fade-duration-description": "Секунды для анимации затемнения перед выполнением каждого действия. Любое движение мыши отменяет затемнение.", @@ -1212,13 +1218,14 @@ "lock-label": "Заблокировать экран", "screen-off-description": "Секунды бездействия до выключения мониторов.", "screen-off-label": "Выключить экран", - "status-description": "Время простоя, сообщаемое Compositor.", - "status-label": "Время Простоя", + "status-description": "Время простоя, сообщаемое композитором.", + "status-label": "Время простоя", "suspend-description": "Секунды бездействия до приостановки работы системы.", "tab-behavior": "Поведение", "tab-custom": "Пользовательский", - "timeouts-description": "Установите 0, чтобы отключить этап. Тайм-ауты приостанавливаются, пока Keep Awake активен.", + "timeouts-description": "Установите 0, чтобы отключить этап. Тайм-ауты приостанавливаются, пока 'Не засыпать' активен.", "timeouts-label": "Тайм-ауты", + "title": "Бездействие", "unavailable": "Нативный мониторинг бездействия недоступен на этом Compositorе." }, "indicator": { @@ -1441,7 +1448,7 @@ "general-desc": "Настроить видимость и поведение уведомлений (OSD).", "location-description": "Расположение экранных уведолений.", "monitors-desc": "Показывать OSD на определённых мониторах. По умолчанию на всех, если ни один не выбран.", - "title": "Уведомления (OSD)", + "title": "Уведомления", "types-brightness-description": "Показывать OSD при изменении яркости экрана.", "types-brightness-label": "Яркость", "types-custom-text-description": "Показывать OSD для пользовательских текстовых сообщений через IPC.", diff --git a/Assets/Translations/sv.json b/Assets/Translations/sv.json index 035ae6113..9392b7437 100644 --- a/Assets/Translations/sv.json +++ b/Assets/Translations/sv.json @@ -5,12 +5,12 @@ "connect-vpn": "Anslut till {name}", "cycle-visualizer": "Växla visualiserare", "disable-bluetooth": "Inaktivera Bluetooth", - "disable-dnd": "Inaktivera Stör inte", + "disable-dnd": "Inaktivera 'Stör inte'", "disable-wifi": "Inaktivera Wi-Fi", "disconnect-vpn": "Koppla från {name}", "dock-settings": "Dockinställningar", "enable-bluetooth": "Aktivera Bluetooth", - "enable-dnd": "Aktivera Stör inte", + "enable-dnd": "Aktivera 'Stör inte'", "enable-wifi": "Aktivera Wi-Fi", "launcher-settings": "Startinställningar", "lower-to-bottom": "Sänk till botten", @@ -70,7 +70,7 @@ "apply-all-label": "Tillämpa rullningsändringar på alla bildskärmar" }, "clock": { - "clock-display-description": "Anpassa klockans visning genom att lägga till symboler från listan nedan. För att använda 12-timmarsformatet måste du inkludera symbolen \"AP\".", + "clock-display-description": "Anpassa klockans visning genom att lägga till symboler från listan nedan. För att använda 12-timmarsformatet måste du inkludera symbolen 'AP'.", "clock-display-label": "Klockvisning", "custom-font-description": "Välj ett anpassat teckensnitt för klockvisningen.", "custom-font-label": "Anpassat teckensnitt", @@ -117,7 +117,7 @@ "hide-mode-label": "Dölj läge", "hide-mode-max-transparent": "Maximalt expanderad men transparent", "icon-description": "Välj en ikon från biblioteket.", - "ipc-identifier-description": "Unik identifierare för IPC-kommandon. Använd denna identifierare med \"qs -c noctalia-shell ipc call cb [action] [identifier]\"för att styra denna knapp via IPC.", + "ipc-identifier-description": "Unik identifierare för IPC-kommandon. Använd denna identifierare med 'qs -c noctalia-shell ipc call cb [action] [identifier]' för att styra denna knapp via IPC.", "ipc-identifier-label": "IPC-identifierare", "left-click-description": "Kommando som ska utföras när knappen vänsterklickas.", "left-click-label": "Vänsterklick", @@ -274,7 +274,7 @@ "colorize-icons-label": "Färglägg ikoner", "drawer-enabled-description": "När funktionen är aktiverad visas fackikoner som inte är fästa i en låda.
När funktionen är inaktiverad visas alla fackikoner i rad.", "drawer-enabled-label": "Aktivera låda", - "hide-passive-description": "När funktionen är aktiverad döljs fackikoner med statusen \"Passiv\".", + "hide-passive-description": "När funktionen är aktiverad döljs fackikoner med statusen 'Passiv'.", "hide-passive-label": "Dölj passiva ikoner" }, "volume": { @@ -806,7 +806,7 @@ "appearance-density-label": "Stapeldensitet", "appearance-desc": "Anpassa stapelns utseende och position.", "appearance-display-mode-description": "Välj när listen är synlig.", - "appearance-floating-description": "Visa stapeln som en flytande \"piller\".", + "appearance-floating-description": "Visa stapeln som en flytande 'piller'.", "appearance-floating-label": "Flytande stapel", "appearance-font-scale-description": "Justera skalningen av teckenstorleken för text som visas i fältet.", "appearance-font-scale-label": "Teckensnittsskala", @@ -930,14 +930,14 @@ "desc": "Konfigurera kontrollpanelens placering och beteende.", "position-description": "Välj var kontrollpanelen ska visas när den öppnas.", "shortcuts-custom-button-command-description": "Kommandot som ska utföras när knappen klickas på.", - "shortcuts-custom-button-enable-on-state-logic-description": "Aktivera en andra ikon och aktivt tillstånd baserat på ett kontrollkommando.", + "shortcuts-custom-button-enable-on-state-logic-description": "Aktivera en andra ikon och 'aktivt' tillstånd baserat på ett kontrollkommando.", "shortcuts-custom-button-enable-on-state-logic-label": "Aktivera logik för aktivt tillstånd", "shortcuts-custom-button-icon-description": "Välj en ikon från biblioteket.", "shortcuts-custom-button-on-clicked-label": "Kommando vid vänsterklick", "shortcuts-custom-button-on-middle-clicked-description": "Kommando som ska köras när knappen mittklickas.", - "shortcuts-custom-button-on-state-command-description": "Kommando som ska utföras för att kontrollera om knappen ska vara i läge \"på\". Returnerar 0 för på, icke-noll för av.", + "shortcuts-custom-button-on-state-command-description": "Kommando som ska utföras för att kontrollera om knappen ska vara i läge 'på'. Returnerar 0 för på, icke-noll för av.", "shortcuts-custom-button-on-state-command-label": "Kommando för att kontrollera om knappen är på", - "shortcuts-custom-button-on-state-icon-description": "Ikonen för knappen när den är på.", + "shortcuts-custom-button-on-state-icon-description": "Ikonen för knappen när den är 'på'.", "shortcuts-custom-button-on-state-icon-label": "Ikon för på-läge", "shortcuts-custom-button-state-checks-add": "Lägg till tillståndskontroll", "shortcuts-custom-button-state-checks-command": "Kommando att utföra för denna tillståndskontroll", @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Dölj automatiskt", "appearance-display-description": "Välj hur dockan ska fungera.", "appearance-display-exclusive": "Exklusiv", + "appearance-dock-indicator-description": "Visa en liten indikator när dockan är dold.", + "appearance-dock-indicator-label": "Dockindikator", "appearance-floating-distance-description": "Ställ in avståndet mellan dockan och skärmens kant.", "appearance-floating-distance-label": "Dockens flytande avstånd", - "appearance-frame-indicator-description": "Visa en liten indikator på ramen när dockan är dold.", - "appearance-frame-indicator-label": "Inramad dockindikator", "appearance-group-apps-description": "Gruppera flera fönster från samma app till en Dock-post.", "appearance-group-apps-label": "Gruppera samma appar", "appearance-group-click-action-cycle": "Växla fönster", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dockstorlek", "appearance-inactive-indicators-description": "Visa indikatorer för alla appar, inte bara den som är aktiv för tillfället.", "appearance-inactive-indicators-label": "Indikatorer som körs", + "appearance-indicator-color-description": "Välj färg för den dolda dockans indikator.", + "appearance-indicator-color-label": "Indikatorfärg", + "appearance-indicator-opacity-description": "Justera opaciteten för den dolda dockans indikator.", + "appearance-indicator-opacity-label": "Indikatorns opacitet", + "appearance-indicator-thickness-description": "Aktivera en tjockare indikator för den dolda dockan (6 px istället för 3 px).", + "appearance-indicator-thickness-label": "Tjockare indikator", "appearance-launcher-position-description": "Välj var startprogrammets ikon visas i dockan.", "appearance-launcher-position-end": "Slut", "appearance-launcher-position-label": "Startarens position", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Automatiskt", "language-select-description": "Välj det språk som ska användas i programmets gränssnitt.", "language-select-label": "Programspråk", - "launch-setup-wizard": "Inställningsguide", + "launch-setup-wizard": "Installationsguide", "profile-desc": "Redigera dina användaruppgifter och avatar.", "profile-picture-description": "Din profilbild som visas i hela gränssnittet.", "profile-picture-label": "Profilbild", @@ -1169,7 +1175,7 @@ "info-parameters-label": "Tillgängliga parametrar", "noctalia-started-description": "Kommando som ska utföras när Noctalia har laddats klart.", "noctalia-started-label": "Noctalia startat", - "noctalia-started-placeholder": "t.ex. notify-send \"Noctalia laddat\"", + "noctalia-started-placeholder": "t.ex. notify-send 'Noctalia laddat'", "performance-mode-disabled-description": "Kommando som ska utföras när Noctalia prestandaläget är inaktiverat.", "performance-mode-disabled-label": "Prestandaläget inaktiverat", "performance-mode-disabled-placeholder": "t.ex. notify-send \"Prestanda\"\"Läget inaktiverat\"", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Kommando", "custom-entry-delete": "Ta bort", "custom-entry-timeout": "Inaktivitetstid", - "custom-label": "Anpassade Inaktivitetskommandon", + "custom-label": "Anpassade inaktivitetskommandon", "enable-description": "Stäng automatiskt av skärmen, lås eller försätt i viloläge efter en period av inaktivitet.", "enable-label": "Aktivera inaktivitetshantering", "fade-duration-description": "Sekunder för animationen som tonar till svart innan varje åtgärd utlöses. Alla musrörelser avbryter nedtoningen.", @@ -1212,13 +1218,14 @@ "lock-label": "Lås skärm", "screen-off-description": "Sekunder av inaktivitet innan skärmarna stängs av.", "screen-off-label": "Stäng av skärmen", - "status-description": "Inaktiv tid som rapporterats av Compositor.", - "status-label": "Inaktiv Tid", + "status-description": "Inaktiv tid som rapporterats av compositorn.", + "status-label": "Inaktiv tid", "suspend-description": "Sekunder av inaktivitet innan systemet försätts i viloläge.", "tab-behavior": "Beteende", "tab-custom": "Anpassad", - "timeouts-description": "Ställ in på 0 för att inaktivera ett steg. Tidsgränser pausas medan Keep Awake är aktivt.", + "timeouts-description": "Ställ in på 0 för att inaktivera ett steg. Tidsgränser pausas medan 'Håll vaken' är aktivt.", "timeouts-label": "Tidsgränser", + "title": "Inaktivitet", "unavailable": "Inbyggd inaktivitetsövervakning är inte tillgänglig på denna Compositor." }, "indicator": { @@ -1231,7 +1238,7 @@ "execute-title": "Exekvering", "settings-annotation-tool-description": "Kommando som körs när du klickar på anteckningsknappen i klippbordshistoriken. Bilden kommer att skickas till detta kommando.", "settings-annotation-tool-label": "Anteckningsverktyg", - "settings-annotation-tool-placeholder": "t.ex. \"gradia\", \"satty -f -\"", + "settings-annotation-tool-placeholder": "t.ex. 'gradia', 'satty -f -'", "settings-auto-paste-description": "Klistra in det valda klippbordsinnehållet automatiskt. Kräver wtype. ", "settings-auto-paste-label": "Automatisk klistra in", "settings-clip-preview-description": "Visa en förhandsgranskning av klippbordets innehåll när du använder kommandot >clip.", @@ -1244,7 +1251,7 @@ "settings-clipboard-watch-image-label": "Bildövervakningskommando", "settings-clipboard-watch-text-description": "Fullständig kommandosträng skickad till wl-paste för textändringar (kräver omstart).", "settings-clipboard-watch-text-label": "Textbevakningskommando", - "settings-custom-launch-prefix-description": "Prefixkommandon med en anpassad startfunktion (t.ex. \"runapp\"för systemd-integration).", + "settings-custom-launch-prefix-description": "Prefixkommandon med en anpassad startfunktion (t.ex. 'runapp' för systemd-integration).", "settings-custom-launch-prefix-enabled-description": "Använd ett anpassat prefix för att starta applikationer istället för standardmetoden.", "settings-custom-launch-prefix-enabled-label": "Aktivera anpassat startprefix", "settings-custom-launch-prefix-label": "Anpassat startprefix", @@ -1271,7 +1278,7 @@ "settings-show-icon-background-label": "Visa ikonbakgrund", "settings-sort-by-usage-description": "När denna funktion är aktiverad visas de program som används oftast först i listan.", "settings-sort-by-usage-label": "Sortera efter mest använda", - "settings-terminal-command-description": "Kommando för att starta en terminal. T.ex. \"kitty -e\"eller \"gnome-terminal --\".", + "settings-terminal-command-description": "Kommando för att starta en terminal. T.ex. 'kitty -e' eller 'gnome-terminal --'.", "settings-terminal-command-label": "Terminalkommando", "settings-use-app2unit-description": "Använder en alternativ startmetod för att bättre hantera app-processer och förhindra problem.", "settings-use-app2unit-label": "Använd App2Unit för att starta applikationer", @@ -1343,7 +1350,7 @@ "monitors-desc": "Visa låsskärm på specifika bildskärmar. Standard är alla om inga väljs.", "password-chars-description": "Söta ikoner som används för att dölja ditt lösenord.", "password-chars-label": "Slumpmässiga lösenordsikoner", - "show-hibernate-description": "Visa alternativet \"viloläge\"i strömkontrollerna.", + "show-hibernate-description": "Visa alternativet 'viloläge' i strömkontrollerna.", "show-hibernate-label": "Visa viloläge", "show-session-buttons-description": "Tillåt åtkomst till ströminställningar från låsskärmen. ", "show-session-buttons-label": "Strömkontroller", @@ -1439,9 +1446,9 @@ "enabled-label": "Aktivera skärmdisplay", "events-desc": "Välj vilka händelser som ska utlösa skärmdisplayen.", "general-desc": "Konfigurera OSD:s synlighet och beteende.", - "location-description": "Var On-Screen Display visas.", + "location-description": "Var skärmdisplayen visas.", "monitors-desc": "Visa OSD på specifika skärmar. Standardinställningen är alla om ingen är vald.", - "title": "On-Screen Display", + "title": "Skärmdisplay", "types-brightness-description": "Visa OSD när skärmens ljusstyrka ändras.", "types-brightness-label": "Ljusstyrka", "types-custom-text-description": "Visa OSD för anpassade textmeddelanden från IPC.", @@ -1680,7 +1687,7 @@ "enter-command": "Ange kommando att utföra (app eller anpassat skript)", "enter-ipc-identifier": "Ange unik identifierare för IPC-kommandon", "enter-path": "Ange sökväg...", - "enter-text-to-collapse": "t.ex. \"ingenting spelas upp\". Använd /regex/ för mönster.", + "enter-text-to-collapse": "t.ex. 'ingenting spelas upp'. Använd /regex/ för mönster.", "enter-tooltip": "Ange verktygstips", "enter-width-pixels": "Ange bredd i bildpunkter", "keybind-recording": "Spelar in tangentbindning...", @@ -1796,12 +1803,12 @@ "clipboard": { "long-text": "Lång text", "unavailable": "Urklippshistorik otillgänglig", - "unavailable-desc": "Applikationen \"cliphist\"är inte installerad. Installera den för att kunna använda klippbordshistorikfunktionerna" + "unavailable-desc": "Applikationen 'cliphist' är inte installerad. Installera den för att kunna använda klippbordshistorikfunktionerna" }, "do-not-disturb": { - "disabled": "Stör inte inaktiverat", + "disabled": "'Stör inte' inaktiverat", "disabled-desc": "Visar alla aviseringar", - "enabled": "Stör inte aktiverat", + "enabled": "'Stör inte' aktiverat", "enabled-desc": "Du hittar dessa aviseringar i din historik" }, "donation-opened": "Donationssidan öppnades i din webbläsare", @@ -1833,8 +1840,8 @@ "title": "Bearbetning av mallar misslyckades" }, "vpn": { - "connected": "Ansluten till \"{name}\"", - "disconnected": "Frånkopplad från \"{name}\"" + "connected": "Ansluten till '{name}'", + "disconnected": "Frånkopplad från '{name}'" }, "wallpaper-colors": { "disabled": "Bakgrundsfärger inaktiverade", @@ -1842,10 +1849,10 @@ "label": "Bakgrundsfärger" }, "wifi": { - "connected": "Ansluten till \"{ssid}\"", + "connected": "Ansluten till '{ssid}'", "connection-failed": "Anslutningen misslyckades", "connection-timeout": "Anslutningstidsgräns", - "disconnected": "Kopplade från \"{ssid}\"", + "disconnected": "Kopplade från '{ssid}'", "incorrect-password": "Felaktigt lösenord", "network-not-found": "Nätverket hittades inte" } diff --git a/Assets/Translations/tr.json b/Assets/Translations/tr.json index 9cdb4052c..5057f9357 100644 --- a/Assets/Translations/tr.json +++ b/Assets/Translations/tr.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Otomatik gizle", "appearance-display-description": "Dock’un nasıl davranacağını seçin.", "appearance-display-exclusive": "Özel", + "appearance-dock-indicator-description": "Dock gizlendiğinde küçük bir gösterge göster.", + "appearance-dock-indicator-label": "Dock göstergesi", "appearance-floating-distance-description": "Dock ile ekran kenarı arasındaki mesafeyi ayarlayın.", "appearance-floating-distance-label": "Dock yüzen mesafesi", - "appearance-frame-indicator-description": "Dock gizlendiğinde çerçevede küçük bir gösterge göster.", - "appearance-frame-indicator-label": "Çerçeveli dock göstergesi", "appearance-group-apps-description": "Aynı uygulamanın birden fazla penceresini tek bir Dock girişinde grupla.", "appearance-group-apps-label": "Aynı uygulamaları grupla", "appearance-group-click-action-cycle": "Pencereler arasında geçiş yap", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dock boyutu", "appearance-inactive-indicators-description": "Tüm uygulamalar için, sadece etkin olan için değil, gösterge haplarını göster.", "appearance-inactive-indicators-label": "Çalışan göstergeler", + "appearance-indicator-color-description": "Gizli dock göstergesinin rengini seçin.", + "appearance-indicator-color-label": "Gösterge rengi", + "appearance-indicator-opacity-description": "Gizli dock göstergesinin opaklığını ayarlayın.", + "appearance-indicator-opacity-label": "Gösterge opaklığı", + "appearance-indicator-thickness-description": "Daha kalın bir gizli dock göstergesi kullanın (3 px yerine 6 px).", + "appearance-indicator-thickness-label": "Daha kalın gösterge", "appearance-launcher-position-description": "Başlatıcı simgesinin dock'ta nerede görüneceğini seçin.", "appearance-launcher-position-end": "Son", "appearance-launcher-position-label": "Başlatıcı konumu", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Otomatik", "language-select-description": "Uygulama arayüzünde kullanılacak dili seçin.", "language-select-label": "Uygulama dili", - "launch-setup-wizard": "Kurulum sihirbazını başlat", + "launch-setup-wizard": "Kurulum sihirbazı", "profile-desc": "Kullanıcı detaylarınızı ve avatarınızı düzenleyin.", "profile-picture-description": "Arayüzün tamamında görünen profil fotoğrafınız.", "profile-picture-label": "Profil resmi", @@ -1161,7 +1167,7 @@ "screen-corners-title": "Ekran köşeleri", "settings-copied": "Ayarlar panoya kopyalandı", "tab-basics": "Temeller", - "tab-keybinds": "Tuş Atamaları" + "tab-keybinds": "Tuş atamaları" }, "hooks": { "info-command-info-description": "• Komutlar kabuk (sh -lc) ile yürütülür
• Komutlar arka planda yürütülür (ayrık)
• Test düğmeleri mevcut değerlerle yürütülür", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Komut", "custom-entry-delete": "Sil", "custom-entry-timeout": "Boşta kalma süresi", - "custom-label": "Özel Boşta Kalma Komutları", + "custom-label": "Özel boşta kalma komutları", "enable-description": "Belirli bir süre işlem yapılmadığında ekranı otomatik olarak kapat, kilitle veya askıya al.", "enable-label": "Boşta kalma yönetimini etkinleştir", "fade-duration-description": "Her eylem tetiklenmeden önce kararan animasyonun saniye cinsinden süresi. Herhangi bir fare hareketi kararmayı iptal eder.", @@ -1213,12 +1219,13 @@ "screen-off-description": "Monitörler kapanmadan önceki hareketsizlik süresi (saniye).", "screen-off-label": "Ekranı kapat", "status-description": "Compositor tarafından bildirilen boşta kalma süresi.", - "status-label": "Boşta Kalma Süresi", + "status-label": "Boşta kalma süresi", "suspend-description": "Sistem askıya alınmadan önceki hareketsizlik süresi (saniye).", "tab-behavior": "Davranış", "tab-custom": "Özel", - "timeouts-description": "Bir aşamayı devre dışı bırakmak için 0 olarak ayarlayın. Keep Awake aktifken zaman aşımları duraklatılır.", - "timeouts-label": "Zaman Aşımları", + "timeouts-description": "Bir aşamayı devre dışı bırakmak için 0 olarak ayarlayın. 'Uyanık kal' aktifken zaman aşımları duraklatılır.", + "timeouts-label": "Zaman aşımları", + "title": "Boşta", "unavailable": "Yerel boşta kalma izleme bu Compositor'da mevcut değil." }, "indicator": { @@ -1436,12 +1443,12 @@ "duration-desc": "OSD'nin otomatik olarak gizlenmeden önce ne kadar süreyle görüneceği.", "duration-title": "Otomatik gizleme zaman aşımı", "enabled-description": "Ses ve parlaklık değişikliklerini gerçek zamanlı olarak gösterin.", - "enabled-label": "Ekranda gösterim etkinleştir", - "events-desc": "Ekranda gösterim tetikleyecek olayları seçin.", + "enabled-label": "Ekran üstü gösterim (OSD) etkinleştir", + "events-desc": "Ekran üstü gösterimi tetikleyecek olayları seçin.", "general-desc": "OSD'nin görünürlüğünü ve davranışını yapılandırın.", - "location-description": "Ekran görüntülerinin nerede görüneceği.", + "location-description": "Ekran üstü gösterimlerin görüneceği konum.", "monitors-desc": "OSD'yi belirli ekranlarda gösterin. Hiçbiri seçilmezse varsayılan olarak tümünde gösterilir.", - "title": "Ekranda gösterim", + "title": "Ekran üstü gösterim", "types-brightness-description": "Ekran parlaklığı değiştiğinde OSD'yi göster.", "types-brightness-label": "Parlaklık", "types-custom-text-description": "IPC üzerinden özel metin iletileri için OSD göster.", diff --git a/Assets/Translations/uk-UA.json b/Assets/Translations/uk-UA.json index 930944f4b..eb987d9a7 100644 --- a/Assets/Translations/uk-UA.json +++ b/Assets/Translations/uk-UA.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "Автоприховування", "appearance-display-description": "Виберіть, як поводиться док.", "appearance-display-exclusive": "Винятковий", + "appearance-dock-indicator-description": "Показувати невеликий індикатор, коли док приховано.", + "appearance-dock-indicator-label": "Індикатор дока", "appearance-floating-distance-description": "Встановіть відстань між доком і краєм екрана.", "appearance-floating-distance-label": "Відстань плавання дока", - "appearance-frame-indicator-description": "Показувати невеликий індикатор на рамці, коли док приховано.", - "appearance-frame-indicator-label": "Рамочний індикатор дока", "appearance-group-apps-description": "Групувати кілька вікон з однієї програми в один запис Dock.", "appearance-group-apps-label": "Групувати однакові програми", "appearance-group-click-action-cycle": "Перемикати вікна", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Розмір дока", "appearance-inactive-indicators-description": "Відображати індикатори-пігулки для всіх програм, а не лише для поточної активної.", "appearance-inactive-indicators-label": "Індикатори бігу", + "appearance-indicator-color-description": "Виберіть колір індикатора прихованого доку.", + "appearance-indicator-color-label": "Колір індикатора", + "appearance-indicator-opacity-description": "Налаштуйте непрозорість індикатора прихованого доку.", + "appearance-indicator-opacity-label": "Непрозорість індикатора", + "appearance-indicator-thickness-description": "Увімкнути товстіший індикатор прихованого доку (6 пікселів замість 3 пікселів).", + "appearance-indicator-thickness-label": "Товстіший індикатор", "appearance-launcher-position-description": "Виберіть, де значок запуску програм з'являється в доці.", "appearance-launcher-position-end": "Кінець", "appearance-launcher-position-label": "Позиція запускача", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "Автоматично", "language-select-description": "Виберіть мову інтерфейсу застосунку.", "language-select-label": "Мова застосунку", - "launch-setup-wizard": "Запустити майстер налаштування", + "launch-setup-wizard": "Майстер налаштування", "profile-desc": "Редагуйте дані користувача та аватар.", "profile-picture-description": "Ваше фото профілю, що відображається в інтерфейсі.", "profile-picture-label": "Фото профілю", @@ -1161,7 +1167,7 @@ "screen-corners-title": "Кути екрана", "settings-copied": "Налаштування скопійовано до буфера обміну", "tab-basics": "Основи", - "tab-keybinds": "Гарячі Клавіші" + "tab-keybinds": "Гарячі клавіші" }, "hooks": { "info-command-info-description": "• Команди виконуються через оболонку (sh -lc)
• Команди запускаються у фоні (відокремлено)
• Кнопки тестування виконують команди з поточними значеннями", @@ -1203,7 +1209,7 @@ "custom-entry-command": "Команда", "custom-entry-delete": "Видалити", "custom-entry-timeout": "Час бездіяльності", - "custom-label": "Користувацькі Команди Бездіяльності", + "custom-label": "Користувацькі команди бездіяльності", "enable-description": "Автоматично вимикати екран, блокувати або призупиняти роботу після періоду бездіяльності.", "enable-label": "Увімкнути керування бездіяльністю", "fade-duration-description": "Секунди для анімації затемнення до чорного перед виконанням кожної дії. Будь-який рух миші скасовує затемнення.", @@ -1212,13 +1218,14 @@ "lock-label": "Заблокувати екран", "screen-off-description": "Секунди бездіяльності до вимкнення моніторів.", "screen-off-label": "Вимкнути екран", - "status-description": "Час простою, повідомлений Compositor.", - "status-label": "Час Простою", + "status-description": "Час простою, який повідомляє композитор.", + "status-label": "Час простою", "suspend-description": "Секунди бездіяльності до призупинення роботи системи.", "tab-behavior": "Поведінка", "tab-custom": "Користувацький", - "timeouts-description": "Встановіть 0, щоб вимкнути етап. Тайм-аути призупиняються, поки Keep Awake активний.", + "timeouts-description": "Встановіть 0, щоб вимкнути етап. Тайм-аути призупиняються, поки 'Заборона сну' активний.", "timeouts-label": "Тайм-аути", + "title": "Бездіяльність", "unavailable": "Нативний моніторинг бездіяльності недоступний на цьому Compositorі." }, "indicator": { diff --git a/Assets/Translations/zh-CN.json b/Assets/Translations/zh-CN.json index 3086e890f..d5d749568 100644 --- a/Assets/Translations/zh-CN.json +++ b/Assets/Translations/zh-CN.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "自动隐藏", "appearance-display-description": "选择 Dock 栏的行为方式。", "appearance-display-exclusive": "独占", + "appearance-dock-indicator-description": "当 Dock 隐藏时,显示一个小指示器。", + "appearance-dock-indicator-label": "Dock 指示器", "appearance-floating-distance-description": "调整距离屏幕边缘的浮动距离。", "appearance-floating-distance-label": "Dock 栏浮动距离", - "appearance-frame-indicator-description": "当 Dock 隐藏时,在边框上显示一个小指示器。", - "appearance-frame-indicator-label": "带边框的停靠栏指示器", "appearance-group-apps-description": "将同一应用的多个窗口分组到一个 Dock 条目中。", "appearance-group-apps-label": "分组相同应用", "appearance-group-click-action-cycle": "切换窗口", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dock 栏大小", "appearance-inactive-indicators-description": "为所有应用显示指示器小药丸,而不仅仅是当前活跃的应用。", "appearance-inactive-indicators-label": "运行指示器", + "appearance-indicator-color-description": "选择隐藏停靠栏指示器的颜色。", + "appearance-indicator-color-label": "指示器颜色", + "appearance-indicator-opacity-description": "调整隐藏停靠栏指示器的不透明度。", + "appearance-indicator-opacity-label": "指示器不透明度", + "appearance-indicator-thickness-description": "启用较粗的隐藏停靠栏指示器(从 3px 增加到 6px)。", + "appearance-indicator-thickness-label": "较粗的指示器", "appearance-launcher-position-description": "选择启动器图标在停靠栏中的显示位置。", "appearance-launcher-position-end": "结束", "appearance-launcher-position-label": "启动器位置", @@ -1141,7 +1147,7 @@ "language-select-auto-detect": "自动检测", "language-select-description": "选择应用程序界面中使用的语言。", "language-select-label": "应用程序语言", - "launch-setup-wizard": "启动安装向导", + "launch-setup-wizard": "设置向导", "profile-desc": "编辑您的用户详细信息和头像。", "profile-picture-description": "在整个界面中显示您的个人头像。", "profile-picture-label": "头像", @@ -1212,13 +1218,14 @@ "lock-label": "锁定屏幕", "screen-off-description": "显示器关闭前的不活动秒数。", "screen-off-label": "关闭屏幕", - "status-description": "Compositor报告的空闲时间。", + "status-description": "由混成器报告的空闲时间。", "status-label": "空闲时间", "suspend-description": "系统挂起前的非活动秒数。", "tab-behavior": "行为", "tab-custom": "自定义", - "timeouts-description": "设置为0以禁用一个阶段。Keep Awake激活时,超时会暂停。", + "timeouts-description": "设置为0以禁用一个阶段。保持唤醒激活时,超时会暂停。", "timeouts-label": "超时", + "title": "空闲", "unavailable": "此 Compositor 不支持原生空闲监控。" }, "indicator": { diff --git a/Assets/Translations/zh-TW.json b/Assets/Translations/zh-TW.json index f7dec4a14..95de244d7 100644 --- a/Assets/Translations/zh-TW.json +++ b/Assets/Translations/zh-TW.json @@ -1060,10 +1060,10 @@ "appearance-display-auto-hide": "自動隱藏", "appearance-display-description": "選擇 Dock 的行為", "appearance-display-exclusive": "獨占空間", + "appearance-dock-indicator-description": "當 Dock 隱藏時,顯示一個小指示器。", + "appearance-dock-indicator-label": "Dock 指示器", "appearance-floating-distance-description": "設定 Dock 與螢幕邊緣相隔的距離", "appearance-floating-distance-label": "Dock 懸浮間距", - "appearance-frame-indicator-description": "當 Dock 隱藏時,在邊框上顯示一個小指示器。", - "appearance-frame-indicator-label": "帶邊框的停靠欄指示器", "appearance-group-apps-description": "將同一應用程式的多個視窗分組到一個 Dock 項目中。", "appearance-group-apps-label": "分組相同應用程式", "appearance-group-click-action-cycle": "切換視窗", @@ -1084,6 +1084,12 @@ "appearance-icon-size-label": "Dock 大小", "appearance-inactive-indicators-description": "為所有應用程式顯示指示膠囊(而不僅是正在運作的程式)。", "appearance-inactive-indicators-label": "運作指示器", + "appearance-indicator-color-description": "選擇隱藏 Dock 指示器的顏色。", + "appearance-indicator-color-label": "指示器顏色", + "appearance-indicator-opacity-description": "調整隱藏 Dock 指示器的不透明度。", + "appearance-indicator-opacity-label": "指示器不透明度", + "appearance-indicator-thickness-description": "啟用較粗的隱藏 Dock 指示器(6px 而非 3px)。", + "appearance-indicator-thickness-label": "較粗的指示器", "appearance-launcher-position-description": "選擇啟動器圖示在停靠欄中的顯示位置。", "appearance-launcher-position-end": "結束", "appearance-launcher-position-label": "啟動器位置", @@ -1212,13 +1218,14 @@ "lock-label": "鎖定螢幕", "screen-off-description": "顯示器關閉前的不活動秒數。", "screen-off-label": "關閉螢幕", - "status-description": "Compositor回報的閒置時間。", + "status-description": "由混成器回報的閒置時間。", "status-label": "閒置時間", "suspend-description": "系統暫停前的閒置秒數。", "tab-behavior": "行為", "tab-custom": "自訂", - "timeouts-description": "設定為0以停用一個階段。Keep Awake啟用時,逾時會暫停。", + "timeouts-description": "設定為0以停用一個階段。保持喚醒啟用時,逾時會暫停。", "timeouts-label": "逾時", + "title": "閒置", "unavailable": "此 Compositor 不支援原生閒置監控。" }, "indicator": { diff --git a/Assets/settings-search-index.json b/Assets/settings-search-index.json index f99283d89..d75eb11b1 100644 --- a/Assets/settings-search-index.json +++ b/Assets/settings-search-index.json @@ -980,33 +980,6 @@ "subTab": 0, "subTabLabel": "panels.idle.tab-behavior" }, - { - "labelKey": "panels.idle.screen-off-label", - "descriptionKey": "panels.idle.screen-off-description", - "widget": "NSpinBox", - "tab": 13, - "tabLabel": "common.idle", - "subTab": 0, - "subTabLabel": "panels.idle.tab-behavior" - }, - { - "labelKey": "panels.idle.lock-label", - "descriptionKey": "panels.idle.lock-description", - "widget": "NSpinBox", - "tab": 13, - "tabLabel": "common.idle", - "subTab": 0, - "subTabLabel": "panels.idle.tab-behavior" - }, - { - "labelKey": "common.suspend", - "descriptionKey": "panels.idle.suspend-description", - "widget": "NSpinBox", - "tab": 13, - "tabLabel": "common.idle", - "subTab": 0, - "subTabLabel": "panels.idle.tab-behavior" - }, { "labelKey": "panels.idle.fade-duration-label", "descriptionKey": "panels.idle.fade-duration-description", @@ -1025,24 +998,6 @@ "subTab": 1, "subTabLabel": "panels.idle.tab-custom" }, - { - "labelKey": "panels.idle.custom-entry-timeout", - "descriptionKey": null, - "widget": "NSpinBox", - "tab": 13, - "tabLabel": "common.idle", - "subTab": 1, - "subTabLabel": "panels.idle.tab-custom" - }, - { - "labelKey": "panels.idle.custom-entry-command", - "descriptionKey": null, - "widget": "NTextInput", - "tab": 13, - "tabLabel": "common.idle", - "subTab": 1, - "subTabLabel": "panels.idle.tab-custom" - }, { "labelKey": "panels.launcher.settings-clipboard-history-label", "descriptionKey": "panels.launcher.settings-clipboard-history-description", diff --git a/Commons/Settings.qml b/Commons/Settings.qml index 241331789..ec6bfc4ba 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -729,7 +729,13 @@ Singleton { property int lockTimeout: 660 // seconds, 0 = disabled property int suspendTimeout: 1800 // seconds, 0 = disabled property int fadeDuration: 5 // seconds of fade-to-black before action fires - property string customCommands: "[]" // JSON array of {timeout, command} + property string screenOffCommand: "" + property string lockCommand: "" + property string suspendCommand: "" + property string resumeScreenOffCommand: "" + property string resumeLockCommand: "" + property string resumeSuspendCommand: "" + property string customCommands: "[]" // JSON array of {timeout, command, resumeCommand} } // desktop widgets diff --git a/Modules/Panels/Settings/Tabs/Idle/BehaviorSubTab.qml b/Modules/Panels/Settings/Tabs/Idle/BehaviorSubTab.qml index 20ff51e79..0820b201f 100644 --- a/Modules/Panels/Settings/Tabs/Idle/BehaviorSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Idle/BehaviorSubTab.qml @@ -53,7 +53,34 @@ ColumnLayout { Layout.fillWidth: true } - // Timeout spinboxes (disabled when idle is off) + IdleCommandEditPopup { + id: editPopup + parent: Overlay.overlay + } + + function openEdit(actionName, cmdVal, resumeCmdVal, onSaveCmd, onSaveResume) { + editPopup.editIndex = -1; + editPopup.showCommand = true; + editPopup.showTimeout = false; + editPopup.titleText = I18n.tr("common.edit") + " " + actionName; + editPopup.timeoutValue = 0; + editPopup.commandValue = cmdVal; + editPopup.resumeCommandValue = resumeCmdVal; + + try { + editPopup.saved.disconnect(editPopup._savedSlot); + } catch (e) {} + + editPopup._savedSlot = function (timeout, cmd, resumeCmd, name) { + onSaveCmd(cmd); + onSaveResume(resumeCmd); + }; + + editPopup.saved.connect(editPopup._savedSlot); + editPopup.open(); + } + + // Timeout spinboxes and resume commands ColumnLayout { Layout.fillWidth: true spacing: Style.marginL @@ -64,37 +91,58 @@ ColumnLayout { description: I18n.tr("panels.idle.timeouts-description") } - NSpinBox { - label: I18n.tr("panels.idle.screen-off-label") - description: I18n.tr("panels.idle.screen-off-description") - from: 0 - to: 86400 - suffix: "s" - value: Settings.data.idle.screenOffTimeout + DefaultActionRow { + actionName: I18n.tr("panels.idle.screen-off-label") + actionDescription: I18n.tr("panels.idle.screen-off-description") + timeoutValue: Settings.data.idle.screenOffTimeout defaultValue: 0 - onValueChanged: Settings.data.idle.screenOffTimeout = value + command: Settings.data.idle.screenOffCommand + resumeCommand: Settings.data.idle.resumeScreenOffCommand + onActionTimeoutChanged: val => Settings.data.idle.screenOffTimeout = val + onActionCommandChanged: cmd => { + Settings.data.idle.screenOffCommand = cmd; + Settings.saveImmediate(); + } + onActionResumeCommandChanged: cmd => { + Settings.data.idle.resumeScreenOffCommand = cmd; + Settings.saveImmediate(); + } } - NSpinBox { - label: I18n.tr("panels.idle.lock-label") - description: I18n.tr("panels.idle.lock-description") - from: 0 - to: 86400 - suffix: "s" - value: Settings.data.idle.lockTimeout + DefaultActionRow { + actionName: I18n.tr("panels.idle.lock-label") + actionDescription: I18n.tr("panels.idle.lock-description") + timeoutValue: Settings.data.idle.lockTimeout defaultValue: 0 - onValueChanged: Settings.data.idle.lockTimeout = value + command: Settings.data.idle.lockCommand + resumeCommand: Settings.data.idle.resumeLockCommand + onActionTimeoutChanged: val => Settings.data.idle.lockTimeout = val + onActionCommandChanged: cmd => { + Settings.data.idle.lockCommand = cmd; + Settings.saveImmediate(); + } + onActionResumeCommandChanged: cmd => { + Settings.data.idle.resumeLockCommand = cmd; + Settings.saveImmediate(); + } } - NSpinBox { - label: I18n.tr("common.suspend") - description: I18n.tr("panels.idle.suspend-description") - from: 0 - to: 86400 - suffix: "s" - value: Settings.data.idle.suspendTimeout + DefaultActionRow { + actionName: I18n.tr("common.suspend") + actionDescription: I18n.tr("panels.idle.suspend-description") + timeoutValue: Settings.data.idle.suspendTimeout defaultValue: 0 - onValueChanged: Settings.data.idle.suspendTimeout = value + command: Settings.data.idle.suspendCommand + resumeCommand: Settings.data.idle.resumeSuspendCommand + onActionTimeoutChanged: val => Settings.data.idle.suspendTimeout = val + onActionCommandChanged: cmd => { + Settings.data.idle.suspendCommand = cmd; + Settings.saveImmediate(); + } + onActionResumeCommandChanged: cmd => { + Settings.data.idle.resumeSuspendCommand = cmd; + Settings.saveImmediate(); + } } NDivider { @@ -112,4 +160,40 @@ ColumnLayout { onValueChanged: Settings.data.idle.fadeDuration = value } } + + component DefaultActionRow: RowLayout { + id: rowRoot + Layout.fillWidth: true + spacing: Style.marginM + + property string actionName + property string actionDescription + property alias timeoutValue: spinBox.value + property int defaultValue + property string command + property string resumeCommand + + signal actionTimeoutChanged(int newValue) + signal actionCommandChanged(string newCmd) + signal actionResumeCommandChanged(string newCmd) + + NSpinBox { + id: spinBox + Layout.fillWidth: true + label: rowRoot.actionName + description: rowRoot.actionDescription + from: 0 + to: 86400 + suffix: "s" + defaultValue: rowRoot.defaultValue + onValueChanged: rowRoot.actionTimeoutChanged(value) + } + + NIconButton { + Layout.alignment: Qt.AlignVCenter + icon: "settings" + tooltipText: I18n.tr("common.edit") + onClicked: root.openEdit(rowRoot.actionName, rowRoot.command, rowRoot.resumeCommand, rowRoot.actionCommandChanged, rowRoot.actionResumeCommandChanged) + } + } } diff --git a/Modules/Panels/Settings/Tabs/Idle/CustomSubTab.qml b/Modules/Panels/Settings/Tabs/Idle/CustomSubTab.qml index c52847ccc..6daa3a364 100644 --- a/Modules/Panels/Settings/Tabs/Idle/CustomSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Idle/CustomSubTab.qml @@ -29,8 +29,10 @@ ColumnLayout { } for (var i = 0; i < entries.length; i++) { entriesModel.append({ + "name": String(entries[i].name || ""), "timeout": parseInt(entries[i].timeout) || 60, - "command": String(entries[i].command || "") + "command": String(entries[i].command || ""), + "resumeCommand": String(entries[i].resumeCommand || "") }); } } @@ -41,8 +43,10 @@ ColumnLayout { for (var i = 0; i < entriesModel.count; i++) { var item = entriesModel.get(i); arr.push({ + "name": item.name, "timeout": item.timeout, - "command": item.command + "command": item.command, + "resumeCommand": item.resumeCommand }); } Settings.data.idle.customCommands = JSON.stringify(arr); @@ -63,6 +67,45 @@ ColumnLayout { } } + // Shared Edit Popup + IdleCommandEditPopup { + id: editPopup + parent: Overlay.overlay + } + + function openEdit(index, nameVal, timeoutVal, cmdVal, resumeCmdVal) { + editPopup.editIndex = index; + editPopup.nameValue = nameVal; + editPopup.timeoutValue = timeoutVal; + editPopup.commandValue = cmdVal; + editPopup.resumeCommandValue = resumeCmdVal; + editPopup.showName = true; + + try { + editPopup.saved.disconnect(editPopup._savedSlot); + } catch (e) {} + + editPopup._savedSlot = function (timeout, cmd, resumeCmd, name) { + if (index >= 0 && index < entriesModel.count) { + entriesModel.setProperty(index, "name", name); + entriesModel.setProperty(index, "timeout", timeout); + entriesModel.setProperty(index, "command", cmd); + entriesModel.setProperty(index, "resumeCommand", resumeCmd); + } else { + entriesModel.append({ + "name": name, + "timeout": timeout, + "command": cmd, + "resumeCommand": resumeCmd + }); + } + root._saveFromModel(); + }; + + editPopup.saved.connect(editPopup._savedSlot); + editPopup.open(); + } + NLabel { label: I18n.tr("panels.idle.custom-label") description: I18n.tr("panels.idle.custom-description") @@ -77,72 +120,34 @@ ColumnLayout { Repeater { model: entriesModel - delegate: ColumnLayout { + delegate: RowLayout { id: entryDelegate required property int index + required property string name required property int timeout required property string command + required property string resumeCommand spacing: Style.marginM Layout.fillWidth: true - property bool _initialized: false - - Component.onCompleted: { - commandInput.text = entryDelegate.command; - _initialized = false; - timeoutSpinBox.value = entryDelegate.timeout; - _initialized = true; + NLabel { + Layout.fillWidth: true + label: entryDelegate.name || I18n.tr("panels.idle.custom-entry-unnamed") + description: I18n.trp("panels.idle.custom-entry-timeout-format", entryDelegate.timeout) + labelColor: (entryDelegate.command || entryDelegate.resumeCommand) ? Color.mPrimary : Color.mOnSurface } - RowLayout { - Layout.fillWidth: true - spacing: Style.marginM - - NSpinBox { - id: timeoutSpinBox - Layout.fillWidth: true - label: I18n.tr("panels.idle.custom-entry-timeout") - from: 1 - to: 86400 - suffix: "s" - onValueChanged: { - if (entryDelegate._initialized && !root._saving) { - entriesModel.setProperty(entryDelegate.index, "timeout", value); - root._saveFromModel(); - } - } - } - - NIconButton { - icon: "trash" - tooltipText: I18n.tr("panels.idle.custom-entry-delete") - Layout.alignment: Qt.AlignBottom - onClicked: { - root._removeEntry(entryDelegate.index); - } - } + NIconButton { + icon: "settings" + tooltipText: I18n.tr("common.edit") + onClicked: root.openEdit(entryDelegate.index, entryDelegate.name, entryDelegate.timeout, entryDelegate.command, entryDelegate.resumeCommand) } - NTextInput { - id: commandInput - Layout.fillWidth: true - label: I18n.tr("panels.idle.custom-entry-command") - placeholderText: "notify-send \"Idle\"" - fontFamily: Settings.data.ui.fontFixed - onTextChanged: { - if (entryDelegate._initialized && !root._saving) { - entriesModel.setProperty(entryDelegate.index, "command", text); - root._saveFromModel(); - } - } - } - - NDivider { - Layout.fillWidth: true - Layout.topMargin: Style.marginS - Layout.bottomMargin: Style.marginS - visible: entryDelegate.index < entriesModel.count - 1 + NIconButton { + icon: "trash" + tooltipText: I18n.tr("panels.idle.custom-entry-delete") + onClicked: root._removeEntry(entryDelegate.index) } } } @@ -152,11 +157,7 @@ ColumnLayout { icon: "add" enabled: Settings.data.idle.enabled onClicked: { - entriesModel.append({ - "timeout": 60, - "command": "" - }); - root._saveFromModel(); + root.openEdit(-1, "", 60, "", ""); } } } diff --git a/Modules/Panels/Settings/Tabs/Idle/IdleCommandEditPopup.qml b/Modules/Panels/Settings/Tabs/Idle/IdleCommandEditPopup.qml new file mode 100644 index 000000000..b772775e6 --- /dev/null +++ b/Modules/Panels/Settings/Tabs/Idle/IdleCommandEditPopup.qml @@ -0,0 +1,137 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import qs.Commons +import qs.Widgets + +Popup { + id: root + modal: true + dim: true + anchors.centerIn: parent + + width: Math.min(600 * Style.uiScaleRatio, parent.width * 0.9) + height: Math.min(contentLayout.implicitHeight + padding * 2, parent.height * 0.9) + padding: Style.marginL + + property int editIndex: -1 + property int timeoutValue: 60 + property string commandValue: "" + property string resumeCommandValue: "" + property string nameValue: "" + property bool showCommand: true + property bool showTimeout: true + property bool showName: false + property string titleText: root.editIndex >= 0 ? I18n.tr("panels.idle.custom-entry-edit") : I18n.tr("panels.idle.custom-entry-new") + + signal saved(int timeout, string command, string resumeCommand, string name) + + property var _savedSlot: null + + background: Rectangle { + color: Color.mSurface + radius: Style.radiusL + border.color: Color.mOutline + border.width: Style.borderS + } + + onOpened: { + nameInput.text = nameValue; + timeoutSpinBox.value = timeoutValue; + commandInput.text = commandValue; + resumeCommandInput.text = resumeCommandValue; + if (showName) { + nameInput.forceActiveFocus(); + } else { + timeoutSpinBox.forceActiveFocus(); + } + } + + contentItem: ColumnLayout { + id: contentLayout + spacing: Style.marginL + + // Header + RowLayout { + Layout.fillWidth: true + NText { + text: root.titleText + font.weight: Style.fontWeightBold + pointSize: Style.fontSizeL + Layout.fillWidth: true + } + NIconButton { + icon: "close" + onClicked: root.close() + } + } + + // Input Area + ColumnLayout { + Layout.fillWidth: true + spacing: Style.marginM + + NTextInput { + id: nameInput + visible: root.showName + Layout.fillWidth: true + label: I18n.tr("panels.idle.custom-entry-name") + placeholderText: I18n.tr("panels.idle.custom-entry-name-placeholder") + } + + NSpinBox { + id: timeoutSpinBox + visible: root.showTimeout + Layout.fillWidth: true + label: I18n.tr("panels.idle.custom-entry-timeout") + from: 0 + to: 86400 + suffix: "s" + } + + NTextInput { + id: commandInput + visible: root.showCommand + Layout.fillWidth: true + label: I18n.tr("panels.idle.custom-entry-command") + placeholderText: "notify-send \"Idle\"" + fontFamily: Settings.data.ui.fontFixed + } + + NTextInput { + id: resumeCommandInput + Layout.fillWidth: true + label: I18n.tr("panels.idle.resume-command-label") + placeholderText: "notify-send \"Welcome back!\"" + fontFamily: Settings.data.ui.fontFixed + } + } + + // Action Buttons + RowLayout { + Layout.fillWidth: true + spacing: Style.marginM + + Item { + Layout.fillWidth: true + } // Spacer + + NButton { + text: I18n.tr("common.cancel") + outlined: true + onClicked: root.close() + } + + NButton { + text: I18n.tr("common.save") + icon: "check" + backgroundColor: Color.mPrimary + textColor: Color.mOnPrimary + onClicked: { + root.saved(timeoutSpinBox.value, commandInput.text, resumeCommandInput.text, nameInput.text); + root.close(); + } + } + } + } +} diff --git a/Services/Power/IdleService.qml b/Services/Power/IdleService.qml index 4f984ef91..7020bda87 100644 --- a/Services/Power/IdleService.qml +++ b/Services/Power/IdleService.qml @@ -101,6 +101,11 @@ Singleton { _screenOffActive = false; Logger.i("IdleService", "Restoring monitors (DPMS on)"); CompositorService.turnOnMonitors(); + + if (Settings.data.idle.resumeScreenOffCommand) { + Logger.i("IdleService", "Executing screen-off resume command"); + Quickshell.execDetached(["sh", "-c", Settings.data.idle.resumeScreenOffCommand]); + } } function _onIdle(stage) { @@ -116,16 +121,22 @@ Singleton { function _executeAction(stage) { Logger.i("IdleService", "Executing action:", stage); if (stage === "screenOff") { + if (Settings.data.idle.screenOffCommand) + Quickshell.execDetached(["sh", "-c", Settings.data.idle.screenOffCommand]); root._suppressUntil = Date.now() + (Settings.data.idle.screenOffTimeout * 1000); CompositorService.turnOffMonitors(); root._screenOffActive = true; root.screenOffRequested(); } else if (stage === "lock") { + if (Settings.data.idle.lockCommand) + Quickshell.execDetached(["sh", "-c", Settings.data.idle.lockCommand]); if (PanelService.lockScreen && !PanelService.lockScreen.active) { PanelService.lockScreen.active = true; } root.lockRequested(); } else if (stage === "suspend") { + if (Settings.data.idle.suspendCommand) + Quickshell.execDetached(["sh", "-c", Settings.data.idle.suspendCommand]); CompositorService.suspend(); root.suspendRequested(); } @@ -196,7 +207,8 @@ Singleton { const entry = entries[i]; const timeoutSec = parseInt(entry.timeout); const cmd = entry.command; - if (!cmd || timeoutSec <= 0) + const resumeCmd = entry.resumeCommand || ""; + if (!cmd && !resumeCmd || timeoutSec <= 0) continue; try { const qml = ` @@ -206,9 +218,14 @@ Singleton { const monitor = Qt.createQmlObject(qml, root, "IdleMonitor_custom_" + i); const capturedCmd = cmd; + const capturedResumeCmd = resumeCmd; monitor.isIdleChanged.connect(function () { if (monitor.isIdle) { - root._executeCustomCommand(capturedCmd); + if (capturedCmd) + root._executeCustomCommand(capturedCmd); + } else { + if (capturedResumeCmd) + root._executeCustomCommand(capturedResumeCmd); } }); newMonitors[i] = monitor; @@ -287,6 +304,13 @@ Singleton { } else { idleCounter.stop(); root.idleSeconds = 0; + if (root.fadePending === "lock" && Settings.data.idle.resumeLockCommand) { + Logger.i("IdleService", "Executing lock resume command"); + Quickshell.execDetached(["sh", "-c", Settings.data.idle.resumeLockCommand]); + } else if (root.fadePending === "suspend" && Settings.data.idle.resumeSuspendCommand) { + Logger.i("IdleService", "Executing suspend resume command"); + Quickshell.execDetached(["sh", "-c", Settings.data.idle.resumeSuspendCommand]); + } root.cancelFade(); overlayCleanupTimer.stop(); }