Expand description
mkui - A minimalist, typography-driven TUI library with Kitty graphics support
A custom UI framework optimized for audio/music applications with:
- Native Kitty graphics protocol integration
- Immediate mode rendering with retained component structure
- Typography-first visual hierarchy
- Flex-based layout system
- Vim-like modal editing support
Re-exports§
pub use component::Component;pub use components::Animation;pub use components::CommandExecutor;pub use components::CommandMode;pub use components::CommandPalette;pub use components::CommandResult;pub use components::ConfirmPopup;pub use components::Image;pub use components::ImageData;pub use components::List;pub use components::Pane;pub use components::Popup;pub use components::PopupBorderStyle;pub use components::PopupPosition;pub use components::PopupResult;pub use components::ScrollableView;pub use components::SelectionMode;pub use components::SplitDirection;pub use components::SplitView;pub use components::TextInput;pub use context::RenderContext;pub use context::UseAccessibility;pub use context::UseLocale;pub use context::UseTheme;pub use event::Event;pub use event::EventHandler;pub use event::Key;pub use focus::ComponentId;pub use focus::FocusDirection;pub use focus::FocusManager;pub use focus::FocusableInfo;pub use graphics::GraphicsBackend;pub use i18n::AccessibilityRole;pub use i18n::AccessibilitySettings;pub use i18n::Locale;pub use i18n::TextDirection;pub use layout::Rect;pub use modal::KeyResult;pub use modal::ModalHandler;pub use modal::ModalState;pub use modal::Mode;pub use modal::Motion;pub use modal::Operator;pub use modal::SearchDirection;pub use modal::VisualMode;pub use render::DirtyRegion;pub use render::Renderer;pub use slots::header_slots;pub use slots::priority;pub use slots::status_slots;pub use slots::RegionSlots;pub use slots::SlotContent;pub use slots::Slots;pub use slots::UseSlots;pub use style::Selector;pub use style::Style;pub use style::StyleProperty;pub use style::StyleRule;pub use style::StyleSheet;pub use style::Styleable;pub use terminal::TerminalCapabilities;pub use terminal::TerminalContext;pub use terminal::TerminalGeometry;pub use terminal::TmuxPaneInfo;pub use theme::BorderChars;pub use theme::BorderStyle;pub use theme::Color;pub use theme::Theme;
Modules§
- component
- Component system - trait and lifecycle for UI elements
- components
- Built-in UI components
- context
- Rendering context - provides theme, locale, accessibility, and slots to components
- event
- Event system - keyboard, mouse, and terminal events
- focus
- Focus management system for component navigation
- graphics
- Graphics backend abstraction - supports multiple rendering methods
- i18n
- Internationalization and localization support
- layout
- Layout system - flex-based positioning and sizing
- modal
- Modal state machine - Vim-like modal editing support
- render
- Rendering backend - terminal output, multi-backend graphics, and cursor management
- slots
- Slot system - React-like context for registering content to named slots
- style
- Type-safe style system for components
- terminal
- Terminal abstraction - geometry, capabilities, and context
- theme
- Theming system with automatic color degradation