Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/workbenchdev/workbench
Code playground for GNOME π οΈ
https://github.com/workbenchdev/workbench
blueprint desktop flatpak gjs gnome gtk gtk-rs gtk4 javascript libadwaita linux linux-app playground pygobject python rust rust-lang vala
Last synced: about 1 hour ago
JSON representation
Code playground for GNOME π οΈ
- Host: GitHub
- URL: https://github.com/workbenchdev/workbench
- Owner: workbenchdev
- License: gpl-3.0
- Created: 2022-01-22T02:06:32.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T13:49:05.000Z (7 months ago)
- Last Synced: 2024-04-13T13:41:44.530Z (7 months ago)
- Topics: blueprint, desktop, flatpak, gjs, gnome, gtk, gtk-rs, gtk4, javascript, libadwaita, linux, linux-app, playground, pygobject, python, rust, rust-lang, vala
- Language: JavaScript
- Homepage: https://apps.gnome.org/Workbench
- Size: 25.1 MB
- Stars: 630
- Watchers: 8
- Forks: 89
- Open Issues: 91
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: COPYING
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Workbench
Learn and prototype with GNOME technologies
![](data/workbench.gif)
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 | β | β | 99 |
| Python | β | β | 95 |
| Vala | β | β | 91 |
| Rust | β | β | 52 |
| Blueprint | β | β | |
| CSS | β | β | |[1] As of 2024-06-16
## Tips and tricks
Disable code formatting
[JavaScript](https://docs.rome.tools/formatter/#ignoring-code)
[CSS](https://prettier.io/docs/en/ignore.html#css)
Turn a prototype made in Workbench into an application
Use GNOME Builder to start a new project using the appropriate GNOME Application template and copy paste your Workbench code.
## Code of conduct
Workbench follows the [GNOME Code of Conduct](https://conduct.gnome.org/).
- **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](https://github.com/sonnyp) and contributors
## License
GPLv3. Please see [COPYING](COPYING) file.
Except for everything under src/Library/demos which is in the public domain under the terms of [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/).
Testimonials
From [Mirko Brombin](https://mirko.pm/) creator of [Bottles](https://usebottles.com/)
> 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](https://twitter.com/melix9999) creator of [Telgrand](https://github.com/melix99/telegrand)
> 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/@[email protected]/110594674482784960