Skip to content

Desktop app

The desktop app shows the same page you’d open in a browser, in a native window, and adds what a browser can’t do: a tray, native notifications, a global hotkey, links from other apps, and updates of its own. Your panes run in the daemon, not in the app, so quitting the app doesn’t stop anything running in them.

Downloads and system requirements are on Install.

When you first open the app, it makes sure this machine has a daemon, then shows the machine’s page with Getting started.

  1. The daemon. On a Mac the app runs the daemon itself, as a Login Item (Arugula, in System Settings › General › Login Items), and puts arugula in ~/.local/bin. On Linux and Windows it installs arugulad and arugula and starts the daemon as a service. If a daemon is already installed, the app uses that one.

  2. Join the machine to Arugula control (optional). The Cloud step of Getting started shows a code. Approve it on a device you already use, picking your account or a team, then confirm that the account fingerprint the machine shows matches the one on your device, and click They match. See Arugula control.

  3. Sign the app in (optional). Once the machine has joined, the app offers to sign in, so it can show your other machines and your team’s machines too. Just this machine for now skips it.

    • The window can’t use passkeys, so Sign in opens Arugula control in your browser and shows a short code.
    • After you sign in there, Arugula control asks Sign in the app? with the machine’s name and the same code. Check that it matches, then choose Allow.
    • The app is then a new device: approve it, with its fingerprint, on a device you already have (the browser you just used is one).

    The sign-in link is good for ten minutes and works once.

If the machine is later removed from your account (with arugulad leave, or from Devices and machines… on another device), the app posts a notification once, and clicking it opens Getting started at the step that joins it again.

On a Mac, the app runs the daemon from inside itself, as a Login Item, when it’s in your Applications folder and no daemon was installed before. The daemon starts when you log in and keeps running when you quit the app; its log is ~/Library/Logs/arugulad.log.

  • Stop it: Daemon › Stop… in the tray. It stays stopped until Start or your next login; to keep it from starting at login, turn off Arugula under System Settings › General › Login Items.
  • Join, update, restart: use the buttons: the Cloud step of Getting started (or Daemon › Join…), Update now on the machine’s page (or Daemon › Update to arugulad {version}), and Daemon › Restart.
  • Remove it: see Uninstalling.

The app keeps tabs in its title bar, and opens as many windows as you like.

  • On a Mac, new windows join the first as native tabs; Move Tab to New Window takes one back out.
  • Open in new window in a tab’s menu shows that tab in a window of its own.
  • Keyboard shortcuts go to your terminals, not the app. On a Mac the app keeps only ⌘Q (quit), ⌘H (hide) and ⌘⇧W (close window); ⌘U attaches a file to the pane.
  • One copy runs at a time: opening the app again opens a window in the running one.

The tray icon gives you the app’s own controls; on a Mac the app menu and the Dock icon’s menu have the same items.

  • Open Arugula, New window, and This machine, which brings forward a window already showing this machine’s page.

  • Daemon (macOS and Linux) shows the daemon’s version, whether it’s running, which service runs it, and whether and where this machine is joined to Arugula control. It has:

    • Update to arugulad {version} when a newer daemon is out (panes keep running), or Too old for this app: Update… when the daemon is too old for the app;
    • Join…, or Join again… after the machine was removed from control, which opens Getting started at the join;
    • Restart, Stop… and Start, through the service that runs the daemon. A restart keeps the panes; Stop… ends them, and the daemon stays stopped until Start or your next login;
    • Open log.

    On Windows the tray has no Daemon menu: the daemon is the arugulad scheduled task, which you manage with arugulad in a terminal.

  • Global hotkey (off by default). With it on, Ctrl+Alt+Space brings Arugula to the front, or hides it when one of its windows has focus.

  • Check for updates… and, once an update is downloaded, the item that restarts into it.

Changing the hotkey

Set hotkey in desktop.json, in the app’s config folder: ~/Library/Application Support/io.arugula.desktop on a Mac, ~/.config/io.arugula.desktop on Linux, %APPDATA%\io.arugula.desktop on Windows.

desktop.json
{ "hotkey_on": true, "hotkey": "Ctrl+Alt+Space" }

The app notifies you natively when a pane starts needing you and no Arugula window has focus; clicking the notification opens that pane. The number of panes that need you shows on the Dock icon (macOS) and in the tray.

The app updates itself, and the daemon updates itself: see Install. When the app and the daemon are too far apart in version to work together, the app says which one is behind and offers the update.

The app opens folders and links from the rest of your desktop.

  • Finder (macOS): right-click a folder, then New Arugula Tab Here (under Quick Actions or Services). Opening a .command file with the app runs it in a new tab.
  • Nautilus (Linux, with the .deb or .rpm): right-click a folder, then Open in Arugula.
  • Links: arugula://pane/%3 shows that pane of this machine’s daemon, and arugula://open?cwd=/some/dir opens a new tab there (with no cwd, in your home folder).