Workbench
Code playground for GNOME π οΈ
Install / Use
/learn @workbenchdev/WorkbenchREADME
Workbench
Learn and prototype with GNOME technologies

<a href='https://flathub.org/apps/re.sonny.Workbench'><img width='240' alt='Download on Flathub' src='https://flathub.org/api/badge?svg&locale=en'/></a>
Workbench lets you experiment with GNOME technologies, no matter if tinkering for the first time or building and testing a GTK user interface.
Among other things, Workbench comes with
- Live GTK/CSS preview
- Library of 100+ examples
- JavaScript, Rust, Python and Vala support
- Declarative user interface syntax
- Autosave, sessions and projects
- Code diagnostics, completion and formatter
- Terminal output
βΉοΈ Workbench is made possible by Flatpak. Only Flathub Workbench is supported.
Testimonials
β It is an essential tool for those who develop applications with GTK β β’ β as someone who is learning GTK, Workbench is definitely a must have! β β’ β created a simple mockup using the amazing Workbench app β β’ β It used to be hard but Workbench helps me learn GTK. β β’ β I recommend it even to those who are new to GTK β β’ β This tool has simplified my life by saving my time drastically. β β’ β Gone too wild playing with Workbench β
Language support
| | Formatter | Linter | Library demos[1] | | ---------- | --------- | ------ | ---------------- | | JavaScript | β | β | 103 | | Python | β | β | 98 | | Vala | β | β | 92 | | Rust | β | β | 52 | | Blueprint | β | β | | | CSS | β | β | |
[1] As of 2024-06-16 <!--counted with `~/go/bin/scc demos/src`-->
Tips and tricks
<details> <summary>Disable code formatting</summary> </details> <details> <summary>Turn a prototype made in Workbench into an application</summary>Use GNOME Builder to start a new project using the appropriate GNOME Application template and copy paste your Workbench code.
</details>Code of conduct
Workbench follows the GNOME Code of Conduct.
- Be friendly. Use welcoming and inclusive language.
- Be empathetic. Be respectful of differing viewpoints and experiences.
- Be respectful. When we disagree, we do so in a polite and constructive manner.
- Be considerate. Remember that decisions are often a difficult choice between competing priorities.
- Be patient and generous. If someone asks for help it is because they need it.
- Try to be concise. Read the discussion before commenting.
Credits
Workbench is made of many components.
Thank you Flatpak, GTK, GLib, GtkSourceView, libadwaita, VTE, GJS, Blueprint, icon-development-kit, Vala, GTKCssLanguageServer, gtk-rs, PyGObject
and the GNOME community π€
Copyright
Β© 2022 Sonny Piers and contributors
License
GPLv3. Please see COPYING file.
Except for everything under src/Library/demos which is in the public domain under the terms of CC0 1.0.
<details> <summary> Testimonials </summary>From Mirko Brombin creator of Bottles
My favorite tool is definitely Workbench, an application that allows me to compose GTK interfaces with XML/Blueprint, JavaScript, and CSS, seeing the results in real-time. This tool has simplified my life by reducing my time drastically. It is an essential tool for those who develop applications with GTK and I recommend it even to those who are new to GTK.
https://console.substack.com/p/console-112
From Marco Melorio creator of Telgrand
GSoC coding period started on Monday, so this is a good time to blog about what Iβve started working on and whatβs my milestone to finish the project. First off, Iβve created a simple mockup using Sonny Piersβ amazing Workbench app. This is the first step in knowing how we want the UI to look like, at least in the first iteration.
https://melix99.wordpress.com/2022/06/17/gsoc-update-1-planning/
Workbench has been great! It used to be hard to mess around with GTK but Workbench helps me to learn GTK.
https://twitter.com/synthesizedecho/status/1528958932911280129
Gone too wild playing with Workbench and Blueprint.
https://mastodon.online/@waimus/108582108701889960
as someone who is learning GTK, I can confirm that Workbench is definitely a must have for me!
https://fosstodon.org/@TheEvilSkeleton/108598098682948266
I'm really new to development and workbench its being a fantastic help not just to code itself, but to understand the gtk logic.
https://matrix.to/#/!kDBZrVKCdhrVuWxbGe:matrix.org/$XmIz7FA-UwpoiwHxDyzve1P-J1ecMHkL0x8Br23mUxg
Installed this (again) a short while ago this is for sure the most fun I've had with a development tool
https://floss.social/@agavi@hachyderm.io/110594674482784960
</details>