Patrice_C
(Patrice C)
1
I want to block the switch of apps with command + tab.
I know how to declare SetSystemUIMode to hide the dock
but I have no idea what to enter for kUIOptionDisableProcessSwitch.
Declare Function SetSystemUIMode Lib “Cocoa” (inMode as Integer, inOptions as Integer) as Integer
Var OSError as Integer
Const kUIModeContentHidden = 2
OSError = SetSystemUIMode(kUIModeContentHidden, 0)
Greg_O
(Greg O)
2
I believe what you’re supposed to be using is this:
Which would translate to:
Declare Sub setPresntationOptions Lib "AppKit" Selector "setPresentationOptions:" (obj as Ptr, mode as Integer)
But you’ll also need the declare for sharedInstance to get the pointer to you app to pass into the obj item.
Greg_O
(Greg O)
3
https://developer.apple.com/documentation/appkit/nsapplicationpresentationoptions?language=objc
These options are a bit mask, so for instance:
NSApplicationPresentationHideDock = (1 << 1)
Means 1 bit shifted left 1 position, which equals 2.
You’ll need to get the value that the application currently has and then use a bitwise OR to add this value before setting it again.
Declare Function PresntationOptions Lib "AppKit" Selector "presentationOptions" (obj as Ptr) as Integer
Greg_O
(Greg O)
4
Sorry, you were looking for:
NSApplicationPresentationDisableProcessSwitching = (1 << 5)
1 bitshift left 5 = 32
Make sure you read the overview section of this page to see what values can and must be used together. Otherwise your app will crash.
https://developer.apple.com/documentation/appkit/nsapplicationpresentationoptions?language=objc