myGtkMenu - a custom menu for Linux

Why settle for just one menu?

When I first started using Linux, I hated the "Main Menu". I spent a lot of time customizing the "Main Menu" - only to see my efforts come to naught when I upgraded my Linux distribution. MyGtkMenu is different. When myGtkMenu is executed (by clicking on a panel or desktop icon), it reads a text file and creates a menu. The order of the menu items, which icons are used, and the commands to be executed are specified in the text file. You control the text file. Indeed, if you wanted, you could have ten icons associated with ten (different) custom menus. Re installing just involves backing up and restoring the menu files and associating a panel icon with each custom menu. If you put myGtkMenu and the custom menu-description file(s) in a single directory, it is very fast and easy to backup and restore everything.

MyGtkMenu requires GTK+ 2.4 (or later) libraries. I have used it on Fedora, Ubuntu, and Knoppix without any problems. But no promises are made. If myGtkMenu does not work for you, try to recompile using the Makefile.

As of August 2020, the latest version of myGtkMenu is 1.3.

MyGtkMenu is in a stable state and does not change very often. MyGtkMenu 1.3 has been used on Fedora 15 through 33 (XFCE). In November 2015 I switched from 32-bit Fedora to using the 64-bit version and so recompiled my personal version of myGtkMenu. Other than having to erase the word (note all upper case) "GTK_IMAGE_MENU_ITEM" from the source code, everything compiled and worked as expected.




The previous version, myGtkMenu 1.2.1c, was written for use with GTK+ 2.x libraries. Linking to the new GTK+ 3x libraries breaks version 1.2.1c; hence version 1.3. If you are happy with version 1.2.1c, there is no need to update. Version 1.2.1c works fine with Fedora 15 (but not with Fedora 18). One noticeable change was made with version 1.3. Some hot keys (keybindings) get carried away and start many instances of the same program. To make sure that only one instance of mygtkmenu runs at a given time, a (hidden) lock-file is created in your home directory. If this causes problems, feel free to comment out that part of the code and recompile, or just use version 1.2.1c.

MyGtkMenu should work with Gnome keyboard shortcuts (hot keys). To set up a hot key in Gnome-2, use gconf-editor, in Gnome-3 use gnome-control-center.

Please note that recent versions of GNOME disable icons in menus (and buttons).

One way to re enable the icons is to use gconftool-2 (Gnome-2):

gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true

gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true

In GNOME 3.0, one can use "gnome-tweak-tool" or the command line program "gsettings" to accomplish the same thing (see Google).

  • Suggestions:

    • Make a directory called, for example, "Icons" and place a copy of your favorite icons in that directory. MyGtkMenu is easy to reinstall if the icon locations do not change.

    • Use icons of the proper size. If myGtkMenu has to input a vastly over-sized image and then rescale it, things will slow down. Many paint programs have the ability to easily rescale images.

    • Use the hot keys. For example, in Fedora 18 my shortcuts are: <Alt>C to open myGtkMenu and then T to start gnome-terminal. <Alt>C and then N starts nautilus.

This page last updated on March 28, 2021.