Windows compatibility pass (beta target)
External editor via cmd/start + exe picker; Permissions hidden for Windows-local (chmod only flips read-only there); Explorer/Recycle Bin wording; Ctrl vs Cmd shortcut labels; separator-aware path joins + drive-root detection; drives list in the panel source picker; icon.ico + colored tray icon; icacls ACL on connections.json; README Windows (beta) section with upstream known issues and a smoke-test checklist. Runtime paths pending first boot on a real Windows machine. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -173,15 +173,33 @@ Be careful when two panels reach the same data through different mount points.
|
||||
|
||||
## Portability notes
|
||||
|
||||
The codebase is platform-neutral except for two seams, both macOS-only today:
|
||||
Platform seams are isolated behind `process.platform` / `PLATFORM` branches
|
||||
marked with `PORTABILITY:` comments: editor launch (`open` / `cmd /c start` /
|
||||
`xdg-open`), app pickers, owner/group lookups, tray images, window chrome,
|
||||
shell-integration wording, drive listing, and the connections-file ACL. The
|
||||
application menu ([src/bun/menu.ts](src/bun/menu.ts)) is macOS-only for now;
|
||||
the in-app UI covers every menu action.
|
||||
|
||||
- **External editor launch** (`launchEditor` in [src/bun/edits.ts](src/bun/edits.ts)):
|
||||
uses macOS `open [-a app] file`. A Windows port should use
|
||||
`cmd /c start "" [app] file`; Linux `xdg-open file` (or invoke the configured
|
||||
editor binary directly). The `.app` picker in the `pickEditorApp` handler
|
||||
needs the equivalent executable picker per platform.
|
||||
- **Application menu** ([src/bun/menu.ts](src/bun/menu.ts)): electrobun menus
|
||||
are macOS-only; the in-app UI covers every menu action.
|
||||
## Windows (beta)
|
||||
|
||||
Windows 11+ x64 is supported as a **beta** target (win-arm64 deferred). All
|
||||
electrobun APIs the app uses are implemented on Windows; known issues are
|
||||
upstream:
|
||||
|
||||
- **HiDPI blur** ([electrobun#324](https://github.com/blackboardsh/electrobun/issues/324)):
|
||||
WebView2 renders at 1x on scaled displays until upstream adds DPI awareness.
|
||||
- **Notifications** use legacy balloon style, not Windows toast.
|
||||
- **Unsigned binaries**: both the Setup.exe installer and the portable exe
|
||||
trigger SmartScreen/Mark-of-the-Web warnings on first run. No Start Menu
|
||||
entry or uninstaller (installer unpacks to `%LOCALAPPDATA%`).
|
||||
- `connections.json` is protected with an `icacls` current-user ACL instead of
|
||||
POSIX 0600 (which is meaningless on Windows).
|
||||
|
||||
First-Windows-boot smoke test: drives dropdown lists C:\ etc.; navigate to a
|
||||
drive root ('..' disappears); local↔remote transfers; external editor launch
|
||||
(`cmd /c start`) and the .exe picker; Show in Explorer / Recycle Bin; tray icon
|
||||
renders colored; Permissions absent on local panels; Ctrl+labels in tooltips;
|
||||
portable zip runs from any folder.
|
||||
|
||||
## Known issues
|
||||
|
||||
|
||||
Reference in New Issue
Block a user