Skip to content

Electron development ​

Start the app ​

  1. Start Vite in the first terminal:

    bash
    npm run dev
  2. Start Electron in a second terminal:

    bash
    npm run electron:dev

The script sets LEYLINE_DEV_SERVER_URL=http://localhost:5173. Electron loads that URL instead of starting the packaged static server.

Restart Electron after changes to electron/main.js or the packaged server. Restart Vite after backend or dependency updates, including @elune/embedded. Vite applies normal frontend changes while it continues to run.

Electron development uses Vite's backend for tracing. A packaged app includes its own library and worker. Rebuild and restart that app to apply dependency or backend updates.

Use desktop shortcuts ​

ShortcutAction
Command+NCreate a session in the current window.
Command+Shift+NOpen the home workspace in a new window.
Command+WClose the current window.
Command+EShow or hide the sidebar.
Command+,Open global Settings.
Command+Shift+EShow or hide Session details for the selected session.
Command+Shift+MShow or hide Memory.
Command+Shift+TShow or hide the terminal.
EscapeClose open surfaces first. With none open, stop the active run.

Command+N also accepts Control+N in the Electron input handler. Command+Shift+N does not create a pi session. Command+Shift+E does nothing on Home or while a blocking overlay is open.

The native Settings… item uses CommandOrControl+,: Command+, on macOS and Ctrl+, on Linux. It opens global Settings without toggling it closed. Linux uses an auto-hidden menu with this Settings item. The other listed Command shortcuts use the macOS Command key.

Escape stays in the terminal when it has focus and no other surface consumes the key. The renderer handles Escape; Electron does not intercept it.

Command-click, Ctrl-click, or middle-click a session, project, New session, or backend choice to open its target in a foreground Electron window.