Skip to content

Releases: itscool/perch

Perch 2.0.265

Choose a tag to compare

@itscool itscool released this 18 Sep 22:46

Perch 2.0.265 — What’s new

  • Presets that move a screen between Macs: a screen left showing another Mac is now switched back reliably. The Mac that can reach it finds the monitor among its own displays at that moment, so a preset no longer half-applies and leaves keyboard and mouse sharing off.
  • Keyboard and mouse sharing: the pointer crosses between Macs and lands where you crossed, and the cursor hides and reappears without flicker. Update every Mac on your desk.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.262

Choose a tag to compare

@itscool itscool released this 18 Sep 22:30

Perch 2.0.262 — What’s new

  • Keyboard and mouse sharing: the pointer now crosses between Macs and stays there. A screen seen through an adapter, or renamed by macOS after a replug, no longer makes the other Mac hand control straight back.
  • Where the pointer lands: crossing onto another Mac’s screen continues from where you crossed, instead of landing in the middle of the screen.
  • No flicker: the pointer hides as soon as it leaves a Mac and appears on the next one without flashing in the middle first.
  • Screens that stay recognised: Perch recognises each monitor by its own serial number, so it keeps the right screen through replugging, input changes and adapters. Update every Mac on your desk.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.251

Choose a tag to compare

@itscool itscool released this 18 Sep 21:02

Perch 2.0.251 — What’s new

  • LG monitors: LG 27UP850-W and 27UL850-W screens are recognised by their own hardware identity and set up with input codes tested on real monitors, so switching them needs no hand editing.
  • Reliable switching: a switch no longer fails because Perch was busy tidying its own display records, and a monitor that cannot report its input is sent the command once more, because some screens ignore the first one.
  • Screens that cannot be reached: when no Mac is showing on a screen, Perch says so and tells you to choose the input on the monitor itself, instead of reporting a failed switch.
  • Keyboard and mouse sharing: Perch now finds which display a cable shows by itself, and tells you plainly what is stopping sharing. If two Macs share the keyboard and mouse differently, Perch says so while the desk and its presets keep working.
  • Why your screen locked: each screen lock is logged with how long the Mac had been idle and what Perch was doing about it.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.225

Choose a tag to compare

@itscool itscool released this 18 Sep 17:00

Perch 2.0.225 — What’s new

  • Preset switching: a preset could stay on Switching with nothing you could do, when one Mac handed a screen to another Mac that could not switch it and never answered. Perch now only asks a Mac whose cable is matched, always gets an answer, and names the Mac or screen it gave up on.
  • Desk pointer: control now lands where you crossed in both directions. Before, moving back the other way still put the pointer in the middle of the screen first.
  • Hidden pointer: while the pointer is on another Mac, this Mac’s cursor is hidden as well as parked, so it no longer looks like it is hovering over what is under it.
  • Desk wires: pulling a wire out of an input shows the wire in your hand, and the same input’s wires in your other presets stay on screen while you move one.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.221

Choose a tag to compare

@itscool itscool released this 18 Sep 16:04

Perch 2.0.221 — What’s new

  • Desk pointer: crossing to another Mac’s screen no longer jumps the pointer to the middle of that screen first. It carries on from the edge you crossed. Update every Mac on your desk.
  • Desk wires: dragging a connected input now changes the preset you are editing. The cable moves, and the presets that used it follow, only when that computer is not already connected to the input you drop it on.
  • Desk canvas: the preset you are editing is the drawn teal line, and what is on your displays now is a green glow behind it, so you can see both at once.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.218

Choose a tag to compare

@itscool itscool released this 17 Sep 09:28

Perch 2.0.218 — What’s new

  • Desk pointer: every Mac on your desk now moves one shared pointer. Any keyboard or mouse on any Mac moves it, control moves over faster, and using a mouse on another Mac no longer pulls control away. Update every Mac on your desk.
  • Desk wires: drag from either end to draw a wire. Drag a connected input onto another input to move its wire, or into empty space to remove it.
  • Start over: clear a single preset with its Clear button, or start the whole desk over with Reset desk. Paired Macs stay paired.
  • Screen inputs: changing a screen’s input profile replaces its inputs instead of adding a second copy of a port, and Perch won’t make a change that breaks an input you’re using.
  • Desk canvas: screen outlines no longer get cut off.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.205

Choose a tag to compare

@itscool itscool released this 17 Sep 04:22

Perch 2.0.205 — What’s new

  • Desk pointer: when control moves to another Mac, the pointer no longer stays behind on the Mac you left, and it carries on from where it was instead of jumping, including when you pick up the other Mac’s mouse. Update every Mac on your desk to get the full fix.
  • Desk sharing: Perch only takes over the keyboard and mouse when your screens sit next to each other in Desk. If they don’t, each Mac keeps its own pointer and Desk tells you why.
  • Permissions: when Perch’s signature changes, it removes the old Accessibility and Input Monitoring entries that no longer work, so you approve Perch once without a lookalike entry left behind.
  • Prevent idle lock: now says how long your Mac stays unlocked.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.204

