{"id":36974774,"url":"https://github.com/pegasusheavy/openkit","last_synced_at":"2026-01-13T22:02:08.524Z","repository":{"id":331188680,"uuid":"1125630812","full_name":"pegasusheavy/openkit","owner":"pegasusheavy","description":"A cross-platform CSS-styled UI framework for Rust. Build beautiful desktop apps with familiar CSS syntax, Tailwind-inspired theming, GPU-accelerated rendering, and 30+ widgets.","archived":false,"fork":false,"pushed_at":"2026-01-03T21:17:36.000Z","size":1067,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-04T06:20:41.077Z","etag":null,"topics":["cross-platform","css","declarative-ui","desktop","framework","gpu-rendering","gui","linux","macos","rust","tailwind","ui","wgpu","widget","windows"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pegasusheavy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"PegasusHeavyIndustries"}},"created_at":"2025-12-31T04:25:38.000Z","updated_at":"2025-12-31T05:47:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pegasusheavy/openkit","commit_stats":null,"previous_names":["pegasusheavy/openkit"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pegasusheavy/openkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pegasusheavy%2Fopenkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pegasusheavy%2Fopenkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pegasusheavy%2Fopenkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pegasusheavy%2Fopenkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pegasusheavy","download_url":"https://codeload.github.com/pegasusheavy/openkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pegasusheavy%2Fopenkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","css","declarative-ui","desktop","framework","gpu-rendering","gui","linux","macos","rust","tailwind","ui","wgpu","widget","windows"],"created_at":"2026-01-13T22:02:08.462Z","updated_at":"2026-01-13T22:02:08.517Z","avatar_url":"https://github.com/pegasusheavy.png","language":"Rust","funding_links":["https://patreon.com/PegasusHeavyIndustries"],"categories":[],"sub_categories":[],"readme":"# OpenKit\n\nA cross-platform CSS-styled UI framework for Rust.\n\nOpenKit provides a consistent, beautiful desktop application experience across Windows, macOS, and Linux with CSS-powered styling and a Tailwind-inspired design system.\n\n## Features\n\n- **Cross-Platform**: Native look and feel on Windows, macOS, and Linux\n- **CSS Styling**: Style your UI with familiar CSS syntax\n- **GPU Accelerated**: High-performance rendering with wgpu (with CPU fallback)\n- **Rich Widget Set**: 30+ widgets for building complete desktop applications\n- **Tailwind-Inspired**: Built-in design system with dark/light themes\n- **Declarative Macros**: Ergonomic UI building with `col!`, `row!`, `button!`, etc.\n- **Angular-Like Components**: Component system with props, state, and lifecycle hooks\n\n## Quick Start\n\nAdd OpenKit to your `Cargo.toml`:\n\n```toml\n[dependencies]\nopenkit = \"0.1\"\n```\n\nCreate a simple application:\n\n```rust\nuse openkit::prelude::*;\n\nfn main() {\n    App::new()\n        .title(\"My App\")\n        .theme(Theme::Auto)\n        .run(|| {\n            col![16;\n                label!(\"Hello, OpenKit!\"),\n                button!(\"Click me\", { println!(\"Clicked!\"); }),\n            ]\n        });\n}\n```\n\n## Widgets\n\nOpenKit includes a comprehensive widget set:\n\n### Layout\n- `Column`, `Row` - Flex containers\n- `Card` - Content container with styling\n- `ScrollView` - Scrollable container\n- `Tabs` - Tabbed interface\n- `Spacer`, `Separator` - Layout helpers\n\n### Input\n- `Button`, `IconButton` - Clickable buttons\n- `TextField`, `PasswordField` - Text input\n- `Checkbox`, `ToggleSwitch` - Boolean input\n- `Dropdown`, `Slider` - Selection controls\n\n### Display\n- `Label` - Text display\n- `Avatar` - User profile images\n- `Progress`, `Spinner` - Loading indicators\n- `Notification`, `Tooltip` - Information display\n\n### Desktop Shell\n- `Window` - Decorated windows with OS-native controls\n- `Bar` - Taskbar/panel container\n- `Desktop` - Desktop with wallpaper and icons\n- `ContextMenu` - Right-click menus\n- `SystemTray`, `Clock` - System indicators\n- `WorkspaceSwitcher` - Virtual desktop switching\n\n## Styling\n\nStyle widgets with CSS:\n\n```rust\nuse openkit::prelude::*;\n\nfn main() {\n    App::new()\n        .load_css(r#\"\n            .my-button {\n                background: linear-gradient(to-right, #667eea, #764ba2);\n                border-radius: 8px;\n                padding: 12px 24px;\n            }\n            .my-button:hover {\n                transform: scale(1.05);\n            }\n        \"#)\n        .run(|| {\n            button!(\"Styled Button\").class(\"my-button\")\n        });\n}\n```\n\n## Theming\n\nOpenKit includes a Tailwind-inspired theme system:\n\n```rust\nuse openkit::prelude::*;\n\nfn main() {\n    App::new()\n        .theme(Theme::Dark)  // or Theme::Light, Theme::Auto\n        .run(|| {\n            // Widgets automatically use theme colors\n            col![16;\n                label!(\"Themed UI\"),\n                button!(\"Primary\", Primary),\n                button!(\"Secondary\", Secondary),\n                button!(\"Destructive\", Destructive),\n            ]\n        });\n}\n```\n\n## Desktop Wallpapers\n\nCreate desktop environments with customizable backgrounds:\n\n```rust\nuse openkit::prelude::*;\n\nlet desktop = Desktop::new()\n    .background(Wallpaper::image(\"/path/to/wallpaper.jpg\")\n        .with_mode(WallpaperMode::Fill))\n    .icon(DesktopIcon::new(\"home\", \"Home\", \"🏠\").at(0, 0))\n    .icon(DesktopIcon::new(\"files\", \"Files\", \"📁\").at(0, 1));\n```\n\n## License\n\nLicensed under either of:\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpegasusheavy%2Fopenkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpegasusheavy%2Fopenkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpegasusheavy%2Fopenkit/lists"}