Files
galaxy/app/DockTilePlugin
Ryan WardandClaude Opus 4.6 ccc67e6a33 Rebrand Warp to Galaxy v1.1.0
- Rename all UI-facing "Warp" references to "Galaxy"
- Rename "Warpify" to "Wormhole" throughout the UI
- Replace app icons with 5 new Galaxy-branded variants
- Update About page to show selected app icon dynamically
- Rephrase Privacy page for Bedrock context
- Remove "Fallback to Warp server" toggle from Bedrock settings
- Widen model selector dropdowns in profile editor (480px)
- Update TERM_PROGRAM to "GalaxyTerminal"
- Bump version to 1.1.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-19 11:21:44 -05:00
..
2026-05-19 11:21:44 -05:00
2026-04-28 08:43:33 -05:00
2026-04-28 08:43:33 -05:00

Implements a dock tile plugin for Warp.

The plugin is used to update the dock tile icon when the app icon changes and allows for app icon changes to be persisted across app restarts. Without the plugin, the icon state reverts to the default upon the first time the app quits (although for some reason after the first quit the icon state is preserved).

The plugin is implemented in Objective-C and is built using the clang compiler with the -bundle flag. See the Makefile for more details.

The plugin is installed into the app bundle at Contents/PlugIns/WarpDockTilePlugin.docktileplugin and is bundled using the script/mac/bundle script. It is built as a universal binary for both arm64 and x86_64.

The plugin is a simple Objective-C program that listens for notifications from the mainapplication when the app icon changes. When it receives a notification, it updates the dock tile icon.

See Mac documentation for more details: https://developer.apple.com/documentation/appkit/nsdocktileplugin?language=objc

Note, that during development, MacOS is not great about reloading the plugin when changes are made.

The suggested workflow after rebuilding is to

  1. Remove the icon from the dock.
  2. Run killall Dock && killall SystemUIServer

Also, there is a sample plugin at MacDockTileSample that is helpful for installing and iterating on.

Another tip is to add file based debug logs rather than using NSLog, as it's impossible to find where NSLogs are being written to.