Choose a tag to compare

@itscool itscool released this 15 Sep 19:32

Perch 2.0.204 — What’s new

  • Desk: a redesigned Desk page, steadier connections between Macs, and keyboard and mouse sharing that follows your hand. Update every Mac on your desk to this version; older versions are refused with a clear message.
  • Quit: quitting now turns Perch off. If something is on, Perch lists what stops first, and blocked agents stay blocked. Quit also works while a Settings dialog is open.
  • Closed-lid mode: no longer switches itself off, and on power it comes back by itself if it ever stops. The lid helper update asks for your password once.
  • Prevent idle lock: a new Sleep option keeps your Mac from locking when idle, without moving the pointer.
  • Hotkeys: a conflict names the feature that already uses the shortcut, Desk shortcut problems show on the shortcut they affect, and holding a key no longer repeats a panic or preset action.
  • Background helpers: repair themselves again after a failed restart, without asking you to quit and reopen Perch.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.151

Choose a tag to compare

@itscool itscool released this 14 Sep 07:17

Perch 2.0.151 — What’s new

  • Release history: Settings → Updates now includes the complete versioned release history, not only the changes since the last update.
  • Desk graph: map each of three presets directly from numbered computer ports to physical monitor inputs. Selected and active routes are visually distinct, and duplicate monitor preset controls are gone.
  • Desk clarity: monitor ports retain their physical cable ownership, unassigned inputs remain usable with an explicit warning, and computer cards open their details when clicked.
  • Reliability: accepted monitor switches reconcile the desktop safely when hardware readback is unavailable; fresh contradictory reads still cancel the fallback.
  • Release quality: signed Sparkle packaging, dependency repair checks and the guarded restart path are included.

Perch requires Apple silicon and macOS 26 or later. See Settings → Updates → Release history for the complete history of Perch releases.

Perch 2.0.150

Choose a tag to compare

@itscool itscool released this 14 Sep 07:10

Perch release history

2.0.150 — Current

  • Added a complete Release history page under Settings → Updates.
  • Sparkle’s update dialog now presents concise version-specific “What’s new” notes.
  • Includes the direct Desk preset graph, signed packaging and dependency repair improvements.

2.0.149 — Desk graph

  • Direct Desk preset graph with three numbered preset connectors per computer.
  • Preset routes can be assigned by dragging to physical monitor inputs or using the connector menu.
  • Selected-for-editing and active-now routing states are shown separately.
  • Duplicate monitor preset controls were removed; physical cable ownership stays independent.

2.0.96 — Release foundation

  • Settings and Setup were consolidated around clear readiness, recovery and reset flows.
  • Sparkle update identity, guarded restart handoff and signed release packaging were added.
  • Desk gained monitor groups, presets, monitor control paths, desktop reconciliation and shared input foundations.
  • Lid activity logging, countdown recovery and helper maintenance became automatic and bounded.

1.2.87 — Local preview

  • Persistent Settings navigation, multi-monitor Desk setup, monitor input profiles and menu appearance controls.
  • Supervised closed-lid sleep protection with a bounded undocking grace period.
  • Reusable setup checks and recovery paths for permissions, helpers and keyboard layouts.

1.1 — Local feature release

  • Agent Kill Switch, keyboard/navigation support, background helpers and system controls.
  • About, setup guidance and the first reusable recovery actions.

1.0 — Initial release

  • Perch menu-bar controls for process safety, keyboard behavior, display/audio choices and supervised sleep behavior.

Detailed 2.0 development history

Settings fits full sidebar labels and distinguishes neutral checking progress from actionable warnings. Shortcut editors share the Desk control layout; repeated feedback uses content-sized status areas that grow for errors and shrink afterward.

Hotkeys removes the emergency editor’s fixed empty status area and places countdown shortcuts side by side. Actual errors grow the editor as needed. Recognition shows pending matching-rule changes beneath Import, with explicit Apply confirmation and inline success feedback.

Menu appearance adds normalized fade distance (0–1), aligned area selectors and a single grey-highlight toggle/shade row. Titles begins with spacing for colored sections or Show System title for System; System no longer adds a title gap. Ribbon uses short 12% edge fades; Horizon uses a broad 65% right fade. Perch original, Quiet, Signal, Soft tiles and Outline keep their compositions in both themes.

Keyboard layouts now match hardware model and layout metadata independently of editable device names. Renamed MX Keys keyboards retain bundled and learned navigation mappings in both setup and the input helper. Permission setup keeps its direct drag/copy target and removes redundant Finder-reveal actions.

Restart handoff isolates its claim connection from status polling and fences delayed pre-restart responses before adopting the session.

Background-helper recovery runs automatically after a sustained outage; cancelled or failed authorization is not repeatedly requested. Background setup reports progress instead of offering generic repair and duplicate privacy-reset controls. Helper-file protection has a Security page. Start at login opens macOS Login Items directly when registration fails or needs approval. The reset destination is now named Reset Settings.

