Linux application development for the modern age powered by GTK4 and React
GTKX is a modern framework for building native Linux applications using React and GTK. It provides the full range of GTK4, GLib, and Node.js APIs, allowing you to create rich, performant desktop applications with the tools and libraries you already know.
- React 19 — Hooks, concurrent features, and the component model you know
- Fully native Node.js environment - Runs on vanilla Node.js, with the help of a Neon native module
- TypeScript first — Full type safety with auto-generated bindings
- Rich GLib support — Provides bindings for most modern GLib/GObject libraries, including Adwaita
- HMR — Fast refresh during development powered by Vite
- CSS-in-JS styling — Easy styling with GTK CSS powered by Emotion
- Testing library — Testing Library-inspired API for testing components and E2E
npx @gtkx/cli create my-app cd my-app npm run devExplore complete applications in the examples/ directory:
- hello-world — Minimal application showing a counter
- gtk-demo — Full replica of the official GTK demo app
- todo — Full-featured todo application with Adwaita components and testing
- x-showcase — Showcase of all x.* virtual components
- browser — Simple browser using WebKitWebView
- deploying — Example of packaging and distributing a GTKX app
Visit https://gtkx.dev for the full documentation.
Contributions are welcome! Please see the contributing guidelines.
- GitHub Discussions — Questions, ideas, and general discussion
- Issue Tracker — Bug reports and feature requests
