macOS Single App

walt
Contributor III

is there a way to have a Mac system only launch into a single App (launch daemon/agent?) and not allow it to be closed or swipe/tab out of the fullscreen app?

1 REPLY 1

Hugonaut
Valued Contributor II

I've never done this so here it is off the cuff .... make the following script into an application (it will launch full screen)

#!/usr/bin/osascript

tell application "APPNAMEHERE"    
    activate
    tell application "System Events"
        keystroke "f" using {command down, control down}
    end tell
end tell

make a plist like the following in launchagents for the user

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
        <string>org.yourname.yourapp</string>
    <key>ProgramArguments</key>
        <array>
            <string>open</string>
            <string>-a</string>
            <string>/HIDDEN/FOLDER/PATH/TO/LaunchFullScreen.app</string>
        </array>
    <key>RunAtLoad</key>
    </true>
    <key>TimeOut</key>
        <integer>120</integer>
    <key>EnableTransactions</key>
        <true/>

</dict>
</plist>

...as for locking the app in full screen... I don't know how to do this, maybe check out https://developer.apple.com/documentation/coregraphics/quartz_event_services#//apple_ref/doc/uid/TP4... - use this to limit window/mouse movement so they can never actually move the mouse to the area of the screen that minimizes / disables full screen. Then disable keyboard shortcuts. Check out BetterTouchTool ...

i know keyboard shortcuts are stored in a few different plists, but to the best of my knowledge there's a lot to do if taking that route...

other thought is open the application within a self made application that limits everything you need limited

hopefully someone else can chime in that has successfully done this.

________________
Looking for a Jamf Managed Service Provider? Look no further than Rocketman
________________


Virtual MacAdmins Monthly Meetup - First Friday, Every Month