Repository navigation
Releases
Releases · yappologistic/CUI
CUI 1.1
CUI 1.1 adds the pieces for building desktop tools in C: app chrome, tool panels, text and code components, and a docking workspace that holds them together. It now has about 160 components, still with zero dependencies, about 250 KB for a complete app, and one C99 codebase for Windows, macOS and Linux.
Try every component in your browser first: https://yappologistic.github.io/CUI/
New components
Workspace
- Docking: drag panel tabs to stack them or split any side, with drop zones and a preview, resizable dividers, closing and reopening in place, and a saved layout as a short readable string.
- Tree table and path bar: an expandable tree with columns for file explorers, scene graphs and debugger variables, with lazy loading, plus a breadcrumb path bar you can also type into.
- Timeline editor: grouped keyframe tracks, a ruler with in and out markers, a playhead, clips, box selection and frame snapping. Its keys plug straight into the curve editor.
App chrome
- Menu bar with full keyboard access, toolbar with an overflow menu, status bar, and editor-style document tabs.
Tool panels
- Property inspector, log console, node editor, flame graph (smooth with 100,000 spans), hex viewer, and curve and gradient editors whose eval functions sample exactly what you see.
Text and code
- Markdown view that handles streaming text, an editable code editor with find and go to line, and a diff viewer with split and inline modes.
Text
- Optional Arabic-script shaping and bidirectional paragraphs, contributed by omid3098 in #1.
Also in this release
- A calmer, more timeless design and responsive layouts that adapt to narrow widths.
- A new docs site landing page, and component pages with generated options tables, keyboard keys, related components and phone and tablet previews.
- Data grid: column priorities for narrow widths, optional checkbox column, and a fix for the sticky header disappearing on scroll.
- Truncated labels no longer show their tooltip through open menus and popovers.
The full list is in CHANGELOG.md.
Getting it
include(FetchContent)
FetchContent_Declare(cui
GIT_REPOSITORY https://github.com/yappologistic/CUI.git
GIT_TAG v1.1.0)
FetchContent_MakeAvailable(cui)
target_link_libraries(my_app PRIVATE cui::cui)