Settings (config.json)
You don’t need a settings file. Every setting has a default.
- File:
~/Library/Application Support/JimiOS Alpha/config.json - When it’s read: once, when JimiOS starts. Quit and reopen JimiOS to apply a change.
- Bad values: a value JimiOS doesn’t accept falls back to that setting’s default, and the log says so. If the file isn’t valid JSON, every setting uses its default. Names JimiOS doesn’t know are ignored.
- JimiOS never writes this file. You create and edit it.
Everyday settings
Section titled “Everyday settings”| Setting | Values | Default | What it does |
|---|---|---|---|
direction_keys |
"arrows", "hjkl" |
"arrows" |
Which direction keys are JimiOS’s. The other set reaches your apps. |
layout |
"dwindle", "dwindle_left", "master", "spiral", "focused" |
"dwindle" |
The layout each workspace starts in. "balanced" is retired and reads as "dwindle". |
force_split |
0, 2 |
0 |
0: a new window takes the half your pointer is in. 2: it always takes the right or bottom half. |
gaps_in |
0 to 64 (points) | 4 |
Space on each side of a tile, so tiles are twice this apart. The focus border narrows to fit. |
gaps_out |
0 to 64 (points) | 8 |
Space between the tiles and the screen edges. |
hide_dock |
true, false |
false |
Hides the Dock while JimiOS runs and restores your Dock settings when it quits. |
screen_workspaces |
object: display-name text → workspace number or list of 1–9 | {} |
Gives workspaces to a named display, for example {"BenQ": [2]}. Other workspaces stay on the built-in display. |
float_apps |
list of bundle IDs | [] |
Apps whose windows always float, added to the built-in list. |
tile_apps |
list of bundle IDs | [] |
Apps to remove from the built-in float list, so they tile. Beats float_apps. |
drag_float_modifier |
"alt", "cmd", "ctrl", "shift", "none" |
"alt" |
The key you hold during a title-bar drag to float the window. "none" turns it off. |
on_focus_parked |
"follow", "bring_here" |
"follow" |
What ⌘Tab or a Dock click on a window in another workspace does: go to its workspace, or bring the window here. |
restore_layout_on_start |
true, false |
true |
Puts windows back in their tiles when JimiOS reopens in the same login session. |
Messages and cues
Section titled “Messages and cues”| Setting | Values | Default | What it does |
|---|---|---|---|
workspace_toast |
true, false |
true |
Flashes “Workspace N” each time a display shows a different workspace. |
flow_toast |
true, false |
true |
The message and tone when a window moves to the overflow row or another workspace. |
outline_cue |
true, false |
true |
A thin outline shows where a window is going after a key press. |
alt_r_return |
true, false |
true |
Windows that ⌥R pushed off come back on a later ⌥R when there’s room, unless you’ve used them since. |
alt_r_skip_unfit |
true, false |
true |
⌥R skips a layout that would push a window off when another layout fits every window. |
Sizes and the border
Section titled “Sizes and the border”| Setting | Values | Default | What it does |
|---|---|---|---|
min_tile |
{"w": points, "h": points}, each 0 to 10000 |
200 × 200 | The smallest tile JimiOS makes. An app’s own larger minimum still wins. |
border_radius |
0 to 40 (points) | not set | One corner radius for the focus border on every window. Not set: each window’s own radius. |
border_radius_apps |
object: bundle ID → 0 to 40 | {} |
A corner radius for one app’s windows, for apps whose border corners don’t match. |
border_modes |
list of modes | the ten built-in modes | Your own list of lighting modes for ⌥B. Each needs a name and a kind: "static" with a color ("0xAARRGGBB", glow(...) or gradient(...)), "rainbow" or "off". [check] |
Advanced (leave these alone unless asked)
Section titled “Advanced (leave these alone unless asked)”| Setting | Values | Default | What it does |
|---|---|---|---|
performance_mode |
true, false |
false |
Turns off some macOS animations and features while JimiOS runs. Leave off during the beta. |
performance |
object: window_animations, dock_animations, stage_manager, macos_edge_tiling, rearrange_spaces → true / false |
all true when performance mode is on |
Picks which groups performance mode changes. |
display_settle_ms |
100 to 60000 (milliseconds) | 2000 |
How long the displays must stay unchanged before JimiOS lays them out again. |
wake_grace_ms |
100 to 60000 (milliseconds) | 3000 |
How long JimiOS waits after a wake or unlock before laying out again. |
step_run_timeout_ms |
100 to 60000 (milliseconds) | 3000 |
When you step through workspaces at a display’s outer edge without letting go of ⌥, how long before the last one counts as chosen. |
park_wait_for_focus |
true, false |
false |
true: a workspace switch waits up to 200 ms for the focus to land before hiding other apps’ windows. |
Example file
Section titled “Example file”Every value below is the default, except direction_keys, hide_dock, screen_workspaces and float_apps. Copy only the lines you want to change.
{ "direction_keys": "hjkl", "layout": "dwindle", "force_split": 0, "gaps_in": 4, "gaps_out": 8, "hide_dock": true, "screen_workspaces": {"BenQ": [2]}, "float_apps": ["com.apple.Music"], "tile_apps": [], "drag_float_modifier": "alt", "on_focus_parked": "follow", "restore_layout_on_start": true, "workspace_toast": true, "flow_toast": true, "outline_cue": true, "alt_r_return": true, "alt_r_skip_unfit": true}