Reputation: 59535
I'm making a mac app using atom shell that lives in the menubar. I was wondering what my options would be for getting it to run at startup.
Upvotes: 4
Views: 4774
Reputation: 49620
Electron now offers an official API for setting the app to auto-start on Windows and Mac.
https://www.electronjs.org/docs/api/app#appsetloginitemsettingssettings-macos-windows
Upvotes: 3
Reputation: 27629
options would be for getting it to run at startup.
Assuming you want this application to launch for each user, as they log on, you would set up the app as a LaunchAgent.
Simply create a plist file that describes what the job is to do and copy the plist to /Library/LaunchAgents.
The plist would be something like this: -
<?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>ProgramArguments</key>
<array>
<string>My_executable</string>
<string>some_command_line_parameter</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>Label</key>
<string>com.mycompany.myapp</string>
</dict>
</plist>
Replace My_executable with the full path to the application (if it's a .app
, point to my_application.app/Contents/MacOS/my_binary
) and add command line parameters as required. If atom_shell requires launching a shell, you would use this as the application to run and your script as a command-line parameter.
Also ensure you set the label to a unique URI.
Upvotes: 0
Reputation: 815
You can also create an app directory in side /applications/Atom.app/Content/resources directory of atom and symlink to your files. This will launch your app on startup.
Upvotes: 0
Reputation: 74692
Give the auto-launch module a try, it should do what you want. To answer your questions:
Upvotes: 6