.app
extension, but it’s not really a file — it’s a package. You can view the application’s contents by navigating to it in the Finder, right-clicking it and then choosing “Show Package Contents”.Contents
folder with a MacOS
subfolder in it. Inside the MacOS
directory, there’s an extension-less file with the exact same name as the app itself. This file can be anything really, but in its simplest form it’s a shell script. As it turns out, this folder/file structure is all it takes to create a functional app!PATH
and name it appify
(no extension). I chose to put it in /usr/local/bin
, which requires root privileges.sudo chmod +x /usr/local/bin/appify
to make appify executable without root privileges.Your App Name.app
that executes the your-shell-script.sh
script..icns
file or a 512×512 PNG image with the icon you want, and copy it to the clipboard (⌘ + C). (Alternatively, copy it from an existing app as described in steps 2 and 3.).app
file of which you want to change the icon and select “Get Info” (or select the file and press ⌘ + I)..app
files.&
at the end is not a typo; it is there to make sure Chromium is launched in a separate thread. Without the &
, Chromium would exit as soon as you quit Terminal.app.