Illume
From Openmoko
Om 2008
il·lume (ĭ-lōōm') tr.v. To illuminate.
Bringing light to the darkness of the mobile world.
Contents |
Introduction
Illume is a module for Enlightenment that modifies the user interface of enlightenment to work cleanly and nicely on a mobile device - such as an Openmoko phone. It is currently geared more for a 480x640 (VGA) portrait mode screen but can be trivially modified to work on QVGA or any other resolution. The Final goal is to have it work on a wide range of resolutions seamlessly.
It combines an application launcher interface along with an application manager and switcher, virtual keyboard support, as well as forcing certain simple layout policies on applications (such as making their main windows borderless and fullscreen except for Illume's control bar), as well as support for the X11 port of qtopia.
Getting Started
Here is how to get started and install Illume on your desktop and try it out. This would also allow development on it, adding features you need and testing them. For this you will want code. First you will want Enlightenment's latest and greatest. How much do you want? You can get the whole repository, or just the bits you need. If you want the whole thing in one checkout, please see http://svn.enlightenment.org for information. If you want to just get a quick script that does it for you try http://www.rasterman.com/files/get_e.sh - this script will check out only the bits of SVN you need. It also assumes you have sudo root access and if on Ubuntu or Debian it will try and install packages known to be needed for building, or useful. Read the script if you are not sure. If it doesn't know what distribution you use, you will need to try and have a working compiler, autotools etc. etc. yourself. Once you have run this and built and installed everything you will need illume, so fetch it with:
svn checkout http://svn.enlightenment.org/svn/e/trunk/e/src/modules/illume/
Now you just need to build it like everything else. (it is assumed you know about CFLAGS, LDFLAGS, PKG_CONFIG_PATH, PATH etc. in installing software and compiling it). Illume compiles like everything else in E land - standard autotools, so (in Illume's source directory):
./autogen.sh make sudo make install
This will compile and install Illume. As Illume is a module, not a program in its own right, you need to run it with Enlightenment, so use the provided run-script:
./x-ui.sh
and if you have Xephyr installed and everything went ok, a 480x640 window will pop up - with Enlightenment in it on your DISPLAY=:1 X display with all your system's app icons there.
Slipshelf
The bar at the top
Gadgets
The gadgets in the Slipshelf
Launcher
The icons you see on the desktop
Virtual Keyboard
Illume's own virtual keyboard and protocol and vkbd setup.
How to install the illume (Raster's) keyboard ?
Short answer:
opkg install illume-config-illume
Detailed answer:
#Get the qwerty button if not there yet opkg install illume-config #Turn off built-in qtopia keyboard #Add/modify "export QTOPIA_NO_VIRTUAL_KEYBOARD=1" in /etc/X11/Xsession.d/89qtopia opkg install illume-config-illume #Purge E's cache rm -rf ~/.e/e/config/illume #Restart X /etc/init.d/xserver-nodm restart
Then switch keyboard from "None" to "Default" in Illume's preferences.
Tips when the howto over doesn't work: See Keyboard Toggle or change /etc/enlightenment/default_profile to point to the illume profile instead of asu.
How to use (Raster's) keyboard ?
- Sliding down over any keyboard sends Enter - Sliding up over any keyboard switches to the next keyboard - Tapping the upper-right key ("a", "1" or "q") lists the available keyboards - Tapping the upper-left key "Abc" lists the available dictionaries
- With "a" keyboard: - Sliding left over the keyboard deletes the last entered key - Sliding right over the keyboard sends the composed word - Tapping the upper-left key "Abc" during the composition of a word lists all possible words in order to choose the right one
- With "q" keyboard: - Sliding left over the keyboard sends a backspace - Sliding right over the keyboard sends a space
List of illume keyboards
English QWERTY terminal layout | ||
Dutch QWERTY terminal layout | Based upon QWERTY terminal layout. | |
Hebrew פםןךטא layout | In case there are squares instead of Hebrew letters, change illume's font. TODO: Verify this is a terminal layout and not alphanumeric layout and create proper overlay. When needed, change position in this list and rename icon file. | |
Norwegian QWERTY terminal layout | Based upon QWERTY terminal layout. | |
Russian ЙЦУКЕН terminal layout | Based upon QWERTY terminal layout. TODO: Icon needs ЙЦУКЕН overlay. | |
Dvorak terminal layout | Based upon QWERTY terminal layout. | |
English QWERTY alphanumeric layout | ||
bigger alphanumeric layout with more space between keys | Based upon QWERTY alphanumeric layout. Asymmetric and optimized for right handed finger input. | |
Danish QWERTY alphanumeric layout | Based upon QWERTY alphanumeric layout. | |
German QWERTZ alphanumeric layout | Based upon QWERTY alphanumeric layout. | |
numeric layout | ||
Bigger numbers layout and numbers with function keys layout | Good for playing games in ScummVM. |
How to install a new Keyboard Layout
- copy or download the kbd File to
/usr/lib/enlightenment/modules/illume/keyboards
- now restart the XServer with the following command
/etc/init.d/xserver-nodm restart
- you should now be able to select the newly installed keyboard
How to make your own Keyboard Layout (Illustration)
##KBDCONF-1.0 kbd 450 150 # keyboard type e.g. TERMINAL, ALPHA (this one shows up when writing an sms), NUMERIC, SYMBOL type TERMINAL # an icon for the keyboard so you know which one you have icon qwerty.png #key x-coordinate y-coordinate width-of-key height-of-key #columns: #state symbol(shown on the key) keysym(output of the key) key 0 0 30 30 normal ` grave shift ~ asciitilde capslock ` grave
a list of keysyms can be found here
Configuration
How to configure illume via its own config dialog
Dbus
What is this dbus goop?