[Haskell] ANN: yeganesh-2.5
wagnerdm at seas.upenn.edu
wagnerdm at seas.upenn.edu
Sat Apr 21 21:27:31 CEST 2012
Today heralds the release of version 2.5 of the venerable yeganesh[1] menu.
The suckless team produces a small program named dmenu[2] which acts like a
normal Unix pipe program, accepting input on stdin and producing output on
stdout, with the one caveat that it sticks the user in between. It launches a
very small menu, presenting the user with each of the lines of stdin as
choices, and prints the chosen text as a single line to stdout. This is very
convenient for lightweight, GUI-less programs and scripts that need some
minimal interaction; however, it is completely memoryless.
Yeganesh wraps dmenu to add some memory: it records which choices the user has
made in the past, and promotes popular choices to the front of the menu on
future runs. See the website[1] for screenshots.
New in this release:
* Switching away from Read as the cache file parser reduced startup time by a
factor of eight. (Caches in the old format will be transparently upgraded.)
* When running in --executables mode, broken symlinks no longer sabotage their
siblings in the filesystem tree.
* Minor change to command-line parsing to preserve consistency with GNU-style
command lines. (Any command line that used to work will still work, and will
behave the same; however, some lines that were rejected before are now
accepted and passed on to dmenu.)
To try it out:
1. Install dmenu via your package manager, or from source (it's quite small!).
wget http://dl.suckless.org/tools/dmenu-4.5.tar.gz
tar xf dmenu-4.5.tar.gz
cd dmenu-4.5
make install
2. Install yeganesh from Hackage.
cabal install yeganesh
3. Run yeganesh; for example, to choose a file in your current directory, then
see that file float to the top of your choices, try
ls | yeganesh
ls | yeganesh
Features:
* One common use case for choosing an executable from your $PATH to launch;
yeganesh will scan your $PATH for you when launched in the --executables
mode.
* Multiple popularity profiles allow separate dmenu consumers to have separate
memories. (For example, I have separate profiles for launching GUI and shell
programs.)
* Sometimes you say something embarassing; use the --filter mode to forget it.
Enjoy!
~d
[1] http://dmwit.com/yeganesh
[2] http://tools.suckless.org/dmenu/
More information about the Haskell
mailing list