Skip to content

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
  • 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
  • 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+ becomes Cmd+

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)
  • 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

FeatureWindowsmacOSLinux
Native menu barWindowScreen topWindow
Context menusYesYesYes
File dialogsYesYesYes
Folder dialogsYesYesYes
Dock menuNoYesNo
Custom title barChromelessTransparentChromeless
Dev tools (F12)YesYesYes
Window state persistenceYesYesYes

Accelerator Keys

Hermes automatically translates accelerators across platforms:

You WriteWindowsmacOSLinux
Ctrl+NCtrl+N⌘NCtrl+N
Ctrl+Shift+SCtrl+Shift+S⌘⇧SCtrl+Shift+S
Alt+F4Alt+F4⌥F4Alt+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+H hides the app)

Linux

  • WebKitGTK version differences between distros may cause rendering variations
  • Wayland support depends on GTK version and compositor

Released under the Elastic License 2.0