Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
C용 네이티브 UI 컴포넌트 150여개, 스프링 모션·전체 키보드 지원, Windows·macOS·Linux 지원, 의존성 없음
Native UI components for C: about 150 of them, with spring motion and full keyboard support. Windows, macOS and Linux, no dependencies.
개발 도구GitHub @yappologistic직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A UI library for C that draws its own components.
Live site · Getting started · Tutorial · Components · Downloads
Every image on this page is drawn by CUI, from plain C.
CUI is an immediate-mode UI library written in C99. You describe the screen with function calls every frame. CUI lays it out, handles the mouse and keyboard, and draws it with OpenGL or its own software renderer, in a window on Windows, macOS or Linux, or in a browser through WebAssembly.
cui.h and cui.c) dropped into your project.#include <cui/cui.h>
#include <cui/cui_app.h>
int main(void) {
cui_app *app = cui_app_create(&(cui_app_desc){
.title = "Hello", .width = 420, .height = 300 });
if (!app) return 1;
bool notifications = true;
int clicks = 0;
while (cui_app_frame(app)) {
cui_ctx *ui = cui_app_ui(app);
cui_column(ui, .pad = 32, .gap = 16) {
cui_heading(ui, "Hello, CUI", 2);
cui_secondary(ui, "A native window, a few components "
"and no dependencies.");
cui_switch(ui, "Notifications", ¬ifications);
cui_row(ui, .gap = 8) {
if (cui_button(ui, "Click me", .variant = CUI_BUTTON_PRIMARY))
clicks++;
cui_textf(ui, "Clicked %d times", clicks);
}
}
}
cui_app_destroy(app);
return 0;
}
A component is a function call. It draws itself, handles input and returns what happened: cui_button returns true on the frame it is clicked.
Options are named arguments. Leave one out and it takes its default.
Your variables are the state. The screen is described again every frame, so there are no widgets to create, keep or update.
CUI draws every component itself. It does not wrap the system's buttons and menus, so an app looks the same on every system and does not look like the system's own apps. "Native" here means compiled code in a real window, with nothing interpreted and no web view.
How it sits beside the libraries you may know:
CUI is a good fit for a desktop tool, an editor, a dashboard or a game's interface written in C or C++, where you want it small and want it to look finished without designing every control. Read Limitations before you decide.
With CMake (GCC, Clang, MSVC and MinGW are tested):
include(FetchContent)
FetchContent_Declare(cui
GIT_REPOSITORY https://github.com/yappologistic/CUI.git
GIT_TAG v1.4.0)
FetchContent_MakeAvailable(cui)
target_link_libraries(my_app PRIVATE cui::cui)
cui_app_target(my_app) # no console window on Windows, and only the code your app uses
Without CMake, take cui.h and cui.c from a release and compile them with your program. Getting started has the exact commands for both, and CI runs those commands on every push.
To build the library and run an example:
git clone https://github.com/yappologistic/CUI.git
cmake -S CUI -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/examples/tracker
Linux needs the X11 development headers (libx11-dev). Windows and macOS need nothing beyond the system SDK.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