Saved lid protection resumes automatically once setup is ready, and after opening the lid or reconnecting power following a stopped session. Active countdowns and battery deadlines are preserved; an expired session cannot repeatedly restart while closed on battery. Setup no longer has a Resume button or an enabled update action for a current helper. Installed collector configuration updates are offered automatically after lid maintenance; optional new components remain optional. Automatic release checks default on, preserving existing user choices.

On launch, Perch brings an outdated installed lid helper into Setup and requests administrator authorization automatically. Cancellation or failure leaves a retry action without repeatedly prompting in the same run. Guarded replacement waits for both launchd unloading and exact old-helper process exit before transferring ownership.

Lid-helper updates can hold sleep protection through replacement with the lid closed. A separate update guard preserves existing countdown/battery deadlines and ends the temporary allowance after handoff, failure or a fixed 60-second limit. Recovery survives replacement and reboot; unrelated system overrides are not taken over. Administrator authorization is still required.

App settings removes repeated login, About, Setup and Reset controls. Its CPU preference and always-available restart remain; the main-menu restart continues to appear for a changed installed app.

Desk desktop handoff now uses fresh monitor input evidence to remove a screen from the losing Mac’s desktop, with saved configuration and independent guardian recovery. Unknown inputs, offline destinations, mirrored targets and the last usable screen remain connected. Requires the matching background helper. LG monitors that cannot report their selected input remain unconfirmed and connected.

Keyboards now has one page for device readiness and layout learning, with App exceptions beneath it. Repeated modifier, function-key and navigation switches are removed from Settings and remain in the Perch menu. Lid activity replaces the redundant Keep awake category; stopped-session recovery stays in Setup → Lid protection. Helper-update messages explain the guarded replacement and administrator authorization.

Monitor reads now reject LG’s alternate write channel and permit only the specific standard-channel queries used by Perch. This prevents a supposed input read from issuing a vendor command with unrelated hardware effects. LG alternate input switching remains available, but unreadable current input stays unconfirmed.

Setup sidebar readiness badges stay inside the visible sidebar at narrow widths and with either scrollbar style. Labels leave room for the status icon.

When a monitor switch cannot provide current-input evidence, Desk now says that
the local display remains connected for safety and names the affected screen so
the user knows exactly what to check before retrying.

Desk computer details now include Connection activity with recent authenticated connections, closure causes and durations. Unexpected losses remain available for diagnosis after reconnecting; expected local shutdowns and redundant routes are identified separately.

Monitor detection recognizes the UP850K model token reported by LG capabilities, accepts usable ports beside a reserved zero entry, and preserves the correct protocol for those port codes. A model report that contradicts a firmware-family lookup prevents automatic use of the conflicting profile. Exact reported 27UP850-W names now reach the existing profile matcher. Unreadable monitors and unverified K-W input codes still need investigation.

Active lid protection now reports setup readiness instead of an impossible-to-resolve Unverified status. Current helper failures and queued updates still need attention; stale helper errors do not masquerade as current observations. The macOS forced-sleep limitation remains explicit. Idle sharing similarly distinguishes readiness from active control.

Desk input recovery names the disconnected coordinator or the actual conflicting setup. Healthy replies clear old remote failures, expired readiness is discarded, and Retry desk connection touches only missing trusted links. Refresh sharing status does not start control or change permissions. Monitor failures name the affected screens and offer per-screen review, read-only input checks through paired computers, and a separate retry of the requested input. Fresh reads can resolve prior failures; old-configuration or pre-attempt reads cannot.

Keyboard and mouse computer-button following share illustrated examples, three short setup steps, per-Mac matching and a visible control destination. Mouse attachment observations use passive device properties, while ambiguous devices remain unmatched. Physical receiver/Bluetooth behavior still needs hardware acceptance. Preset warnings and In use now share the existing count/status line so cards keep their height.

Desk inspector content is measured at its actual width, fixing the clipped Keyboard & mouse heading and keeping wrapped explanations and final actions inside the scrolling document. Narrowing, expanding and collapsing preserve usable scrolling.

Desk connectors show every assigned preset number separately from the editing highlight. Redundant selection circles are removed, and monitor summaries combine preset, input and computer on one line. A separate In use badge marks the confirmed preset. Preset cards select across their surface, with hover feedback on cards, Play and rename controls. Monitor names are edited using a pencil on the monitor itself; the inspector keeps a read-only heading.

Setup sidebar status indicators now lay out inside their actual row bounds. AppKit's cell resizing previously pushed correctly populated icons beyond the visible edge. Light/Dark and resize checks cover each readiness state without rebuilding rows or changing selection.

Keep awake and other task pages grow to contain all their rows, fixing enabled Lid activity and setup buttons drawn outside their clickable bounds. Resume shows when protection is updating or running; the saved lid choice stays separate from the current session.

Keyboard and mouse sharing starts directly in Desk, with a local session switch, per-computer readiness and a control action for the selected screen and editing preset. Input options hol...

Read more