More progress made!
The WIP icon manager app now renders SVG icons as vector drawings, so they don't get pixellated and appear extra crisp on HiDPi displays.
The search bar is also now visible in the header bar for quick access. It now filters the icons in the currently selected list.
Chris Wood
in reply to Chris Wood • • •For every day that I've sat down to work on this app, I've managed to solve a problem that seemed insurmountable the day before.
The app now copies icons to your clipboard, ready to paste into design software! It can paste icons both as SVG data (which Inkscape supports) and as a temporary file (which Figma and file managers support).
It also loads icon sets that are bundled with the app and has an overview of all the sets installed.
#GNOME #GTK #AppDev
Chris Wood
in reply to Chris Wood • • •Having trouble with a GtkGridList. Looking for help.
I've replaced a GtkFlowBox with a GtkGridList to improve performance. However, the GridList is breaking the layout.
The height of every child of the GridList expands to beyond the edges of the window (screenshot 1), unless it’s the *direct descendent* of a GtkScrolledWindow (screenshot 2). In the second case, the grid renders as expected but I can't put the header in.
Does anyone know a way around this? (Code below)
#GNOME #GTK #AppDev
Angelo Verlain
in reply to Chris Wood • • •GtkGridView and GtkListView are designed to be put into GtkScrolledView, or otherwise you won't get the performance benefits at all.
I was working on a custom widget that would enable showing a GtkScrollable (in this case a GtkGridView) with a header and keeping the perf benefits. I can show you the code and you can try to port it to swift.
You can also try setting vexpand/valign in the meantime
Chris Wood
in reply to Angelo Verlain • • •@vixalientoots thank you, this is what I suspected. I’ll work with this limitation then 😊
Yes that sounds great, I’d be happy to take a look at your custom widget and see if I can rebuild it in JS!
Thanks for your help!
Sonny
in reply to Chris Wood • • •Chris Wood
in reply to Sonny • • •Chris Wood
in reply to Chris Wood • • •Sonny
in reply to Chris Wood • • •thanks! Glad to hear Workbench is fulfilling its goals.
I agree with you, and I'm confident we'll make things even better by improving diagnostics and adding a linter
github.com/workbenchdev/Workbe…
Please don't hesitate to file an issue or reach out if you see notice anything that would confuse a beginner.
Add hints / guards against silent or unclear failures · Issue #218 · workbenchdev/Workbench
GitHubChris Wood
in reply to Sonny • • •Yes, it really is useful. I'm a UX Designer and I haven't build a web app in 7 years, so for all intents and purposes I shouldn't be able to build an app. But being able to start with ready-made layouts in Workbench and write in a language I'm fairly familiar with (JS) has made this possible. So, really, really incredible work - thank you for putting it together
Chris Wood
in reply to Chris Wood • • •It can be a bit tedious closing windows. It keeps asking me to save changes when all I did was click on a button in the preview panel. And I'd love it if it remembered my choice of UI templating language; at the moment, I manually change it to "XML" every time I open a new preview.
But overall, it's totally invaluable. It's a wonderful learning tool
Chris Wood
in reply to Chris Wood • • •Other than that, it's been really complete and fleshed out!
Sonny
in reply to Chris Wood • • •+1
Workbench current Library UX doesn't scale very well for variations of widgets / APIs.
I've been toying with interactive tutorials for GNOME where we could explain widgets and concepts at length.
Like a book with interactive / inline code examples to demonstrate and play with each option.
It's not a great example but it gives an idea of what the framework could do:
floss.social/@sonny/1090132957…
Sonny (@sonny@floss.social)
FLOSS.socialChris Wood
in reply to Sonny • • •So far, I've used
- The "GJS book" tutorial, to get started
- The "gjs.guide" website, as a reference for GJS concepts (e.g. how to work with properties, property bindings and signals)
- The GTK docs, for reference on individual class properties / methods / signals
- The GNOME GJS docs, when I realised these were more accurate for JS