HatariWii/python-ui
2018-05-25 20:45:09 +02:00
..
tests Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
.cvsignore Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
CMakeLists.txt Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
config.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
debugui.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
dialogs.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
FILES Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
gentypes.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatari-icon.png Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatari-logo.png Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatari.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatariui Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatariui.1 Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatariui.desktop Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
hatariui.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
README Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
release-notes.txt Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
TODO Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00
uihelpers.py Initial import of HatariWii 0.0.5 2018-05-25 20:45:09 +02:00

Hatari UI
---------

Hatari UI is an out-of-process user interface for the Hatari Atari
ST/STe/TT/Falcon emulator and its built-in debugger which can
(optionally) embed the Hatari emulator window.

Having the UI in another process allows doing it with a higher level
language while avoiding adding GUI toolkit dependencies to Hatari
itself. The UI is done with PyGtk i.e. in Python language, using the
Gtk widget set.

The main points of this new UI over the Hatari internal one are its
configurability, more usable file selector, internationalization
support and providing a GUI for the (console based) debugger included
with the Hatari emulator.

Note: this is an additional UI, the built-in Hatari SDL UI isn't being
replaced or going anywhere!


Requirements
------------

My guess at the required versions for the dependencies are:
- Python >= 2.6
- PyGtk >= 2.12   (on Debian/Ubuntu PyGtk is in python-gtk2 package)

Hatari UI is included with the Hatari sources:
	http://hg.tuxfamily.org/mercurialroot/hatari/hatari/file/tip/python-ui

Hatari UI has been tested on several Linux versions.  I would assume
it to work also on other unix systems such as Apple OSX. It may work
with the Hatari Windows version, as long as it is built with socket
support.

Embedding the Hatari emulator window is currently supported only for
systems using an X window system (from libSDL sources it would seem
that Windows would also support window embedding, but support for that
would need to be added both to Hatari and Hatari UI because SDL's
own embedding disables all keyboard events in SDL program).

Here are instructions on installing the dependencies for non-Linux
platforms (neither tested nor supported as I don't use/have them):
	http://pygtk.org/downloads.html


Running
-------

Being a Python program, Hatari UI doesn't need to be built.
You can just run it from where you extracted it (or checked
it out of TuxFamily HG repo) by calling its wrapper script:
	/path/to/script/hatariui

Or you can run just the debugger:
	/path/to/script/debugui.py

But you can also install it to system along with Hatari:
	make install


Notes
-----

Hatari UI runs a Hatari version found on $PATH.  If you want
to use a version of Hatari that hasn't been installed, you
need to modify the search path, for example like this:
	PATH=../build/src:.:$PATH hatariui

If UI is started without the embedding option, the actions
(in menus and toolbars) have also shortcuts.  They cannot
be used when Hatari window is embedded because then those
shortcuts couldn't be used with Hatari.


A www-page with more information about Hatari UI is here:
	http://koti.mbnet.fi/tammat/hatari/hatari-ui.shtml