tkjuke is a GUI for manipulating a jukebox in a windowed environment,
which uses the program juke as the underlying controller.

tkjuke runs in either master or slave mode.
As a master,
tkjuke displays one or more tkjuke windows from the local and/or remote jukeboxes in tabs of a NoteBook widget.
When an operator wants to manipulate a jukebox,
she tells the master to contact the requisite computer and start tkjuke in slave mode.
The slave's window becomes embedded in a NoteBook tab on the master.

When tkjuke is invoked with no command line argument,
it becomes a master.
The master also reads the file tkjuke.config for the list of jukeboxes under its control.
Each lines designates a jukebox (lines are split below,
but in the actual configuration file use one line per jukebox):

If auto-connect = 1, the master tkjuke will try to acquire the associated jukebox during startup. tkjuke is a double-quoted OpenSSH string that invokes a slave tkjuke.

When tkjuke is supplied a single argument, it's a string representation of a Tk hexadecimal window ID within which the slave should embed itself. For debugging, if the tkjuke argument is the string "slave" then a standalone slave is started.

Communication is via password-less ssh with X11 forwarding enabled. For simplicity, we assume OpenSSH, so as to have complete control over known command line arguments.

Many thanks to Eric Lee Green - I could not have written this without his counseling. Any bugs and/or misunderstandings concerning jukebox operations are my own.