Menu Generating

A short introduction to menu generating. Take a look here for more details: Enthrall_integration

Work is in progress on a script, called enthrall, which will facilitate automagically creating the menu's for various windowmanagers.

The basics:

GNOME and KDE, the two major desktop environments in use are using the same way of building their menus. It all works through *.desktop files in certain directories. Look here for more details.

What Enthrall does:

Enthrall collects all the info in the *.desktop files in various locations, while nicely sorting it into submenus. It then puts everything in a format that is easy to parse by the backends. It's the backends that generate the menu in the windowmanagers native format.

Enthrall currently knows how to build the following menus:

  • aewm
  • afterstep
  • blackbox
  • deskmenu
  • enlightenment (just e16 user menus)
  • fluxbox
  • fvwm
  • fvwm-crystal
  • golem
  • icewm
  • ion
  • kahakai
  • openbox
  • pekwm
  • pwm
  • qvwm
  • waimea
  • windowmaker
  • xfce4-session

Using Enthrall:

enthrall
just generates menus for ALL wm's it knows about.
enthrall help

gives you some help. No kidding ;)

enthrall <backend> [other-backends]
builds menus for the selected window managers
enthrall inventory

only generates an inventory of all *.desktop files leaving it to your own, obviously far more advanced, menu generating script to do the actual generating.

How to use/test the menus:

Please remember that I go by the default location specified in /etc/sorcery/enthrall.conf. If you have changed that, save the changes to /etc/sorcery/local/enthrall.conf and substitute your own locations and filenames in the examples below. Also, these things you'll only have to do when you run enthrall as a normal user. When root is running it, and generating the 'global' menus, they will be placed in the proper locations. All you need to do in that case is maybe restart your (broken) windowmanager.

blackbox

Nothing to be done for the general menu in /usr/share/blackbox. When using a user generated menu you'll have to edit the file ~/.blackboxrc and change the "session.menuFile:" to ~/.blackbox/bbox.menu

fluxbox

Nothing to be done here :)

openbox

Nothing to be done here :)

pekwm

Nothing to be done here :)

waimea

edit the file ~/.waimearc and change the "screen0.menuFile:" to ~/.waimea/menu

qvwm

copy the /usr/share/qvwm/system.qvwmrc to ~/.qvwmrc and replace the [Start Menu] section by "include /home/<your-dir>/.qvwm/qvwm.menu"

aewm

Nothing to be done here :)

pwm

copy /etc/pwm/pwm.conf to ~/.pwm/ and edit it to change include "menus-default.conf" into include "<your-home-dir>/.pwm/pwm.menu" - you will need to use the full path.

golem

make the directory ~/.golem then copy /usr/share/golem/golemrc to ~/.golem/ and edit it to change .include "plugins/simple_menus/rc" into .include "<your-home-dir>/.golem/golem.menu" - you also NEED to change ALL the .include paths to the full path of the plugins. Really, all of them. Don't forget one unless you like the CLI ;)

ion

Nothing to be done here :)

deskmenu

Not a windowmanager, but a menu app. Nothing to do to make it work though :)

windowmaker

Nice one, this windowmanager. They use 2 different menu formats. Both supported of course. To use the default format, you won't have to do anything. To use the old format, you'll have to swap /var/lib/enthrall/enthrall.wmaker with wmaker.menu in the same dir.

kahakai

Edit ~/.kahakai/config to point the menu to ~/.kahakai/menu

Configuring enthrall:

in /etc/sorcery you'll find a file called enthrall.conf. in this file you can change the location where enthrall will put the generated menus. When you need to change this file, put the changes into /etc/sorcery/local/enthrall.conf as the main file will be overwritten on any update.

What needs to be done:

This is where you come in... When you come across an application that should be in the menu, but currently isn't, it's really easy to write a .desktop file for it. Just take a look at the files in /usr/share/applications if you want an example. If you then submit it to bugzilla, we'll take it from there.

If you want to try writing a backend, there's some info on enthrall backends here.

Menu_Generating (last edited 2009-05-19 00:38:31 by TerryRoss)