diff --git a/backup/main.lfm b/backup/main.lfm index ee3de12..e3e614f 100644 --- a/backup/main.lfm +++ b/backup/main.lfm @@ -5474,6 +5474,7 @@ object GUIForm: TGUIForm top = 48 object MenuItem1: TMenuItem Caption = 'File' + OnClick = MenuItem1Click object miProfiles: TMenuItem Caption = 'Profiles' OnClick = miProfilesClick @@ -5650,6 +5651,13 @@ object GUIForm: TGUIForm object MenuItem6: TMenuItem Caption = '-' end + object miDisableFocusStealing: TMenuItem + Caption = 'Disable GUI Focus Stealing' + OnClick = miDisableFocusStealingClick + end + object N11: TMenuItem + Caption = '-' + end object MenuItem2: TMenuItem Caption = 'Quit' OnClick = MenuItem2Click diff --git a/backup/main.pas b/backup/main.pas index 7cbf991..23ff4e6 100644 --- a/backup/main.pas +++ b/backup/main.pas @@ -21,6 +21,8 @@ type { TGUIForm } TGUIForm = class(TForm) + N11: TMenuItem; + miDisableFocusStealing: TMenuItem; miDisk2WPToggle: TMenuItem; miDisk1WPToggle: TMenuItem; MenuItem14: TMenuItem; @@ -337,6 +339,7 @@ type procedure MenuItem16Click(Sender: TObject); procedure MenuItem17Click(Sender: TObject); procedure MenuItem18Click(Sender: TObject); + procedure MenuItem1Click(Sender: TObject); // procedure MenuItem1Click(Sender: TObject); procedure MenuItem2Click(Sender: TObject); procedure Freeze; @@ -368,6 +371,7 @@ type procedure miDHRMonoDotsClick(Sender: TObject); procedure miDHRMonoRasterClick(Sender: TObject); procedure miDHRMonoVoxelsClick(Sender: TObject); + procedure miDisableFocusStealingClick(Sender: TObject); procedure miDisk1WPToggleClick(Sender: TObject); procedure miDisk2WPToggleClick(Sender: TObject); procedure miDiskMenuWPClick(Sender: TObject); @@ -511,6 +515,7 @@ type lastMouseX, lastMouseY: longint; inPopup: boolean; isFS: boolean; + disableFocusStealing: boolean; public procedure AppActivate(Sender: TObject); procedure AppDeactivate(Sender: TObject); @@ -923,6 +928,11 @@ begin UpdateConfig( 'video/init.video.dhgrmode', '4', true ); end; +procedure TGUIForm.miDisableFocusStealingClick(Sender: TObject); +begin + disableFocusStealing:=(not disableFocusStealing); +end; + procedure TGUIForm.miDisk1WPToggleClick(Sender: TObject); begin SimpleGet( baseUrl + '/api/control/hardware/disk/wp/0/toggle' ); @@ -1630,6 +1640,8 @@ var x, y: longint; p, q: TPoint; begin + if isFS then + exit; x := Mouse.CursorPos.x; y := Mouse.CursorPos.y; if (x <> lastMouseX) or (y <> lastMouseY) then @@ -2661,6 +2673,12 @@ begin SimpleGet(baseUrl + '/api/control/hardware/disk/blank/1'); end; +procedure TGUIForm.MenuItem1Click(Sender: TObject); +begin + { focus stealing } + miDisableFocusStealing.Checked := disableFocusStealing; +end; + procedure TGUIForm.MenuItem2Click(Sender: TObject); begin SimpleGet( baseUrl+'/api/control/quit' ); diff --git a/lib/x86_64-win64/main.lfm b/lib/x86_64-win64/main.lfm index ee3de12..e3e614f 100644 --- a/lib/x86_64-win64/main.lfm +++ b/lib/x86_64-win64/main.lfm @@ -5474,6 +5474,7 @@ object GUIForm: TGUIForm top = 48 object MenuItem1: TMenuItem Caption = 'File' + OnClick = MenuItem1Click object miProfiles: TMenuItem Caption = 'Profiles' OnClick = miProfilesClick @@ -5650,6 +5651,13 @@ object GUIForm: TGUIForm object MenuItem6: TMenuItem Caption = '-' end + object miDisableFocusStealing: TMenuItem + Caption = 'Disable GUI Focus Stealing' + OnClick = miDisableFocusStealingClick + end + object N11: TMenuItem + Caption = '-' + end object MenuItem2: TMenuItem Caption = 'Quit' OnClick = MenuItem2Click diff --git a/lib/x86_64-win64/main.o b/lib/x86_64-win64/main.o index f94ed41..faca9cf 100644 Binary files a/lib/x86_64-win64/main.o and b/lib/x86_64-win64/main.o differ diff --git a/lib/x86_64-win64/main.ppu b/lib/x86_64-win64/main.ppu index 8120895..90486b2 100644 Binary files a/lib/x86_64-win64/main.ppu and b/lib/x86_64-win64/main.ppu differ diff --git a/lib/x86_64-win64/poc.obj b/lib/x86_64-win64/poc.obj index a325153..80506d1 100644 Binary files a/lib/x86_64-win64/poc.obj and b/lib/x86_64-win64/poc.obj differ diff --git a/main.lfm b/main.lfm index ee3de12..e3e614f 100644 --- a/main.lfm +++ b/main.lfm @@ -5474,6 +5474,7 @@ object GUIForm: TGUIForm top = 48 object MenuItem1: TMenuItem Caption = 'File' + OnClick = MenuItem1Click object miProfiles: TMenuItem Caption = 'Profiles' OnClick = miProfilesClick @@ -5650,6 +5651,13 @@ object GUIForm: TGUIForm object MenuItem6: TMenuItem Caption = '-' end + object miDisableFocusStealing: TMenuItem + Caption = 'Disable GUI Focus Stealing' + OnClick = miDisableFocusStealingClick + end + object N11: TMenuItem + Caption = '-' + end object MenuItem2: TMenuItem Caption = 'Quit' OnClick = MenuItem2Click diff --git a/main.pas b/main.pas index 1d5b44d..44d8104 100644 --- a/main.pas +++ b/main.pas @@ -21,6 +21,8 @@ type { TGUIForm } TGUIForm = class(TForm) + N11: TMenuItem; + miDisableFocusStealing: TMenuItem; miDisk2WPToggle: TMenuItem; miDisk1WPToggle: TMenuItem; MenuItem14: TMenuItem; @@ -337,6 +339,7 @@ type procedure MenuItem16Click(Sender: TObject); procedure MenuItem17Click(Sender: TObject); procedure MenuItem18Click(Sender: TObject); + procedure MenuItem1Click(Sender: TObject); // procedure MenuItem1Click(Sender: TObject); procedure MenuItem2Click(Sender: TObject); procedure Freeze; @@ -368,6 +371,7 @@ type procedure miDHRMonoDotsClick(Sender: TObject); procedure miDHRMonoRasterClick(Sender: TObject); procedure miDHRMonoVoxelsClick(Sender: TObject); + procedure miDisableFocusStealingClick(Sender: TObject); procedure miDisk1WPToggleClick(Sender: TObject); procedure miDisk2WPToggleClick(Sender: TObject); procedure miDiskMenuWPClick(Sender: TObject); @@ -511,6 +515,7 @@ type lastMouseX, lastMouseY: longint; inPopup: boolean; isFS: boolean; + disableFocusStealing: boolean; public procedure AppActivate(Sender: TObject); procedure AppDeactivate(Sender: TObject); @@ -923,6 +928,11 @@ begin UpdateConfig( 'video/init.video.dhgrmode', '4', true ); end; +procedure TGUIForm.miDisableFocusStealingClick(Sender: TObject); +begin + disableFocusStealing:=(not disableFocusStealing); +end; + procedure TGUIForm.miDisk1WPToggleClick(Sender: TObject); begin SimpleGet( baseUrl + '/api/control/hardware/disk/wp/0/toggle' ); @@ -2310,6 +2320,8 @@ begin exit; if WindowState = wsMinimized then exit; + if disableFocusStealing then + exit; //if hidden then // exit; if GetTitleOfActiveWindow = 'microM8' then @@ -2663,6 +2675,12 @@ begin SimpleGet(baseUrl + '/api/control/hardware/disk/blank/1'); end; +procedure TGUIForm.MenuItem1Click(Sender: TObject); +begin + { focus stealing } + miDisableFocusStealing.Checked := disableFocusStealing; +end; + procedure TGUIForm.MenuItem2Click(Sender: TObject); begin SimpleGet( baseUrl+'/api/control/quit' );