From d745c99ae5048949180907d3d509e42f99773968 Mon Sep 17 00:00:00 2001 From: teamcons_atwork Date: Thu, 20 Jun 2024 14:40:38 +0200 Subject: [PATCH] Now it saves and restores state --- Assistant.exe | Bin 53248 -> 53760 bytes Assistant.ps1 | 27 ++++++++++++----- README.md | 2 ++ parts/UI.ps1 | 6 ++-- parts/hotcorner_topright_close.exe | Bin 52736 -> 52736 bytes parts/state.json | 25 ++++++++++++++++ parts/utils.ps1 | 46 +++++++++++++++++++++++++---- 7 files changed, 90 insertions(+), 16 deletions(-) create mode 100644 parts/state.json diff --git a/Assistant.exe b/Assistant.exe index ea6aab2103e8cb1d7417eb8318f682dfaf35222d..315e1025332d54a4300020fa7e5f530fb1b1f1e8 100644 GIT binary patch delta 922 zcmaLWO=uHA6ae7atyM{y);7>ydYGm`Y0Z`v(*`QV#-z2z*ajmOq!`A{Bw4%8q_eYz zir8GVu^<=*#G4fg0X=wF@GJ^aJcyv;O?vjAHxHhiZCcSp^I&23{e0{^nDS;@d8_R~ zCGai4b6_uafU0;EF8~#pn5!pAt@`v*XMYWV1vl|h7UR_czZg(59= z#0%w^@?LyV0!LGFzztVXK|7ec48X@E0E+xB0dTOK0N_oR7+W89QtIe%`>QSh21PZ* z#b&6(Y1jM*)_k5pn4~BR5y`?LVitzHfMFuNFb{P~az@@}h#Qo^oMB?0Cur%+DDp`Q zb8e8l1*hN{%(WOL91{+M>D_V)@xqeSxV2<)#PP^AOA6WrRD#+JW0Xa8*PKkRNtAGN z)txtpjiI)P7?JRPLu36Gl&v=~;Z7G0F&L zGEq$893P1lu)d75Zf8BFV9-^B9Uk`nfr`iBt+3niA8*khr)|zD`7Q24(eXxTT09#k z6D_cGftKRfTIRIa#Pv;#H2l}JxHGXb+JcLj)WS_rbi7Y^Bi;YnT)#*~d?BBw$vlT~ zFgBqZT7h_q*>(b@b3L5JM+a delta 330 zcmZoz!rZWcc|wPh@6Vz%1}J#Iz{JSS$j!je1{Cms2+A#;xGIeA%n}9$e~`cd28Iro ziHgFL6&d5XR9b-|3P9X8xrz>lkYJqsWB`C3IhSi6eb2%h9BV!3|D*@ z7#M;4as~#r1}_GNGTzCJom!g%m<+U7i+C9rlqXNrDVe-Lhi5aZt}qLivO-X5Vv0gZ zM(SioL#fFYM*f@U8@V%0{%Epv@?}$v$p#h#Gnrgr$;+Yu1e-Tn9(EJ>vNT4>Y)6~d-s$VKZXRD;wYjBX v28YlWpkHBt59AGniHhQkODDT^o|rtLGhj1c*DqHl1=G!f7v3{YG++k+!+u_1 diff --git a/Assistant.ps1 b/Assistant.ps1 index 11bc6d5..56bca15 100644 --- a/Assistant.ps1 +++ b/Assistant.ps1 @@ -32,8 +32,14 @@ else # When executed at windows start, location is not in the script folder Set-Location -Path $ScriptPath -# Read the file -$script:settings = Import-LocalizedData -FileName settings.psd1 -BaseDirectory $ScriptPath\parts + +# Load and parse the JSON configuration file +$script:settings = Get-Content $ScriptPath\parts\state.json -Raw -ErrorAction:SilentlyContinue -WarningAction:SilentlyContinue | ConvertFrom-Json -ErrorAction:SilentlyContinue -WarningAction:SilentlyContinue + +# legacy #$script:settings = Import-LocalizedData -FileName settings.psd1 -BaseDirectory $ScriptPath\parts + + +# Get localization $script:text = Import-LocalizedData -FileName interface.psd1 -BaseDirectory $ScriptPath\localizations # Load everything we need @@ -54,31 +60,36 @@ Import-Module $ScriptPath\parts\UI.ps1 # Start the subprocesses -if ($settings.TopLeftOverview.Enabled) +if ($settings.TopLeftOverview.Enabled -eq "true") { Start-Process -FilePath $ScriptPath\parts\hotcorner_topleft.exe -ArgumentList $settings.TopLeftOverview.reactivity,$settings.TopLeftOverview.sensitivity + $Menu_Toggle_HotCorner_TopLeft.Checked = $true } -if ($settings.WindowsButton.Enabled) +if ($settings.WindowsButton.Enabled -eq "true") { Start-Process -FilePath $ScriptPath\parts\hotcorner_winbutton.exe -ArgumentList $settings.WindowsButton.reactivity,$settings.WindowsButton.sensitivity + $Menu_Toggle_HotCorner_WinButton.Checked = $true } -if ($settings.ShowDesktop.Enabled) +if ($settings.ShowDesktop.Enabled -eq "true") { Start-Process -FilePath $ScriptPath\parts\hotcorner_bottomright_showdesktop.exe -ArgumentList $settings.ShowDesktop.reactivity,$settings.ShowDesktop.sensitivity + $Menu_Toggle_HotCorner_ShowDesktop.Checked = $true } -if ($settings.CloseActiveWindow.Enabled) +if ($settings.CloseActiveWindow.Enabled -eq "true") { Start-Process -FilePath $ScriptPath\parts\hotcorner_topright_close.exe -ArgumentList $settings.CloseActiveWindow.reactivity,$settings.CloseActiveWindow.sensitivity + $Menu_Toggle_HotCorner_Close.Checked = $true } -if ($settings.KeepAwake.Enabled) +if ($settings.KeepAwake.Enabled -eq "true") { - Start-Process -FilePath $ScriptPath\parts\keepawake.exe + Start-Process -FilePath $ScriptPath\parts\keepawake.exe + $Menu_Toggle_KeepAwake.Checked = $true } diff --git a/README.md b/README.md index befeb9d..9fca9af 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,8 @@ Had a look through various sources for having a tray icon. Thanks to all of thes Clipboard history module by mutaguchi https://gist.github.com/mutaguchi/019ad33e156637585a22a656d8fd3f46 +Jason +https://gist.github.com/jhochwald/56cf0897fa6b82e65f12 OCR https://github.com/daijro/PsOCRCapture diff --git a/parts/UI.ps1 b/parts/UI.ps1 index 0ecb2c3..0145850 100644 --- a/parts/UI.ps1 +++ b/parts/UI.ps1 @@ -92,7 +92,7 @@ $Submenu_clipboard.Add_Popup({Clipboard_generate_entries $Submenu_clipboard}) # Toggle between halt and continue $Menu_Toggle_HotCorner_TopLeft = New-Object System.Windows.Forms.MenuItem -$Menu_Toggle_HotCorner_TopLeft.Checked = $true +$Menu_Toggle_HotCorner_TopLeft.Checked = $false $Menu_Toggle_HotCorner_TopLeft.Text = $text.Hotcorners.Overview $Menu_Toggle_HotCorner_TopLeft.Add_Click({ # If it was checked when clicked, stop it @@ -198,7 +198,7 @@ $Submenu_hotcorner.MenuItems.Add($Menu_Toggle_HotCorner_Close) # Toggle between halt and continue $Menu_Toggle_KeepAwake = New-Object System.Windows.Forms.MenuItem -$Menu_Toggle_KeepAwake.Checked = $true +$Menu_Toggle_KeepAwake.Checked = $false $Menu_Toggle_KeepAwake.Text = $text.TopUI.KeepAwake $Menu_Toggle_KeepAwake.Add_Click({ # If it was checked when clicked, stop it @@ -209,7 +209,7 @@ $Menu_Toggle_KeepAwake.Add_Click({ $Menu_Toggle_KeepAwake.Checked = $false $Main_Tool_Icon.Icon = $icondark } else { - Start-Process $ScriptPath\functionalities\keepawake.exe + Start-Process $ScriptPath\parts\keepawake.exe $Menu_Toggle_KeepAwake.Checked = $true $Main_Tool_Icon.Icon = $icon } }) diff --git a/parts/hotcorner_topright_close.exe b/parts/hotcorner_topright_close.exe index 9ccb0aba2402a7442e4783a4f4262b0e94cb19b1..715c2a773399a8de5128c28b8e96c07e4002f7fb 100644 GIT binary patch delta 38 ucmZpe!`v{3c|r&CJEfA1-KNz7su^jH?}I~q+V&l|@qPb~$juk34T1ng!V**f delta 38 wcmV+>0NMY5oCAQI1CWRVP5E-Mi#2-?-ifV5ccAn~i_Ntq7@@h~v(S4mQd$}kyZ`_I diff --git a/parts/state.json b/parts/state.json new file mode 100644 index 0000000..e054d73 --- /dev/null +++ b/parts/state.json @@ -0,0 +1,25 @@ +{ + "TopLeftOverview": { + "Enabled": "true", + "reactivity": "400", + "sensitivity": "30" + }, + "WindowsButton": { + "Enabled": "false", + "reactivity": "500", + "sensitivity": "50" + }, + "ShowDesktop": { + "Enabled": "false", + "reactivity": "500", + "sensitivity": "50" + }, + "CloseActiveWindow": { + "Enabled": "false", + "reactivity": "700", + "sensitivity": "20" + }, + "KeepAwake": { + "Enabled": "true" + } +} diff --git a/parts/utils.ps1 b/parts/utils.ps1 index ed9c789..076ff7b 100644 --- a/parts/utils.ps1 +++ b/parts/utils.ps1 @@ -18,13 +18,49 @@ $quit = { $Main_Tool_Icon.Visible = $false # Stop everything that needs stopping - if ($Menu_Toggle_HotCorner_TopLeft.Checked) {Stop-Process -Name hotcorner_topleft} - if ($Menu_Toggle_HotCorner_WinButton.Checked) {Stop-Process -Name hotcorner_winbutton} - if ($Menu_Toggle_HotCorner_ShowDesktop.Checked) {Stop-Process -Name hotcorner_bottomright_showdesktop} - if ($Menu_Toggle_HotCorner_Close.Checked) {Stop-Process -Name hotcorner_topright_close} + if ($Menu_Toggle_HotCorner_TopLeft.Checked) + { + Stop-Process -Name hotcorner_topleft + $settings.TopLeftOverview.Enabled = "true" + } + else {$settings.TopLeftOverview.Enabled = "false"} + + + if ($Menu_Toggle_HotCorner_WinButton.Checked) + { + Stop-Process -Name hotcorner_winbutton + $settings.WindowsButton.Enabled = "true" + } + else {$settings.WindowsButton.Enabled = "false"} + + if ($Menu_Toggle_HotCorner_ShowDesktop.Checked) + { + Stop-Process -Name hotcorner_bottomright_showdesktop + $settings.ShowDesktop.Enabled = "true" + } + else {$settings.ShowDesktop.Enabled = "false"} + + + if ($Menu_Toggle_HotCorner_Close.Checked) + { + Stop-Process -Name hotcorner_topright_close + $settings.CloseActiveWindow.Enabled = "true" + } + else {$settings.CloseActiveWindow.Enabled = "false"} + + + if ($Menu_Toggle_KeepAwake.Checked) + { + Stop-Process -Name keepawake + $settings.KeepAwake.Enabled = "true" + } + else + {$settings.KeepAwake.Enabled = "false"} - if ($Menu_Toggle_KeepAwake.Checked) {Stop-Process -Name keepawake} + Write-Output $settings | ConvertTo-Json | Out-File -Encoding "UTF8" $ScriptPath\parts\state.json + + $Main_Tool_Icon.Icon.Dispose(); $Main_Tool_Icon.Dispose();