PupMenu-4.0

Recommended OS

Puppy Linux with gtkdialog4 (0.7.21 or greater)

Purpose and Base Features

PupMenu is a comprehensive menu-item editor and program launcher based on standard .desktop files of the Linux file system (usr/share/applications/*.desktop and usr/local/share/applications/*.desktop). The graphical interface employs a traditional menu hierarchy, and the program categories are familiar to most users of Puppy Linux. Applications are launched quickly from the user interface and the corresponding .desktop files can be edited easily, or simply viewed for more information.

The current program database is dynamically scanned by PupMenu and the menu is automatically updated with applications that are viewable by name and content in a conventional dual-pane interface (full-view), or by name only in the optional single-pane interfaces (mid-view, mini-view and control panel). All views are readily available through the toggle button in the upper-right corner of the user interface.

Selecting menu items with the mouse or keyboard in the full-view interface enables serial viewing of all .desktop files in the information window, and the corresponding icons are displayed in the graphic viewer.

A convenient search option (application finder) facilitates prompt access to all applications, particularly the obscure or infrequently used items. The standard search mode parses the names of menu items (.desktop files) alphabetically. The optional enhanced search mode parses all character matches in the names of menu items and evaluates information inside the menu files, which provides both specific and nonspecific (fuzzy) matches. You can select the search mode in Preferences, or use the toggle button of the main user interface.

The search option also features a quick-launch function which emulates Run-dialog programs such as gExec and gRun. Simply enter (part of) the executable name of an application in the search box of PupMenu, and press the Enter key to launch. As you type characters in the search field, the PupMenu application and information windows change dynamically to match the current search parameters. At any time, you can press the Enter key to launch the menu item which is currently first in the list of applications. The keyboard quick-launch option is appropriate for those who are familiar with the names of applications currently installed. Alternatively, you can launch an application by selecting the launch button, or by a double mouse-click of the program name. For all launch modes, the full-view, mid-view and control-panel interfaces provide a checkbox which quickly toggles the 'close after launch' option, or you can set this feature in Preferences when using the mini-view graphical interface.

PupMenu includes the built-in 'Favorites' menu category in the main user interface, and automatically adds this category to the standard Puppy XDG menu when you first launch the PupMenuEdit module. The Favorites option is also available as an independent launcher for the desktop or panel (see below).

Frequently used applications are conveniently retrieved from the launch history (blue-folder icon) and are quickly relaunched by a single mouse-click of the program name, or by keyboard navigation and pressing the Enter key. The launch history is self-sustaining and PupMenu automatically removes duplicate and orphan menu items from the list of available applications.

Quick access to the Linux directory structure is facilitated by the bookmark option (book icon) which opens the selected directory in supported file managers (ROX-Filer, Thunar, PCManFM, SpaceFM or Xfe). This option also supports individual files and browser URLs, and the supplemental bookmark manager provides options to move, reset, delete or append bookmarks. GTK and ROX bookmarks are easily (and optionally) appended to your personal bookmarks, but duplicate bookmarks are not appended. Additionally, this module screens GTK and ROX bookmarks and automatically excludes files that are no longer present on your drive (recently deleted), but are still listed in the corresponding external bookmark source.

The 'recent files' option (file icon) parses recently-used.xbel and provides a launchable list of files recently accessed by GTK applications through the Open/Save menu dialogs. This option also screens the list and automatically excludes files that are no longer present on your drive, but are still listed in recently-used.xbel. Optionally, you can go to the 'Manage' button and select the default application to open the selected file. Typically, this default action is the original program used to open the file, as defined in recently-used.xbel. However, if desired, you can set the xdg-open tool as the default action based on file mime-types. Either way, a simple left-mouse-click (or pressing the keyboard 'Enter' key) will open the selected file with your preferred default action. Alternatively, you can right-mouse-click the selected file to override the default action, and specifically open/launch with the xdg-open tool. Caveat: support for the right-mouse-click action requires gtkdialog4 >= r333.

The 'Favorites', 'Bookmarks' and 'Recent Files' options are integral to the PupMenu interface, but each may be accessed independently as optional launchers for the desktop or panel. For desktop launchers, go to /usr/share/applications and add the corresponding .desktop file(s) to the Puppy desktop (drag-and-drop in Rox-Filer). For panel launchers, simply add the following executables to the panel, and assign the corresponding launcher icons:

  1. Favorites
    Executable: /usr/bin/pfavorites (or) /usr/share/applications/pFavorites.desktop
    Icon: /usr/share/pixmaps/pfavorites.svg
  2. Bookmarks
    Executable: /usr/bin/pbookmarks (or) /usr/share/applications/pBookmarks.desktop
    Icon: /usr/share/pixmaps/pbookmarks.svg
  3. Recent-Files
    Executable: /usr/bin/precent-files (or) /usr/share/applications/pRecent-Files.desktop
    Icon: /usr/share/pixmaps/precent.svg

Common functions that one may use routinely are available in the lower panel tray, including the following (if installed): favorite-apps launcher (PupApps), control panel (PupControl), file manager, file finder, drive mounter, command-line launcher (pRun), task manager, terminal emulator, Wine menu for Windows applications, and shutdown manager (PupShutdown).

PupMenu provides convenient options for creating, editing and deleting menu files. The PupMenuEdit module facilitates changing individual elements of existing menu files, and the companion PupMenuMaker is an equally intuitive utility for the creation of new menu items. PupMenuEdit and PupMenuMaker support standard (legacy) menu categories, but also provide full support for the enhanced menu hierarchy (Puppy-specific categories and subcategories) introduced in the Woof specifications of 30 Nov 2012.

The PupMenuEdit module provides the following options for managing and editing the standard XDG menu of Puppy Linux.

  1. File tab: Menu file manager with options to create (PupMenuMaker), edit, backup and delete menu (.desktop) files.
  2. Edit tab: Modify .desktop file options which control the name, tooltip, command, icon, mimetype, category and visibility of applications in the standard XDG menu.
  3. View tab: Display contents of .desktop files.
  4. Undo tab: Restore .desktop files to the original unedited state.
  5. Desktop tab: Copy menu applications to the desktop.
  6. Favorites tab: Add/Remove menu applications in the Favorites category of the standard XDG menu.
  7. Show-Hide tab: Show (enable) or hide (disable) applications in the standard XDG menu.
  8. Defaults tab: View/Edit default applications in /usr/local/bin.
  9. MIME tab: View/Edit MIME types ($HOME/Choices/MIME-types).

The Preferences module provides the following options for enhancing the PupMenu interface.

  1. Select optional closing of the main PupMenu interface when launching applications.
  2. Show/Hide the border relief (peripheral margins) of small buttons above the utility tray.
  3. Show/Hide the icon viewer in the full, mid and CPL interfaces of PupMenu.
  4. Show/Hide the multi-function utility tray.
  5. Show (rename) the Utility menu category as the Accessories category in PupMenu.
  6. Show/Hide the Development menu category in PupMenu.
  7. Show/Hide the Education menu category in PupMenu.
  8. Select optional auto-updating of the recent launch history of PupMenu.
  9. Select legacy or enhanced menu categories for PupMenuEdit and PupMenuMaker.
  10. Select standard or enhanced search options.
  11. Select optional viewing of hidden menu items in PupMenu (override the 'NoDisplay=true' parameter which hides applications in the conventional Puppy menu).
  12. Show legacy menu categories in PupMenu such as Business, Document and Personal.
  13. Enable Bookmarks (personal, GTK and ROX).
  14. Enable 'Recent Files' (based on recently-used.xbel).
  15. Adjust the font size of the PupMenu interface to match user preference.
  16. Select the default run-dialog utility for the PupMenu tray.

Program access is by Puppy Menu->Utility->PupMenu, or by the default Ctrl+Shift+M keyboard shortcut, which is configured for IceWm, JWM, Openbox, Fluxbox, LXDE and LXPanel. Please go to Preferences and select the Hotkey option.

Availability

The current version of PupMenu is available here.

License

GNU GPLv3, Copyright 2012-2015, Roger D. Grider