Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 10.2 KB

settings.md

File metadata and controls

25 lines (20 loc) · 10.2 KB

Settings

The rail's Settings (or the command palette) has these sections, for the connected host where they are a host's.

Appearance is a page of its own, not one of these sections, reached from the sidebar's menu or the palette. It keeps the app in Dark mode, Light mode, or System mode, which follows the device as its appearance changes. Existing preferences stay dark until another mode is chosen. Every palette has a light variant; the chosen palette and custom accent survive mode changes. Light accents use a contrast-safe shade of the same color. The app and its floating control update together; terminals keep the palette's dark variant so CLI programs with their own pale input text remain readable. These preferences are local to the device.

On the same page, Style builds the whole app another way, on this device: Liquid Glass (the default), Ledger (real black, flat panes on one-pixel lines, denser controls), Tonal (flat tones of one hue, no lines or shadows) or Bento (Ledger's look with regions and page sections in fixed tiles). Regions, navigation, labels and shortcuts are the same in each. A palette tints any style: Ledger and Bento keep their black ground, taking the palette's accent and a tint in their surfaces; Tonal takes the palette's ground and accent for its whole field. A background image, its opacity and blur, and Follow background apply to Liquid Glass only: in the others those controls are disabled and say so, and the image is kept for going back. Ledger, Tonal and Bento ask for IBM Plex Sans or Rubik and use the system's font on a device that lacks it.

Background, on that page: an image of the user's own behind the panels (PNG, JPEG, GIF's first frame, WebP; up to 64 MB and about 120 megapixels, kept in memory at no more than 2560 pixels on its longest side), how opaque the panels over it are, and the strength of its blur, with the window itself as the preview; Use the default goes back to the theme's own. Follow background, beside the palettes, derives the palette from the image, once per image and off the drawing path: its most common color, darkened, for the ground, its main colors for the wallpaper, its most colorful for the accent, lifted or deepened to read as words, in dark and light; a custom accent still replaces that one. It is kept per device, and with no image, or one gone, the palette last saved applies. The image stays a path on that device and isn't synced: another device has its own files and picks its own. A file gone or unreadable shows the theme's background and says so. The slider reaches every main surface, from fully opaque down to the image alone with a faint edge: the session list, the frame, the side panel, the bars' pieces, the tools dock, cards, terminals, chat, code and diffs. A scrim of the theme's ground fades with it, and glass stops frosting near its lowest. The default stays readable over any image; how readable the low end is, is the user's choice. Menus, dialogs and pop-overs stay as they are, as they float over content. Blur is drawn on the GPU where the window draws, on every platform; a page in a web view is a native surface above the window, so nothing of the background shows behind it.

  • Agents' library: the agents' skills, MCP servers, subagents, commands, instructions, settings (permissions and hooks) and Claude Code's plugins, global or the project's own; see sync.md.
  • New sessions: what New session starts with, each session still free to differ: the agent; in a git project, a new branch and worktree or the project folder; whether agents skip permission prompts (Claude Code always does: agents.md); a time budget for agents (see agents.md); and how many agents may work at once on the host.
  • Agent accounts: other accounts of an agent on the host, each signed in once, to pick per session; see accounts.md.
  • Model APIs: each agent of the host pointed at a model API of yours, with its models and their options, the agent's settings backed up first and restorable; see agent-api.md.
  • Environment: variables every session on the host gets, agents included, such as API keys and tokens (sessionEnv.list, sessionEnv.set). The host's daemon keeps them in ~/.enowx-app/session-env.json, readable by its user alone, and adds them to sessions started or continued after; the app shows their last four characters. Setting one sends its value to that host, which the page says. PATH, HOME and enowX's own variables can't be set.
  • Terminal: the shell the host's terminals start with, among the shells the host has (its /etc/shells and those on PATH; on Windows PowerShell, the Command Prompt, Git Bash and WSL), its user's login shell until another is picked (shell.list, shell.set, kept in ~/.enowx-app/shell.json). New terminal tabs start it, and agents' sessions run it once the agent exits; a session's + also opens a tab of any other shell (SessionCreateParams.Shell). The section also picks the font terminals draw with, among this device's monospaced fonts: terminals are drawn here whatever host runs them, so a Nerd Font shows the icons agents print, which the system's monospaced font draws as boxes. The pick is kept with the app's own preferences (its state file), and terminals already open take it at once. The section's choices of 11 to 16 set the text size of every terminal, as ⌘+ and ⌘− do (Ctrl on Windows and Linux), from 8 to 32; a size outside the six shows as a seventh choice while it's in use.
  • Automations: prompts run on a schedule by the host's daemon; see automations.md.
  • Notifications: a sound when an agent finishes its turn (done), asks for input or permission (input) or fails (error: it exits with an error), and when a team member writes in a team's chat (chat, pop by default; Team chat: every message, mentions of the user, or off, see cloud.md), in a session of the host shown or of any host watched. A sound per kind (built in, synthesized: chime, ping, alert, bell, pop, soft; one of the user's, a WAV or MP3 kept in settings/sounds/; or none) with a Test button, a volume apart from the system's, quiet hours (none between two times, over midnight too), whether to sound for the session the user is looking at, the desktop banner, a count of the sessions waiting on the app's icon, and agents muted; a session's menu mutes it. Sounds close together play as one, the most urgent's. Each also shows a card in the window's top right: its kind (done, needs you, failed), the session and host, and a short message. Cards stack, up to four, leave after ten seconds unless hovered, and open the session when clicked, in a tab in GOD of Agents' mode; they follow the same muting, and also show during quiet hours, which silence sounds alone. The desktop banner is a separate setting. The settings are in the synced settings/notify.json (notify.get, notify.set), the same on every host (user-data-sync.md); sounds always play in the app, on the user's computer, wherever the agent runs. The system's Focus or Do Not Disturb silences banners; enowX can't read it, so its sounds follow the quiet hours. Agents play one with enowx-app notify sound done|input|error|chat (notify.sound, which the apps attached play).
  • App: Run setup again goes through onboarding from its opening (onboarding.md).
  • Clean cache (a host's): what its enowX folder takes, and what can go of it, each kind with its size, what cleaning it does and a box. It only removes what a look just listed, under folders named in core/cacheclean. It asks first and reports what was freed and, item by item, what wasn't. Old app backups and worktrees are picked one by one, with their date and state. Team sync's copies are shown but not offered, as merges need them. enowx-app cache and enowx-app cache clean do the same. Logs keep the current ones and each one's most recent rotated copy (diagnostics.md).
  • Discord: Rich Presence, under the user's name in Discord: the selected session's project, branch and agent (in GOD of Agents mode, "Working using GOA" and the agent it runs on instead), how many sessions are open and how long it has run, with a Get enowX button to enowx.ai; In enowX with no session. On by default; a switch keeps the project's and branch's names out. It goes to the Discord app on this device only, over its local socket, and updates no more often than Discord allows. It needs the build's Discord application (ENOWX_DISCORD_APP_ID replaces it).
  • Cloud: the connected host's sign-in to enowX's cloud, https://cloud.enowx.ai (cloud.md), also at the rail's foot (Sign in, then the account's menu): signing in with GitHub (the browser opens on a code to approve), nothing reaching the cloud before; then two tabs: Teams, the account's teams as cards, each opening a dialog of its members and of an invite link made for one as member, viewer or admin, with New team and Join with an invite in dialogs of their own; and Devices, to sign one out or approve a code another shows. Signing out, removing a member and leaving a team ask first. The account's menu at the rail's foot also picks the space Notes and Canvas show: Personal, or a team's. Each host signs in as a device of its own; this computer's is the app.
  • App: the editor files open in, desktop notifications, keeping enowX in the menu bar or notification area when its window closes (tray.md), looking for updates by itself, the version, and the keyboard shortcuts.
  • Floating control: the round panel over any app and its shortcut (floating-control.md), whether clicking another app folds it away, whether it opens at the pointer or in the middle of the display, and hiding the Sessions panel. Its own accent color, tinted segments, compact size and reduced animation can be set here without changing the app theme.
  • Diagnostics: the host's daemon (version, pid, since when, its build), the end of its log (daemon.log), and Restart the daemon (daemon.restart): it stops as an update stops it, and connecting again starts it, its sessions continued.