Platform Notes
Hermes aims to provide consistent behavior across platforms, but some features work differently due to platform constraints.
Windows
WebView
- Uses WebView2 (Chromium-based)
- WebView2 Runtime auto-installs on Windows 10 if not present
- Included by default in Windows 11
Menus
- Full native menu bar support
- Accelerators appear in menu items
- Context menus appear at cursor position
Custom Title Bar
- Enables chromeless mode (no native title bar)
- You must implement your own window controls (close, minimize, maximize)
Dialogs
- Native Windows file dialogs
- Supports filters, multi-select, and folder selection
macOS
WebView
- Uses WKWebView (Safari/WebKit)
- Native to macOS, no additional runtime required
Menus
- Native NSMenu integration
- Menus appear in the macOS menu bar (top of screen, not in window)
- Accelerators show with macOS symbols (⌘, ⌥, ⇧, ⌃)
- Automatic accelerator translation:
Ctrl+becomesCmd+
Custom Title Bar
- Uses transparent title bar with native traffic light buttons
- Content extends under the title bar
- Add padding to your content to avoid overlap with traffic lights
Dock Menu
- Hermes supports adding items to the dock menu
- Access via
HermesApplication.DockMenu - Only available on macOS (null on other platforms)
Dialogs
- Native NSOpenPanel/NSSavePanel
- Supports filters, multi-select, and folder selection
Linux
WebView
- Uses WebKitGTK
- Install:
sudo apt install libwebkit2gtk-4.1-0(Ubuntu/Debian)
Menus
- GTK menu bar integration
- Menus appear in the window (traditional menu bar)
- Full accelerator support
Custom Title Bar
- Enables chromeless mode
- Behavior may vary by desktop environment (GNOME, KDE, etc.)
Dialogs
- GTK file chooser dialogs
- Appearance matches your GTK theme
Feature Matrix
| Feature | Windows | macOS | Linux |
|---|---|---|---|
| Native menu bar | Window | Screen top | Window |
| Context menus | Yes | Yes | Yes |
| File dialogs | Yes | Yes | Yes |
| Folder dialogs | Yes | Yes | Yes |
| Dock menu | No | Yes | No |
| Custom title bar | Chromeless | Transparent | Chromeless |
| Dev tools (F12) | Yes | Yes | Yes |
| Window state persistence | Yes | Yes | Yes |
Accelerator Keys
Hermes automatically translates accelerators across platforms:
| You Write | Windows | macOS | Linux |
|---|---|---|---|
Ctrl+N | Ctrl+N | ⌘N | Ctrl+N |
Ctrl+Shift+S | Ctrl+Shift+S | ⌘⇧S | Ctrl+Shift+S |
Alt+F4 | Alt+F4 | ⌥F4 | Alt+F4 |
TIP
Use Ctrl+ in your code. Hermes converts it to Cmd+ on macOS automatically.
Known Limitations
Windows
- WebView2 requires Edge Runtime (auto-installed, but may fail on restricted systems)
macOS
- Some accelerators conflict with system shortcuts (e.g.,
Cmd+Hhides the app)
Linux
- WebKitGTK version differences between distros may cause rendering variations
- Wayland support depends on GTK version and compositor
