Python/gtk ui for hatari
hatariui | hatariui.py [options] [directory|diskimage|program]
hatariui is a Python/Gtk UI for Hatari which can either embed the Hatari window (on X11 systems) or run in a separate window. By default it provides a normal application menu and some extra button for faster access to fast-forward etc. functionality, but these are fully configurable with the command line options. While it lacks support for some of the Hatari configuration options that Hatari's SDL GUI has, it also supports some options that the Hatari's built-in SDL UI doesn't.
Besides the UI configurability, some of the other advantages hatariui has over the SDL interface included with Hatari itself are use of a normal Gtk file selector with all of its features (directory shortcuts etc), support for UTF-8 (in file names) and in general blending better to the user's desktop environment.
Additionally, Hatari can run while one uses UI configuration dialogs, and it can stop Hatari completely to better save the battery on mobile computers. For devices without a keyboard, it offers a a text input dialog and one can configure (from command line) buttons for often used strings.
hatariui is actually a shell script wrapper for the hatariui.py Python script. It's used to run the Python script with suitable options for default usage and to set up the correct installation directory for the rest of the Hatari UI Python scripts and data files.
Options below are actually for hatariui.py script. If you want to change options given for it, modify the hatariui shell script or make your own based on the installed one.
-h, --help
Hatari UI command line help
-n, --nomenu
Omit menubar from the window
-e, --embed
Embed Hatari window (to middle of controls)
-f, --fullscreen
Start in fullscreen
-l, --left <controls>
Add a toolbar at left
-r, --right <controls>
Add a toolbar at right
-t, --top <controls>
Add a toolbar at top
-b, --bottom <controls>
Add a toolbar at bottom
-p, --panel <name>,<controls>
Add a separate window with given name and controls
You can have only one toolbar on each side of the Hatari window. Panels are separate windows and you can has as many of them as you wish. For each panel you need to add a control with the name of the panel (see "MyPanel" in examples).
Following controls can are available for toolbars and panels:
|
Separator between controls
>
Next toolbar in panel windows
compatibility
Hatari compatibility list
harddisk
Hard disk images and directories
reset
Warm or cold reset Hatari
sconfig
Save configuration
bugs
Report a bug
display
Display settings
authors
Hatari authors
forward
Whether to fast forward Hatari (needs fast machine)
debug
Activate Hatari debugger
quit
Quit Hatari UI
hatari
Hatari home page
recanim
Record animation
recsound
Record YM/Wav
mails
Hatari mailing lists
floppy
Floppy images
device
Toggle Midi, Printer, RS232 peripherals
load
Load emulation snapshot
lconfig
Load configuration
path
Device & save file paths
machine
Hatari st/e/tt/falcon configuration
todo
Hatari TODO
hatariui
Hatari UI home page
save
Save emulation snapshot
joystick
Joystick settings
trace
Hatari tracing setup
pause
Pause Hatari to save battery
about
Hatari UI information
release
Hatari release notes
full
Toggle whether Hatari is fullscreen
manual
Hatari manual
input
Simulate text input and mouse clicks
sound
Sound settings
changes
Latest Hatari changes
run
(Re-)run Hatari
shot
Grab a screenshot
<panel name>
Button for the specified panel window
<name>=<string/code>
Synthetize string or single key <code>
If no options are given, the UI uses basic controls.
Example on how to add top, right and bottom toolbars and a separate "MyPanel" panel window:
hatariui.py --embed \ -t "about,run,pause,quit" \ -p "MyPanel,Macro=Test,Undo=97,Help=98,>,F1=59,F2=60,>,close" \ -r "paste,debug,trace,machine,MyPanel" \ -b "sound,|,forward,|,fullscreen"
For more examples on Hatari UI options usage, see the hatariui shell script.
Hatari UI is written by Eero Tamminen <oak at helsinkinet fi>.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.