NOTE: I'll keep this first post updated with the last version of xepdmgr, as well as some instructions for use. I've not done up to now, and it's getting messy to find the last version in this thread.
xepdmgr is a program that allows developers of the iliad to port programs without being forced to insert "update the screen" commands in the ported programs (and it's very prone to errors in the menus and and dialogs). "Update the screen" commands can be issued with xepdmgr running using the included library (xepdmgrclient.c).
xepdmgr works by launching the ported program using xepdmgr as a wrapper, and while the program is launched, xepdmgr will auto-refresh the screen when needed. For example, to launch mycalculator using xepdmgr, you will substitute in your run.sh file the line:
with
Code:
./xepdmgr :0 ./mycalculator
You only have to include the xepdmgr binary in your package, in the same directory as your program binary (in the same directory as mycalculator in the example).
Posts with the different versions uploaded to this thread:
#4 9-09-2008 xepdmgr 1.0pre1 with instructions
#5 9-20-2008 xepdmgr 1.0, first usable version
#8 9-24-2008 xepdmgr 1.1 using iliad's internal libX11.so
#13 10-02-2008 xepdmgr 1.2 with busy led off and refresh bugs fixed
#35 10-04-2008 xepdmgr 1.3 with multiple tracked areas working
(note to self:
#37 has Hansel's code for detecting matchbox-keyboard).
(note for devels:
#47 has sample code for disabling auto-update wile initializing your app)
#53 12-08-2008 xepdmgr 1.9, xepdmgr 1.9a, xepdmgr 1.9b Less verbose output
#74 12-16-2008 xepdmgr 1.9c. Contains some code to notify contentLister of the updates when running as server
#92 03-26-2009 xepdmgr 1.9d. Adds option for operating as wrapper but not launching any programs (using the iliad for displaying exported windows)
#94 04-13-2009 xepdmgr 1.9e. Fixed a parameter parsing bug introduced in 1.9d
#101 04-25-2009 xepdmgr 1.9f. Adds EpdCancel() to xepdmgrclient, to support updating the screen using fbdev from applications a-la-ipdf. See post
#99 for usage and rationale.
#127 08-22-2009 xepdmgr 1.9g. Make xepdmgrclient.h usable in C++.
#136 09-12-2009 xepdmgr 1.9h. Hopefully fixed a bug that made "autorefresh-disable" non-working. Make xepdmgrclient.c usable in C++.
#146 09-18-2009 xepdmgr 1.9i. New dirty area management; it is a lot more consistent in regard to typing/full refreshes than before.
Remaining TO-DO for version 2.0:
- exclude the matchbox keyboard area when running as a wrapper
- make xepdmgr when in wrapper mode to detect that there is another instance running in server mode so that they doesn't clash.
----------------------------------------------
Original message follows:
Hi all!
I've managed to get time to start coding xepdmgr (another approach to auto-refresh). The proof-of-concept code is attached to the main page of the wiki of the project:
https://dev.mobileread.com/trac/xepdmgr/wiki/WikiStart
The code itself is attached to the main page of the wiki.
It doesn't do much right now (only shows that "dirty" rectangles in stdout).