Commit Graph

31 Commits

Author SHA1 Message Date
97a240c54d mod: example shows how dynamic sizing is achived that can be independent form the reported terminal size
Setting the cursor with the `Direct` handler will cause the rendering
to halt at that point and leave the cursor at point.

Due to not enabling *raw mode* with the newly introduced `App.start`
configuration options corresponding inputs are only visible to `zterm`
once the input has been completed with a newline. With this it is not
necessary for the renderer to know nothing more than the width of the
terminal (which is implied through the `Container` sizes). Making it
very trivial to implement.
2026-01-20 13:57:55 +01:00
9488d0b64d feat(terminal/cursor): add support for cursor shape configuration
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m5s
2025-11-20 18:46:58 +01:00
424740d350 feat(terminal/osc12): define cursor color through style of cell that describes the cursor position
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m33s
The `.default` color will reset the cursor color to the terminal's default color
2025-11-19 18:42:13 +01:00
28c733352e feat(event): introduce .bell system event
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 16m37s
2025-11-17 18:30:31 +01:00
8f90f57f44 fix(terminal): correctly restore termios and screen's during panic_handler
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m1s
2025-10-19 11:44:17 +02:00
832fc45c3e chor: use new Writer interface for terminal's Writer; fix test cases
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 3m38s
2025-10-01 10:59:29 +02:00
cba07b119c chor: upgrade to latest zig; remove zg dependency
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 55s
2025-09-29 23:09:42 +02:00
c50b10f32d fix: zig update build errors
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m35s
2025-08-06 16:14:22 +02:00
aa4adf20f9 refactor: zigify imports and correct minor mistakes 2025-05-20 18:23:44 +02:00
50adf32f14 add(style): cursor style to indicate a cursor position
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 25s
2025-04-20 20:54:30 +02:00
591b990087 ref(event): split Size into two Points (one for the size and one for the anchor / origin)
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2025-03-04 00:04:56 +01:00
f66a870223 ref(input): move mouse.zig and key.zig into public input.zig namespace
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2025-02-18 18:24:09 +01:00
c2080ab40f ref(ctlseqs): use control sequence file; rename key names
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-17 23:08:47 +01:00
a9f48bfb6a ref(key): make Key struct packed and rename constants
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 2m5s
2025-02-17 21:06:15 +01:00
bbe6f4741e WIP: use viewport to allow sizes of scroll to extend further than renderable screen 2025-02-12 22:33:03 +01:00
2bfacc0e98 WIP: container rendering for borders + container element rendering 2025-02-03 19:55:33 +01:00
1293cb065d WIP: add Container type with corresponding Properties configuration
The configuration of the `Container` types is very much inspired by
[clay](https://github.com/nicbarker/clay).
2025-02-01 01:05:56 +01:00
bdbe05c996 mod(structure): update project structure
Remove examples, add description for design goals in README.md and
apply re-names and naming changes accordingly for the project structure.
Implement a flat hierachry, as the library shall remain pretty simple.
2025-01-30 23:02:34 +01:00
3decc541a9 mod(renderer): initial version of double buffer intermediate renderer
This branch will implement the necessary changes for the widgets and
their implementations to use the new renderer correctly.
2025-01-30 20:53:01 +01:00
c83ceff925 fix(typo): correct function name
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m40s
2025-01-30 16:28:36 +01:00
6cd78d0418 fix: release mode undefined usage (for optionals); bump to 0.14.dev
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2024-11-19 23:27:12 +01:00
07e4819ecd feat(renderer): render cells instead of raw u8 array contents
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2024-11-12 19:14:19 +01:00
8b3f863404 mod(app): automatically hide cursor when running fullscreen tui's
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 37s
2024-11-11 13:32:39 +01:00
53fc34ba69 mod(terminal): add writer interface implementation 2024-11-11 12:29:33 +01:00
35a7f9cc02 fix(zterm): export corresponding necessary types
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 36s
2024-11-10 17:07:53 +01:00
1dbdf3b422 mod: restructure Style component
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-10 17:05:07 +01:00
88bc8c5346 mod: restructure terminal structs Key, Position and Size
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2024-11-10 17:01:19 +01:00
a201f2b653 mod: change widget interface Widget.content replaced with Widget.render
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 29s
The .resize `Event` has been adapted to include an _anchor_, which
provide the full necessary information for each widget where to render
on the screen with what requested size. Each Widget can then dynamically
decide how and what to render (i.e. provide placeholder text in case the
size is too small, etc.).
2024-11-10 15:53:28 +01:00
b314ff7813 mod: replace Layout.content with Layout.render
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
The App.Renderer is used for the new `Layout.render` method. Each layout
renders itself now with corresponding renderers which might only update
parts of the screen, etc.
2024-11-10 14:34:28 +01:00
c83cf530ce add(test): test execution into zterm test build
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 28s
2024-11-09 21:29:49 +01:00
6d389bcd4b initial commit
Some checks failed
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 30s
2024-11-09 21:24:42 +01:00