From james at unlambda.com Wed Jun 19 15:10:02 2002 From: james at unlambda.com (James A. Crippen) Date: Wed Jun 19 15:10:02 2002 Subject: Test Message-ID: Test post. Ignore at your peril! -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Wed Jun 19 15:13:00 2002 From: james at unlambda.com (James A. Crippen) Date: Wed Jun 19 15:13:00 2002 Subject: Test In-Reply-To: References: Message-ID: james at unlambda.com (James A. Crippen) writes: > Test post. Ignore at your peril! Looks like it works. Nice mailman. Good boy. Have a bone. 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Fri Jun 21 18:09:01 2002 From: james at unlambda.com (James A. Crippen) Date: Fri Jun 21 18:09:01 2002 Subject: CVS repository. Message-ID: I've started a CVS repository for Eclipse. I thought about it after a while and realized that probably having Eclipse have its own CVS repo separate from say CLOCC would be a good idea, mostly because it'll have lots of its own activity. If the CLOCC people would like to include Eclipse I would say that it would be better for them to occasionally import official released versions of Eclipse rather than have a constantly changing CVS copy. It also allows the Eclipse hackers to do their own CVS management. Now granted the CVS repo could be hosted with Sourceforge or the like, and this is still possible (it's not hard to get multiple CVS repos to rsync each other). But I can set up a new CVS repo in a matter of minutes on my domain, and it already hosts a handful of other Lisp-related projects. And the mailing list is already there. So, without further hesitation... Anyhow, I'm about to import the Eclipse sources as of 2002-06-18 that I received from Iban into the CVS repository. It'll have anonymous read-only access as well as a web-browsable interface, and will of course have write access for selected victims^Wcontributors. Here's the CVS command to check out sources anonymously: $ cvs -d :pserver:anoncvs at cvs.unlambda.com:/home/cvsroot login Logging in to :pserver:anoncvs at cvs.unlambda.com:2401/home/cvsroot CVS password: [just press Enter/Return/Newline/Whatever] $ cvs -d :pserver:anoncvs at cvs.unlambda.com:/home/cvsroot checkout eclipse cvs server: Updating eclipse [...] The web browsing interface to the CVS repo is based on ViewCVS and is at: http://www.unlambda.com/cgi-bin/viewcvs.cgi/eclipse/ Iban, please contact me privately about getting you a CVS write-enabled account. It should be relatively painless. Everyone else, please let me know if you have any problems. 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Fri Jun 21 18:35:01 2002 From: james at unlambda.com (James A. Crippen) Date: Fri Jun 21 18:35:01 2002 Subject: CVS repository. In-Reply-To: References: Message-ID: Okay, the import is done. One thing to note, CVS doesn't handle symbolic links at all. So the symbolic links for the files COPYING, README, and changelog are all gone. The files still exist in the docs/ subdir however. When we make releases we'll just have to have a little script that does stuff like automatically generate these goodies. 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Fri Jun 21 18:36:00 2002 From: james at unlambda.com (James A. Crippen) Date: Fri Jun 21 18:36:00 2002 Subject: Autoconfiscator? Message-ID: Iban, do you have the autoconf script stuff for the configure file? I see the Makefile.in but not any configure.in or the like. I was wondering if these were just missing in my copy or if they're unnecessary. 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Fri Jun 21 18:47:01 2002 From: james at unlambda.com (James A. Crippen) Date: Fri Jun 21 18:47:01 2002 Subject: CVS mailing list. Message-ID: There's now a mailing list for CVS logs. Whenever commits are made to CVS a message will appear on this new list. Here's the subscription page: http://lists.unlambda.com/mailman/listinfo/eclipse-cvs Replying to a message on this list will send the reply to the Eclipse list instead. Ie, the Reply-To header points to the Eclipse list. 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Fri Jun 21 19:19:01 2002 From: james at unlambda.com (James A. Crippen) Date: Fri Jun 21 19:19:01 2002 Subject: CVS update: eclipse In-Reply-To: <20020622030957.30699.qmail@kappa.unlambda.com> References: <20020622030957.30699.qmail@kappa.unlambda.com> Message-ID: james at kappa.unlambda.com writes: > Date: Friday June 21, 2002 @ 19:09 > Author: james > > Update of /home/cvsroot/eclipse > In directory kappa:/tmp/cvs-serv30692 > > Added Files: > xnest > Log Message: > Little script for running Eclipse in an Xnest server. Xnest runs an X > server in a window inside of another X server. Should work fine with > XFree86 4.whatever, but might not with other X distros. Requires Xnest > and assorted ordinary X programs, as well as Eclipse somewhere in the > PATH. This little goodie is useful for testing window managers. Xnest is a program that I believe is distributed with nearly every X distro. It's basically an X client that also happens to be its own server. This lets you run a completely separate X session inside of it, without leaving your current X session. Since the command line arguments are annoying to type over and over again, and since getting the programs started by hand always takes longer than it should, I wrote this script to make life easier. It expects the /usr/X11R6/bin directory to be in the PATH as well as the eclipse script. Other users may want to modify the FONTPATH that is set in the script, since it probably won't be what they want. There are lots of helpful comments. Read the script if you're interested. Enjoy, 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Fri Jun 21 20:07:00 2002 From: james at unlambda.com (James A. Crippen) Date: Fri Jun 21 20:07:00 2002 Subject: Plans Message-ID: Following are some changes I'd like to discuss. They're mostly high-level changes to the way things are organized. This is because Eclipse is just starting to be noticed and now would be a good time to plan for future growth. Lower level details can be worked on a little later once the system has 'more room'. This is all a big brain dump of things I've been thinking about. Separate threads for discussing each subject should probably be started... Menus ----- Currently there are a couple of different menu classes, one for root menus, one for submenus, etc. I'd like to see them all collapsed into a single menu class that doesn't depend on whether it is parented by another menu or not. I also think that menus should be completely disconnected from the mouse buttons. This would allow them to be callable from any random event, like a keypress, window button press, etc. This would make menus a little simpler to understand, and a lot more versatile. Documentation ------------- *Everything* should have a docstring. Each file should have a summary in the header explaining what is in the file and what its contents are for. And every file should have a CVS Id keyword in its header. The latter I think I should just go ahead and do right now before anything else is done. Packaging --------- I think that for convenience there should be two major packages, ECLIPSE and ECLIPSE-INTERNALS, with nicknames of EWM and EWMI respectively. Most of the contents of EWMI should be imported from other packages. All the other packages that are Eclipse-specific should have names prefixed with "EWM-". Thus the Gnome code would be in EWM-GNOME. Most of the EWM package would just be symbols inherited from EWMI. User code should go in EWM-USER by default. Any Eclipse-specific extensions to CLX should go in EWM-CLX-EXTENSIONS. Also considering packaging, would it be terribly difficult to separate the Gnome and Extended Window Manager Hints code? I'd like to see them kept separate, since one is specific to a particular project whereas the other is a draft X standard (or pseudostandard anyway). This would make it easier for someone like me who doesn't use Gnome or KDE to easily include the ExtWM code in my Eclipse image but not the Gnome code, which would just waste space for me. If this separation is possible then I think the two should be kept in separate files as well as separate packages for clarity. Speaking of ExtWM, I'd like to see this stuff be mandatory, not an option. It should always be loaded whether the user likes it or not. This is because it's headed towards being a standard and Eclipse ought to promote it. And there's plenty of useful stuff in it. Files ----- I'd like to split a lot of the code in global.lisp, wm.lisp, menu.lisp, and maybe other files out into their own files. I don't think any file should be much larger than 10KB, including comments and docstrings. Here's my ideas on splitting up the files. To start with, global.lisp contains a lot of miscellaneous stuff. It looks like it was originally supposed to be a container for the big pile of constants, variables, and parameters. I'd say that most of these should be moved either to files where they are closely related, or moved into a top-level file called "eclipse.lisp" which would also contain the ECLIPSE function and other initialization code. The system-dependent code in global.lisp should be moved into either a file called "sysdep.lisp" or into individual files named after each Lisp system and kept in a "sysdep" directory. I'm more in favor of the latter. ...time passes... I just scribbled together a list of files and their contents that makes sense. It's easier to read than my babble. All files have a ".lisp" extension except for directories. "eclipse" Top level function ECLIPSE, initialization, etc. "pixmaps/" Directory containing code to translate different image formats into X pixmaps (eg PNG, XPM files, etc) "gestures" Container for key-combo code, cursor movement, etc. "virtual-screens" This already exists, and should have the other vscreen code in wm.lisp moved into it "application" The base object class, ROOT, and APPLICATION classes I was thinking of a better name for OBJECT, maybe 'gobject' (for "graphics object") or something? "buttons" Window buttons, eg titlebar, maximize, iconify, etc. "icons" All code for icons, iconification, an icon box, etc. By 'icon box' I mean a window that can contain all the icons, or a restricted part of the screen where all icons will go (like MWM or Afterstep). Icons should also be standardized to 64x64 pixels or maybe 128x128 or whatever other WMs tend to use. "decoration" Window decoration management code "focus" Focus management code "menu" Already exists, but *BLACK* and *WHITE* should be moved from it into eclipse.lisp, and their values taken from BLACK_PIXEL and WHITE_PIXEL in the root colormap. They should be moved to colors.lisp, actually. "dialogs" Simple dialog and 'monolog' boxen. A 'monolog' box is a dialog box that doesn't take any user input, like the little box that displays resize/move data in some WMs. This is an 'output-only' window, like the XLoad program. "gnome" Gnome interface code. "icccm" Any ICCCM code that doesn't fit anywhere else. "events" General event processing. Most EVENT-PROCESS methods belong near what they're specialized for, not in this file. The generic EVENT-PROCESS would be here though. "screenshots" Just that. Screenshot code. "ext-wm-hints" Code for ExtWM Hints compliance that doesn't fit anywhere else. "tasks" Same as the current programmable-tasks.lisp but with a shorter name! Maybe "ptasks" instead? "cursor" Already exists, but some other code (in wm.lisp for instance) should be moved into it. Oh, and +BLACK+ and +WHITE+ should be taken from the BLACK_PIXEL and WHITE_PIXEL X properties instead of defined here. "colors" Color and colormap handling code. "clx-ext/" Extensions to CLX that are Eclipse-specific. Other extensions should be merged from here back into CLX eventually. Until they are they would live in this directory, in appropriately named files. "sysdep/" Nonportable code depending on particular Lisp systems. Each file should be named after its system. "winops" General window operations, eg resize, move, raise, lower, etc. "x" Basic X functions, like OPEN-CLX-DISPLAY. Okay, this message is way too long. I don't want to chop it up though. Please reply to parts of it instead, and change the subject appropriately. 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Sat Jun 22 19:06:01 2002 From: james at unlambda.com (James A. Crippen) Date: Sat Jun 22 19:06:01 2002 Subject: Plans In-Reply-To: References: Message-ID: For the new list members. I posted the message I am now replying to earlier. Please read it in the archives and respond with flames/suggestions/criticism/other comments. Thanks! 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way. From james at unlambda.com Sat Jun 22 19:06:03 2002 From: james at unlambda.com (James A. Crippen) Date: Sat Jun 22 19:06:03 2002 Subject: Autoconfiscator? In-Reply-To: References: Message-ID: james at unlambda.com (James A. Crippen) writes: > Iban, do you have the autoconf script stuff for the configure file? I > see the Makefile.in but not any configure.in or the like. I was > wondering if these were just missing in my copy or if they're > unnecessary. Nevermind all that. 'configure.in' seems to have been imported, by me no less, already. Sorry for the trouble. I should look before I leap sometimes... ^_^; 'james -- James A. Crippen ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.20939N, -149.767W Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way.