pappymenu
is an application launcher that (unlike dmenu_run
and Co.)
provides a graphical list of installed applications, according to
XDG-standards. It reads desktop entries from $XDG_DATA_DIR/applications
(actually, it uses xdg_menu
to do this) and builds a nice application
launcher, like the GNOME2-applications-menu.
I usually use dmenu_run
to launch my applications. But there are some
programs that I rarely use and forget the command (or even the application
name). pappymenu
provides help in those cases by giving me a launcher similar
to the application menu found in other DEs (Mate, Xfce, ...).
pappymenu
uses xdg_menu
under the hood to generate the menu list. It then
displays a menu with Gtk3 and upon selecting an entry, it replaces itself with
the given command (by calling exec
).
- Python 3+
- xdg_menu in your $PATH
- GObject3 bindings for Python 3 (Package
python-gobject
in Arch,python3-gi
in Ubuntu) lxml
for Python 3 (used to parse the output ofxdg_menu
)python-xdg
(XDG standards for Python 3, may bepython3-xdg
, depending on your distro)
Make sure you have the requirements installed.
Copy pappymenu.py
somewhere where you can find it. Run it without arguments
to get the menu.
You can bind a key combination to spawn pappymenu, example for herbstluftwm:
herbstclient keybind Mod4-Shift-d spawn ~/src/pappymenu/pappymenu.py
If you install new applications, it might be required to update the menu cache
(usually ~/.cache/pappymenu/menu-cache
). This can be achieved by running
pappymenu with the -r
flag, e.g. pappymenu.py -r
. The cache will be updated
and saved.
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.