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, but the CSV file would still be supported.
The fields are:
set to '1' to disable menu
set to '1' to absorb the unused space, only one menu can be flexible
padding to the left of the menu, in pixels
padding to the right of the menu, in pixels
message to create the object for the menu (see below)
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':
An image of a hot dog
A simple menu with the text 'title'
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.
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 'hotdog-printCPUStats.pl'.
The Mac help image
The Mac computer image