QX

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Listed Favourites)
m (Add to QX-Favourites)
Line 61: Line 61:
  
 
===Add to QX-Favourites===
 
===Add to QX-Favourites===
 +
The following explainations show the internal structure of the QX application management. It is helpful to create installation scripts for QX.
 +
{{Note:|The main thing you have to do for handling additions application icons in QX is to add desktop-definition file in the folder:
 +
    /usr/share/applications
 +
}}
 +
 
You have installed or programmed an application  with the name <tt>myapp</tt>. Test the application in the QX-terminal if it works properly. Now we add this application <tt>myapp</tt> to the application list in <tt>favourites.conf</tt>. We do this e.g. with vi:
 
You have installed or programmed an application  with the name <tt>myapp</tt>. Test the application in the QX-terminal if it works properly. Now we add this application <tt>myapp</tt> to the application list in <tt>favourites.conf</tt>. We do this e.g. with vi:
 
   # vi /opt/qtmoko/etc/qx/favourites.conf
 
   # vi /opt/qtmoko/etc/qx/favourites.conf

Revision as of 15:33, 29 November 2010

QX is a X-Server that runs under Qt Extended. Especially in the distribution QtMoko it is used to run applications like:

under Qt Extended.

Contents

Starting Applications

You can start applications that need the X-Server with the following steps in QtMoko:

  1. Open Main Menu by clicking on the green Q-Topia "Q"-Box.
  2. Open Applications (4 Boxes, red, yellow, green, blue)
  3. Scroll down and open QX
  4. Select the application that needs the X-Server (e.g. Navit)
  5. Click on the white Paper Icon on the bottom left to open the context menu of the QX application.
  6. Select "Launch" to start application

With the AUX-Button you can exit the X-Server environment without quitting the application.

Screenshots

Use QX-Menu-Button at bottom left
Select Launch to start Navit in QX
  • In Settings you can change the launch settings of the selected application
  • with Favourites you can select the predefined applications you can add to your favourites menu.

QX Favorites

Favorites in QX with Linphone-icon added

QX is the X-Server in QtMoko you can add favorites to the QX-Menu too by manual editing the files in:

 /opt/qtmoko/etc/qx

The file

 favourites.conf

detemines the list of application you will see after starting QX. The file looks like this:

 [Apps]
 list=navit, tangogps

The applicationsnames must exist and need an entry in the profiles.conf file. The file

 profiles.conf

defines the QX-settings for the application. E.g. navit needs the GPS-daemon to be started and the auto-dim function of the display is disabled. These settings can be defined for the applications individually. The file contain profile records like the following for tangogps and navit:

 [tangogps]
 antidim=true
 antisuspend=true
 gps=true
 init=gpsd /dev/ttySAC1
 kbd=false
 qvga=false
 rotate=false
 wm=true

 [navit]
 antidim=true
 antisuspend=true
 gps=true
 init=gpsd /dev/ttySAC1
 kbd=false
 qvga=false
 rotate=false
 wm=true

Add to QX-Favourites

The following explainations show the internal structure of the QX application management. It is helpful to create installation scripts for QX. Template:Note:

You have installed or programmed an application with the name myapp. Test the application in the QX-terminal if it works properly. Now we add this application myapp to the application list in favourites.conf. We do this e.g. with vi:

 # vi /opt/qtmoko/etc/qx/favourites.conf

The file look like this (press "I" for switching to INSERT mode):

 [Apps]
 list=navit, tangogps, myapp

Add myapp press ESC and :w for "write to file" and ":q" for "quit VI".

NOTE: You can not use an arbitrary program for myapp (e.g. a shell script with xdialog). You can use only applications the have a desktop-definition file in the directory:
 /usr/share/applications

If you want to use your own scripts in QX with an icon, create a desktop-definition file first (see navit.desktop as example below) and save this file in /usr/share/applications.


Now we have to add a profile record for myapp in file profiles.conf. We do this e.g. with vi:

 # vi /opt/qtmoko/etc/qx/profiles.conf

