Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split Gtk usage into separate library #20

Open
TingPing opened this issue Nov 22, 2018 · 7 comments
Open

Split Gtk usage into separate library #20

TingPing opened this issue Nov 22, 2018 · 7 comments

Comments

@TingPing
Copy link

The fact the main library links to Gtk is quite problematic considering there are 3 versions of Gtk out there (2, 3, 4) that cannot be in the same process. If this were split out it could work against all versions at the same time.

@jjk-jacky
Copy link
Owner

jjk-jacky commented Nov 22, 2018 via email

@TingPing
Copy link
Author

TingPing commented Nov 22, 2018

Yes that is what I mean. If a package enables that option it cannot work in a Gtk2 or Gtk4 application. It would be best to have parallel libraries so it always works.

On a side note I was looking into replacing libdbusmenu-gtk usage (because its garbage and a dead library) so maybe we can do that if you are OK with removing that API.

@jjk-jacky
Copy link
Owner

jjk-jacky commented Nov 24, 2018 via email

@TingPing
Copy link
Author

Well, supporting multiple versions of GTK, I'm not entirely sure exactly what it would entail but it feels like adding lots of complexity for something that might not even been really used... so I'm not too inclined to do so.

Well I need to use it with Gtk2 and the day Gtk4 becomes used it means your library isn't even possible to use. Obviously this library isn't widely adopted so I can't point to a use in the wild.

As for libdbusmenu, dropping/replacing the dependency is one thing, dropping support for the feature using a menu is another. And, considering is was asked for specifically, it is likely in use, I don't see a good reason to drop it.

Sorry I didn't give enough details but I wanted to add an API to pass a GMenu and export a dbusmenu ourselves (admittedly non-trivial). The GtkMenu functionality can still exist for those who really want it but again that would be its own library so the main lib only uses Gio.

@jjk-jacky
Copy link
Owner

jjk-jacky commented Nov 24, 2018 via email

@TingPing
Copy link
Author

But you might already be able to use it with gtk2 fine unless you
enable libdbusmenu support, no?

In the short term where I bundle this, yes that is fine. In the long term where we assume this is a system provided library it will very likely be built with it and there is nothing an application can do other than crash.

As for gtk4, no this library can't be used with a toolkit that isn't
yet released, how odd. ;P And again, so long as you don't use dbusmenu
support it will probably be usable from gtk4 just fine...

... Obviously it will release one day and that day the apps that move will just crash.

@jjk-jacky
Copy link
Owner

jjk-jacky commented Nov 25, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants