Skip to content

Deskmap 0.6.0

Latest

Choose a tag to compare

@cnkndmr cnkndmr released this 26 Oct 16:13
· 7 commits to main since this release

0.5.0 (30 September 2026) was the first release with a download. 0.6.0
collects everything since: desktop names that follow their desktop, a second
external monitor with its own role, pin groups, your own layouts, multi-step undo,
automatic backups, a scriptable CLI, and a website. Nothing here needs a new permission; the
Accessibility permission you already granted keeps working as long as the app
is signed the same way (see Upgrading).

Install

  1. Download Deskmap-0.6.0.zip (or the .dmg) below, unzip it and drag Deskmap.app to /Applications.
  2. The app is not notarized, so macOS blocks the first launch. Open it once, then go to System Settings › Privacy & Security and click Open Anyway.
  3. Click Grant Access and turn on Deskmap under Accessibility.

Universal build (Apple silicon and Intel), macOS 13 or later. After updating, macOS asks for the Accessibility permission again. Desktop moves use a private macOS API, so a macOS update may break them until Deskmap catches up.

Highlights

  • A second external monitor keeps its own layout. Each monitor is known by
    its display UUID, not by where it stands, so swapping cables or display
    arrangement no longer moves pins to the other monitor.
  • Desktop names belong to a desktop, not a number. A name follows its
    desktop across displays, reordering and plug/unplug; pins can target a name.
  • Pin groups: collect pins under a name and move, open or close them as
    one.
  • Your own layouts in Settings › Layouts, drawn on the grid and named.
  • Undo as many steps as you like (⌘Z / ⇧⌘Z), with a change history.
  • Automatic backups of profiles, pins and names, with restore in Settings.
  • deskmap command line tool, status.json and deskmap:// commands for
    scripts and agents.
  • Open or close a whole workspace from the map with one click.
  • Desktop moves start off on macOS 15 and 26.0–26.3 until you choose
    Try Anyway, because they are not verified there yet.

Upgrading from 0.5.0

Permissions. No new permission. Accessibility is still the only one. macOS
ties the grant to the code signature: with the same ad-hoc signing as 0.5.0 it
is asked again after each update (as before); if 0.6.0 is the first build
signed with a Developer ID, it is asked once more and then stays.

First launch. Unless the release is notarized, macOS blocks the first
launch as with 0.5.0: open the app once, then System Settings › Privacy &
Security › Open Anyway. See the download page
or the README.

Data files. rules.json moves from schema 4/5 to schema 6 on first
launch. The old files are saved to Backups/pre-migration/ (never pruned);
names are matched to desktops by where their pinned windows are; wrongly
created deleted-desktop rows are removed and their pins restored. A card
reports the result and offers Remove N empty desktops and Undo
upgrade
. Nothing is moved or removed during the upgrade. An older Deskmap
opens the new file read-only
, so keep 0.5.0 around only if you want to go
back, and go back through the pre-migration copy. Runtime desktop facts moved
to desktop-state.json. Profile export is version 5 (pin groups included);
version 3 and 4 files still import. rules.json gets an optional displayRoles field (older versions
ignore it).

New settings.

Setting Where Default What it does
Try Anyway (desktop moves) card in the main window, status.json desktopMoves off on macOS 15.x and 26.0–26.3, on elsewhere turns desktop moves on; remembered
Backups Settings › Backups on, automatic hourly / daily / weekly copies, restore
Monitor roles second monitor card menu, deskmap screen-role learned from the first monitor which physical monitor is Extra monitor / Monitor 2

Behaviour changes to expect.

  • A new monitor asks once. After your first monitor has been learned, a
    monitor Deskmap has not seen in that role is on hold: the card says layout
    on hold
    and you choose Use as Extra monitor. Before 0.6.0 the layout went
    there at once.
  • Windows keep their rule. A window stays with the pin that placed it even
    when its title later matches another pin; only a strictly more specific pin
    may still take it. Before 0.6.0 the newest matching title won.
  • Desktop moves card. On macOS 15.x and 26.0–26.3 the main window opens
    with an orange card and desktop moves off until you click Try Anyway.
  • Names are per profile and per desktop. A name no longer has a number; a
    new profile starts without names; plugging or unplugging a monitor applies
    the setup's plan and may create desktops or remove empty leftover ones
    beyond the plan.
  • Undo is no longer a 10-second link; ⌘Z steps back through this session's
    changes, URL/CLI changes included.
  • Removing a desktop with windows asks first.
  • profile-backup.sh is gone; backups are built in.

Full list: release notes · CHANGELOG.

SHA-256 of the zip: 54d9979424176235bac92ffcd183ff23c90c526f5f14d31247f3ad5b3c4cec62

This is a vibe-coded project: written by AI coding agents in Claude Code, directed by me.