I am pleased to announce a new development release of Cambalache, version 0.91.3, getting us one step closer to the stable release for GNOME 47.
What’s new:
-
- Support 3rd party libraries
- Improved Drag&Drop support
- Streamline headerbar
- Ported treeview to column view
- Several bug fixes
3rd party libraries
Cambalache now loads 3rd party catalogs from Load catalogs from GLib.get_system_data_dirs()/cambalache/catalogs and ~/.cambalache/catalogs
These catalog files are generated from Gir data with tools/cambalache-db.py
script. Currently this is an internal tool which means it needs some work and documentation to make it easier to use but you can see an example of how its used internally here
So what is a catalog anyway?
A catalog is a XML file with all the necessary data for cambalache to produce UI files with widgets from a particular library, this includes the different GTypes, with their properties, signals and everything else except the actual object implementations.
Runtime objects are created in the workspace by loading the GI namespace specified in the catalog.
So please, feel free to contact me on matrix if you are interested in adding support for a 3rd party library.
Improved Drag&Drop support
After the extensive rework done porting the main widget hierarchy from GtkTreeView to GtkColumnView and implementing several GListModel interfaces to avoid maintaining multiple lists I was able to reimplement and extend Drag&Drop code so now its possible to drop widgets in different parents.
Where to get it?
You can get it from Flathub Beta
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo flatpak install flathub-beta ar.xjuan.Cambalache
or checkout main branch at gitlab
git clone https://gitlab.gnome.org/jpu/cambalache.git
Matrix channel
Have any question? come chat with us at #cambalache:gnome.org
Mastodon
Follow me in Mastodon @xjuan to get news related to Cambalache development.
Happy coding!