128 lines
4.8 KiB
Plaintext
128 lines
4.8 KiB
Plaintext
|
------------------------------------------------------------------------------
|
||
|
xorriso-tcltk
|
||
|
------------------------------------------------------------------------------
|
||
|
Copyright (C) 2012 - 2013
|
||
|
Thomas Schmitt <scdbackup@gmx.net>, libburnia-project.org
|
||
|
Provided under BSD license: Use, modify, and distribute as you like.
|
||
|
------------------------------------------------------------------------------
|
||
|
|
||
|
xorriso-tcltk is mainly a proof of concept for a frontend that operates
|
||
|
xorriso in dialog mode.
|
||
|
|
||
|
Dependencies:
|
||
|
- xorriso ISO 9660 Rock Ridge filesystem manipulator and CD/DVD/BD burn program
|
||
|
- Tcl programming language
|
||
|
- Tk widget toolkit
|
||
|
- optionally the Tcl/Tk package BWidget
|
||
|
|
||
|
It exercises several fundamental gestures of communication:
|
||
|
- connecting via two pipes
|
||
|
- sending commands
|
||
|
- receiving replies
|
||
|
- inquiring the xorriso message sieve
|
||
|
- using the xorriso parsing service
|
||
|
|
||
|
Note that any other language than Tcl/Tk could be used, if it only can
|
||
|
do i/o via standard input and standard output or via named pipes.
|
||
|
Further it has to perform integer arithmetics and string manipulations.
|
||
|
And, well, a graphical widget set would be nice.
|
||
|
|
||
|
See man xorriso for a documentation of xorriso concepts and commands.
|
||
|
See man xorrecord for details of the burn image file feature.
|
||
|
|
||
|
|
||
|
Quick start
|
||
|
|
||
|
In the xorriso build directory, without installation of xorriso:
|
||
|
|
||
|
xorriso/xorriso -launch_frontend frontend/xorriso-tcltk --stdio --
|
||
|
|
||
|
After installation of xorriso by make install:
|
||
|
|
||
|
xorriso-tcltk
|
||
|
|
||
|
|
||
|
Overview of GUI
|
||
|
|
||
|
The window is separated into three main areas:
|
||
|
- Connection to xorriso.
|
||
|
- Management of drives and image files.
|
||
|
- Inspection, manipulation, and exploitation of xorriso ISO image model.
|
||
|
|
||
|
Click the rightmost mouse button while being over any of the GUI elements
|
||
|
in order to get the particular help text for that element.
|
||
|
There is no need to close the help window. Just click another element to
|
||
|
get another help text.
|
||
|
|
||
|
The "Help" button in the upper right corner gives a short overview and
|
||
|
instructions for several common use cases.
|
||
|
|
||
|
|
||
|
Program start options
|
||
|
|
||
|
The Tcl shell "wish" is allergic to options which start by "-h".
|
||
|
So here is the output of xorriso-tcltk --help :
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
Usage:
|
||
|
frontend/xorriso-tcltk [options]
|
||
|
Options:
|
||
|
All options must be given with two dashes ("--option") in
|
||
|
order to distinguish them from any options of the Tcl shell.
|
||
|
--help
|
||
|
Print this text and exit.
|
||
|
--stdio
|
||
|
Establish connection to xorriso via stdin and stdout.
|
||
|
E.g. when letting xorriso start this frontend program:
|
||
|
xorriso -launch_frontend $(which xorriso-tcltk) --stdio --
|
||
|
--named_pipes cmd_fifo reply_fifo
|
||
|
Establish connection to a xorriso process started by:
|
||
|
xorriso -dialog on <cmd_fifo >reply_fifo
|
||
|
which is then ready for a run of:
|
||
|
xorriso-tcltk --named_pipes cmd_fifo reply_fifo
|
||
|
It is important that the parent of xorriso and of this
|
||
|
tcl/tk frontend opens the named pipe for commands before
|
||
|
it opens the named pipe for replies. This avoids deadlock.
|
||
|
--silent_start
|
||
|
Do not issue the start message xorriso-tcltk-version.
|
||
|
This works only if --silent_start is the first argument.
|
||
|
--no_extract
|
||
|
Do not allow extraction of files from ISO filesystem to
|
||
|
hard disk. This is not revokable during the program run.
|
||
|
--no_bwidget
|
||
|
Do not try to load the Tcl/Tk package BWidget which is
|
||
|
a prerequisite for the "/" file browser buttons.
|
||
|
--geometry {+|-}X{+|-}Y
|
||
|
Sets the position of the main window.
|
||
|
--click_to_focus
|
||
|
Chooses that input fields and list boxes get the keyboard
|
||
|
focus only when being clicked by the mouse. (Default)
|
||
|
--auto_focus
|
||
|
Chooses that the keyboard focus is where the mouse
|
||
|
pointer is.
|
||
|
--pipe_log_file path
|
||
|
Set a file address for logging of xorriso commands and
|
||
|
reply messages and enable this logging.
|
||
|
The log lines will be appended. Path "-" means stderr.
|
||
|
--script_log_file path
|
||
|
Set a file address for logging of essential xorriso
|
||
|
commands and enable this logging.
|
||
|
The log lines will be appended. Path "-" means stderr.
|
||
|
--script_log_all_commands
|
||
|
With logging of commands log non-essential commands too.
|
||
|
--use_command_move
|
||
|
Use xorriso command -move for the "Move to: button
|
||
|
if xorriso version is >= 1.2.8
|
||
|
--use_command_mv
|
||
|
Use xorriso command -mv for the "Move to:" button.
|
||
|
|
||
|
If neither --stdio nor --named_pipes is given, then this script
|
||
|
will try to locate itself in the filesystem and start a xorriso
|
||
|
run that launches it again.
|
||
|
|
||
|
In the running GUI, click with the rightmost mouse button on
|
||
|
any GUI element to get its particular help text.
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
|