diff --git a/Assets/Translations/de.json b/Assets/Translations/de.json
index 306cc0de9..bd940621d 100644
--- a/Assets/Translations/de.json
+++ b/Assets/Translations/de.json
@@ -163,12 +163,12 @@
"lock-keys": {
"hide-when-off-description": "Verstecke die Anzeige, wenn die Taste nicht aktiv ist.",
"hide-when-off-label": "Ausblenden, wenn deaktiviert",
- "show-caps-lock-description": "Caps-Lock-Status anzeigen.",
- "show-caps-lock-label": "Feststelltaste",
- "show-num-lock-description": "Num-Lock-Status anzeigen.",
- "show-num-lock-label": "Num-Taste",
- "show-scroll-lock-description": "Scroll-Lock-Status anzeigen.",
- "show-scroll-lock-label": "Rollen-Taste"
+ "show-caps-lock-description": "Caps Lock-Status anzeigen.",
+ "show-caps-lock-label": "Caps Lock",
+ "show-num-lock-description": "Num Lock-Status anzeigen.",
+ "show-num-lock-label": "Num Lock",
+ "show-scroll-lock-description": "Scroll Lock-Status anzeigen.",
+ "show-scroll-lock-label": "Scroll Lock"
},
"media-mini": {
"compact-mode-description": "Aktiviere ein platzsparendes Layout für das Medienplayer-Panel.",
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• Befehle werden über Shell ausgeführt (sh -lc)
• Befehle laufen im Hintergrund (getrennt)
• Test-Buttons führen mit aktuellen Werten aus",
- "info-parameters-description": "• Haken für Hintergrundbild: $1 = Pfad zum Hintergrundbild, $2 = Bildschirmname
• Haken für Design-Umschalter: $1 = true/false (Dark Mode-Status)
• Haken für Bildschirm sperren/entsperren: $1 = lock/unlock (Status der Bildschirmsperre)
• Haken für Leistungsmodus: Keine Parameter
• Haken für Sitzung: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = Hintergrundbildpfad, $2 = Bildschirmname, $3 = Thema (dunkel/hell)
• Theme toggle hook: $1 = true/false (Dark Mode Status)
• Screen lock/unlock hooks: $1 = lock/unlock (Bildschirmsperrstatus)
• Performance mode hooks: Keine Parameter
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Verfügbare Parameter",
"noctalia-started-description": "Befehl, der ausgeführt wird, wenn Noctalia vollständig geladen wurde.",
"noctalia-started-label": "Noctalia gestartet",
@@ -1513,7 +1513,7 @@
"types-desc": "Wählen Sie die Ereignisse aus, die das OSD auslösen.",
"types-input-volume-description": "OSD anzeigen, wenn sich die Mikrofonlautstärke ändert.",
"types-input-volume-label": "Eingangslautstärke",
- "types-lockkey-description": "OSD anzeigen, wenn Feststelltaste, Num-Taste oder Rollen-Taste umgeschaltet werden.",
+ "types-lockkey-description": "OSD anzeigen, wenn Caps Lock, Num Lock oder Scroll Lock umgeschaltet werden.",
"types-lockkey-label": "Feststelltasten",
"types-media-description": "OSD anzeigen, wenn sich der Medienwiedergabestatus ändert (Wiedergabe, Pause, Überspringen).",
"types-media-label": "Medienwiedergabe",
diff --git a/Assets/Translations/en.json b/Assets/Translations/en.json
index 701772826..6e391866e 100644
--- a/Assets/Translations/en.json
+++ b/Assets/Translations/en.json
@@ -1221,7 +1221,7 @@
},
"hooks": {
"info-command-info-description": "• Commands are executed via shell (sh -lc)
• Commands run in background (detached)
• Test buttons execute with current values",
- "info-parameters-description": "• Wallpaper hook: $1 = wallpaper path, $2 = screen name
• Theme toggle hook: $1 = true/false (Dark Mode state)
• Screen lock/unlock hooks: $1 = lock/unlock (screen lock state)
• Performance mode hooks: No parameters
• Session hook: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = wallpaper path, $2 = screen name, $3 = theme (dark/light)
• Theme toggle hook: $1 = true/false (Dark Mode state)
• Screen lock/unlock hooks: $1 = lock/unlock (screen lock state)
• Performance mode hooks: No parameters
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Available parameters",
"noctalia-started-description": "Command to execute when Noctalia has finished loading.",
"noctalia-started-label": "Noctalia started",
diff --git a/Assets/Translations/es.json b/Assets/Translations/es.json
index 770ac5472..810a33d71 100644
--- a/Assets/Translations/es.json
+++ b/Assets/Translations/es.json
@@ -310,7 +310,7 @@
"reverse-scrolling-label": "Desplazamiento inverso",
"show-applications-description": "Mostrar los iconos de las aplicaciones dentro de cada espacio de trabajo.",
"show-applications-hover-description": "Mostrar iconos de aplicación dentro de cada espacio de trabajo cuando se pasa el ratón por encima.",
- "show-applications-hover-label": "Mostrar aplicaciones al pasar el ratón",
+ "show-applications-hover-label": "Mostrar aplicaciones al pasar",
"show-applications-label": "Mostrar aplicaciones",
"show-badge-description": "Mostrar la insignia del número de espacio de trabajo en modo agrupado.",
"show-badge-label": "Mostrar insignia del espacio de trabajo",
@@ -566,7 +566,7 @@
"always-hide": "Ocultar siempre",
"always-show": "Mostrar siempre",
"force-open": "Forzar abierto",
- "on-hover": "Al pasar por encima"
+ "on-hover": "Al pasar"
},
"hide-modes": {
"auto-hide": "Ocultación Automática",
@@ -1220,7 +1220,7 @@
},
"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",
- "info-parameters-description": "• Hook de fondo de pantalla: $1 = ruta del fondo de pantalla, $2 = nombre de pantalla
• Hook de alternancia de tema: $1 = true/false (estado de Dark Mode)
• Hooks de bloqueo/desbloqueo de pantalla: $1 = lock/unlock (estado de bloqueo de pantalla)
• Hooks de modo de rendimiento: Sin parámetros
• Hook de sesión: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = ruta del fondo de pantalla, $2 = nombre de la pantalla, $3 = tema (oscuro/claro)
• Theme toggle hook: $1 = true/false (estado de Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (estado de bloqueo de pantalla)
• Performance mode hooks: Sin parámetros
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Parámetros disponibles",
"noctalia-started-description": "Comando para ejecutar cuando Noctalia ha terminado de cargarse.",
"noctalia-started-label": "Noctalia iniciado",
@@ -1679,7 +1679,7 @@
"panels-overlay-label": "Mantener paneles y barra en la parte superior",
"scaling-description": "Cambia el tamaño de la interfaz de usuario general, excluyendo la barra.",
"scaling-label": "Escalado de la interfaz",
- "scrollbar-always-visible-description": "Mantener las barras de desplazamiento visibles siempre que el contenido sea desplazable, en lugar de mostrarlas solo al pasar el ratón.",
+ "scrollbar-always-visible-description": "Mantener las barras de desplazamiento visibles siempre que el contenido sea desplazable, en lugar de mostrarlas solo al pasar el cursor.",
"scrollbar-always-visible-label": "Mostrar siempre barras de desplazamiento",
"settings-panel-header": "Panel de Configuración",
"settings-panel-mode-description": "Elegir diseño de configuración (puede requerir reapertura).",
diff --git a/Assets/Translations/fr.json b/Assets/Translations/fr.json
index e9f21c3be..53f69ec76 100644
--- a/Assets/Translations/fr.json
+++ b/Assets/Translations/fr.json
@@ -1220,7 +1220,7 @@
},
"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",
- "info-parameters-description": "• Hook de fond d'écran : $1 = chemin du fond d'écran, $2 = nom de l'écran
• Hook de bascule de thème : $1 = true/false (état du Dark Mode)
• Hooks de verrouillage/déverrouillage d'écran : $1 = lock/unlock (état de verrouillage de l'écran)
• Hooks de mode performance : Aucun paramètre
• Hook de session : $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = chemin du fond d'écran, $2 = nom de l'écran, $3 = thème (sombre/clair)
• Theme toggle hook: $1 = true/false (état du Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (état de verrouillage de l'écran)
• Performance mode hooks: Aucun paramètre
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Paramètres disponibles",
"noctalia-started-description": "Commande à exécuter lorsque Noctalia a fini de charger.",
"noctalia-started-label": "Noctalia démarré",
diff --git a/Assets/Translations/hu.json b/Assets/Translations/hu.json
index d8a363e79..a90f6e9c3 100644
--- a/Assets/Translations/hu.json
+++ b/Assets/Translations/hu.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• A parancsok shellen keresztül futnak (sh -lc)
• A parancsok a háttérben futnak (leválasztva)
• A tesztgombok az aktuális értékekkel futnak le",
- "info-parameters-description": "• Háttérkép hook: $1 = háttérkép útvonala, $2 = képernyő neve
• Téma váltó hook: $1 = true/false (Dark Mode állapot)
• Képernyő zár/feloldó hookok: $1 = lock/unlock (képernyőzár állapota)
• Teljesítmény mód hookok: Nincs paraméter
• Munkamenet hook: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = háttérkép útvonala, $2 = képernyő neve, $3 = téma (sötét/világos)
• Theme toggle hook: $1 = true/false (Dark Mode állapot)
• Screen lock/unlock hooks: $1 = lock/unlock (képernyőzár állapot)
• Performance mode hooks: Nincs paraméter
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Elérhető paraméterek",
"noctalia-started-description": "Parancs, ami akkor fut le, amikor a Noctalia betöltése befejeződött.",
"noctalia-started-label": "Noctalia elindult",
diff --git a/Assets/Translations/it.json b/Assets/Translations/it.json
index 3c06fc326..76d47aebd 100644
--- a/Assets/Translations/it.json
+++ b/Assets/Translations/it.json
@@ -566,7 +566,7 @@
"always-hide": "Nascondi sempre",
"always-show": "Mostra sempre",
"force-open": "Apri sempre",
- "on-hover": "Al passaggio del mouse"
+ "on-hover": "Al passaggio"
},
"hide-modes": {
"auto-hide": "Nascondi automaticamente",
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• I comandi vengono eseguiti via shell (sh -lc)
• I comandi girano in background (staccati)
• I pulsanti test eseguono con i valori correnti",
- "info-parameters-description": "• Hook sfondo: $1 = percorso sfondo, $2 = nome schermo
• Hook cambio tema: $1 = true/false (stato Dark Mode)
• Hook blocco/sblocco schermo: $1 = lock/unlock (stato blocco schermo)
• Hook modalità prestazioni: Nessun parametro
• Hook sessione: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = percorso dello sfondo, $2 = nome dello schermo, $3 = tema (scuro/chiaro)
• Theme toggle hook: $1 = true/false (stato Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (stato di blocco schermo)
• Performance mode hooks: Nessun parametro
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Parametri disponibili",
"noctalia-started-description": "Comando da eseguire quando Noctalia ha finito il caricamento.",
"noctalia-started-label": "Noctalia avviata",
diff --git a/Assets/Translations/ja.json b/Assets/Translations/ja.json
index ada5e4440..9d5b3f871 100644
--- a/Assets/Translations/ja.json
+++ b/Assets/Translations/ja.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• コマンドはシェル (sh -lc) 経由で実行されます
• コマンドはバックグラウンドで実行されます
• テストボタンは現在の設定値を使って実行されます",
- "info-parameters-description": "• 壁紙フック: $1 = 壁紙のパス, $2 = 画面名
• テーマ切り替えフック: $1 = true/false (Dark Modeの状態)
• 画面ロック/ロック解除フック: $1 = lock/unlock (画面ロックの状態)
• パフォーマンスモードフック: パラメータなし
• セッションフック: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = 壁紙のパス, $2 = 画面名, $3 = テーマ (ダーク/ライト)
• Theme toggle hook: $1 = true/false (Dark Mode の状態)
• Screen lock/unlock hooks: $1 = lock/unlock (画面ロックの状態)
• Performance mode hooks: パラメータなし
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "利用可能なパラメータ(引数)",
"noctalia-started-description": "Noctaliaのロードが完了したときに実行するコマンド。",
"noctalia-started-label": "Noctalia が起動しました",
diff --git a/Assets/Translations/ko-KR.json b/Assets/Translations/ko-KR.json
index 4db96102b..696e9d384 100644
--- a/Assets/Translations/ko-KR.json
+++ b/Assets/Translations/ko-KR.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• 명령은 셸(sh -lc)을 통해 실행됩니다.
• 명령은 백그라운드(detached)에서 실행됩니다.
• 테스트 버튼은 현재 값으로 실행됩니다.",
- "info-parameters-description": "• 배경화면 훅: $1 = 배경화면 경로, $2 = 화면 이름
• 테마 전환 훅: $1 = true/false (Dark Mode 상태)
• 화면 잠금/잠금 해제 훅: $1 = lock/unlock (화면 잠금 상태)
• 성능 모드 훅: 매개변수 없음
• 세션 훅: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = 배경화면 경로, $2 = 화면 이름, $3 = 테마 (어둡게/밝게)
• Theme toggle hook: $1 = true/false (Dark Mode 상태)
• Screen lock/unlock hooks: $1 = lock/unlock (화면 잠금 상태)
• Performance mode hooks: 매개변수 없음
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "사용 가능한 매개변수",
"noctalia-started-description": "Noctalia 로딩이 완료되었을 때 실행할 명령입니다.",
"noctalia-started-label": "Noctalia 시작됨",
diff --git a/Assets/Translations/nl.json b/Assets/Translations/nl.json
index 6e18d183d..5cc84393e 100644
--- a/Assets/Translations/nl.json
+++ b/Assets/Translations/nl.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• Commando's worden uitgevoerd via shell (sh -lc)
• Commando's draaien op de achtergrond (losgekoppeld)
• Testknoppen worden uitgevoerd met de huidige waarden",
- "info-parameters-description": "• Achtergrond-hook: $1 = achtergrondpad, $2 = schermnaam
• Themawissel-hook: $1 = true/false (Dark Mode-status)
• Schermvergrendeling/ontgrendeling-hooks: $1 = lock/unlock (schermvergrendelingsstatus)
• Prestatie-modus-hooks: Geen parameters
• Sessie-hook: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = achtergrondpad, $2 = schermnaam, $3 = thema (donker/licht)
• Theme toggle hook: $1 = true/false (Dark Mode status)
• Screen lock/unlock hooks: $1 = lock/unlock (schermvergrendelingsstatus)
• Performance mode hooks: Geen parameters
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Beschikbare parameters",
"noctalia-started-description": "Opdracht die moet worden uitgevoerd wanneer Noctalia volledig is geladen.",
"noctalia-started-label": "Noctalia gestart",
diff --git a/Assets/Translations/pl.json b/Assets/Translations/pl.json
index eb667ed46..a93c95747 100644
--- a/Assets/Translations/pl.json
+++ b/Assets/Translations/pl.json
@@ -566,7 +566,7 @@
"always-hide": "Zawsze się ukrywaj",
"always-show": "Zawsze pokazuj",
"force-open": "Wyważyć",
- "on-hover": "Po najechaniu kursorem"
+ "on-hover": "Po najechaniu"
},
"hide-modes": {
"auto-hide": "Automatyczne ukrywanie",
@@ -1220,7 +1220,7 @@
},
"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",
- "info-parameters-description": "• Hook tapety: $1 = ścieżka tapety, $2 = nazwa ekranu
• Hook przełączania motywu: $1 = true/false (stan Dark Mode)
• Hooki blokowania/odblokowywania ekranu: $1 = lock/unlock (stan blokady ekranu)
• Hooki trybu wydajności: Brak parametrów
• Hook sesji: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = ścieżka tapety, $2 = nazwa ekranu, $3 = motyw (ciemny/jasny)
• Theme toggle hook: $1 = true/false (stan Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (stan blokady ekranu)
• Performance mode hooks: Brak parametrów
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Dostępne parametry",
"noctalia-started-description": "Polecenie do wykonania po zakończeniu ładowania Noctalii.",
"noctalia-started-label": "Noctalia uruchomiona",
diff --git a/Assets/Translations/pt.json b/Assets/Translations/pt.json
index 8fcbcf0ea..1661afbe4 100644
--- a/Assets/Translations/pt.json
+++ b/Assets/Translations/pt.json
@@ -1220,7 +1220,7 @@
},
"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",
- "info-parameters-description": "• Hook de papel de parede: $1 = caminho do papel de parede, $2 = nome da tela
• Hook de alternância de tema: $1 = true/false (estado do Dark Mode)
• Hooks de bloqueio/desbloqueio de tela: $1 = lock/unlock (estado de bloqueio de tela)
• Hooks de modo de desempenho: Sem parâmetros
• Hook de sessão: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = caminho do papel de parede, $2 = nome da tela, $3 = tema (escuro/claro)
• Theme toggle hook: $1 = true/false (estado do Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (estado de bloqueio de tela)
• Performance mode hooks: Sem parâmetros
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Parâmetros disponíveis",
"noctalia-started-description": "Comando para executar quando o Noctalia terminar de carregar.",
"noctalia-started-label": "Noctalia iniciado",
diff --git a/Assets/Translations/ru.json b/Assets/Translations/ru.json
index b35e6665b..8ec763c4a 100644
--- a/Assets/Translations/ru.json
+++ b/Assets/Translations/ru.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• Команды выполняются через shell (sh -lc)
• Команды выполняются в фоновом режиме (отдельно)
• Кнопки 'Тест' выполняются с текущими значениями",
- "info-parameters-description": "• Хук обоев: $1 = путь к обоям, $2 = имя экрана
• Хук переключения темы: $1 = true/false (состояние Dark Mode)
• Хуки блокировки/разблокировки экрана: $1 = lock/unlock (состояние блокировки экрана)
• Хуки режима производительности: Без параметров
• Хук сессии: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = путь к обоям, $2 = имя экрана, $3 = тема (темная/светлая)
• Theme toggle hook: $1 = true/false (состояние Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (состояние блокировки экрана)
• Performance mode hooks: Без параметров
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Доступные параметры",
"noctalia-started-description": "Команда для выполнения после завершения загрузки Noctalia.",
"noctalia-started-label": "Noctalia запущена",
diff --git a/Assets/Translations/sv.json b/Assets/Translations/sv.json
index 8a0c38696..61a15949c 100644
--- a/Assets/Translations/sv.json
+++ b/Assets/Translations/sv.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• Kommandon exekveras via shell (sh -lc)
• Kommandon körs i bakgrunden (fristående)
• Testknappar exekveras med aktuella värden",
- "info-parameters-description": "• Bakgrundsbildskrok: $1 = bakgrundsbildens sökväg, $2 = skärmnamn
• Temaväxlingskrok: $1 = true/false (Dark Mode-status)
• Skärmlås/upplåsningskrokar: $1 = lock/unlock (skärmlåsets status)
• Prestandalägeskrokar: Inga parametrar
• Sessionskrok: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = bakgrundsbildens sökväg, $2 = skärmnamn, $3 = tema (mörkt/ljust)
• Theme toggle hook: $1 = true/false (Dark Mode-status)
• Screen lock/unlock hooks: $1 = lock/unlock (skärmlåsstatus)
• Performance mode hooks: Inga parametrar
• Session hook: $1 = action (shutdown/reboot)",
"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",
diff --git a/Assets/Translations/tr.json b/Assets/Translations/tr.json
index a98414138..3f85fac9d 100644
--- a/Assets/Translations/tr.json
+++ b/Assets/Translations/tr.json
@@ -163,12 +163,12 @@
"lock-keys": {
"hide-when-off-description": "Tuş etkin olmadığında göstergeyi gizle.",
"hide-when-off-label": "Kapatıldığında gizle",
- "show-caps-lock-description": "Büyük Harf Kilidi düğmesi durumunu göster.",
- "show-caps-lock-label": "Büyük Harf Kilidi",
- "show-num-lock-description": "Sayı Kilidi durumunu göster.",
- "show-num-lock-label": "Sayı Kilidi",
- "show-scroll-lock-description": "Kaydırma Kilidi durumunu göster.",
- "show-scroll-lock-label": "Kaydırma Kilidi"
+ "show-caps-lock-description": "Caps Lock düğmesi durumunu göster.",
+ "show-caps-lock-label": "Caps Lock",
+ "show-num-lock-description": "Num Lock durumunu göster.",
+ "show-num-lock-label": "Num Lock",
+ "show-scroll-lock-description": "Scroll Lock durumunu göster.",
+ "show-scroll-lock-label": "Scroll Lock"
},
"media-mini": {
"compact-mode-description": "Medya oynatıcı paneli için yerden tasarruf sağlayan bir düzeni etkinleştirin.",
@@ -1220,7 +1220,7 @@
},
"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",
- "info-parameters-description": "• Duvar Kağıdı Kancası: $1 = duvar kağıdı yolu, $2 = ekran adı
• Tema Geçiş Kancası: $1 = true/false (Dark Mode durumu)
• Ekran Kilitleme/Kilit Açma Kancaları: $1 = lock/unlock (ekran kilidi durumu)
• Performans Modu Kancaları: Parametre yok
• Oturum Kancası: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = duvar kağıdı yolu, $2 = ekran adı, $3 = tema (koyu/açık)
• Theme toggle hook: $1 = true/false (Dark Mode durumu)
• Screen lock/unlock hooks: $1 = lock/unlock (ekran kilidi durumu)
• Performance mode hooks: Parametre yok
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Kullanılabilir parametreler",
"noctalia-started-description": "Noctalia yüklendiğinde çalıştırılacak komut.",
"noctalia-started-label": "Noctalia başladı",
@@ -1513,7 +1513,7 @@
"types-desc": "OSD'yi tetikleyecek olayları seçin.",
"types-input-volume-description": "Mikrofon ses düzeyi değiştiğinde OSD'yi göster.",
"types-input-volume-label": "Giriş sesi",
- "types-lockkey-description": "Büyük Harf Kilidi, Sayı Kilidi veya Kaydırma Kilidi değiştirildiğinde OSD'yi göster.",
+ "types-lockkey-description": "Caps Lock, Num Lock veya Scroll Lock değiştirildiğinde OSD'yi göster.",
"types-lockkey-label": "Kilit tuşları",
"types-media-description": "Medya oynatma durumu değiştiğinde OSD'yi göster (oynat, duraklat, atla).",
"types-media-label": "Medya oynatma",
diff --git a/Assets/Translations/uk-UA.json b/Assets/Translations/uk-UA.json
index a63d1c8e6..2ad43f179 100644
--- a/Assets/Translations/uk-UA.json
+++ b/Assets/Translations/uk-UA.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• Команди виконуються через оболонку (sh -lc)
• Команди запускаються у фоні (відокремлено)
• Кнопки тестування виконують команди з поточними значеннями",
- "info-parameters-description": "• Хук шпалер: $1 = шлях до шпалер, $2 = назва екрана
• Хук перемикання теми: $1 = true/false (стан Dark Mode)
• Хуки блокування/розблокування екрана: $1 = lock/unlock (стан блокування екрана)
• Хуки режиму продуктивності: Без параметрів
• Хук сесії: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = шлях до шпалер, $2 = назва екрана, $3 = тема (темна/світла)
• Theme toggle hook: $1 = true/false (стан Dark Mode)
• Screen lock/unlock hooks: $1 = lock/unlock (стан блокування екрана)
• Performance mode hooks: Без параметрів
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "Доступні параметри",
"noctalia-started-description": "Команда для виконання після завершення завантаження Noctalia.",
"noctalia-started-label": "Noctalia запущено",
diff --git a/Assets/Translations/zh-CN.json b/Assets/Translations/zh-CN.json
index a401eccc9..875f33ff5 100644
--- a/Assets/Translations/zh-CN.json
+++ b/Assets/Translations/zh-CN.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• 命令通过 shell 执行(sh -lc)
• 命令在后台运行(分离)
• 测试按钮使用当前值执行",
- "info-parameters-description": "• 壁纸挂钩: $1 = 壁纸路径, $2 = 屏幕名称
• 主题切换挂钩: $1 = true/false (Dark Mode状态)
• 屏幕锁定/解锁挂钩: $1 = lock/unlock (屏幕锁定状态)
• 性能模式挂钩: 无参数
• 会话挂钩: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = 壁纸路径, $2 = 屏幕名称, $3 = 主题 (深色/浅色)
• Theme toggle hook: $1 = true/false (Dark Mode 状态)
• Screen lock/unlock hooks: $1 = lock/unlock (屏幕锁定状态)
• Performance mode hooks: 无参数
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "可用参数",
"noctalia-started-description": "Noctalia 加载完成后要执行的命令。",
"noctalia-started-label": "Noctalia 已启动",
diff --git a/Assets/Translations/zh-TW.json b/Assets/Translations/zh-TW.json
index 23fe5d4b2..e776311d9 100644
--- a/Assets/Translations/zh-TW.json
+++ b/Assets/Translations/zh-TW.json
@@ -1220,7 +1220,7 @@
},
"hooks": {
"info-command-info-description": "• 指令將透過 shell (sh -lc) 執行
• 指令會在背景 (detached 狀態) 執行
• 測試按鈕會以當下填寫的內容執行",
- "info-parameters-description": "• 桌布掛鉤: $1 = 桌布路徑, $2 = 螢幕名稱
• 主題切換掛鉤: $1 = true/false (Dark Mode狀態)
• 螢幕鎖定/解鎖掛鉤: $1 = lock/unlock (螢幕鎖定狀態)
• 效能模式掛鉤: 無參數
• 會話掛鉤: $1 = action (shutdown/reboot)",
+ "info-parameters-description": "• Wallpaper hook: $1 = 桌面背景路徑, $2 = 螢幕名稱, $3 = 主題 (深色/淺色)
• Theme toggle hook: $1 = true/false (Dark Mode 狀態)
• Screen lock/unlock hooks: $1 = lock/unlock (螢幕鎖定狀態)
• Performance mode hooks: 無參數
• Session hook: $1 = action (shutdown/reboot)",
"info-parameters-label": "可用參數",
"noctalia-started-description": "Noctalia 完成載入時要執行的指令。",
"noctalia-started-label": "Noctalia 已啟動",
diff --git a/Assets/settings-default.json b/Assets/settings-default.json
index c006bca23..9ba668aba 100644
--- a/Assets/settings-default.json
+++ b/Assets/settings-default.json
@@ -235,7 +235,6 @@
"clipboardWatchImageCommand": "wl-paste --type image --watch cliphist store",
"position": "center",
"pinnedApps": [],
- "useApp2Unit": false,
"sortByMostUsed": true,
"terminalCommand": "alacritty -e",
"customLaunchPrefixEnabled": false,
diff --git a/Assets/settings-search-index.json b/Assets/settings-search-index.json
index 03f4885ed..5d9cc502d 100644
--- a/Assets/settings-search-index.json
+++ b/Assets/settings-search-index.json
@@ -1308,15 +1308,6 @@
"Settings.data.appLauncher.enableClipboardHistory"
]
},
- {
- "labelKey": "panels.launcher.settings-use-app2unit-label",
- "descriptionKey": "panels.launcher.settings-use-app2unit-description",
- "widget": "NToggle",
- "tab": 8,
- "tabLabel": "panels.launcher.title",
- "subTab": 2,
- "subTabLabel": "common.execute"
- },
{
"labelKey": "panels.launcher.settings-terminal-command-label",
"descriptionKey": "panels.launcher.settings-terminal-command-description",
diff --git a/Commons/Settings.qml b/Commons/Settings.qml
index 64e50a5c1..ff0c79e05 100644
--- a/Commons/Settings.qml
+++ b/Commons/Settings.qml
@@ -424,7 +424,6 @@ Singleton {
property string clipboardWatchImageCommand: "wl-paste --type image --watch cliphist store"
property string position: "center" // Position: center, top_left, top_right, bottom_left, bottom_right, bottom_center, top_center
property list pinnedApps: []
- property bool useApp2Unit: false
property bool sortByMostUsed: true
property string terminalCommand: "alacritty -e"
property bool customLaunchPrefixEnabled: false
diff --git a/Modules/Bar/Widgets/Taskbar.qml b/Modules/Bar/Widgets/Taskbar.qml
index e0a0153b4..559670157 100644
--- a/Modules/Bar/Widgets/Taskbar.qml
+++ b/Modules/Bar/Widgets/Taskbar.qml
@@ -425,14 +425,7 @@ Item {
const command = prefix.concat(app.command);
Quickshell.execDetached(command);
}
- } else if (Settings.data.appLauncher.useApp2Unit && ProgramCheckerService.app2unitAvailable && app.id) {
- Logger.d("Taskbar", `Using app2unit for: ${app.id}`);
- if (app.runInTerminal)
- Quickshell.execDetached(["app2unit", "--", app.id + ".desktop"]);
- else
- Quickshell.execDetached(["app2unit", "--"].concat(app.command));
} else {
- // Fallback logic when app2unit is not used
if (app.runInTerminal) {
Logger.d("Taskbar", "Executing terminal app manually: " + app.name);
const terminal = Settings.data.appLauncher.terminalCommand.split(" ");
diff --git a/Modules/Dock/DockContent.qml b/Modules/Dock/DockContent.qml
index 137ae6879..b674078d7 100644
--- a/Modules/Dock/DockContent.qml
+++ b/Modules/Dock/DockContent.qml
@@ -156,12 +156,6 @@ Item {
const command = prefix.concat(app.command);
Quickshell.execDetached(command);
}
- } else if (Settings.data.appLauncher.useApp2Unit && ProgramCheckerService.app2unitAvailable && app.id) {
- Logger.d("Dock", `Using app2unit for: ${app.id}`);
- if (app.runInTerminal)
- Quickshell.execDetached(["app2unit", "--", app.id + ".desktop"]);
- else
- Quickshell.execDetached(["app2unit", "--"].concat(app.command));
} else {
if (app.runInTerminal) {
Logger.d("Dock", "Executing terminal app manually: " + app.name);
diff --git a/Modules/Panels/Launcher/Providers/ApplicationsProvider.qml b/Modules/Panels/Launcher/Providers/ApplicationsProvider.qml
index 3d4f67535..fac28e510 100644
--- a/Modules/Panels/Launcher/Providers/ApplicationsProvider.qml
+++ b/Modules/Panels/Launcher/Providers/ApplicationsProvider.qml
@@ -568,14 +568,7 @@ Item {
Logger.d("ApplicationsProvider", `Executing command (with prefix): ${command.join(" ")}`);
Quickshell.execDetached(command);
}
- } else if (Settings.data.appLauncher.useApp2Unit && ProgramCheckerService.app2unitAvailable && app.id) {
- Logger.d("ApplicationsProvider", `Using app2unit for: ${app.id}`);
- if (app.runInTerminal)
- Quickshell.execDetached(["app2unit", "--", app.id + ".desktop"]);
- else
- Quickshell.execDetached(["app2unit", "--"].concat(app.command));
} else {
- // Fallback logic when app2unit is not used
if (app.runInTerminal) {
Logger.d("ApplicationsProvider", "Executing terminal app manually: " + app.name);
const terminal = Settings.data.appLauncher.terminalCommand.split(" ");
diff --git a/Modules/Panels/Settings/Tabs/Hooks/HooksListSubTab.qml b/Modules/Panels/Settings/Tabs/Hooks/HooksListSubTab.qml
index 2e7d4196f..3540c598d 100644
--- a/Modules/Panels/Settings/Tabs/Hooks/HooksListSubTab.qml
+++ b/Modules/Panels/Settings/Tabs/Hooks/HooksListSubTab.qml
@@ -68,7 +68,7 @@ ColumnLayout {
Settings.saveImmediate();
}, val => {
if (val)
- Quickshell.execDetached(["sh", "-lc", val.replace("$1", "test_wallpaper_path").replace("$2", "test_screen")]);
+ Quickshell.execDetached(["sh", "-lc", val.replace("$1", "test_wallpaper_path").replace("$2", "test_screen").replace("$3", "dark")]);
})
}
diff --git a/Modules/Panels/Settings/Tabs/Launcher/ExecuteSubTab.qml b/Modules/Panels/Settings/Tabs/Launcher/ExecuteSubTab.qml
index 05c703e7b..70ac9ade5 100644
--- a/Modules/Panels/Settings/Tabs/Launcher/ExecuteSubTab.qml
+++ b/Modules/Panels/Settings/Tabs/Launcher/ExecuteSubTab.qml
@@ -10,23 +10,6 @@ ColumnLayout {
spacing: Style.marginL
Layout.fillWidth: true
- NToggle {
- label: I18n.tr("panels.launcher.settings-use-app2unit-label")
- description: I18n.tr("panels.launcher.settings-use-app2unit-description")
- checked: Settings.data.appLauncher.useApp2Unit && ProgramCheckerService.app2unitAvailable
- enabled: ProgramCheckerService.app2unitAvailable && !Settings.data.appLauncher.customLaunchPrefixEnabled
- opacity: ProgramCheckerService.app2unitAvailable ? 1.0 : 0.6
- onToggled: checked => {
- if (ProgramCheckerService.app2unitAvailable) {
- Settings.data.appLauncher.useApp2Unit = checked;
- if (checked) {
- Settings.data.appLauncher.customLaunchPrefixEnabled = false;
- }
- }
- }
- defaultValue: Settings.getDefaultValue("appLauncher.useApp2Unit")
- }
-
NTextInput {
label: I18n.tr("panels.launcher.settings-terminal-command-label")
description: I18n.tr("panels.launcher.settings-terminal-command-description")
@@ -41,13 +24,7 @@ ColumnLayout {
label: I18n.tr("panels.launcher.settings-custom-launch-prefix-enabled-label")
description: I18n.tr("panels.launcher.settings-custom-launch-prefix-enabled-description")
checked: Settings.data.appLauncher.customLaunchPrefixEnabled
- enabled: !Settings.data.appLauncher.useApp2Unit
- onToggled: checked => {
- Settings.data.appLauncher.customLaunchPrefixEnabled = checked;
- if (checked) {
- Settings.data.appLauncher.useApp2Unit = false;
- }
- }
+ onToggled: checked => Settings.data.appLauncher.customLaunchPrefixEnabled = checked
defaultValue: Settings.getDefaultValue("appLauncher.customLaunchPrefixEnabled")
}
diff --git a/Services/Control/HooksService.qml b/Services/Control/HooksService.qml
index 872662a84..d179d7b9c 100644
--- a/Services/Control/HooksService.qml
+++ b/Services/Control/HooksService.qml
@@ -118,8 +118,10 @@ Singleton {
}
try {
+ const theme = Settings.data.colorSchemes.darkMode ? "dark" : "light";
let command = script.replace(/\$1/g, wallpaperPath);
command = command.replace(/\$2/g, screenName || "");
+ command = command.replace(/\$3/g, theme);
Quickshell.execDetached(["sh", "-lc", command]);
Logger.d("HooksService", `Executed wallpaper hook: ${command}`);
} catch (e) {
diff --git a/Services/System/ProgramCheckerService.qml b/Services/System/ProgramCheckerService.qml
index 6487a526e..7f50e88b8 100644
--- a/Services/System/ProgramCheckerService.qml
+++ b/Services/System/ProgramCheckerService.qml
@@ -14,7 +14,6 @@ Singleton {
property bool nmcliAvailable: false
property bool bluetoothctlAvailable: false
property bool wlsunsetAvailable: false
- property bool app2unitAvailable: false
property bool gnomeCalendarAvailable: false
property bool pythonAvailable: false
property bool wtypeAvailable: false
@@ -24,7 +23,6 @@ Singleton {
"bluetoothctlAvailable": ["sh", "-c", "command -v bluetoothctl"],
"nmcliAvailable": ["sh", "-c", "command -v nmcli"],
"wlsunsetAvailable": ["sh", "-c", "command -v wlsunset"],
- "app2unitAvailable": ["sh", "-c", "command -v app2unit"],
"gnomeCalendarAvailable": ["sh", "-c", "command -v gnome-calendar"],
"wtypeAvailable": ["sh", "-c", "command -v wtype"],
"pythonAvailable": ["sh", "-c", "command -v python3"]
@@ -42,22 +40,13 @@ Singleton {
// Signal emitted when all checks are complete
signal checksCompleted
- // disable app2unit in settings if it is not available
+ // disable Night Light in settings if wlsunset is not available
onChecksCompleted: {
- if (!app2unitAvailable && Settings.data.appLauncher.useApp2Unit) {
- Settings.data.appLauncher.useApp2Unit = false;
- }
if (!wlsunsetAvailable && Settings.data.nightLight.enabled) {
Settings.data.nightLight.enabled = false;
}
}
- onApp2unitAvailableChanged: {
- if (!app2unitAvailable && Settings.data.appLauncher.useApp2Unit) {
- Settings.data.appLauncher.useApp2Unit = false;
- }
- }
-
onWlsunsetAvailableChanged: {
if (!wlsunsetAvailable && Settings.data.nightLight.enabled) {
Settings.data.nightLight.enabled = false;
diff --git a/Widgets/NImageRounded.qml b/Widgets/NImageRounded.qml
index 848b0cc92..ae31ca58a 100644
--- a/Widgets/NImageRounded.qml
+++ b/Widgets/NImageRounded.qml
@@ -15,8 +15,10 @@ Item {
property color borderColor: "transparent"
property int imageFillMode: Image.PreserveAspectCrop
- readonly property bool showFallback: (fallbackIcon !== undefined && fallbackIcon !== "") && (imagePath === undefined || imagePath === "" || imageSource.status === Image.Error)
- readonly property int status: imageSource.status
+ readonly property bool _isAnimated: imagePath.toLowerCase().endsWith(".gif")
+ readonly property Item imageSource: imageSourceLoader.item
+ readonly property bool showFallback: fallbackIcon !== "" && (imagePath === "" || (imageSource && imageSource.status === Image.Error))
+ readonly property int status: imageSource ? imageSource.status : Image.Null
Rectangle {
anchors.fill: parent
@@ -25,28 +27,50 @@ Item {
border.width: root.borderWidth
border.color: root.borderColor
- Image {
- id: imageSource
+ Loader {
+ id: imageSourceLoader
anchors.fill: parent
anchors.margins: root.borderWidth
- visible: false
- source: root.imagePath
- mipmap: true
- smooth: true
- asynchronous: true
- antialiasing: true
- fillMode: root.imageFillMode
+ active: root.imagePath !== ""
+ sourceComponent: root._isAnimated ? animatedComponent : staticComponent
+ }
+
+ Component {
+ id: staticComponent
+ Image {
+ visible: false
+ source: root.imagePath
+ mipmap: true
+ smooth: true
+ asynchronous: true
+ antialiasing: true
+ fillMode: root.imageFillMode
+ }
+ }
+
+ Component {
+ id: animatedComponent
+ AnimatedImage {
+ visible: false
+ source: root.imagePath
+ mipmap: true
+ smooth: true
+ asynchronous: true
+ antialiasing: true
+ fillMode: root.imageFillMode
+ playing: true
+ }
}
ShaderEffect {
anchors.fill: parent
anchors.margins: root.borderWidth
- visible: !root.showFallback
- property variant source: imageSource
+ visible: !root.showFallback && root.imageSource !== null && root.status === Image.Ready
+ property var source: root.imageSource
property real itemWidth: width
property real itemHeight: height
- property real sourceWidth: imageSource.sourceSize.width
- property real sourceHeight: imageSource.sourceSize.height
+ property real sourceWidth: root.imageSource?.sourceSize.width ?? 0
+ property real sourceHeight: root.imageSource?.sourceSize.height ?? 0
property real cornerRadius: Math.max(0, root.radius - root.borderWidth)
property real imageOpacity: 1.0
property int fillMode: root.imageFillMode