Skip to content

gtkx-org/gtkx

GTKX

GTKX

Linux application development for the modern age powered by GTK4 and React

npm version CI License GitHub Discussions


GTKX Demo


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.

Features

  • 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

Quick Start

npx @gtkx/cli create my-app cd my-app npm run dev

Examples

Explore 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

Documentation

Visit https://gtkx.dev for the full documentation.

Contributing

Contributions are welcome! Please see the contributing guidelines.

Community

License

MPL-2.0

About

Build native GTK4 desktop apps with React and TypeScript

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors