Windows
Every open window with its app's icon, grouped by app; Enter switches to it.
palv0.1.0Productivitybundled
Ships inside pal. Installing puts an editable copy ahead of the bundled one.




What it does
Windows
Every open window with its app's icon, in the desktop's order (front to
back on macOS, most recently focused first on Hyprland), never ranked by
use. A live palette: the list runs on every show, so window titles are
root results. Rows are grouped by app, a section per app in the order the
front window of each gives; the app name is the subtitle and a keyword,
the bundle id or window class a keyword too. A minimised window carries a
minimized tag, one on another workspace or space ws 3 or other space, and the monitor when known.
Enter focuses: the panel hides, then the window comes up, restored if it was minimised. The other actions close or minimise, one window or the app's whole set, without leaving the palette, which lists again so the row is seen to go.
Keyboard
| keys | action |
|---|---|
enter |
Focus: hides the panel, then raises the window |
cmd+w |
Close the window; the palette stays open and lists again |
cmd+m |
Minimize; not offered on a window that already is |
cmd+h |
Hide app (macOS): System Events hides the window's process |
cmd+shift+m |
Minimize all of this app; on an app with more than one window |
cmd+shift+w |
Close all of this app, after a confirm; on an app with more than one window |
A focus, close or minimise that fails keeps the panel open with a toast carrying the reason ("needs Accessibility permission", "the window is gone").
Setup
Nothing to install on macOS. The list comes from CoreGraphics merged with the Accessibility API for the parts CoreGraphics does not give (another app's window title, whether it is minimised). Without the Accessibility permission the list still works (titles only when Screen Recording allows, else the app name), focusing falls back to activating the app, and close and minimise fail with "needs Accessibility permission"; Focus shows the same one-time prompt and toast as paste when the permission is missing. Hide app goes through System Events, which asks for Automation once.
On Linux the backend is detected, not configured: Hyprland when hyprctl
and an instance signature exist (the newest $XDG_RUNTIME_DIR/hypr/* when
the variable is missing, so a service-started pal works); Sway on
SWAYSOCK; X11 on DISPLAY plus wmctrl. Hyprland has no minimise, so
pal parks the window on the special:minimized workspace and Focus brings
it back; Sway minimise is move scratchpad; X11 minimise needs xdotool.
With none of the three the palette reports "no Hyprland, Sway or X11
(wmctrl) session".
Settings, [extensions.windows]:
| key | type | default | what |
|---|---|---|---|
include_minimized |
bool | true |
List minimised windows too (focusing one restores it). |
What it does not do
- No ranking: the order is the desktop's, so the window you used most is not first. Type part of its title instead.
- No moving or resizing: that is Window Management, which has Apply to… for a window picked from this list's rows.
- Hide app is macOS only; on Linux the action is not offered.
- No window previews: the row has the app's icon, not a thumbnail.
Platforms
macOS (CoreGraphics and the Accessibility API) and Linux (Hyprland, Sway,
or X11 with wmctrl).
Palettes 1
-
Windows
windowsliveWhat is open right now, front to back.
- ↵Focus the window
- ⌘WClose it
- ⌘MMinimize it
- ⌘HHide the app
Actions
- FocusHides the panel, then raises the window, restoring it if minimised.↵
- CloseThe palette stays open and lists again.⌘W
- MinimizeNot offered on a window that already is.⌘M
- Hide appmacOS: hides the window's process through System Events.⌘H
- Minimize all of this appOn an app with more than one window.⌘⇧M
- Close all of this appAsks first.⌘⇧W
Settings
Extension, [extensions.windows]
include_minimizedFocusing a minimised window restores it.
Defaults shown. Change them in pal's settings window or in the config file.