Line 10:
Line 10:
From the zynthians perspective it doesn't care it just handles a X-Windows window which provides the interface.
From the zynthians perspective it doesn't care it just handles a X-Windows window which provides the interface.
−
This means that implementing mice and cursor's into this world is fairly simple and so the GUI can use a mouse simply connected to the Pi's USB port. The Zynthian has a setting to turn a cursor on & off for precisely this reason. The touchscreen is implemented this ways as well. This means that there are various display settings that allow font size and horizontal & vertical screen size to be defined. To cope with this wide range of displays. This has the side effect that screen characteristics need to be considered,so we avoid the cutesy pictures that seem to proliferate on many dedicated hardware devices that have only one screen size to consider. . . ( This is probably a personal gripe...:-) but it's helps to understand this limitation when proposing new features that would require GUI alterations or additions.
+
This means that implementing mice and cursors into this world is fairly simple and so the GUI can use a mouse simply connected to the Pi's USB port. The Zynthian has a setting to turn a cursor on & off for precisely this reason. The touchscreen is implemented this ways as well. This means that there are various display settings that allow font size and horizontal & vertical screen size to be defined. To cope with this wide range of displays. This has the side effect that screen characteristics need to be considered, so we avoid the cutesy pictures that seem to proliferate on many dedicated hardware devices that have only one screen size to consider. . . ( This is probably a personal gripe...:-) but it helps to understand this limitation when proposing new features that would require GUI alterations or additions.
== SystemD ==
== SystemD ==
−
The starting point for any modern linux system is systemd and zynthian makes much use of thus infrastructure. Thus logging is best handled by using journalctl ( journalctl -fu zynthian will give a running report of service start up).
+
The starting point for any modern linux system is systemd and zynthian makes much use of this infrastructure. Thus logging is best handled by using journalctl (journalctl -fu zynthian will give a running report of service start up).
−
The entry point for the GUI that is managed by zynthian.service is the shell file
+
The entry point for the GUI that is managed by zynthian.service is the shell file
== The Zynthian code entry point ==
== The Zynthian code entry point ==
Line 125:
Line 125:
|}
|}
−
A dictionary called screens is defined and this has string keys that points to the individually defined screen objects that display the appropriate screens is defined.
+
A dictionary called screens is defined and this has string keys that points to the individually defined screen objects that display the appropriate screens is defined and the value of the dictionary si set to the instantiated object from the .zyngui modules.
# Create Core UI Screens
# Create Core UI Screens
Line 133:
Line 133:
self.screens['confirm'] = zynthian_gui_confirm()
self.screens['confirm'] = zynthian_gui_confirm()
....
....
+
+
The main menu is set depending on the zynthian kit...
+
+
and the zynthian device manager is instantiated.
+
+
Then the threads and polling mechanisms are started .