Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
the below is my solution, using script editor compiled as an .app added to startup items

The MS Office apps are loaded then killed so they stay in cached RAM and launch way, way faster without being "open"
The ICC Profile is my workaround to load my calibrated colour profile on my M2 14" Pro so it persists on every reboot
My startup sound is the classic, but remastered, Windows 95 startup sound, because i am a heathen!

the "open-gj -a" part of some of the commands keeps the app hidden and minimised (doesnt work on every app, but most)

Code:
# Play Startup Sound
do shell script "afplay -v 0.2 /Users/gavin/Scripts/startup.mp3"

#load icc profile
do shell script "/Users/gavin/Scripts/customdisplayprofiles-applesilicon set /Users/gavin/Scripts/calibrated.icc"

# launch Selected Apps
do shell script "open -gj -a '/Applications/eqMac.app/'"
do shell script "open -gj -a '/System/Applications/Mail.app/'"
do shell script "open -gj -a '/System/Applications/Calendar.app/'"
do shell script "open -gj -a '/Applications/Microsoft Word.app/'"
do shell script "open -gj -a '/Applications/Microsoft Excel.app/'"
#do shell script "open -gj -a '/Applications/Microsoft PowerPoint.app/'"

# Wait
delay 15

# Kill Selected Apps but keep cached app in memory for much faster loading
do shell script "pkill -x 'Microsoft Word'"
do shell script "pkill -x 'Microsoft Excel'"
#do shell script "pkill -x 'Microsoft PowerPoint'"
 
There is an easy way to launch an app hidden now: create a plist file in ~/Library/LaunchAgents/ and the Background item added message will be displayed.
Example plist for launching Terminal hidden:
Code:
<?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>terminal.LaunchAtLogin</string>
    <key>ProgramArguments</key>
    <array>
        <string>open</string>
        <string>-j</string>
        <string>/System/Applications/Utilities/Terminal.app</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

The plist method still works perfectly.

I can't get this to work. I simply copied the code without any edits to test it first and absolutely nothing happens. Is this method still working with macos 13.4?
 
I can't get this to work. I simply copied the code without any edits to test it first and absolutely nothing happens. Is this method still working with macos 13.4?
Yes, it's still working in Ventura 13.4. Here is a video
 
Thank you very much for taking the time to record a video of this. I simply forgot to make a Plain Text. Even though I got your code to work with Terminal, other apps don't quite work. For example the Mail app launches, but not minimized and third party apps don't launch at all :/
 
For Mail, AppleScript saved as app with /Applications/Utilities/Script Editor.app, saved app added to Open at Login items
Code:
tell application "Mail"
    activate
    close window 1
end tell
 
I had this issue with three apps. They had been driving me mad for ages. But this app solved the problem for all three. Works like a charm!

 
  • Like
Reactions: Ward Clark
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.