From aa0059851fff5fc660aee55c2ebcc1a6a609c435 Mon Sep 17 00:00:00 2001 From: Lysec Date: Tue, 10 Mar 2026 23:02:08 +0100 Subject: [PATCH] feat(hooks): add $1 lock/unlock parameter to screen lock and unlock hooks Closes: #2142 --- Assets/Translations/de.json | 3 ++- Assets/Translations/en.json | 3 ++- Assets/Translations/es.json | 3 ++- Assets/Translations/fr.json | 3 ++- Assets/Translations/hu.json | 3 ++- Assets/Translations/it.json | 3 ++- Assets/Translations/ja.json | 3 ++- Assets/Translations/ko-KR.json | 3 ++- Assets/Translations/nl.json | 3 ++- Assets/Translations/pl.json | 3 ++- Assets/Translations/pt.json | 3 ++- Assets/Translations/ru.json | 3 ++- Assets/Translations/sv.json | 3 ++- Assets/Translations/tr.json | 3 ++- Assets/Translations/uk-UA.json | 3 ++- Assets/Translations/zh-CN.json | 3 ++- Assets/Translations/zh-TW.json | 3 ++- Services/Control/HooksService.qml | 6 ++++-- 18 files changed, 38 insertions(+), 19 deletions(-) diff --git a/Assets/Translations/de.json b/Assets/Translations/de.json index 6260480ec..d7882f5bf 100644 --- a/Assets/Translations/de.json +++ b/Assets/Translations/de.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Alle Akkus (kombiniert)", "battery-health": "Akkuzustand", "battery-level": "Ladezustand", "capacity-level": "Kapazität: {level}", @@ -1214,7 +1215,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": "• Wallpaper-Hook: $1 = Wallpaper-Pfad, $2 = Bildschirmname
• Themenwechsel-Hook: $1 = true/false (Dunkelmodus-Status)
• Bildschirm-Sperr-/Entsperr-Hooks: Keine Parameter
• Leistungsmodus-Hooks: Keine Parameter
• Session-Hook: $1 = Aktion (Herunterfahren/Neustart)", + "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-label": "Verfügbare Parameter", "noctalia-started-description": "Befehl, der ausgeführt wird, wenn Noctalia vollständig geladen wurde.", "noctalia-started-label": "Noctalia gestartet", diff --git a/Assets/Translations/en.json b/Assets/Translations/en.json index 3a20334f1..c98a1ed94 100644 --- a/Assets/Translations/en.json +++ b/Assets/Translations/en.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "All batteries (combined)", "battery-health": "Battery health", "battery-level": "Battery level", "capacity-level": "Capacity: {level}", @@ -1214,7 +1215,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: No parameters
• Performance mode hooks: No parameters
• Session hook: $1 = action (shutdown/reboot)", + "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-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 6cd207e1f..fd003f31f 100644 --- a/Assets/Translations/es.json +++ b/Assets/Translations/es.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Todas las baterías (combinadas)", "battery-health": "Estado de la batería", "battery-level": "Nivel de batería", "capacity-level": "Capacidad: {level}", @@ -1214,7 +1215,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 la pantalla
• Hook de alternancia de tema: $1 = verdadero/falso (estado del modo oscuro)
• Hooks de bloqueo/desbloqueo de pantalla: Sin parámetros
• Hooks de modo de rendimiento: Sin parámetros
• Hook de sesión: $1 = acción (apagado/reinicio)", + "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-label": "Parámetros disponibles", "noctalia-started-description": "Comando para ejecutar cuando Noctalia ha terminado de cargarse.", "noctalia-started-label": "Noctalia iniciado", diff --git a/Assets/Translations/fr.json b/Assets/Translations/fr.json index a12c64da8..79380f5c6 100644 --- a/Assets/Translations/fr.json +++ b/Assets/Translations/fr.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Toutes les batteries (combinées)", "battery-health": "État de la batterie", "battery-level": "Niveau de batterie", "capacity-level": "Capacité : {level}", @@ -1214,7 +1215,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": "• Crochet de fond d'écran : $1 = chemin d'accès au fond d'écran, $2 = nom de l'écran
• Crochet de bascule de thème : $1 = vrai/faux (état du mode sombre)
• Crochets de verrouillage/déverrouillage d'écran : Aucun paramètre
• Crochets de mode de performance : Aucun paramètre
• Crochet de session : $1 = action (arrêt/redémarrage)", + "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-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 f4d3e8df9..a6773d240 100644 --- a/Assets/Translations/hu.json +++ b/Assets/Translations/hu.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Összes akkumulátor (kombinálva)", "battery-health": "Akkumulátor állapota", "battery-level": "Akkumulátor töltöttségi szintje", "capacity-level": "Kapacitás: {level}", @@ -1214,7 +1215,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 horog: $1 = háttérkép útvonala, $2 = képernyő neve
• Téma váltó horog: $1 = igaz/hamis (Sötét mód állapota)
• Képernyő zárolás/feloldás horgok: Nincsenek paraméterek
• Teljesítmény mód horgok: Nincsenek paraméterek
• Munkamenet horog: $1 = művelet (leállítás/újraindítás)", + "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-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 226a44f86..5278611a9 100644 --- a/Assets/Translations/it.json +++ b/Assets/Translations/it.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Tutte le batterie (combinate)", "battery-health": "Stato batteria", "battery-level": "Livello batteria", "capacity-level": "Capacità: {level}", @@ -1214,7 +1215,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 Modalità Scura)
• Hook blocco/sblocco schermo: nessun parametro
• Hook modalità prestazioni: nessun parametro
• Hook sessione: $1 = azione (shutdown/reboot)", + "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-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 86733b7f0..259c42719 100644 --- a/Assets/Translations/ja.json +++ b/Assets/Translations/ja.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "すべてのバッテリー(合計)", "battery-health": "バッテリーの状態", "battery-level": "バッテリー残量", "capacity-level": "容量:{level}", @@ -1214,7 +1215,7 @@ }, "hooks": { "info-command-info-description": "• コマンドはシェル (sh -lc) 経由で実行されます
• コマンドはバックグラウンドで実行されます
• テストボタンは現在の設定値を使って実行されます", - "info-parameters-description": "• 壁紙フック:$1 = 壁紙パス、$2 = 画面名
• テーマ切り替えフック:$1 = true/false(ダークモードの状態)
• 画面ロック/ロック解除フック:パラメータなし
• パフォーマンスモードフック:パラメータなし
• セッションフック:$1 = アクション(シャットダウン/再起動)", + "info-parameters-description": "• 壁紙フック: $1 = 壁紙のパス, $2 = 画面名
• テーマ切り替えフック: $1 = true/false (Dark Modeの状態)
• 画面ロック/ロック解除フック: $1 = lock/unlock (画面ロックの状態)
• パフォーマンスモードフック: パラメータなし
• セッションフック: $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 7d0264f32..f9a79801b 100644 --- a/Assets/Translations/ko-KR.json +++ b/Assets/Translations/ko-KR.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "모든 배터리 (결합됨)", "battery-health": "배터리 수명", "battery-level": "배터리 잔량", "capacity-level": "용량: {level}", @@ -1214,7 +1215,7 @@ }, "hooks": { "info-command-info-description": "• 명령은 셸(sh -lc)을 통해 실행됩니다.
• 명령은 백그라운드(detached)에서 실행됩니다.
• 테스트 버튼은 현재 값으로 실행됩니다.", - "info-parameters-description": "• 배경화면 훅: $1 = 배경화면 경로, $2 = 화면 이름
• 테마 전환 훅: $1 = true/false (다크 모드 상태)
• 화면 잠금/잠금 해제 훅: 매개변수 없음
• 성능 모드 훅: 매개변수 없음
• 세션 훅: $1 = 작업 (shutdown/reboot)", + "info-parameters-description": "• 배경화면 훅: $1 = 배경화면 경로, $2 = 화면 이름
• 테마 전환 훅: $1 = true/false (Dark Mode 상태)
• 화면 잠금/잠금 해제 훅: $1 = lock/unlock (화면 잠금 상태)
• 성능 모드 훅: 매개변수 없음
• 세션 훅: $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 1f9d6c5d9..9ecad09f8 100644 --- a/Assets/Translations/nl.json +++ b/Assets/Translations/nl.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Alle accu's (gecombineerd)", "battery-health": "Accuconditie", "battery-level": "Accuniveau", "capacity-level": "Capaciteit: {level}", @@ -1214,7 +1215,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 = pad naar achtergrond, $2 = schermnaam
• Thema-schakel-hook: $1 = true/false (Dark Mode-status)
• Schermvergrendeling/ontgrendeling-hooks: Geen parameters
• Prestatiemodus-hooks: Geen parameters
• Sessie-hook: $1 = actie (afsluiten/opnieuw opstarten)", + "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-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 4f73f2c0b..01774b50d 100644 --- a/Assets/Translations/pl.json +++ b/Assets/Translations/pl.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Wszystkie baterie (łącznie)", "battery-health": "Stan baterii", "battery-level": "Poziom baterii", "capacity-level": "Pojemność: {level}", @@ -1214,7 +1215,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": "• Hak do tapety: $1 = ścieżka do tapety, $2 = nazwa ekranu
• Hak przełączania motywu: $1 = prawda/fałsz (stan trybu ciemnego)
• Haki blokowania/odblokowywania ekranu: Brak parametrów
• Haki trybu wydajności: Brak parametrów
• Hak sesji: $1 = akcja (zamknięcie/ponowne uruchomienie))", + "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-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 b23627fa1..9acc19ae6 100644 --- a/Assets/Translations/pt.json +++ b/Assets/Translations/pt.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Todas as baterias (combinadas)", "battery-health": "Estado da bateria", "battery-level": "Nível da bateria", "capacity-level": "Capacidade: {level}", @@ -1214,7 +1215,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 = verdadeiro/falso (estado do modo escuro)
• Hooks de bloqueio/desbloqueio de tela: Sem parâmetros
• Hooks de modo de desempenho: Sem parâmetros
• Hook de sessão: $1 = ação (desligamento/reinicialização)", + "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-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 ebb226cb6..15189e34a 100644 --- a/Assets/Translations/ru.json +++ b/Assets/Translations/ru.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Все батареи (объединенные)", "battery-health": "Состояние батареи", "battery-level": "Уровень заряда батареи", "capacity-level": "Ёмкость: {level}", @@ -1214,7 +1215,7 @@ }, "hooks": { "info-command-info-description": "• Команды выполняются через shell (sh -lc)
• Команды выполняются в фоновом режиме (отдельно)
• Кнопки 'Тест' выполняются с текущими значениями", - "info-parameters-description": "• Хук обоев: $1 = путь к обоям, $2 = имя экрана
• Хук переключения темы: $1 = true/false (состояние тёмного режима)
• Хуки блокировки/разблокировки экрана: Без параметров
• Хуки режима производительности: Без параметров
• Хук сеанса: $1 = действие (выключением/перезагрузкой)", + "info-parameters-description": "• Хук обоев: $1 = путь к обоям, $2 = имя экрана
• Хук переключения темы: $1 = true/false (состояние Dark Mode)
• Хуки блокировки/разблокировки экрана: $1 = lock/unlock (состояние блокировки экрана)
• Хуки режима производительности: Без параметров
• Хук сессии: $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 eaa57636f..7f52bebde 100644 --- a/Assets/Translations/sv.json +++ b/Assets/Translations/sv.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Alla batterier (kombinerat)", "battery-health": "Batteriets hälsa", "battery-level": "Batterinivå", "capacity-level": "Kapacitet: {level}", @@ -1214,7 +1215,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 = sant/falskt (mörkt läge)
• Skärmlåsnings-/upplåsningskrokar: Inga parametrar
• Prestandalägeskrokar: Inga parametrar
• Sessionskrok: $1 = åtgärd (stänga av/starta om)", + "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-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 b7fcafa3e..67f36e539 100644 --- a/Assets/Translations/tr.json +++ b/Assets/Translations/tr.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Tüm bataryalar (birleşik)", "battery-health": "Pil sağlığı", "battery-level": "Pil seviyesi", "capacity-level": "Kapasite: {level}", @@ -1214,7 +1215,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 değiştirme kancası: $1 = doğru/yanlış (Karanlık Mod durumu)
• Ekran kilitleme/kilidi açma kancaları: Parametre yok
• Performans modu kancaları: Parametre yok
• Oturum kancası: $1 = eylem (kapatma/yeniden başlatma)", + "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-label": "Kullanılabilir parametreler", "noctalia-started-description": "Noctalia yüklendiğinde çalıştırılacak komut.", "noctalia-started-label": "Noctalia başladı", diff --git a/Assets/Translations/uk-UA.json b/Assets/Translations/uk-UA.json index 5e0add946..a53c9f509 100644 --- a/Assets/Translations/uk-UA.json +++ b/Assets/Translations/uk-UA.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "Усі батареї (об'єднані)", "battery-health": "Стан батареї", "battery-level": "Рівень заряду акумулятора", "capacity-level": "Місткість: {level}", @@ -1214,7 +1215,7 @@ }, "hooks": { "info-command-info-description": "• Команди виконуються через оболонку (sh -lc)
• Команди запускаються у фоні (відокремлено)
• Кнопки тестування виконують команди з поточними значеннями", - "info-parameters-description": "• Хук шпалер: $1 = шлях до шпалер, $2 = ім'я екрана
• Хук перемикання теми: $1 = true/false (стан темного режиму)
• Хуки блокування/розблокування екрана: Без параметрів
• Хуки режиму продуктивності: Без параметрів
• Хук сеансу: $1 = дія (вимкнення/перезавантаження)", + "info-parameters-description": "• Хук шпалер: $1 = шлях до шпалер, $2 = назва екрана
• Хук перемикання теми: $1 = true/false (стан Dark Mode)
• Хуки блокування/розблокування екрана: $1 = lock/unlock (стан блокування екрана)
• Хуки режиму продуктивності: Без параметрів
• Хук сесії: $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 0c16b09a1..2e5d5fa61 100644 --- a/Assets/Translations/zh-CN.json +++ b/Assets/Translations/zh-CN.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "所有电池(组合)", "battery-health": "电池健康", "battery-level": "电池电量", "capacity-level": "容量:{level}", @@ -1214,7 +1215,7 @@ }, "hooks": { "info-command-info-description": "• 命令通过 shell 执行(sh -lc)
• 命令在后台运行(分离)
• 测试按钮使用当前值执行", - "info-parameters-description": "• 壁纸钩子:$1 = 壁纸路径,$2 = 屏幕名称
• 主题切换钩子:$1 = true/false(深色模式状态)
• 屏幕锁定/解锁钩子:无参数
• 性能模式钩子:无参数
• 会话钩子:$1 = 操作(关机/重启)", + "info-parameters-description": "• 壁纸挂钩: $1 = 壁纸路径, $2 = 屏幕名称
• 主题切换挂钩: $1 = true/false (Dark Mode状态)
• 屏幕锁定/解锁挂钩: $1 = lock/unlock (屏幕锁定状态)
• 性能模式挂钩: 无参数
• 会话挂钩: $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 cdb6c450f..867145f62 100644 --- a/Assets/Translations/zh-TW.json +++ b/Assets/Translations/zh-TW.json @@ -319,6 +319,7 @@ } }, "battery": { + "all-batteries": "所有電池(組合)", "battery-health": "電池健康度", "battery-level": "電池電量", "capacity-level": "容量:{level}", @@ -1214,7 +1215,7 @@ }, "hooks": { "info-command-info-description": "• 指令將透過 shell (sh -lc) 執行
• 指令會在背景 (detached 狀態) 執行
• 測試按鈕會以當下填寫的內容執行", - "info-parameters-description": "• 桌布的 hook: $1 = 桌布路徑, $2 = 螢幕名稱
• 主題切換的 hook: $1 = true/false (深色模式啟用或否)
• 畫面鎖定/解鎖的 hook: 沒有參數
• 效能模式的 hook: 沒有參數
• 工作階段的 hook: $1 = 執行動作 (shutdown/reboot)", + "info-parameters-description": "• 桌布掛鉤: $1 = 桌布路徑, $2 = 螢幕名稱
• 主題切換掛鉤: $1 = true/false (Dark Mode狀態)
• 螢幕鎖定/解鎖掛鉤: $1 = lock/unlock (螢幕鎖定狀態)
• 效能模式掛鉤: 無參數
• 會話掛鉤: $1 = action (shutdown/reboot)", "info-parameters-label": "可用參數", "noctalia-started-description": "Noctalia 完成載入時要執行的指令。", "noctalia-started-label": "Noctalia 已啟動", diff --git a/Services/Control/HooksService.qml b/Services/Control/HooksService.qml index 39f7d62d1..872662a84 100644 --- a/Services/Control/HooksService.qml +++ b/Services/Control/HooksService.qml @@ -159,7 +159,8 @@ Singleton { } try { - Quickshell.execDetached(["sh", "-lc", script]); + // Pass "lock" as $1 via shell arguments so the script receives it + Quickshell.execDetached(["sh", "-lc", script, "lock-hook", "lock"]); Logger.d("HooksService", `Executed screen lock hook: ${script}`); } catch (e) { Logger.e("HooksService", `Failed to execute screen lock hook: ${e}`); @@ -178,7 +179,8 @@ Singleton { } try { - Quickshell.execDetached(["sh", "-lc", script]); + // Pass "unlock" as $1 via shell arguments so the script receives it + Quickshell.execDetached(["sh", "-lc", script, "unlock-hook", "unlock"]); Logger.d("HooksService", `Executed screen unlock hook: ${script}`); } catch (e) { Logger.e("HooksService", `Failed to execute screen unlock hook: ${e}`);