Files
galaxy/app/DockTilePlugin
Ryan WardandClaude Opus 4.6 a75bc99852 Add LSP completion/code actions/rename/signature help infrastructure, fix TypeScript LSP, rebrand app identifiers
- LSP Layer: Add completion, completion_resolve, signature_help, code_action,
  prepare_rename, and rename methods to TextDocumentService and LspServerModel
- Types: Add CompletionItemData, CompletionResult, SignatureHelpResult,
  CodeActionData, PrepareRenameResult, RenameResult, FileEdits
- Feature Flags: Add LspCompletion, LspCodeActions, LspRename, LspSignatureHelp
- Client Capabilities: Declare completion, signature help, rename, and code
  action capabilities so servers advertise these features
- Completion UI: Add completion state machine with debounced triggers, fuzzy
  filtering, positioned overlay menu, and edit application
- TypeScript LSP: Switch to npx for running typescript-language-server (handles
  download/caching automatically, survives node version switches)
- PATH Resolution: Add interactive shell PATH fallback for LSP server discovery
  and spawning (fixes nvm/fnm/volta users)
- App Identity: Rebrand from com.samsung.Galaxy/dev.warp.WarpOss to
  samsung.galaxy.GalaxyOss across bundle IDs, URL schemes, and plists
- Add scripts/reset-galaxy.sh for clean slate testing
- Galaxy status messages and other in-progress work

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-18 15:57:47 -05:00
..
2026-04-28 08:43:33 -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.