The file is depended on your settings could look like this and e.g. the following lines (press "I" for switching to INSERT mode):

 [myapp]
 antidim=false
 antisuspend=true
 gps=false
 init=
 kbd=false
 qvga=false
 rotate=false
 wm=false

Then press "ESC" and ":w" for "write to file" and ":q" for "quit VI".

Listed Favourites

The favourites in QX are defined in the directory:

 /usr/share/applications

Example desktop-definiton file for navit

The files have the extension .desktop and have the following structure (e.g. navit.desktop is defined like this:

[Desktop Entry]
Version=1.0
Name=Navit
Name[de]=Navit
Name[fr]=Navit
Comment=The open source vector based navigation program with routing engine
Comment[de]=Ein vektorbasiertes Navigationsprogramm
Comment[fr]=Le logiciel opensource de navigation vectorielle
Exec=navit
Icon=navit
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;Utility;Geography;
GenericName=Navit
GenericName[de]=Navit

You can define the

  • Name,
  • Comment and
  • Generic Name

for differnent languages. The main variable is Exec=..., because it defines the command executed, when you click on the icon in QX.

NOTE: The navit icons are stored in:
/usr/share/icons/hicolor/22x22/apps/navit.png
/usr/share/icons/hicolor/128x128/apps/navit.png

The icon should be located in:

/usr/share/pixmaps/

So copy the icon into the pixmap directory:

 cp /usr/share/icons/hicolor/128x128/apps/navit.png /usr/share/pixmaps/navit.png


New desktop-definiton file for SyncCal

As an example we want to use the shellscript of [Mossroy] for syncing and iCal-file into the Qt-Calendar (see QtMoko).

vi /usr/share/applications/synccal.desktop

We call the desktop-definition file synccal.desktop and enter the following definitions:

[Desktop Entry]
Version=1.0
Name=SyncCal
Name[de]=SyncCal
Name[fr]=SyncCal
Comment=Syncing remote and local ics-file into Qt-Calendar.
Comment[de]=Ein perlbasiertes Script fuer den import ics-Dateien in den Qt-Kalender
Exec=synccal
Icon=syncal
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;Utility;Dialog;
GenericName=SyncCal
GenericName[de]=SyncCal

If you want to have a special icon for your new application see free e.g. 100000 Free Clipart and store the icons in the following directory with the name synccal.png.

/usr/share/pixmaps/synccal.png

Remove QX-Favorites

You just have to remove the application name from the list of applications in:

 /opt/qtmoko/etc/qx/favorites.conf

You do not need to remove the application profile for your application in profiles.conf.

Personal tools

QX is a X-Server that runs under Qt Extended. Especially in the distribution QtMoko it is used to run applications like:

under Qt Extended.

Starting Applications

You can start applications that need the X-Server with the following steps in QtMoko:

  1. Open Main Menu by clicking on the green Q-Topia "Q"-Box.
  2. Open Applications (4 Boxes, red, yellow, green, blue)
  3. Scroll down and open QX
  4. Select the application that needs the X-Server (e.g. Navit)
  5. Click on the white Paper Icon on the bottom left to open the context menu of the QX application.
  6. Select "Launch" to start application

With the AUX-Button you can exit the X-Server environment without quitting the application.

Screenshots

Use QX-Menu-Button at bottom left
Select Launch to start Navit in QX
  • In Settings you can change the launch settings of the selected application
  • with Favourites you can select the predefined applications you can add to your favourites menu.

QX Favorites

Favorites in QX with Linphone-icon added

QX is the X-Server in QtMoko you can add favorites to the QX-Menu too by manual editing the files in:

 /opt/qtmoko/etc/qx

The file

 favourites.conf

detemines the list of application you will see after starting QX. The file looks like this:

 [Apps]
 list=navit, tangogps

The applicationsnames must exist and need an entry in the profiles.conf file. The file

 profiles.conf

defines the QX-settings for the application. E.g. navit needs the GPS-daemon to be started and the auto-dim function of the display is disabled. These settings can be defined for the applications individually. The file contain profile records like the following for tangogps and navit:

 [tangogps]
 antidim=true
 antisuspend=true
 gps=true
 init=gpsd /dev/ttySAC1
 kbd=false
 qvga=false
 rotate=false
 wm=true

 [navit]
 antidim=true
 antisuspend=true
 gps=true
 init=gpsd /dev/ttySAC1
 kbd=false
 qvga=false
 rotate=false
 wm=true

Add to QX-Favourites

You have installed or programmed an application with the name myapp. Test the application in the QX-terminal if it works properly. Now we add this application myapp to the application list in favourites.conf. We do this e.g. with vi:

 # vi /opt/qtmoko/etc/qx/favourites.conf

The file look like this (press "I" for switching to INSERT mode):

 [Apps]
 list=navit, tangogps, myapp

Add myapp press ESC and :w for "write to file" and ":q" for "quit VI".

NOTE: You can not use an arbitrary program for myapp (e.g. a shell script with xdialog). You can use only applications the have a desktop-definition file in the directory:
 /usr/share/applications

If you want to use your own scripts in QX with an icon, create a desktop-definition file first (see navit.desktop as example below) and save this file in /usr/share/applications.


Now we have to add a profile record for myapp in file profiles.conf. We do this e.g. with vi:

 # vi /opt/qtmoko/etc/qx/profiles.conf

The file is depended on your settings could look like this and e.g. the following lines (press "I" for switching to INSERT mode):

 [myapp]
 antidim=false
 antisuspend=true
 gps=false
 init=
 kbd=false
 qvga=false
 rotate=false
 wm=false

Then press "ESC" and ":w" for "write to file" and ":q" for "quit VI".

Listed Favourites

The favourites in QX are defined in the directory:

 /usr/share/applications

Example desktop-definiton file for navit

The files have the extension .desktop and have the following structure (e.g. navit.desktop is defined like this:

[Desktop Entry]
Version=1.0
Name=Navit
Name[de]=Navit
Name[fr]=Navit
Comment=The open source vector based navigation program with routing engine
Comment[de]=Ein vektorbasiertes Navigationsprogramm
Comment[fr]=Le logiciel opensource de navigation vectorielle
Exec=navit
Icon=navit
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;Utility;Geography;
GenericName=Navit
GenericName[de]=Navit

You can define the

  • Name,
  • Comment and
  • Generic Name

for differnent languages. The main variable is Exec=..., because it defines the command executed, when you click on the icon in QX.

NOTE: The navit icons are stored in:
/usr/share/icons/hicolor/22x22/apps/navit.png
/usr/share/icons/hicolor/128x128/apps/navit.png

The icon should be located in:

/usr/share/pixmaps/

So copy the icon into the pixmap directory:

 cp /usr/share/icons/hicolor/128x128/apps/navit.png /usr/share/pixmaps/navit.png


New desktop-definiton file for SyncCal

As an example we want to use the shellscript of [Mossroy] for syncing and iCal-file into the Qt-Calendar (see QtMoko).

vi /usr/share/applications/synccal.desktop

We call the desktop-definition file synccal.desktop and enter the following definitions:

[Desktop Entry]
Version=1.0
Name=SyncCal
Name[de]=SyncCal
Name[fr]=SyncCal
Comment=Syncing remote and local ics-file into Qt-Calendar.
Comment[de]=Ein perlbasiertes Script fuer den import ics-Dateien in den Qt-Kalender
Exec=synccal
Icon=syncal
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;Utility;Dialog;
GenericName=SyncCal
GenericName[de]=SyncCal

If you want to have a special icon for your new application see free e.g. 100000 Free Clipart and store the icons in the following directory with the name synccal.png.

/usr/share/pixmaps/synccal.png

Remove QX-Favorites

You just have to remove the application name from the list of applications in:

 /opt/qtmoko/etc/qx/favorites.conf

You do not need to remove the application profile for your application in profiles.conf.