Applications
Every installed app, with its icon, a keystroke from launch
palupdated 2026-10-27ProductivityComes with pal
Comes with pal, so a new install already has it; the button finds it in pal again if you removed it. This page can't see what your pal has installed.





What it does
Launch any installed app by name, with its own icon. On macOS, running apps can be quit or hidden and the System Settings panes are rows too; on Linux, an app's own actions are one key away.
- Every app in your Applications folders on macOS, every
.desktopentry and flatpak on Linux - Found by name or bundle id, so
Chromeorcom.apple.both work - Running apps are tagged, with Quit (
cmd+q) and Hide (cmd+h) - System Settings panes as rows on macOS, found by words like
dark modeordns - On Linux, an app's own actions (
New Private Window) as secondary actions cmd+ishows where it lives, its version, bundle id and processes
Palettes 1
-
Applications
appslistEverything that launches.
- ↵Open the app
- ⌘QQuit a running app
- ⌘HHide a running app
- ⌘⇧RReveal in Finder
- ⌘CCopy the path (a pane: its URL)
- ⌘⇧CCopy the bundle id
Actions
- Open↵
- QuitAsks the app through AppleScript, so it may ask you to save; a toast when it is not running.⌘Q
- HideThrough System Events.⌘H
- Reveal in Finder⌘⇧R
- Copy path⌘C
- Copy bundle id⌘⇧C
- Copy URLOn a System Settings pane: its x-apple.systempreferences: link.⌘C
Settings
Extension, [extensions.apps]
foldersScanned in addition to the system's application folders.
Defaults shown. Change them in pal's settings window or in the config file.
The README
Everything Applications does, key by key, from the extension's own README.md
Applications
Installed applications with their own icons, one indexed palette. The row
is the app's name (with the folder as its subtitle only when it is not
/Applications or /System/Applications), and Enter launches it. The bundle id and
the display name are keywords, so com.apple. or anthropic finds the
app and Chrome finds Google Chrome. Rows are sorted by name; the palette
is indexed, so every app is a root result and ⌘R rescans.
A running app carries a green Running tag as of the last listing (the
tag is refreshed by ⌘R, a settings change, and after a Quit or Hide from
the panel) and gains Quit and Hide at the top of its actions; an app that
is not running has them last, and both answer "is not running" as a toast
rather than launching it.
Where the apps come from
- macOS:
.appbundles in/Applications,/System/Applicationsand~/Applications, one level deep so the Utilities folders come along. The same app (bundle id) in two roots is one row, the first root's; apps that only share a name stay apart, a subfolder one subtitled with its folder.CFBundleIdentifier,CFBundleDisplayNameandCFBundleNameare read from the XMLInfo.plist; localised names are not. Enter opens the bundle path with the system opener. - macOS, System Settings panes: 35 common panes (Keyboard, Displays,
Privacy & Security, Wi-Fi, Battery, ...) are rows with the System
Settings icon and
System Settingsas subtitle;settings,preferencesand a few words per pane (dark mode,dns,airdrop) are keywords. Enter opens the pane through itsx-apple.systempreferences:url. A curated table of macOS 13+ ids, not a scan. - Linux:
.desktopentries from every XDG data dir (~/.local/share,$XDG_DATA_DIRS, the flatpak exports), the first directory winning a desktop id. Entries withNoDisplay,Hidden, aTryExecthat is not installed, or anOnlyShowIn/NotShowInthat excludes$XDG_CURRENT_DESKTOPare skipped.Comment(elseGenericName) is the subtitle;GenericName,Keywords, the binary and the desktop id are keywords. Enter launches throughgio launch, elsegtk-launch, else the parsedExec;Terminal=trueentries run in$TERMINAL, else the first of kitty, foot, xterm on PATH. A[Desktop Action ...]group ("New Window", "New Private Window") is a secondary action run from its ownExec.
Keyboard
| keys | action |
|---|---|
enter |
Open (a pane: open it in System Settings) |
cmd+q |
Quit: asks the app through AppleScript, so it may ask you to save; SIGTERM for a bundle Launch Services does not know |
cmd+h |
Hide, through System Events |
cmd+shift+r |
Reveal in Finder |
cmd+c |
Copy path (a pane: Copy URL) |
cmd+shift+c |
Copy bundle id |
cmd+r |
Rescan the application folders |
cmd+i |
Details: the folder over the name, running and the version as chips, the bundle id and processes (on Linux the desktop file's folder, its command and its actions) |
On Linux the actions are Open, the entry's own desktop actions, and Copy path.
Setup
Nothing to install. The first Quit or Hide on macOS shows the Automation prompt once: pal asks the app (or System Events) through Apple events, and macOS wants your say before it lets a process control another.
Settings, [extensions.apps]:
| key | type | default | what |
|---|---|---|---|
folders |
list of paths | [] |
Extra folders scanned in addition to the system's application folders. ~ is expanded. A change rescans. |
What it does not do
- Localised app names (
InfoPlist.strings): they are binary plists in most system apps and would cost a spawn per app, so only the bundle's own names are keywords. - Panes beyond the curated 35:
/System/Library/ExtensionKitmixes panes with intents and widgets and carries no display names, so it is not scanned. - Quit does not force: an app that puts up a save dialog keeps it, and the dialog is yours to finish.
- Force quit, uninstall, or a per-app "open new window": use the Windows palette for what is open, the Processes palette to kill.
Platforms
macOS and Linux. The System Settings panes, Quit, Hide and Reveal in Finder are macOS; the desktop actions are Linux.