Computing screen

From LinuxMCE
Revision as of 13:08, 26 June 2006 by Wikiadmin (Talk | contribs) (Implementation details)

Jump to: navigation, search
This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.
== Introduction ==

The Computing screen allows you to use external applications, like Mozilla or MythTV Setup. There are two datagrids on the screen, one with installed programs and one with web bookmarks.

Specifications

For OnScreen Orbiters

Clicking one of the cell of the datagrids will bring you to a new screen, called "Application Desktop" screen. If you click on a web bookmark, firefox will start and it will positionated to fill the whole screen, except "Home" and "Stop" buttons, from the bottom of the screen. In this screen, Firefox will receive both keyboard and mouse events and orbiter will ignore keyboard events. If you'll click on home button, the application will remain opened and you'll be able to go back to Computing screen and press "Desktop". Below "Desktop" button a label will indicate the name of the external application opened. If no external application is running, the label and "Desktop" button will be hidden.

For non-OSD Orbiters

Clicking on the cell from the datagrid will bring you to a "application desktop remote" screen, from where you will be able to control the external application running on the OSD Orbiter from the same room. Pressing "stop" button will close the external application.

Note: if xine or other player is also running, while playing with Computing features, xine window shouldn't be visible. Also, if an external application is running and you are going to media and you will play a movie, only xine should be visible and Orbiter.

Implementation details

To encapsulate the logic for Computing screen, a screen handler is being used, overriden in ScreenHandler the method SCREEN_Computing. In here: - we are registering callback for cbObjectSelected and cbDataGridSelected events. - then will we decide if this orbiter is a OSD orbiter (in which case we know the status of any external application that might be started) or not (in which case will use 'Get Active Application' and get the info from the right OSD Orbiter); - if there is an external application running, which show "Desktop" button and the associated label; if not, these objects will be hidden.