Closed geluk closed 1 month ago
glib-macros dependency is unneeded, as its contents are reexported by glib crate
Well spotted, fixed.
cargo wants to add 4 dependencies for some reason when using cargo update
:
Adding gdk-pixbuf-sys v0.20.0
Adding gio-sys v0.20.0
Adding glib-sys v0.20.0
Adding gobject-sys v0.20.0
adding them (specifically, gio-sys
, which seems to be required by gdk-pixbuf-sys
, adding the other two on their own is fine) breaks dbusmenu-glib
:
error[E0277]: the trait bound `menuitem::Menuitem: glib::translate::FromGlibPtrArrayContainerAsVec<_, *mut glib_sys::GList>` is not satisfied
i am at a loss here, do you by any chance have an idea what could be causing this? my only guess is some kind of export
or should i file an issue against the dbusmenu-glib
repo?
Thanks a lot for your work, @geluk! closing as this has been included in #1144
Regarding GTK4: I even already had a working build of GTK4 eww a couple of years ago. Sadly, there where some showstoppers that I don't think have been fully resolved yet, especially regarding wayland compatibility (GTK4 makes rendering on layershell surfaces a lot more complex, and back then it was fully impossible), as well as some other larger architectural changes that affected eww quite negatively. I don't have any concrete plans on when to retry a GTK4 migration currently, as I think most of the features GTK4 adds don't really affect eww directly.
Description
This PR updates GTK, GDK, and all related dependencies to 0.18.
Additionally, since
gtk
re-exportsgdk
,gdk-pixbuf
,glib
,pango
, andcairo
, it is possible (and I'd argue preferable) to depend directly on the re-exported versions. This way, we don't have to worry about keeping the versions aligned anymore - Cargo will take care of that. Notably, the re-exported version ofgdk-pixbuf
was already used everywhere, so it could just be removed without any import changes.Motivation
I'd love to see
eww
updated to GTK 4, but I understand that this is complex and time consuming, and while I wouldn't mind assisting, I don't have enough experience with GTK to be of much use.That said, what I can at least do is get the 0.17->0.18 breaking changes out of the way, and simplify the dependencies a bit to make the eventual migration ever so slightly easier.
Checklist
Please make sure you can check all the boxes that apply to this PR.
cargo fmt
to automatically format all code before committing