Filed in: XNotes.Pre40 · Modified on : Fri, 06 Nov 09

Edit this page to change styles for XNotesNG pages.

--- Boxes and outlines ---

--- Headers beyond ordinary "!" level headers

--- Specific stylings ---

--- Text warnings, notices, hilights ---

--- Directory paths ---

--- Calendar specific --- 2007-11-08

It turns out xn-xfer.c is a straight copy of the pilot-xfer.c from an old version of pilot-link. But the 0.12.2 version of pilot-xfer.c carries some additional dependencies. I need to build the libuserland library from plu_args.c and userland.c (now copied in under the lib directory). And I need to add pi-userland.h to the header files in the source tree. After that I believe xn-xfer.c should build.


Working on porting to pilot-link-0.12.2: next up - xn-todos.c:dlp_WriteRecord()


Just getting back to this. The port to GTK+2.x had been completed and saved to CVS (fortunately) though I don't remember much of that work being done. Doesn't matter, though. The GTK+ portion builds, but I run into this error now during the build:

xn-todos.c: In function 'get_xnotes_categories':
xn-todos.c:129: warning: passing argument 4 of 'dlp_ReadRecordByIndex' from incompatible pointer type
xn-todos.c:129: error: too many arguments to function 'dlp_ReadRecordByIndex'
xn-todos.c:138: warning: passing argument 2 of 'unpack_ToDo' from incompatible pointer type
xn-todos.c: In function 'write_file':
xn-todos.c:280: warning: passing argument 4 of 'dlp_ReadRecordByIndex' from incompatible pointer type
xn-todos.c:280: error: too many arguments to function 'dlp_ReadRecordByIndex'
xn-todos.c:289: warning: passing argument 2 of 'unpack_ToDo' from incompatible pointer type
xn-todos.c: In function 'read_file':
xn-todos.c:664: warning: passing argument 2 of 'pack_ToDo' from incompatible pointer type
xn-todos.c: In function 'main':
xn-todos.c:814: warning: passing argument 2 of 'pi_bind' from incompatible pointer type
xn-todos.c:814: error: too many arguments to function 'pi_bind'
xn-todos.c:852: warning: passing argument 4 of 'dlp_ReadAppBlock' makes integer from pointer without a cast
xn-todos.c:852: warning: passing argument 5 of 'dlp_ReadAppBlock' makes pointer from integer without a cast
make[2]: *** [xn-todos.o] Error 1
make[2]: Leaving directory `/home/mjhammel/src/ximba/XNotesPlus/pilot-d/xn-d'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/mjhammel/src/ximba/XNotesPlus/pilot-d'
make: *** [all] Error 2

This is a change to the Pilot-Link software. The newest version is 0.12.2. So I'll need to read up on the changed API.


Version 3.7.0 has been released. This will be the last release (barring major bugs) in support of GTK+ 1.2. Now comes the hard work of porting to GTK+ 2.x (probably to 2.4).

I've moved the Future Plans into the Wiki so I can more easily edit them from anywhere. This is because I've started working on XNotesPlus again. I have a little free time periodically so its a good time to knock off a few of the lesser feature enhancements (bugs? what bugs?).

The big one, of course, will be porting to GTK 2.x. That REALLY needs to be done soon, but its a big project and finding motivation is often the biggest problem. What I want to do is finish the last few 3.x features and then branch the source to start work on the GTK 2.x port.

This page describes what's in progress and what's in store. I'm also going to keep archives of what's been done, just for historical sake.

Notes on past releases:

  • - Released 2005-01-22

Any items that are links point to pages where I expand on how that feature should be implemented.

Version 4.0

  • GTK 2.0 port

Version 4.x (these will be broken into various releases)

  • Make xnotes+ a GNOME applet?
Doesn't look too hard except for making sure mouse button bindings are kept by xnotes+ and not given to over to the panel
  • Built in configuration manager
  • Change main windows menu to be more fun: pinup board for xnotes, something similar for other tools.
  • Add "Scribbles" - simple drawing areas and image viewer
    • double buffer
    • read PNG, TIFF, GIF, and JPEG formats
    See http://www.gtk.org/faq/#AEN654 (FAQ on adding images to GTK+ widgets)
    • Emailing notes should send Scribbles as uuencoded compressed TIFF files
    • Scribbles numbered the same as corresponding note and saved in "scribbles" directory
    • Don't know how I can upload images to Pilot
    AALib - convert image to ascii and upload as a note?
    PalmPix - not sure if this is the right name or not.
    • Also look at GdkRGB and Imlib packages
    See testrgb.c in GTK+ source - it has examples of gdk_draw_grey_image() which might help to get images painted onto the screen, though I still need read/write routines.
    • Look into GdkPixbuf or GtkCanvas - probably the best method as it will be rolled into Gtk+ 2.0
  • Add Work Manager - manage time sheets
    Needs to be connected to both Todo Lists and Calendars
  • Make the individual notes menu bars hideable.
  • Make scrollbars hideable.
  • preferences dialog and rc file: save state information
    • use XML file formats for this, I think.
    • look at libxml -
    • current insert date format
    • data directories
    • cascade options
    • uniform sized notes
    • cascade by projects
    • ToolTips state
    • save on exit state
    • Notice dialog state
    • Print options
    • Pilot options
    include/exclude xnote header lines
    • Allow user to make notes stay on top or beneath all other windows (is this possible?)
    • Allow user to specify removing window borders - how do you deal with moving/resizing notes?
    • Levels of Undo to save
  • Better import features
    • File import should read some other file format, say Word or RTF files.
    See http://www.wotsit.org/ for file format specs (also in src/X/xnotes)
    • Email should import external mail programs address databases by calling
    external programs that write the database in Pilot CSV format to standard out. This is configurable via a colon seperated list of programs to call at init time.
  • cascade by projects, if set
  • new Find Text search options
  • search all/selected notes
    • prompt user to bring forward any notes with matching text.
    • Replace text option for Find Text feature
  • Add better print support, including Postscript output
    • Print dialog must be callable from various places, like the Envelopes dialog and from individual notes. Probably need to use both lpc and lpstat, like Gimp plug-in, to find which printers are available.
    • look at src/X/motif for printer widget/support
  • Add Cut/Copy/Paste/Undo options for Erase.
  • Gnome and KDE aware
  • move all text strings to englishUS-text.h to make translation easier.
    • Change error messages to XP_E instead of XP_S, put in separate file.
  • Projects
    • allow changing project name
    • allow deleting projects
  • Replace text/ Replace All option for Find Text feature
  • look into disabling close/delete options for window managers.
  • Sort xnotes by title for exporting to Pilot Memos
  • Add support for scanning business cards? Needs driver for one of those business card scanners.
  • Simple calendaring functions? calender.c has support, but which features need calendars?
  • note sized to fit in the pilot correctly.
  • merge Insert Date with Show Calendar
    • add "Set Date" button to InsertDates dialog
    • Add SetTime option to ShowCalendar dialog
    • Save date/time info in pn_caldata structure.
  • New Pilot features:
    • Get system info (battery, memory, etc.): dlp_ReadSysInfo(), dlp_ReadStorageInfo()
    • Pilot user info: dlp_ReadUserInfo(), dlp_WriteUserInfo()
  • Save current insertion points for notes
    • this requires change to note file headers
    • use insertion point to position text windows when reopened
    • This will work once GTK 2.0 comes out, which will require major updates to XNotesPlus anyway
  • Font support for individual notes - also requires GTK 2.0
  • Loadable modules: This looks easier than I thought:
  • write real documentation in PDF and HTML format
  • Check security by running "its4" on all source code
This will require evaluating strcpy, sprintf calls to find out if they're vulnerable. That will be vary labor intensive, cuz there are lots of these calls.

Version 5.0

  • Groupware Release
  • linked Address databases - personal and workgroup addresses
xnotes+ can show either, or merge personal with workgroup addresses

Powered by PmWiki