diff options
| author | user <user@clank> | 2026-08-19 13:47:10 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-19 13:47:10 +0200 |
| commit | ffaf9ff9db77573612317882b96158b5c7ba9655 (patch) | |
| tree | b8371eaa03be35bd7ba23e70c7ae8421c0387440 /docs | |
| parent | slosh: defaults most people can live in, said by shaders (diff) | |
| download | slosh-ffaf9ff9db77573612317882b96158b5c7ba9655.tar.gz slosh-ffaf9ff9db77573612317882b96158b5c7ba9655.tar.xz slosh-ffaf9ff9db77573612317882b96158b5c7ba9655.zip | |
slosh: split app.c into five units, mechanically
app.c was 7k lines wearing section markers; now the markers are files,
cut exactly along them, no behaviour change:
app.c the session core: config in force, pane and tab
lifecycle, walking, input routing, introspection
app_layout.c layout, tree edits, resizing, equalising, rotating,
focus
app_session.c layout files, checking, workspaces, dumping a session
app_draw.c drawing, the shader passes, kitty graphics
app_ui.c the finder, modals, the palette, the project picker,
renaming
include/app_internal.h carries what the five share: the tree/tab/app
structs, CFG and the palette macros, and the 50-odd formerly static
functions the cut made cross-unit, declared where they are defined.
They keep their names; only the five units see the header.
One test moved with the code: test_portable_layouts' staleness check
greps the source for the layouts section, which now lives in
app_session.c.
Mechanical, so blame for anything in the four new files continues in
app.c before this commit.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/design.md | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/docs/design.md b/docs/design.md index ce749d2..af5b139 100644 --- a/docs/design.md +++ b/docs/design.md @@ -36,7 +36,11 @@ functions (the KDL parser, the shader pass, the expression compiler). ## The shape of it ``` -src/app.c the session: tree, layout, chrome, input routing, control API +src/app.c the session core: pane and tab lifecycle, input routing +src/app_layout.c the layout: splits, tree edits, resizing, focus +src/app_draw.c drawing the chrome, the shader passes, graphics +src/app_ui.c the finder, the palette, modals, renaming +src/app_session.c layout files, workspaces, dumping a session out src/pane.c one pty + one libghostty-vt terminal, composed into the screen src/screen.c our cell buffer, and the minimal byte stream to update a terminal src/server.c the session process: socket, poll loop, config watcher |
