XPostitPlus 2.3 by Michael J. Hammel Naming Convention ----------------- Throughout this document and all other files in this distribution, the terms "XPostitPlus", "xpostit+", and "xpostit" all refer to the same program. "XPostitPlus" is the generic name, "xpostit+" is the binary created, and "xpostit" is the historic name. History ------- This version of xpostit is based on David A. Curry's original version. When I was getting ready to release the 2.2 version I went and checked out the R5Contrib tree at ftp.x.org and found a version "3.3.1" from David dated 1991. Thats sometime after I got hold of a copy. The version that I released was based on his 1.2 version from 1990. Since the trees had diverged a bit I decided I should give my version another name. From now on, my tree will be called "XPostitPlus". The version numbering will stayed the same (2.2) from then on, though. For practicality sake, I'm not going to bother to change every reference of "xpostit" in the README, docs, or source to "XPostitPlus". I'll just name the distribution differently so as not to confuse the two trees. I checked with David on this and he agreed that changing the name was sufficient as long as I made the following disclaimer: XPostitPlus is not supported by David Curry in any way. All bug reports, patches, etc, should be sent to me, Michael J. Hammel (mjhammel@csn.net) and not to David! About XPostitPlus ----------------- And you thought there was no real way to clutter your desktop. BWahahahaha! Welcome to XPostitPlus 2.3! I tried to follow the principle of "KISS" - Keep It Simple, Stupid - so many of XPostitPlus's features make use of features already available on the system, such as "mail" or "lpr". It was built on Slackware 3.0 with a 1.2.13 Linux kernel but has been built and tested on a number of systems (see below). Quite a few new features have been added since David's version. Please see the History file for information about changes and enhancements that I've made. Systems XPostitPlus is known to build and function on: ------------------------------------------------------ Linux 1.1.78 (Slackware 2.1 a.out) or later Linux 1.2.1, gcc 2.5.8, X11R6 Linux 1.3.64, XFree-3.1.2, gcc-2.7.2 ELF SunOS 4.1.3 SunOS 4.1.4, X11R6 patch 13 SunOS 4.3.1 Solaris 2.4 AIX 3.2.5 FreeBSD 2.0.5 (it will probably work just fine on 2.1.0 as well) NetBSD 1.1 BSDI BSD/OS (version unknown) - I ran xpostit 2.1 on one of these, but don't have access to it anymore. I don't suspect 2.2 broke any compatibility. DEC Alpha running Digital Unix v3.0 (might get some compiler warnings about incompatible pointer types, but it should run just fine) SGI IRIX 5.3 HPUX 9.05 using gcc and the Interworks X11R5 distribution SCO OpenServer 5 (5.0.0 and 5.0.2) with the stock development system and X libraries XPostitPlus should work with any R5 or R6 release of X11. It may work on R4, since it was originally written for R4, but I haven't tried it on one of those systems in a few years. Of course, if you're still using R4 you probably also have a large collection of BetaMax and 8-Track tapes. To each his own. I'd be interested in hearing from anyone who tries this on a different OS. See my email address at the end of this README file. Support issues -------------- I'll support this as long as you provide a list of what you did in order to reproduce a particular problem. Read the man page first, though. The code is fairly simple. If you're not familiar with X, this probably isn't a bad way to get started. I don't particularly like the style of the code, but I didn't clean it up, I just added the features (along the style of the original source). Its not bad, its just not how I would have done it. :-) To Build: --------- 1. If you a. don't use a window manager (who are you and what planet did you come from?) b. you don't have an ICCCM compliant window manager (get one) c. you use a feature of your window manager which causes transients to not use the window managers title bar for a window. Then edit Imakefile and uncomment the DEFINE statement: DEFINE = -DNOWM If you define this then a title bar is created in the individual note windows. If you don't do this (which is what most people will choose to do) then the titles for individual notes will be placed (if possible) in the title bar of the window manager frame for that note. This is handy for things like the fvwm window list, since the names of the windows are taken from their title bars. 2. If you still use , then edit Imakefile and uncomment the DEFINE statement: DEFINE = -DUSE_DIR I think this is mostly outdated, but there may be some systems that still use it. Linux just points sys/dir.h to dirent.h. 3. If you want to be prompted when exiting to save notes, and you don't use the -sv option to automatically save on exit, uncomment the DEFINE statement: DEFINES = -DPROMPT_FOR_SAVE If you don't do this then notes will only be saved on exit if you use the -sv option or have set the equivalent resource in your application defaults file. 3. run "xmkmf" - this creates the Makefile 4. run "make depend" - this will force the recreatation of app_defaults.h if you change XPostitPlus.ad, so you don't have to install the XPostitPlus.ad file if you don't want to. If you want to ensure that this gets done properly, make sure app_defaults.h does not exist before doing either this or the next step. 5. run "make" 6. You can run "make install", but I don't like that rule. I don't like putting binaries I've built (not part of the OS) into system directories since it makes it harder to do backups prior to doing system upgrades. 7. You can run "make install-man", but again I don't like that one. To build the man page by hand, run "nroff -man xpostit+.man > xpostit.1" and copy the output file to wherever you like your man pages. If app_defaults.h doesn't get built automatically you should be able to run "make app_defaults.h" before you run "make". If you don't have xmkmf you can try hacking the Makefile.Linux, but I haven't a clue how much work this involves. If your willing to do this you're probably better off trying to find xmkmf, imake and the config files necessary for your particular flavor of Unix. Or maybe you could hack up a GNU autoconf configuration. Good luck. :-) Note: Makefile.Linux is a Makefile built on my Linux box and should run on any Linux box built after Linux 1.1.78. And probably lots that were built before that, too. :-) Things to do: ------------------ 1. rubber banding placement: make sure windows are completely in view on visible screen. Legal Mumbo Jumbo ------------------ From David's Version 3.3.1 version of xpostit (which is not the version from which my version has evolved, BTW): Copyright 1991 by David A. Curry Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. The author makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. I've never contacted David about this software, so I can't say exactly what the copyright is. Since David released the code for general use, I'll just say that you can use the software for non-commercial use in any way you see fit as long as any modification you make are not redistributed without first contacting me about them. I only make this provision so I don't get swamped with email about someone else's version for which I have no knowledge or control over. If you'd like to make a commercial version of this software, contact me. I just want to make sure I get a copy of any future releases (and that I get a little credit for having done some work on this). :-) If you wish to include it on a CD-ROM (or in any other media) of freely-available software you may do so as long as the source is also distributed in its original form and any compiled versions you make are clearly marked as yours. Again, I just do this to make sure I don't end up supporting someone elses work. I think this is basically what the GNU CopyLeft says, isn't it? Dammit Jim! I'm an engineer, not a lawyer! Michael J. Hammel mjhammel@csn.net Last updated: 09/14/96