From 204b93757c78fe26583ad29999770506cee4c08a Mon Sep 17 00:00:00 2001 From: eythaann Date: Thu, 19 Dec 2024 14:39:29 -0500 Subject: [PATCH] feat(weg): add kill process option --- changelog.md | 3 + src/apps/seelenweg/i18n/translations/af.yml | 2 + src/apps/seelenweg/i18n/translations/am.yml | 2 + src/apps/seelenweg/i18n/translations/ar.yml | 2 + src/apps/seelenweg/i18n/translations/az.yml | 2 + src/apps/seelenweg/i18n/translations/bg.yml | 2 + src/apps/seelenweg/i18n/translations/bn.yml | 2 + src/apps/seelenweg/i18n/translations/bs.yml | 2 + src/apps/seelenweg/i18n/translations/ca.yml | 2 + src/apps/seelenweg/i18n/translations/cs.yml | 2 + src/apps/seelenweg/i18n/translations/cy.yml | 2 + src/apps/seelenweg/i18n/translations/da.yml | 2 + src/apps/seelenweg/i18n/translations/de.yml | 2 + src/apps/seelenweg/i18n/translations/el.yml | 2 + src/apps/seelenweg/i18n/translations/en.yml | 2 + src/apps/seelenweg/i18n/translations/es.yml | 2 + src/apps/seelenweg/i18n/translations/et.yml | 2 + src/apps/seelenweg/i18n/translations/eu.yml | 2 + src/apps/seelenweg/i18n/translations/fa.yml | 2 + src/apps/seelenweg/i18n/translations/fi.yml | 2 + src/apps/seelenweg/i18n/translations/fr.yml | 2 + src/apps/seelenweg/i18n/translations/gu.yml | 2 + src/apps/seelenweg/i18n/translations/he.yml | 2 + src/apps/seelenweg/i18n/translations/hi.yml | 2 + src/apps/seelenweg/i18n/translations/hr.yml | 2 + src/apps/seelenweg/i18n/translations/hu.yml | 2 + src/apps/seelenweg/i18n/translations/hy.yml | 2 + src/apps/seelenweg/i18n/translations/id.yml | 2 + src/apps/seelenweg/i18n/translations/is.yml | 2 + src/apps/seelenweg/i18n/translations/it.yml | 2 + src/apps/seelenweg/i18n/translations/ja.yml | 2 + src/apps/seelenweg/i18n/translations/ka.yml | 2 + src/apps/seelenweg/i18n/translations/km.yml | 2 + src/apps/seelenweg/i18n/translations/ko.yml | 2 + src/apps/seelenweg/i18n/translations/ku.yml | 2 + src/apps/seelenweg/i18n/translations/lb.yml | 2 + src/apps/seelenweg/i18n/translations/lo.yml | 2 + src/apps/seelenweg/i18n/translations/lt.yml | 2 + src/apps/seelenweg/i18n/translations/lv.yml | 2 + src/apps/seelenweg/i18n/translations/mk.yml | 2 + src/apps/seelenweg/i18n/translations/mn.yml | 2 + src/apps/seelenweg/i18n/translations/ms.yml | 2 + src/apps/seelenweg/i18n/translations/mt.yml | 2 + src/apps/seelenweg/i18n/translations/ne.yml | 2 + src/apps/seelenweg/i18n/translations/nl.yml | 2 + src/apps/seelenweg/i18n/translations/no.yml | 2 + src/apps/seelenweg/i18n/translations/pa.yml | 2 + src/apps/seelenweg/i18n/translations/pl.yml | 2 + src/apps/seelenweg/i18n/translations/ps.yml | 2 + src/apps/seelenweg/i18n/translations/pt.yml | 2 + src/apps/seelenweg/i18n/translations/ro.yml | 2 + src/apps/seelenweg/i18n/translations/ru.yml | 2 + src/apps/seelenweg/i18n/translations/si.yml | 2 + src/apps/seelenweg/i18n/translations/sk.yml | 2 + src/apps/seelenweg/i18n/translations/so.yml | 2 + src/apps/seelenweg/i18n/translations/sr.yml | 2 + src/apps/seelenweg/i18n/translations/sv.yml | 2 + src/apps/seelenweg/i18n/translations/sw.yml | 2 + src/apps/seelenweg/i18n/translations/ta.yml | 2 + src/apps/seelenweg/i18n/translations/te.yml | 2 + src/apps/seelenweg/i18n/translations/tg.yml | 2 + src/apps/seelenweg/i18n/translations/th.yml | 2 + src/apps/seelenweg/i18n/translations/tl.yml | 2 + src/apps/seelenweg/i18n/translations/tr.yml | 2 + src/apps/seelenweg/i18n/translations/uk.yml | 2 + src/apps/seelenweg/i18n/translations/ur.yml | 2 + src/apps/seelenweg/i18n/translations/uz.yml | 2 + src/apps/seelenweg/i18n/translations/vi.yml | 2 + src/apps/seelenweg/i18n/translations/yo.yml | 2 + src/apps/seelenweg/i18n/translations/zh.yml | 2 + src/apps/seelenweg/i18n/translations/zu.yml | 2 + src/apps/seelenweg/modules/bar/menu.tsx | 61 ++++++++++++------- .../modules/item/infra/UserApplication.tsx | 4 +- .../seelenweg/modules/shared/store/app.ts | 1 + .../seelenweg/modules/shared/store/domain.ts | 1 + .../seelenweg/modules/shared/store/infra.ts | 1 + src/apps/settings/i18n/translations/it.yml | 21 +++++-- src/apps/settings/i18n/translations/zh.yml | 4 +- src/background/exposed.rs | 1 + src/background/seelen_weg/handler.rs | 17 ++++++ src/background/windows_api/mod.rs | 4 +- 81 files changed, 226 insertions(+), 32 deletions(-) diff --git a/changelog.md b/changelog.md index a9cc898c..442bc8d1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,9 @@ # Changelog ## [Unreleased] +### features +- add kill process option on context menu for dock items. + ### fix - slu-service was being closed on exit code 1. - logging errors on monitor changes. diff --git a/src/apps/seelenweg/i18n/translations/af.yml b/src/apps/seelenweg/i18n/translations/af.yml index 97625bb4..5b1b0983 100644 --- a/src/apps/seelenweg/i18n/translations/af.yml +++ b/src/apps/seelenweg/i18n/translations/af.yml @@ -16,6 +16,8 @@ app_menu: open_file_location: Oop lêlokasie copy_handles: Kopiehandvatsels unpin: Unpin + kill: Doodproses + kill_multiple: Maak alle prosesse dood media_menu: remove: Verwyder die media -module start_menu: diff --git a/src/apps/seelenweg/i18n/translations/am.yml b/src/apps/seelenweg/i18n/translations/am.yml index b8927dca..e08d4e29 100644 --- a/src/apps/seelenweg/i18n/translations/am.yml +++ b/src/apps/seelenweg/i18n/translations/am.yml @@ -16,6 +16,8 @@ app_menu: run_as: እንደ አስተዳዳሪ ይሮጡ copy_handles: መያዣዎች unpin: እየቀነሰ ይሄዳል + kill: የመግደል ሂደት + kill_multiple: ሁሉንም ሂደቶች ይገድሉ media_menu: remove: የሚዲያ ሞዱል ያስወግዱ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ar.yml b/src/apps/seelenweg/i18n/translations/ar.yml index cbbdd5f3..e2f8b8bc 100644 --- a/src/apps/seelenweg/i18n/translations/ar.yml +++ b/src/apps/seelenweg/i18n/translations/ar.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: مقابض النسخ close: يغلق close_multiple: إغلاق الكل + kill_multiple: قتل كافة العمليات + kill: عملية القتل media_menu: remove: إزالة وحدة الوسائط start_menu: diff --git a/src/apps/seelenweg/i18n/translations/az.yml b/src/apps/seelenweg/i18n/translations/az.yml index df017f29..58adbee8 100644 --- a/src/apps/seelenweg/i18n/translations/az.yml +++ b/src/apps/seelenweg/i18n/translations/az.yml @@ -16,6 +16,8 @@ app_menu: close_multiple: Hamısını bağlayın unpin: Qeyri-pəncələmək pin_to_right: Sağa pin + kill_multiple: Bütün prosesləri öldürün + kill: Öldürmə prosesi media_menu: remove: Media modulunu çıxarın start_menu: diff --git a/src/apps/seelenweg/i18n/translations/bg.yml b/src/apps/seelenweg/i18n/translations/bg.yml index 7d92828c..ac928a3e 100644 --- a/src/apps/seelenweg/i18n/translations/bg.yml +++ b/src/apps/seelenweg/i18n/translations/bg.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Пин вдясно pin: Щифт unpin: Unpin + kill_multiple: Убийте всички процеси + kill: Процес на унищожаване media_menu: remove: Премахване на медийния модул start_menu: diff --git a/src/apps/seelenweg/i18n/translations/bn.yml b/src/apps/seelenweg/i18n/translations/bn.yml index 6086a7b6..ec3a66fa 100644 --- a/src/apps/seelenweg/i18n/translations/bn.yml +++ b/src/apps/seelenweg/i18n/translations/bn.yml @@ -16,6 +16,8 @@ app_menu: pin: পিন pin_to_right: ডান পিন copy_handles: হ্যান্ডলগুলি অনুলিপি + kill: কিল প্রসেস + kill_multiple: সমস্ত প্রক্রিয়া হত্যা media_menu: remove: মিডিয়া মডিউল সরান start_menu: diff --git a/src/apps/seelenweg/i18n/translations/bs.yml b/src/apps/seelenweg/i18n/translations/bs.yml index 16cc6f7e..b96be5ef 100644 --- a/src/apps/seelenweg/i18n/translations/bs.yml +++ b/src/apps/seelenweg/i18n/translations/bs.yml @@ -16,6 +16,8 @@ app_menu: pin_to_center: Pin za centar pin_to_right: Pin na desno pin: Pin + kill_multiple: Ubijte sve procese + kill: Kill Process media_menu: remove: Uklonite medijski modul start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ca.yml b/src/apps/seelenweg/i18n/translations/ca.yml index 624bfdbd..c4c03595 100644 --- a/src/apps/seelenweg/i18n/translations/ca.yml +++ b/src/apps/seelenweg/i18n/translations/ca.yml @@ -16,6 +16,8 @@ app_menu: pin_to_center: Pin al centre copy_handles: Manelles de còpia unpin: Desfeta + kill_multiple: Mata tots els processos + kill: Procés de matança media_menu: remove: Elimina el mòdul de suports start_menu: diff --git a/src/apps/seelenweg/i18n/translations/cs.yml b/src/apps/seelenweg/i18n/translations/cs.yml index c66c222e..0c1d4412 100644 --- a/src/apps/seelenweg/i18n/translations/cs.yml +++ b/src/apps/seelenweg/i18n/translations/cs.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Pin doprava unpin: Unlin pin_to_left: Pin doleva + kill: Zabít proces + kill_multiple: Zabijte všechny procesy media_menu: remove: Odebrat mediální modul start_menu: diff --git a/src/apps/seelenweg/i18n/translations/cy.yml b/src/apps/seelenweg/i18n/translations/cy.yml index 3ef0d3f5..4bb30240 100644 --- a/src/apps/seelenweg/i18n/translations/cy.yml +++ b/src/apps/seelenweg/i18n/translations/cy.yml @@ -16,6 +16,8 @@ app_menu: close: Chaewch pin_to_right: Pin i'r dde pin: Piniff + kill: Proses Lladd + kill_multiple: Lladd Pob Proses media_menu: remove: Dileu Modiwl Cyfryngau start_menu: diff --git a/src/apps/seelenweg/i18n/translations/da.yml b/src/apps/seelenweg/i18n/translations/da.yml index 3a31c1d4..85f7fada 100644 --- a/src/apps/seelenweg/i18n/translations/da.yml +++ b/src/apps/seelenweg/i18n/translations/da.yml @@ -16,6 +16,8 @@ app_menu: pin_to_left: Pin til venstre pin_to_right: Pin til højre run_as: Kør som administrator + kill: Aflivningsproces + kill_multiple: Dræb alle processer media_menu: remove: Fjern mediemodulet start_menu: diff --git a/src/apps/seelenweg/i18n/translations/de.yml b/src/apps/seelenweg/i18n/translations/de.yml index 99fdad27..1fee5aaf 100644 --- a/src/apps/seelenweg/i18n/translations/de.yml +++ b/src/apps/seelenweg/i18n/translations/de.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Handles kopieren close: Schließen close_multiple: Alle schließen + kill: Prozess beenden + kill_multiple: Beenden Sie alle Prozesse media_menu: remove: Medienmodul entfernen start_menu: diff --git a/src/apps/seelenweg/i18n/translations/el.yml b/src/apps/seelenweg/i18n/translations/el.yml index 2750a9c6..eb8dc2fa 100644 --- a/src/apps/seelenweg/i18n/translations/el.yml +++ b/src/apps/seelenweg/i18n/translations/el.yml @@ -16,6 +16,8 @@ app_menu: run_as: Εκτελέστε ως διαχειριστής open_file_location: Ανοίξτε την τοποθεσία αρχείου pin_to_left: Καρφίτσα στα αριστερά + kill: Διαδικασία θανάτωσης + kill_multiple: Σκοτώστε όλες τις διαδικασίες media_menu: remove: Αφαιρέστε τη μονάδα μέσων start_menu: diff --git a/src/apps/seelenweg/i18n/translations/en.yml b/src/apps/seelenweg/i18n/translations/en.yml index f7e614a3..d5036f07 100644 --- a/src/apps/seelenweg/i18n/translations/en.yml +++ b/src/apps/seelenweg/i18n/translations/en.yml @@ -15,7 +15,9 @@ app_menu: run_as: Run as Administrator copy_handles: Copy Handles close: Close + kill: Kill Process close_multiple: Close All + kill_multiple: Kill All Processes media: not_playing: Nothing is playing media_menu: diff --git a/src/apps/seelenweg/i18n/translations/es.yml b/src/apps/seelenweg/i18n/translations/es.yml index 426af7d0..016226ff 100644 --- a/src/apps/seelenweg/i18n/translations/es.yml +++ b/src/apps/seelenweg/i18n/translations/es.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Copiar identificadores close: Cerrar close_multiple: Cerrar todo + kill: Proceso de matar + kill_multiple: Matar todos los procesos media_menu: remove: Eliminar módulo de medios start_menu: diff --git a/src/apps/seelenweg/i18n/translations/et.yml b/src/apps/seelenweg/i18n/translations/et.yml index 1eeb9372..6a172ca1 100644 --- a/src/apps/seelenweg/i18n/translations/et.yml +++ b/src/apps/seelenweg/i18n/translations/et.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Tihvt paremal run_as: Joosta administraatorina copy_handles: Koopiakäepidemed + kill: Tapmisprotsess + kill_multiple: Tapke kõik protsessid media_menu: remove: Eemaldage meediumimoodul start_menu: diff --git a/src/apps/seelenweg/i18n/translations/eu.yml b/src/apps/seelenweg/i18n/translations/eu.yml index d7ff0ec8..87ad9065 100644 --- a/src/apps/seelenweg/i18n/translations/eu.yml +++ b/src/apps/seelenweg/i18n/translations/eu.yml @@ -16,6 +16,8 @@ app_menu: run_as: Exekutatu administratzaile gisa open_file_location: Ireki fitxategiaren kokapena pin_to_right: PIN eskuin + kill_multiple: Kill Prozesu guztiak + kill: Hiltzeko prozesua media_menu: remove: Kendu multimedia modulua start_menu: diff --git a/src/apps/seelenweg/i18n/translations/fa.yml b/src/apps/seelenweg/i18n/translations/fa.yml index a8acde85..7bd6dece 100644 --- a/src/apps/seelenweg/i18n/translations/fa.yml +++ b/src/apps/seelenweg/i18n/translations/fa.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: پین به راست close_multiple: همه را ببندید run_as: به عنوان مدیر اجرا کنید + kill: فرآیند کشتن + kill_multiple: کشتن تمام فرآیندها media_menu: remove: ماژول رسانه را حذف کنید start_menu: diff --git a/src/apps/seelenweg/i18n/translations/fi.yml b/src/apps/seelenweg/i18n/translations/fi.yml index 0f4288b5..7b36f3d4 100644 --- a/src/apps/seelenweg/i18n/translations/fi.yml +++ b/src/apps/seelenweg/i18n/translations/fi.yml @@ -16,6 +16,8 @@ app_menu: pin_to_center: Pintää keskustaan pin_to_left: Vasemmalle unpin: Purkaa + kill: Tappoprosessi + kill_multiple: Tapa kaikki prosessit media_menu: remove: Poista mediamoduuli start_menu: diff --git a/src/apps/seelenweg/i18n/translations/fr.yml b/src/apps/seelenweg/i18n/translations/fr.yml index 922888af..194a71d1 100644 --- a/src/apps/seelenweg/i18n/translations/fr.yml +++ b/src/apps/seelenweg/i18n/translations/fr.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Poignées de copie close: Fermer close_multiple: Ferme tout + kill: Processus de mise à mort + kill_multiple: Tuez tous les processus media_menu: remove: Supprimer le module multimédia start_menu: diff --git a/src/apps/seelenweg/i18n/translations/gu.yml b/src/apps/seelenweg/i18n/translations/gu.yml index 53ffb5be..f79e22ee 100644 --- a/src/apps/seelenweg/i18n/translations/gu.yml +++ b/src/apps/seelenweg/i18n/translations/gu.yml @@ -16,6 +16,8 @@ app_menu: unpin: ખોળવું open_file_location: ફાઇલ સ્થાન ખોલો pin: પિન + kill: કીલ પ્રોસેસ + kill_multiple: બધી પ્રક્રિયાઓને મારી નાખો media_menu: remove: મીડિયા મોડ્યુલ દૂર કરો start_menu: diff --git a/src/apps/seelenweg/i18n/translations/he.yml b/src/apps/seelenweg/i18n/translations/he.yml index 5a80b265..4d03cf54 100644 --- a/src/apps/seelenweg/i18n/translations/he.yml +++ b/src/apps/seelenweg/i18n/translations/he.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: העתק ידיות pin_to_right: סיכה לימין pin_to_left: סיכה משמאל + kill_multiple: להרוג את כל התהליכים + kill: תהליך הרג media_menu: remove: הסר את מודול המדיה start_menu: diff --git a/src/apps/seelenweg/i18n/translations/hi.yml b/src/apps/seelenweg/i18n/translations/hi.yml index 84321cfb..8aca5cbe 100644 --- a/src/apps/seelenweg/i18n/translations/hi.yml +++ b/src/apps/seelenweg/i18n/translations/hi.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: कॉपी हैंडल unpin: अनपिन pin: नत्थी करना + kill_multiple: सभी प्रक्रियाओं को ख़त्म करें + kill: मारने की प्रक्रिया media_menu: remove: मीडिया मॉड्यूल निकालें start_menu: diff --git a/src/apps/seelenweg/i18n/translations/hr.yml b/src/apps/seelenweg/i18n/translations/hr.yml index 6b4c2276..f0f9471e 100644 --- a/src/apps/seelenweg/i18n/translations/hr.yml +++ b/src/apps/seelenweg/i18n/translations/hr.yml @@ -16,6 +16,8 @@ app_menu: open_file_location: Otvorena lokacija datoteke unpin: Raskoš close_multiple: Zatvori sve + kill_multiple: Ubij sve procese + kill: Kill Process media_menu: remove: Uklonite medijski modul start_menu: diff --git a/src/apps/seelenweg/i18n/translations/hu.yml b/src/apps/seelenweg/i18n/translations/hu.yml index ef653cf2..39ed6782 100644 --- a/src/apps/seelenweg/i18n/translations/hu.yml +++ b/src/apps/seelenweg/i18n/translations/hu.yml @@ -16,6 +16,8 @@ app_menu: pin_to_center: Pin a középpontba open_file_location: Nyissa meg a fájl helyét copy_handles: Másolás fogantyúk + kill: Kill Process + kill_multiple: Öld meg az összes folyamatot media_menu: remove: Távolítsa el a média modult start_menu: diff --git a/src/apps/seelenweg/i18n/translations/hy.yml b/src/apps/seelenweg/i18n/translations/hy.yml index 2f864320..8a695e2d 100644 --- a/src/apps/seelenweg/i18n/translations/hy.yml +++ b/src/apps/seelenweg/i18n/translations/hy.yml @@ -16,6 +16,8 @@ app_menu: unpin: Անապաղում close_multiple: Փակել բոլորը run_as: Գործարկել որպես ադմինիստրատոր + kill: Սպանության գործընթաց + kill_multiple: Սպանել բոլոր գործընթացները media_menu: remove: Հեռացրեք մեդիա մոդուլը start_menu: diff --git a/src/apps/seelenweg/i18n/translations/id.yml b/src/apps/seelenweg/i18n/translations/id.yml index 6ceee513..defc1753 100644 --- a/src/apps/seelenweg/i18n/translations/id.yml +++ b/src/apps/seelenweg/i18n/translations/id.yml @@ -16,6 +16,8 @@ app_menu: close: Menutup unpin: Membuka peniti copy_handles: Pegangan Salin + kill: Bunuh Proses + kill_multiple: Matikan Semua Proses media_menu: remove: Hapus Modul Media start_menu: diff --git a/src/apps/seelenweg/i18n/translations/is.yml b/src/apps/seelenweg/i18n/translations/is.yml index 50bddaae..2856412f 100644 --- a/src/apps/seelenweg/i18n/translations/is.yml +++ b/src/apps/seelenweg/i18n/translations/is.yml @@ -16,6 +16,8 @@ app_menu: open_file_location: Opnaðu staðsetningu skráar pin: PIN pin_to_right: Pinna til hægri + kill_multiple: Drepa alla ferla + kill: Kill Process media_menu: remove: Fjarlægðu miðlunareininguna start_menu: diff --git a/src/apps/seelenweg/i18n/translations/it.yml b/src/apps/seelenweg/i18n/translations/it.yml index fa205426..a3cf5cea 100644 --- a/src/apps/seelenweg/i18n/translations/it.yml +++ b/src/apps/seelenweg/i18n/translations/it.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Copia Handle close: Chiudi close_multiple: Chiudi Tutto + kill_multiple: Uccidi tutti i processi + kill: Uccidi il processo media: not_playing: Nulla in riproduzione media_menu: diff --git a/src/apps/seelenweg/i18n/translations/ja.yml b/src/apps/seelenweg/i18n/translations/ja.yml index 4eeba149..3a1a6075 100644 --- a/src/apps/seelenweg/i18n/translations/ja.yml +++ b/src/apps/seelenweg/i18n/translations/ja.yml @@ -16,6 +16,8 @@ app_menu: unpin: ピン留めを解除 copy_handles: ハンドルをコピー pin_to_left: 左にピン留め + kill: プロセスを強制終了する + kill_multiple: すべてのプロセスを強制終了する media_menu: remove: メディアモジュールを削除 start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ka.yml b/src/apps/seelenweg/i18n/translations/ka.yml index a418e015..609c7740 100644 --- a/src/apps/seelenweg/i18n/translations/ka.yml +++ b/src/apps/seelenweg/i18n/translations/ka.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Pin მარჯვნივ unpin: გაუქმება pin: ქინძისთავი + kill_multiple: მოკალი ყველა პროცესი + kill: მოკვლის პროცესი media_menu: remove: წაშალეთ მედია მოდული start_menu: diff --git a/src/apps/seelenweg/i18n/translations/km.yml b/src/apps/seelenweg/i18n/translations/km.yml index b7b884eb..75ccad1b 100644 --- a/src/apps/seelenweg/i18n/translations/km.yml +++ b/src/apps/seelenweg/i18n/translations/km.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: ម្ជុលទៅស្តាំ close: បិត open_file_location: បើកទីតាំងឯកសារ + kill: ដំណើរការសម្លាប់ + kill_multiple: សម្លាប់ដំណើរការទាំងអស់។ media_menu: remove: យកម៉ូឌុលមេឌៀចេញ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ko.yml b/src/apps/seelenweg/i18n/translations/ko.yml index 43cf1b45..addc7fb1 100644 --- a/src/apps/seelenweg/i18n/translations/ko.yml +++ b/src/apps/seelenweg/i18n/translations/ko.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: 핸들 복사 close: 닫기 close_multiple: 모두 닫기 + kill_multiple: 모든 프로세스 종료 + kill: 프로세스 종료 media_menu: remove: 미디어 모듈 제거 start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ku.yml b/src/apps/seelenweg/i18n/translations/ku.yml index 89ae929d..3189b8e8 100644 --- a/src/apps/seelenweg/i18n/translations/ku.yml +++ b/src/apps/seelenweg/i18n/translations/ku.yml @@ -16,6 +16,8 @@ app_menu: pin_to_left: Pin çepê copy_handles: Destên kopî bikin unpin: Unpin + kill: Pêvajoya Kuştinê + kill_multiple: Hemî Pêvajoyan Bikujin media_menu: remove: Modela medyayê rakin start_menu: diff --git a/src/apps/seelenweg/i18n/translations/lb.yml b/src/apps/seelenweg/i18n/translations/lb.yml index 9dc61416..0e14e90e 100644 --- a/src/apps/seelenweg/i18n/translations/lb.yml +++ b/src/apps/seelenweg/i18n/translations/lb.yml @@ -16,6 +16,8 @@ app_menu: unpin: Net unsträichen pin: Pin pin_to_right: PIN op riets + kill: Kill Prozess + kill_multiple: Kill All Prozesser media_menu: remove: Ewechzehuelen Media Modul start_menu: diff --git a/src/apps/seelenweg/i18n/translations/lo.yml b/src/apps/seelenweg/i18n/translations/lo.yml index f7379ec0..24b680e3 100644 --- a/src/apps/seelenweg/i18n/translations/lo.yml +++ b/src/apps/seelenweg/i18n/translations/lo.yml @@ -16,6 +16,8 @@ app_menu: pin: ເຂັມ PIN unpin: unppin pin_to_left: ເຂັມຊ້າຍໄປ + kill: ຂະບວນການຂ້າ + kill_multiple: ຂ້າຂະບວນການທັງຫມົດ media_menu: remove: ເອົາ Module ສື່ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/lt.yml b/src/apps/seelenweg/i18n/translations/lt.yml index bd8abee6..6d73d36b 100644 --- a/src/apps/seelenweg/i18n/translations/lt.yml +++ b/src/apps/seelenweg/i18n/translations/lt.yml @@ -16,6 +16,8 @@ app_menu: open_file_location: Atidarykite failo vietą run_as: Vykdykite kaip administratorius close_multiple: Uždaryk viską + kill: Nužudymo procesas + kill_multiple: Nužudyti visus procesus media_menu: remove: Pašalinkite medijos modulį start_menu: diff --git a/src/apps/seelenweg/i18n/translations/lv.yml b/src/apps/seelenweg/i18n/translations/lv.yml index f3a19919..d84d08fd 100644 --- a/src/apps/seelenweg/i18n/translations/lv.yml +++ b/src/apps/seelenweg/i18n/translations/lv.yml @@ -16,6 +16,8 @@ app_menu: pin_to_left: Piespraudiet pa kreisi pin_to_center: Piespraudiet centrā pin: Piespraust + kill: Nogalināšanas process + kill_multiple: Nogalināt visus procesus media_menu: remove: Noņemiet multivides moduli start_menu: diff --git a/src/apps/seelenweg/i18n/translations/mk.yml b/src/apps/seelenweg/i18n/translations/mk.yml index 53c12f1f..2d467373 100644 --- a/src/apps/seelenweg/i18n/translations/mk.yml +++ b/src/apps/seelenweg/i18n/translations/mk.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Игла надесно close_multiple: Затворете ги сите pin_to_center: Игла до центар + kill_multiple: Убиј ги сите процеси + kill: Процес на убивање media_menu: remove: Отстранете го модулот за медиуми start_menu: diff --git a/src/apps/seelenweg/i18n/translations/mn.yml b/src/apps/seelenweg/i18n/translations/mn.yml index 9b139916..cd64f84c 100644 --- a/src/apps/seelenweg/i18n/translations/mn.yml +++ b/src/apps/seelenweg/i18n/translations/mn.yml @@ -16,6 +16,8 @@ app_menu: pin: Сулбээр зүү pin_to_right: Баруун тийш зүү close: Ойр дөхөм + kill_multiple: Бүх процессыг устгах + kill: Алах үйл явц media_menu: remove: МЭДЭЭЛЛИЙН МЭДЭЭЛЛИЙН МЭДЭЭЛЭЛ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ms.yml b/src/apps/seelenweg/i18n/translations/ms.yml index ea0af880..690d400f 100644 --- a/src/apps/seelenweg/i18n/translations/ms.yml +++ b/src/apps/seelenweg/i18n/translations/ms.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Salin pemegang pin_to_right: Pin ke kanan pin_to_left: Pin ke kiri + kill_multiple: Bunuh Semua Proses + kill: Proses Bunuh media_menu: remove: Keluarkan modul media start_menu: diff --git a/src/apps/seelenweg/i18n/translations/mt.yml b/src/apps/seelenweg/i18n/translations/mt.yml index 49a6f32c..d64a709e 100644 --- a/src/apps/seelenweg/i18n/translations/mt.yml +++ b/src/apps/seelenweg/i18n/translations/mt.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Kopja pumi pin: Pin open_file_location: Post tal-fajl miftuħ + kill_multiple: Oqtol il-Proċessi Kollha + kill: Qtil Proċess media_menu: remove: Neħħi l-modulu tal-midja start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ne.yml b/src/apps/seelenweg/i18n/translations/ne.yml index e8436a43..7fb3f955 100644 --- a/src/apps/seelenweg/i18n/translations/ne.yml +++ b/src/apps/seelenweg/i18n/translations/ne.yml @@ -16,6 +16,8 @@ app_menu: unpin: चुस्नु pin_to_right: दायाँ राख्न पिन close: घनिष्ट + kill: प्रक्रिया मार्नुहोस् + kill_multiple: सबै प्रक्रियाहरू मार्नुहोस् media_menu: remove: मिडिया मोड्युल हटाउनुहोस् start_menu: diff --git a/src/apps/seelenweg/i18n/translations/nl.yml b/src/apps/seelenweg/i18n/translations/nl.yml index b9c0b26a..ac9b0ccb 100644 --- a/src/apps/seelenweg/i18n/translations/nl.yml +++ b/src/apps/seelenweg/i18n/translations/nl.yml @@ -16,6 +16,8 @@ app_menu: pin_to_center: Pin in het midden copy_handles: Kopieer handgrepen unpin: Losmaken + kill: Dood proces + kill_multiple: Dood alle processen media_menu: remove: Verwijder de mediamodule start_menu: diff --git a/src/apps/seelenweg/i18n/translations/no.yml b/src/apps/seelenweg/i18n/translations/no.yml index c0418b3b..02f9d88d 100644 --- a/src/apps/seelenweg/i18n/translations/no.yml +++ b/src/apps/seelenweg/i18n/translations/no.yml @@ -16,6 +16,8 @@ app_menu: unpin: Upinn pin: Pin pin_to_left: Pin til venstre + kill_multiple: Drep alle prosesser + kill: Drep prosessen media_menu: remove: Fjern mediemodulen start_menu: diff --git a/src/apps/seelenweg/i18n/translations/pa.yml b/src/apps/seelenweg/i18n/translations/pa.yml index 997a27dc..93d32c80 100644 --- a/src/apps/seelenweg/i18n/translations/pa.yml +++ b/src/apps/seelenweg/i18n/translations/pa.yml @@ -16,6 +16,8 @@ app_menu: unpin: Unpin close: ਨੇੜੇ pin: ਪਿੰਨ + kill_multiple: ਸਾਰੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਮਾਰੋ + kill: ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਮਾਰੋ media_menu: remove: ਮੀਡੀਆ ਮੋਡੀ .ਲ ਹਟਾਓ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/pl.yml b/src/apps/seelenweg/i18n/translations/pl.yml index 4a974dc1..7b889b44 100644 --- a/src/apps/seelenweg/i18n/translations/pl.yml +++ b/src/apps/seelenweg/i18n/translations/pl.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Kopiuj uchwyty close_multiple: Zamknij wszystko pin_to_left: Szpilka do lewej + kill: Zabij proces + kill_multiple: Zabij wszystkie procesy media_menu: remove: Usuń moduł multimediów start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ps.yml b/src/apps/seelenweg/i18n/translations/ps.yml index 6bc7e6dd..ba3c22b7 100644 --- a/src/apps/seelenweg/i18n/translations/ps.yml +++ b/src/apps/seelenweg/i18n/translations/ps.yml @@ -16,6 +16,8 @@ app_menu: close: بندول run_as: د مدیر په توګه چلول pin: پن + kill_multiple: ټولې پروسې وژني + kill: د وژلو پروسه media_menu: remove: د میډیا ماډل لرې کړئ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/pt.yml b/src/apps/seelenweg/i18n/translations/pt.yml index 90ae7df3..067bb6f6 100644 --- a/src/apps/seelenweg/i18n/translations/pt.yml +++ b/src/apps/seelenweg/i18n/translations/pt.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Alças de cópia close: Fechar close_multiple: Fechar tudo + kill: Processo de eliminação + kill_multiple: Mate todos os processos media_menu: remove: Remover módulo de mídia start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ro.yml b/src/apps/seelenweg/i18n/translations/ro.yml index 3a0fd8d9..efb358c6 100644 --- a/src/apps/seelenweg/i18n/translations/ro.yml +++ b/src/apps/seelenweg/i18n/translations/ro.yml @@ -16,6 +16,8 @@ app_menu: unpin: Unpin pin: Ac pin_to_left: Pin la stânga + kill_multiple: Omoara toate procesele + kill: Procesul de ucidere media_menu: remove: Eliminați modulul media start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ru.yml b/src/apps/seelenweg/i18n/translations/ru.yml index 83881f7e..0ed24865 100644 --- a/src/apps/seelenweg/i18n/translations/ru.yml +++ b/src/apps/seelenweg/i18n/translations/ru.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Копировать дескрипторы close: Закрыть close_multiple: Закрыть все + kill: Убить процесс + kill_multiple: Убить все процессы media_menu: remove: Удалить модуль медиа start_menu: diff --git a/src/apps/seelenweg/i18n/translations/si.yml b/src/apps/seelenweg/i18n/translations/si.yml index d9dc9006..d6a435b9 100644 --- a/src/apps/seelenweg/i18n/translations/si.yml +++ b/src/apps/seelenweg/i18n/translations/si.yml @@ -16,6 +16,8 @@ app_menu: pin_to_left: වමට close: වසන්න pin: පින් + kill: කිල් ක්‍රියාවලිය + kill_multiple: සියලුම ක්‍රියාවලීන් මරා දමන්න media_menu: remove: මාධ්ය මොඩියුලය ඉවත් කරන්න start_menu: diff --git a/src/apps/seelenweg/i18n/translations/sk.yml b/src/apps/seelenweg/i18n/translations/sk.yml index b87adfe5..9248c52b 100644 --- a/src/apps/seelenweg/i18n/translations/sk.yml +++ b/src/apps/seelenweg/i18n/translations/sk.yml @@ -16,6 +16,8 @@ app_menu: pin: Pin copy_handles: Kopírovanie rukovätí pin_to_left: Špendlík doľava + kill_multiple: Zabi všetky procesy + kill: Proces zabíjania media_menu: remove: Odstráňte mediálny modul start_menu: diff --git a/src/apps/seelenweg/i18n/translations/so.yml b/src/apps/seelenweg/i18n/translations/so.yml index 364aa6cd..9c5aaf18 100644 --- a/src/apps/seelenweg/i18n/translations/so.yml +++ b/src/apps/seelenweg/i18n/translations/so.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Nuqullada gacanta unpin: Aan qarin pin: Musbaar yar + kill_multiple: Dila Dhammaan Nidaamyada + kill: Habka dilka media_menu: remove: Ka saar cutubka warbaahinta start_menu: diff --git a/src/apps/seelenweg/i18n/translations/sr.yml b/src/apps/seelenweg/i18n/translations/sr.yml index 5ac8299d..08588533 100644 --- a/src/apps/seelenweg/i18n/translations/sr.yml +++ b/src/apps/seelenweg/i18n/translations/sr.yml @@ -16,6 +16,8 @@ app_menu: pin: Пин unpin: Развелити pin_to_right: Пин удесно + kill: Килл Процесс + kill_multiple: Убијте све процесе media_menu: remove: Уклоните медијски модул start_menu: diff --git a/src/apps/seelenweg/i18n/translations/sv.yml b/src/apps/seelenweg/i18n/translations/sv.yml index a00fd4b6..e65f28a6 100644 --- a/src/apps/seelenweg/i18n/translations/sv.yml +++ b/src/apps/seelenweg/i18n/translations/sv.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Nöja sig till höger unpin: Lutande pin_to_left: Stämma till vänster + kill: Kill Process + kill_multiple: Döda alla processer media_menu: remove: Ta bort mediemodulen start_menu: diff --git a/src/apps/seelenweg/i18n/translations/sw.yml b/src/apps/seelenweg/i18n/translations/sw.yml index 96c1a704..c07132e2 100644 --- a/src/apps/seelenweg/i18n/translations/sw.yml +++ b/src/apps/seelenweg/i18n/translations/sw.yml @@ -16,6 +16,8 @@ app_menu: unpin: Unpin pin_to_right: Pini kulia pin_to_center: Pini katikati + kill: Mchakato wa kuua + kill_multiple: Kuua Taratibu Zote media_menu: remove: Ondoa moduli ya media start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ta.yml b/src/apps/seelenweg/i18n/translations/ta.yml index bf283fc4..ffc98d7a 100644 --- a/src/apps/seelenweg/i18n/translations/ta.yml +++ b/src/apps/seelenweg/i18n/translations/ta.yml @@ -16,6 +16,8 @@ app_menu: pin: முள் open_file_location: கோப்பு இருப்பிடத்தைத் திறக்கவும் unpin: Unpin + kill: கொலை செயல்முறை + kill_multiple: அனைத்து செயல்முறைகளையும் கொல்லுங்கள் media_menu: remove: மீடியா தொகுதியை அகற்று start_menu: diff --git a/src/apps/seelenweg/i18n/translations/te.yml b/src/apps/seelenweg/i18n/translations/te.yml index dc41111b..cf3d2046 100644 --- a/src/apps/seelenweg/i18n/translations/te.yml +++ b/src/apps/seelenweg/i18n/translations/te.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: కాపీ హ్యాండిల్స్ close_multiple: అన్నీ మూసివేయండి run_as: నిర్వాహకుడిగా అమలు చేయండి + kill: కిల్ ప్రాసెస్ + kill_multiple: అన్ని ప్రక్రియలను చంపండి media_menu: remove: మీడియా మాడ్యూల్ తొలగించండి start_menu: diff --git a/src/apps/seelenweg/i18n/translations/tg.yml b/src/apps/seelenweg/i18n/translations/tg.yml index 73a18af1..7d75e333 100644 --- a/src/apps/seelenweg/i18n/translations/tg.yml +++ b/src/apps/seelenweg/i18n/translations/tg.yml @@ -16,6 +16,8 @@ app_menu: unpin: Ватанӣ close: Наздик open_file_location: Кушодани макони кушод + kill: Раванди куштан + kill_multiple: Ҳама равандҳоро кушед media_menu: remove: Модули ВАО-ро хориҷ кунед start_menu: diff --git a/src/apps/seelenweg/i18n/translations/th.yml b/src/apps/seelenweg/i18n/translations/th.yml index c7f727de..40684109 100644 --- a/src/apps/seelenweg/i18n/translations/th.yml +++ b/src/apps/seelenweg/i18n/translations/th.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: พินไปทางขวา pin_to_left: พินไปทางซ้าย copy_handles: สำเนามือจับ + kill: ฆ่ากระบวนการ + kill_multiple: ฆ่ากระบวนการทั้งหมด media_menu: remove: ลบโมดูลสื่อ start_menu: diff --git a/src/apps/seelenweg/i18n/translations/tl.yml b/src/apps/seelenweg/i18n/translations/tl.yml index 76bf8223..4691627e 100644 --- a/src/apps/seelenweg/i18n/translations/tl.yml +++ b/src/apps/seelenweg/i18n/translations/tl.yml @@ -16,6 +16,8 @@ app_menu: unpin: Unpin open_file_location: Buksan ang lokasyon ng file copy_handles: Kopyahin ang mga hawakan + kill: Proseso ng Patayin + kill_multiple: Patayin ang Lahat ng Proseso media_menu: remove: Alisin ang module ng media start_menu: diff --git a/src/apps/seelenweg/i18n/translations/tr.yml b/src/apps/seelenweg/i18n/translations/tr.yml index 77cbcae7..e6bed3d9 100644 --- a/src/apps/seelenweg/i18n/translations/tr.yml +++ b/src/apps/seelenweg/i18n/translations/tr.yml @@ -16,6 +16,8 @@ app_menu: pin_to_right: Sağa Sabitle unpin: Sabitlenmeyi Kaldır pin_to_left: Sola Sabitle + kill_multiple: Tüm Süreçleri Öldür + kill: Süreci Sonlandır media_menu: remove: Medya Modülünü Kaldır start_menu: diff --git a/src/apps/seelenweg/i18n/translations/uk.yml b/src/apps/seelenweg/i18n/translations/uk.yml index 7f138a8c..e611a4f2 100644 --- a/src/apps/seelenweg/i18n/translations/uk.yml +++ b/src/apps/seelenweg/i18n/translations/uk.yml @@ -16,6 +16,8 @@ app_menu: unpin: Розмивати pin: Шпилька pin_to_left: Шпилька зліва + kill: Процес знищення + kill_multiple: Закрити всі процеси media_menu: remove: Видалити медіа -модуль start_menu: diff --git a/src/apps/seelenweg/i18n/translations/ur.yml b/src/apps/seelenweg/i18n/translations/ur.yml index c8bc6ce5..35d89508 100644 --- a/src/apps/seelenweg/i18n/translations/ur.yml +++ b/src/apps/seelenweg/i18n/translations/ur.yml @@ -16,6 +16,8 @@ app_menu: pin_to_center: سینٹر سے پن open_file_location: فائل کا مقام کھولیں copy_handles: کاپی ہینڈلز + kill: عمل کو مار ڈالو + kill_multiple: تمام عمل کو مار ڈالو media_menu: remove: میڈیا ماڈیول کو ہٹا دیں start_menu: diff --git a/src/apps/seelenweg/i18n/translations/uz.yml b/src/apps/seelenweg/i18n/translations/uz.yml index cceab8a5..b6c24c67 100644 --- a/src/apps/seelenweg/i18n/translations/uz.yml +++ b/src/apps/seelenweg/i18n/translations/uz.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Nusxalash vositasi pin: Pin pin_to_left: Chapga o'ting + kill_multiple: Barcha jarayonlarni o'ldiring + kill: O'ldirish jarayoni media_menu: remove: Media modulini olib tashlang start_menu: diff --git a/src/apps/seelenweg/i18n/translations/vi.yml b/src/apps/seelenweg/i18n/translations/vi.yml index b80305d0..85a8f090 100644 --- a/src/apps/seelenweg/i18n/translations/vi.yml +++ b/src/apps/seelenweg/i18n/translations/vi.yml @@ -16,6 +16,8 @@ app_menu: pin_to_left: Ghim sang trái copy_handles: Sao chép tay cầm pin_to_right: Ghim sang phải + kill_multiple: Giết tất cả các tiến trình + kill: Quá trình tiêu diệt media_menu: remove: Loại bỏ mô -đun phương tiện start_menu: diff --git a/src/apps/seelenweg/i18n/translations/yo.yml b/src/apps/seelenweg/i18n/translations/yo.yml index f91086f5..c49c767f 100644 --- a/src/apps/seelenweg/i18n/translations/yo.yml +++ b/src/apps/seelenweg/i18n/translations/yo.yml @@ -16,6 +16,8 @@ app_menu: open_file_location: Ṣii ipo faili ṣii pin_to_right: Pin si ọtun pin: Pini + kill_multiple: Pa Gbogbo awọn ilana + kill: Ilana pipa media_menu: remove: Mu Module Media kuro start_menu: diff --git a/src/apps/seelenweg/i18n/translations/zh.yml b/src/apps/seelenweg/i18n/translations/zh.yml index 2b78c759..4815d22d 100644 --- a/src/apps/seelenweg/i18n/translations/zh.yml +++ b/src/apps/seelenweg/i18n/translations/zh.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: 复制句柄 close: 关闭 close_multiple: 全部关闭 + kill: 杀死进程 + kill_multiple: 杀死所有进程 media_menu: remove: 移除媒体模块 start_menu: diff --git a/src/apps/seelenweg/i18n/translations/zu.yml b/src/apps/seelenweg/i18n/translations/zu.yml index d60b7a6d..4532f411 100644 --- a/src/apps/seelenweg/i18n/translations/zu.yml +++ b/src/apps/seelenweg/i18n/translations/zu.yml @@ -16,6 +16,8 @@ app_menu: copy_handles: Kopisha izibambo unpin: Unpin pin: Isipeletu + kill: Kill Process + kill_multiple: Bulala Zonke Izinqubo media_menu: remove: Susa imodyuli yabezindaba start_menu: diff --git a/src/apps/seelenweg/modules/bar/menu.tsx b/src/apps/seelenweg/modules/bar/menu.tsx index f5929895..bdcde867 100644 --- a/src/apps/seelenweg/modules/bar/menu.tsx +++ b/src/apps/seelenweg/modules/bar/menu.tsx @@ -93,6 +93,7 @@ export function getSeelenWegMenu(t: TFunction): ItemType[] { export function getMenuForItem( t: TFunction, item: ExtendedPinnedWegItem | ExtendedTemporalWegItem, + devTools: boolean, ): ItemType[] { const isPinned = isPinnedApp(item); @@ -178,29 +179,45 @@ export function getMenuForItem( }, ); - if (item.opens.length) { - menu.push( - { - key: 'weg_copy_hwnd', - label: t('app_menu.copy_handles'), - icon: , - onClick: () => - navigator.clipboard.writeText( - JSON.stringify(item.opens.map((hwnd) => hwnd.toString(16))), - ), - }, - { - key: 'weg_close_app', - label: item.opens.length > 1 ? t('app_menu.close_multiple') : t('app_menu.close'), - icon: , - onClick() { - item.opens.forEach((hwnd) => { - invoke(SeelenCommand.WegCloseApp, { hwnd }); - }); - }, - danger: true, + if (!item.opens.length) { + return menu; + } + + if (devTools) { + menu.push({ + key: 'weg_copy_hwnd', + label: t('app_menu.copy_handles'), + icon: , + onClick: () => + navigator.clipboard.writeText(JSON.stringify(item.opens.map((hwnd) => hwnd.toString(16)))), + }); + } + + menu.push({ + key: 'weg_close_app', + label: item.opens.length > 1 ? t('app_menu.close_multiple') : t('app_menu.close'), + icon: , + onClick() { + item.opens.forEach((hwnd) => { + invoke(SeelenCommand.WegCloseApp, { hwnd }); + }); + }, + danger: true, + }); + + if (devTools) { + menu.push({ + key: 'weg_kill_app', + label: item.opens.length > 1 ? t('app_menu.kill_multiple') : t('app_menu.kill'), + icon: , + onClick() { + item.opens.forEach((hwnd) => { + // todo replace by enum + invoke(SeelenCommand.WegKillApp, { hwnd }); + }); }, - ); + danger: true, + }); } return menu; diff --git a/src/apps/seelenweg/modules/item/infra/UserApplication.tsx b/src/apps/seelenweg/modules/item/infra/UserApplication.tsx index 7664606b..9cf67e13 100644 --- a/src/apps/seelenweg/modules/item/infra/UserApplication.tsx +++ b/src/apps/seelenweg/modules/item/infra/UserApplication.tsx @@ -38,6 +38,8 @@ export const UserApplication = memo(({ item, onAssociatedViewOpenChanged }: Prop const [openPreview, setOpenPreview] = useState(false); const [openContextMenu, setOpenContextMenu] = useState(false); const [blockUntil, setBlockUntil] = useState(moment(new Date())); + + const devTools = useSelector(Selectors.devTools); const settings = useSelector(Selectors.settings); const { t } = useTranslation(); @@ -89,7 +91,7 @@ export const UserApplication = memo(({ item, onAssociatedViewOpenChanged }: Prop return ( - { + { setOpenContextMenu(isOpen); if (openPreview && isOpen) { setOpenPreview(false); diff --git a/src/apps/seelenweg/modules/shared/store/app.ts b/src/apps/seelenweg/modules/shared/store/app.ts index fdbd1166..c982ccfc 100644 --- a/src/apps/seelenweg/modules/shared/store/app.ts +++ b/src/apps/seelenweg/modules/shared/store/app.ts @@ -18,6 +18,7 @@ import { StateBuilder } from '../../../../shared/StateBuilder'; import { savePinnedItems } from './storeApi'; const initialState: RootState = { + devTools: false, itemsOnLeft: [], itemsOnCenter: [], itemsOnRight: [], diff --git a/src/apps/seelenweg/modules/shared/store/domain.ts b/src/apps/seelenweg/modules/shared/store/domain.ts index 1f2e687a..6d5728a2 100644 --- a/src/apps/seelenweg/modules/shared/store/domain.ts +++ b/src/apps/seelenweg/modules/shared/store/domain.ts @@ -64,6 +64,7 @@ export type SwItem = | StartMenuWegItem; export interface RootState extends IRootState { + devTools: boolean; itemsOnLeft: SwItem[]; itemsOnCenter: SwItem[]; itemsOnRight: SwItem[]; diff --git a/src/apps/seelenweg/modules/shared/store/infra.ts b/src/apps/seelenweg/modules/shared/store/infra.ts index fdd13e42..195bf875 100644 --- a/src/apps/seelenweg/modules/shared/store/infra.ts +++ b/src/apps/seelenweg/modules/shared/store/infra.ts @@ -188,6 +188,7 @@ async function loadSettingsToStore() { i18n.changeLanguage(userSettings.jsonSettings.language || undefined); const settings = userSettings.jsonSettings.seelenweg; store.dispatch(RootActions.setSettings(settings)); + store.dispatch(RootActions.setDevTools(userSettings.jsonSettings.devTools)); loadSettingsCSS(settings); } diff --git a/src/apps/settings/i18n/translations/it.yml b/src/apps/settings/i18n/translations/it.yml index d17c96fe..ff972a6e 100644 --- a/src/apps/settings/i18n/translations/it.yml +++ b/src/apps/settings/i18n/translations/it.yml @@ -40,7 +40,10 @@ mods: start: title: Benvenuti! message: >- - Benvenuti in Seelen UI, l'ambiente desktop definitivo con un gestore delle finestre a tiling incorporato per migliorare la vostra esperienza Windows! Esplorate una nuova era di efficienza e multitasking con la nostra interfaccia intuitiva e funzionalità avanzate. + Benvenuti in Seelen UI, l'ambiente desktop definitivo con un gestore delle + finestre a tiling incorporato per migliorare la vostra esperienza Windows! + Esplorate una nuova era di efficienza e multitasking con la nostra + interfaccia intuitiva e funzionalità avanzate. message_accent: Ottimizzate la vostra produttività con stile! general: startup: Eseguire all'avvio? @@ -77,7 +80,9 @@ toolbar: Utilizza la logica di visualizzazione specifica anziché quella di focus singolo vd: - disabled_windows_version: La strategia nativa dei Desktop Virtuali non è disponibile per la vostra versione di Windows. + disabled_windows_version: >- + La strategia nativa dei Desktop Virtuali non è disponibile per la vostra + versione di Windows. strategy: label: Strategia Desktop Virtuale native: Nativa @@ -112,6 +117,9 @@ weg: visible_separators: Separatori Visibili delay_to_show: Ritardo per mostrare delay_to_hide: Ritardo per nascondere + use_multiple_monitor_overlap_logic: >- + Utilizza la logica di visualizzazione specifica anziché quella di focus + singolo devtools: enable: Abilita Strumenti Sviluppatore app_folders: Cartelle App @@ -128,9 +136,14 @@ apps_configurations: new: Nuovo bundled_title: Config App Fornite con Seelen bundled_msg: >- - Queste configurazioni fornite non sono modificabili e sono progettate per fornirvi la migliore esperienza senza personalizzazione. Configurano automaticamente le applicazioni più comuni per voi. + Queste configurazioni fornite non sono modificabili e sono progettate per + fornirvi la migliore esperienza senza personalizzazione. Configurano + automaticamente le applicazioni più comuni per voi. extra_info: >- - Seelen UI utilizza solo un identificatore per app (primo corrispondente trovato), quindi l'ordine in cui sono specificate è importante; l'ultima aggiunta avrà la priorità. Nota che la tabella è ordinata per impostazione predefinita dalla più recente alla più vecchia. + Seelen UI utilizza solo un identificatore per app (primo corrispondente + trovato), quindi l'ordine in cui sono specificate è importante; l'ultima + aggiunta avrà la priorità. Nota che la tabella è ordinata per impostazione + predefinita dalla più recente alla più vecchia. confirm_delete_title: Conferma Eliminazione confirm_delete: Siete sicuri di voler eliminare questa/e configurazione/i? search: Cerca diff --git a/src/apps/settings/i18n/translations/zh.yml b/src/apps/settings/i18n/translations/zh.yml index b12ed32e..0e6f0a48 100644 --- a/src/apps/settings/i18n/translations/zh.yml +++ b/src/apps/settings/i18n/translations/zh.yml @@ -147,9 +147,7 @@ apps_configurations: and: 与 or: 或 add_block: 添加块 - extra_info: >- - Seelen UI - 对每个应用程序只使用一个标识符(找到的第一个匹配),因此“如何指定”的顺序很重要,最新添加的将优先,注册表默认从新到旧排序。 + extra_info: Seelen UI 对每个应用程序只使用一个标识符(找到的第一个匹配),因此“如何指定”的顺序很重要,最新添加的将优先,注册表默认从新到旧排序。 extras: version: 版本 links: 官方链接 diff --git a/src/background/exposed.rs b/src/background/exposed.rs index f2181b59..ec5ec016 100644 --- a/src/background/exposed.rs +++ b/src/background/exposed.rs @@ -224,6 +224,7 @@ pub fn register_invoke_handler(app_builder: Builder) -> Builder { shutdown, // SeelenWeg weg_close_app, + weg_kill_app, weg_toggle_window_state, weg_request_update_previews, weg_pin_item, diff --git a/src/background/seelen_weg/handler.rs b/src/background/seelen_weg/handler.rs index 2c2a3096..93ce53c4 100644 --- a/src/background/seelen_weg/handler.rs +++ b/src/background/seelen_weg/handler.rs @@ -3,6 +3,7 @@ use std::{ffi::OsStr, path::PathBuf, sync::atomic::Ordering}; use image::ImageFormat; use seelen_core::state::{PinnedWegItemData, WegItem}; use tauri::Emitter; +use tauri_plugin_shell::ShellExt; use crate::{ error_handler::Result, hook::LAST_ACTIVE_NOT_SEELEN, seelen::get_app_handle, @@ -63,6 +64,22 @@ pub fn weg_close_app(hwnd: isize) -> Result<()> { Ok(()) } +#[tauri::command(async)] +pub fn weg_kill_app(hwnd: isize) -> Result<()> { + let hwnd = HWND(hwnd as _); + if !WindowsApi::is_window_visible(hwnd) { + SeelenWeg::remove_hwnd(hwnd); + } else { + let (pid, _) = WindowsApi::window_thread_process_id(hwnd); + get_app_handle() + .shell() + .command("taskkill.exe") + .args(["/F", "/PID", &pid.to_string()]) + .spawn()?; + } + Ok(()) +} + #[tauri::command(async)] pub fn weg_toggle_window_state(hwnd: isize) -> Result<()> { let hwnd = HWND(hwnd as _); diff --git a/src/background/windows_api/mod.rs b/src/background/windows_api/mod.rs index a95534cb..530246dc 100644 --- a/src/background/windows_api/mod.rs +++ b/src/background/windows_api/mod.rs @@ -171,11 +171,11 @@ impl WindowsApi { Ok(dpi_x as f32 / 96_f32) } + /// Behaviour is undefined if an invalid HWND is given + /// https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowthreadprocessid pub fn window_thread_process_id(hwnd: HWND) -> (u32, u32) { let mut process_id: u32 = 0; - // Behaviour is undefined if an invalid HWND is given - // https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowthreadprocessid let thread_id = unsafe { GetWindowThreadProcessId(hwnd, Option::from(std::ptr::addr_of_mut!(process_id))) };