Hotdog LINUX

Lightweight Interface Naturally Using X11

How To Configure Menu Bar

The configuration file for the menu bar is 'Config/menuBar.csv'.

If 'hotdog' is run from '/usr/bin/hotdog', then this file is read from '/etc/HOTDOG/Config/menuBar.csv'.

Otherwise, it is relative to the location of the 'hotdog' binary, wherever that may be. For example, if 'hotdog' is run from '/home/freax/HOTDOG/hotdog', then the file will be read from '/home/freax/HOTDOG/Config/menuBar.csv'.

The timestamp for the 'Config/menuBar.csv' file is continuously checked, and the file is re-read when the timestamp changes.

The modes Hot Dog Stand, Windows 3.1, WinMac, and MacWin also use a file called 'Config/rightButtonMenuBar.csv', which is an alternate menu bar to be shown when the right mouse button is held down.

At the moment, the menu bar configuration file is a CSV file. An additional file format may be added in the future, but the CSV file format would still be supported.

The fields are:

  • disable

    set to '1' to disable menu

  • flexible

    set to '1' to absorb the unused space, only one menu can be flexible

  • leftPadding

    padding to the left of the menu, in pixels

  • rightPadding

    padding to the right of the menu, in pixels

  • objectMessage

    message to create the object for the menu (see below)

  • messageForClick

    message to evaluate when the menu is 'clicked' ('clicked' is inaccurate because it is possible to click a menu, then mouse over to a different menu, in which case this message will be evaluated)

Examples for 'objectMessage':

  • HotDog

    An image of a hot dog

  • TextMenuItem:'title'

    A simple menu with the text 'title'

  • CommandTextMenuItem:['command' 'arg1' 'arg2']

    Run the program 'command arg1 arg2'. The 'command' can be an executable binary or a script. It should be long-running (meaning that it doesn't exit). Every time a line is written to stdout (which is a line that ends with a newline), that text is displayed in the menu bar.

  • CommandBitmapMenuItem:['command' 'arg1' 'arg2']

    Similar to CommandTextMenuItem, except that the output format is different, in order to specify a bitmap to be displayed (instead of text). To see an example, run ''.

  • MacHelpMenuItem

    The Mac help image

  • MacComputerMenuItem

    The Mac computer image