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.