Comment 0 for bug 1612767

Dmitry Shachnev (mitya57) wrote :

Currently we are using appmenu-qt5 as our platform theme on desktop, however it has many disadvantages, which make me want to get rid of it:

1) Its design is a hack: instead of the using normal QPA API for getting the menu, it retrieves the menu bar using QWidget::findChild, and then casts the pointer to QMenu*. The normal methods (which are getting called by Qt) remain empty stubs.

2) It is preventing applications from using GTK+ theme integration, such as dialogs (I reported this as bug 1378935, but there is no easy way to fix that).

3) Finally, it is mostly unmaintained: most patches since 2014 are authored by me, however I see no point continuing to develop that code.

Recently, Shawn Rutledge and I have written a native implementation of what appmenu-qt5 provides (global menu and system tray), which is part of Qt. That code uses the normal API, is well maintained, and works better than appmenu-qt5 (or at least not worse).

So I propose to drop appmenu-qt5 from default Ubuntu installations, and maybe later from archive too.

Unfortunately we use Qt 5.6, and some of the needed patches are only in Qt 5.7, so I would like to backport them to our packaging:

https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f199bb9133fe0446 (will be in 5.6.2 / 5.7.0)
https://code.qt.io/cgit/qt/qtbase.git/commit/?id=488cf78e44947eff (will be in 5.7.0)
https://code.qt.io/cgit/qt/qtbase.git/commit/?id=b6a824d0a3b4fabd (will be in 5.7.0)
https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e4d79e1fdeb6b26b (will be in 5.7.0)

Timo: if you have no objections, I will commit those patches to the packaging Git.

After we do that, I will remove the appmenu-qt5 recommendation from indicator-appmenu (that is the only package referring to it).