Since the move to GTK3 custom color support is extremely hacky and buggy:
- It relies on gtk_widget_override_color() which is deprecated
- Only one call to gtk_widget_override_color() is functional, successive
calls are ignored, leading to the menu not changing colors when the custom
colors are changed or enabled/disabled.
- RegenPlugins leads to a loss of color.
- Theme changes are broken due to overridden colors.
The feature is also very niche and quite unecessary. If a custom color is
better than the default one we should apply the change in the theme or
define a new theme which inherits ours and simply defines the menu
differently.
The way to do this, in line with GTK's design, is via CSS at theme level.
* initial cleanup with some debug messaging
* further cleanup, mostly coding style
* - more cleanup, and speed-up
- more fixes, including many icon and encoding related issues
- replace some icons and remove compile.py
- prepare for python3 port as much as possible
* remove some more unneeded files, few left-over cleanups
* move some external scripts to python3 already
* Fix and clean up add_search_suggestions and add_apt_filter_results logic
* more cleanup, thx Codacity
* fix issue with a path
* add a killall to the test script, fix a method declaration
* fix custom colour setting
* keybinding: re-add GdkX11
* re-add mint-common dep
* Use os.path.expanduser("~") instead of os.environ
* revert re-add GdkX11, but import Gtk first
* Applications: Fix keypress event handler
* further fix and simplify the keypress handler
* disconnect the keyPress handler when destroying the plugin
When recent plugin is disabled, recentAppBox is None,
resulting in errors in the logs:
org.mate.panel.applet.MintMenuAppletFactory[1038]: File “/usr/lib/linuxmint/mintMenu/plugins/recentHelper.py”, line 130, in applicationButtonClicked
org.mate.panel.applet.MintMenuAppletFactory[1038]: doRecentApps()
org.mate.panel.applet.MintMenuAppletFactory[1038]: File “/usr/lib/linuxmint/mintMenu/plugins/recentHelper.py”, line 112, in doRecentApps
org.mate.panel.applet.MintMenuAppletFactory[1038]: for i in recentAppBox.get_children():
org.mate.panel.applet.MintMenuAppletFactory[1038]: AttributeError: ‘NoneType’ object has no attribute ‘get_children’
This works ootb with recent GTK versions now.
The workaround we used creates problems when run in HiDPI
(the window is misplaced and its size is twice larger).
* Fix menu positioning to account for multiple monitors
It takes into account the orientation of the panel applet. It also
offsets its right/left positioning to avoid clipping.
Fixes#21
* Take into account possible clipping in the top/bottom of the monitor