In search of classes that are not using deprecated function but yet unnecessary, I found out that there is a lookalike GObjects class for ExoBinding. It was fairly easy to find because its name was GBinding. Since its functionality and methods are very similar, I first thought that ExoBinding was an extension of GBinding but no, it was an independent implementation of the exact same feature. But why such a class exist? Turns out that ExoBinding was created 6 years earlier than GBinding. Since GBinding was introduced in 2010, the maintainer of Exo in year 2004 had to create one. Fortunately, it's 2021 now and we don't have to manage this duplicate feature.
There are about 90 occurrences in Thunar project and nowhere else (not counting Exo itself). I am preparing an MR for this on Thunar, and GBinding with G_BINDING_SYNC_CREATE mimics the behavior well. It's mostly find-and-replaceable.
There you have to search for each method one by one .. or maybe it is best to really clone all xfce projects and than search locally to make sure.
Hmm, not sure if it is ok to direcly dump exo-binding.c alltogether withough having deprecations for some time. Though I dont think that anybody outside of xfce uses it. If something breaks by that change, I suppose we will hear so in #xfce-dev
Looks like gitlab search is not reliable at all :( Even if it was, it would be better to deprecate ExoBinding first just in case something breaks. I'll prepare an MR that deprecates ExoBinding rather than removes it right away.
Even if it was, it would be better to deprecate ExoBinding first just in case something breaks. I'll prepare an MR that deprecates ExoBinding rather than removes it right away.
Yes, suppose you are right, better safe than sorry.
I cloned everything and grep'd for every occurrences. Same as the github search result.
I can merge the fix for thunar-volman and the media-tags-plugin, though for xfce4-places-plugin I dont have permissions. Suppose it will be fine to just keep the MR around and ask to merge it on #xfce-dev after exo-binding got deprecated.
It would be reasonable to drop deprecated methods all at once after it's done, and name the library libexo-3.
+1 That sounds like a good idea to me. Though I suppose we should release xfce 4.18 with libexo-2 and deprectaed methods, and only afterwards drop all the methods and name it 'libexo-3' .. just in case, that there are some 3rd party panel-plugin which as well use that code.