Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Add nimf inputcontext plugin for linux version #5050
referenced this pull request
Aug 3, 2018
I'm not sure I can merge that, because it adds a lot of new runtime dependencies. New shared library dependencies include:
That means that anyone without any of that libraries who will autoupdate Telegram Desktop will just get it not launching at all while working fine before the update.
After trying to get rid of those new dependencies I understood that the problem lies deeper.
I load either gtk3 or gtk2 depending on the appindicator library I was able to load. Then I resolve all the used gtk methods from the loaded shared library dynamically (like g_free, g_[signal_smth] etc). I'm afraid that this nimf plugin that is linked to gtk2 specifically will work unreliably if I load and use gtk3 myself and then use gtk2 in this plugin. Also it just wont work if gtk is absent.
To do that the right way I need a way to suggest my dynamically resolved gtk functions to the plugin and for plugin to work with them or just return false in check() if the functions were not loaded. This can be hacked inside the nimf plugin code, but I didn't yet figure out how to do that in a nice way. Some header sharing is required between nimf plugin and tdesktop code.