diff options
| author | user <user@clank> | 2026-08-16 00:38:17 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-16 00:38:17 +0200 |
| commit | 8079f982bb240d6594b060caee7a5ac6f89e39b3 (patch) | |
| tree | e316fd3504360d1123774eb3a1a35459ef5ce725 /docs/config.md | |
| parent | sl0ppty: sl0ppty --check (diff) | |
| download | slosh-8079f982bb240d6594b060caee7a5ac6f89e39b3.tar.gz slosh-8079f982bb240d6594b060caee7a5ac6f89e39b3.tar.xz slosh-8079f982bb240d6594b060caee7a5ac6f89e39b3.zip | |
sl0ppty: padding, per side
padding 1 // every side
padding 0 2 // vertical, horizontal
padding 2 0 0 1 // top, right, bottom, left
One value, two, or four in CSS order, because that is the order anybody
who has written a stylesheet already knows. `pad` becomes four fields and
the content rect is deflated per side rather than symmetrically, which is
the only real change: everything downstream already worked off
`n->content`.
The units do not change with how many numbers you write. They are ROWS,
like `gap`, and a horizontal one is multiplied by `gap_aspect` on the way
out -- so `padding 1`, `padding 1 1` and `padding 1 1 1 1` are one padding
rather than three, and a ring that looks square is still one number rather
than an arithmetic problem. Anyone who wants plain cells sets
`gap_aspect 1` and gets them everywhere, which is what that knob is for.
Three values is refused with a line saying what it wanted. CSS reads it as
top/horizontal/bottom, and a line whose meaning you have to look up is a
line nobody can read -- and `sl0ppty --check` now has something to say
about it, which is the difference between refusing and ignoring.
The dump writes the shortest form that means what is in force, so `padding
0` stays `padding 0` and a dump of a dump is still the same dump.
Checked by measuring both rects: a pane's insets from its own frame, four
numbers, for every form -- including that `gap_aspect 1` turns the
horizontal ones into cells, and that a refused padding leaves the rest of
the file applied.
Diffstat (limited to 'docs/config.md')
| -rw-r--r-- | docs/config.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/config.md b/docs/config.md index e18f91e..b504111 100644 --- a/docs/config.md +++ b/docs/config.md @@ -109,6 +109,25 @@ theme { frame_focus "#00ff88" } // ...but that one colour is mine | effects | `shaders { }`, `states { }` — see [shaders](shaders.md) and [chrome](chrome.md) | | keys | `keys { }` — see [keys](keys.md) | +Two of those take more than one value. `gap` is in **rows**, and `gap_aspect` +says how many columns a row is worth (2 by default, because a cell is about +twice as tall as it is wide) — so both `gap` and `padding` are written in rows +and come out looking square. + +`padding` is the space between a pane's frame and its contents, written the way +CSS does it: + +```kdl +padding 1 // every side +padding 0 2 // vertical, horizontal +padding 2 0 0 1 // top, right, bottom, left +``` + +A number means the same thing however many of them you write, so `padding 1`, +`padding 1 1` and `padding 1 1 1 1` are one padding rather than three. Three +values is refused — CSS reads it as top/horizontal/bottom, and a line whose +meaning you have to look up is a line nobody can read. + ## Pane states A pane is tinted by what is *true* of it, which is the part you cannot discover |
