* 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
* Highlight previous search so typing overwrites it
When set to remember the last search, on next opening the menu it would display the last search and put the cursor at the end of it. If you wanted to do a new search you would first have to delete your previous search. More convenient if you starting typing it overwrites the last search and only if you place the cursor with arrow keys or mouse it switches to insert / append text to the last search.
There was existing code that did in fact do that but it was in the wrong place. This patch puts it in the right place. Fixes#86.
* Remove code to set position at end
Because it doesn't do anything when you select all the text.
This fixes#178.
add_apt_filter_results ran a command with keywords from the menu's Search entry without shell escaping. This made it possible to have it run shell commands by using command substitution. E.g. searching for `$(xeyes)` would run xeyes.
When/if mintmenu gets ported to Python3 pipes.quote should be replaced by shlex.quote.