App
Settings
Machine-local preferences: appearance, updates, query defaults, and how the table grid behaves. Open with ⌘,.
Settings is a separate window (⌘,, the title-bar overflow, or
Home). Values persist in native_preferences.toml under the OS
preferences directory (on macOS,
~/Library/Application Support/based/). They are not part of
the .based/ project and are not committed.
Debug builds add a Developer page (reset onboarding, restart). Release builds hide it.
Appearance
Theme
| Setting | Options |
|---|---|
| Appearance | Light, Dark, System (default System). |
| Light theme |
Used whenever the window is light. Default Based Light.
|
| Dark theme | Default Based Dark. |
Paired families: Based, Gruvbox, Catppuccin (Latte / Mocha), Ayu, Everforest, Solarized. Light and dark names are independent — you can mix families.
Density
Compact, Default, or Comfortable scales UI, editor, and table size tokens together. Tweaking a size by hand marks the preset as Custom.
| Preset | UI | Editor | Table row |
|---|---|---|---|
| Compact | XSmall (12px) | Small (13px) | XSmall |
| Default | Medium (14px) | Medium (14px) | XSmall |
| Comfortable | Medium (14px) | Large (16px) | Small |
Fonts
| Surface | Families | Weight / size |
|---|---|---|
| UI | IBM Plex Mono (default), System UI, JetBrains Mono, System Mono | Light–Semibold; XSmall–Large |
| Query editor | JetBrains Mono (default), IBM Plex Mono, System Mono | Same weight/size tokens |
| Tables | — | Row size token + zebra striping switch |
System Mono is Menlo on macOS, Consolas on Windows, DejaVu Sans Mono on Linux.
Updates
GitHub releases. Automatic check is disabled on 0.0.0-dev
builds; those toggles appear locked.
| Setting | Default |
|---|---|
| Check at startup | On |
| Check automatically | On |
| Check interval | Daily (or Weekly / Monthly) |
| Download automatically | On |
| Show release notes after updating | On |
| Include pre-releases | Off |
Query defaults
Data fetching
| Setting | Range | Default | Used for |
|---|---|---|---|
| Page size | 50–5000, step 50 | 500 | Rows per page in SQL table viewers. |
| Query timeout | 5–600 seconds, step 5 | 30 | SQLite multi-statement runs. Postgres enforcement in the editor is planned — the control still stores the value. |
Table interaction
All default on:
- Sortable columns — click headers to sort the loaded page.
- Resize columns — drag borders.
- Reorder columns — drag headers.
- Row selection — select whole rows.
- Cell selection — select cells; enables keyboard movement.
- Loop selection — keyboard selection wraps at edges.