Skip to content

Releases

CUI 1.1

Choose a tag to compare

@yappologistic yappologistic released this 07 Nov 04:04

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)