This is an experimental feed of ipkgs for QPE 1.5 applications
running on top of X11. The
changes required to make this happen have been checked into the standard
Trolltech QPE CVS repository, and QPE/X can now be built using the –x11
option when you run configure.
These are the standard QPE 1.5 apps running on top of the UNmodified
Qt/X11 2.3.2 libraries, and the only changes I made to QPE was to disable
certain QPE code via ifdefs that was undesirable/unfeasible in an X
based environment. Also, instead
of using the QPE launcher I have added the appropriate /usr/lib/menu
files and /usr/bin/update-menus gets called as part of postinst and postrm
for each user application, so each application shows up in the appropriate
menu category.
When you try some of the apps,
you will be pleasantly surprised to find yourself running QPE under X
with the same look and feel as QPE/Embedded.
Expect some things to be broken - not in the horrendous
crash your system type broken, but "this isn't working right"
or "this doesn't look right" broken.
This is due to two main things:
the framebuffer based Qtopia Windowing System, or QWS,
was surgically removed in favor of X, and the disabling of QtCOP (Qtopia
COmmunications Protocol, used for IPC) since it is closely tied to QWS.
This causes two main side effects:
no OK/Cancel buttons in the titlebar (they were provided
by QWS), and no application to application IPC (such as the filebrowser
telling the mpegplayer to start playing the songname that you just tapped).
In this feed of ipkgs, I have added one patch that is not in
the standard CVS feed, and that is to popup a Save/Don’t Save dialog
box when a window gets closed if it is a dialog window.
This is a temporary solution (hack!) that allows you to
save your work in things like addressbook, datebook, etc.
The real solution to this is to turn the window close
button into an OK/Cancel button, but this will be left for a later exercise.
It should also be feasible to modify QtCop to use standard
IPC mechanisms to get that piece working.
There are some other minor issues to be dealt with such
as window size, placement, etc.
All package names and the top level QPE directory name
(QtPalmtop) have a "-x11" string appended so as to differentiate them
from the standard QPE/Embedded packages and top level directory. The
/usr/lib/libqpe* files are now libqpe-x11*, but the individual application
filenames stay the same. This setup should allow both QPE/X and QPE/Embedded
to be installed at the same time if that is desireable.
TO INSTALL QPE/X ON YOUR IPAQ
1.
Edit /etc/profile and add the following BEFORE the PATH= line
export QPEDIR=/opt/QtPalmtop-x11
export QTDIR=/usr
2.
Append :$QPEDIR/bin to the end of the PATH line
3.
If you are using the script ipkg:
Edit /usr/bin/ipkg and add the following after
line 1
cd /tmp/ipkg
This is due to ipkg getting confused by the QPE ipkg control
files, this happens with the standard QPE install and has been noted
on the QPE mailing list.
4.
Edit /etc/ipkg.conf and add a src line for the URL of this
feed.
5.
relogin, or re-source /etc/profile
6.
ipkg update
7.
ipkg install qpe-qipkg-x11
This will take a bit as it also
downloads dependency packages, including some large library files.
If you are using the C ipkg and are getting errors
saying "Cannot satisfy the following dependencies for qpe-qipkg-x11", and
the next line is blank, you will have to do a "ipkg --force-depends install
qpe-qipkg-x11" to get it installed. This also happens with a couple of
other packages, and I am in the process of tracking this down to see why
this happens.
8.
manually install other qpe packages of interest.
I have found that using the command line "ipkg install xxx" method works
reliably, the qipkg graphical application seems to not work reliably, I'll
have to look at it.
9.
reboot, or restart x or the menu system to get updated menu entries
for each user app you have installed
10. Enjoy!
ITEMS OF NOTE
1.
The mpegplayer will look for mp3 files in /$USER/Documents/audio/mpeg.
Also, install the qpe-libmadplugin package so that madplay gets used as
the decoder.
2.
There is no launcher as it is dependent on QtCop.
Instead I created menu categories and entries that get
added to gtk-menu when a user app is installed.
3.
I installed most everything in the feed, I started out with 15MB of
free flash and ended up with 9MB - suprising!.
4.
Things work much better with the matchbox or the ice window manager
as opposed to ion. I got
funny window placements and sizes with ion, I guess this is due to the
"split the screen" nature of ion.
5. Not all QPE packages are included in this feed -
for instance, packages that deal with system level details such as setting
the backlight, taskbar applets, etc are not included as there is already
equivalent functionality provided by familiar.