A generic visual menu program

Available on Github

Inspired by GridSelect for XMonad, I created a very similar independent program by the name of gsmenu. As an extension, inspired by dmenu, gsmenu also allows filtering of possible matches, making it useful for selecting among more elements than will fit on the screen. See the manpage for more information.

The program is written in Haskell, and is intentionally kept simple in the interest of robustness, correctness and hackability. Configuration, if necessary, is by editing the GSMenu/Config.hs file.

Downloading and installation

The development version of gsmenu is always available on GitHub, while the latest release is on hackageDB. If you have a functioning Haskell/Cabal setup, you should be able to install it by invoking cabal install gsmenu. Note that Cabal installs binaries and manpages in its own subdirectory by default (~/.cabal), and you will thus need something like the following in your shell initialisation file in order to invoke the program or read the manpage from a terminal:


You probably won’t need to set up your MANPATH (the list of directories searched for manpages), as at least on my Debian, the global /etc/manpath.config maps PATH entries to corresponding MANPATH entries. If your system is different, you will need something like the following:

export MANPATH=":~/.cabal/share/man/"