TildaZ Config

One JSON config shape, one muscle memory.

Config paths differ by platform, but the schema stays familiar. Move between Linux, macOS, and Windows with the same mental model for shell, hotkey, font, theme, opacity, and geometry.

Portable Ideas

The settings feel the same everywhere.

The config file location follows each OS, but the concepts stay consistent across platforms.

  • shell for the child process
  • hotkey for show / hide
  • theme and font settings
  • opacity, size, position, and scrollback
Example (Linux)
{
  "window": {
    "dock_position": "top",
    "width_percent": 100.0,
    "height_percent": 45.0,
    "offset_percent": 0.0,
    "opacity_percent": 96.0
  },
  "font": {
    "family": "JetBrains Mono",
    "glyph_fallback": ["Noto Sans CJK KR", "Noto Color Emoji"],
    "size_point": 15,
    "cell_width_ratio": 1.0,
    "line_height_ratio": 1.1
  },
  "theme": "Tokyo Night",
  "shell": "/bin/bash",
  "hotkey": "F1",
  "auto_start": true,
  "hidden_start": false,
  "max_scroll_lines": 10000
}

Every key is required (strict schema). shell, font.family, and the fallback fonts must exist on the system; on macOS/Windows use that platform's shell (e.g. cmd.exe) and installed fonts. See CONFIG.md for every field and the built-in theme names.

Paths

Same schema, native locations.

PlatformConfig path
Linux$XDG_CONFIG_HOME/tildaz/config_N.json
macOS$XDG_CONFIG_HOME/tildaz/config_N.json
Windows%APPDATA%\tildaz\config_N.json

XDG_CONFIG_HOME defaults to ~/.config. Empty or relative values use that default.

The first launch creates config_0.json. When every configured instance is already running, launch TildaZ again, press a new hotkey, and choose Create. Each numbered config owns one process, hotkey, and log.