Subject: FVWM CVS: fvwm steve: Some more steps in the direction of cleanly separating the library

From: CVS <[email-masked]>
Date: Sat, 1 May 1999 12:05:44 -0500 (CDT)

CVSROOT:	/home/cvs/fvwm
Module name:	fvwm
Changes by:	steve	99/05/01 12:05:44

Modified files:
	.              : ChangeLog 
	fvwm           : Makefile.am add_window.c borders.c builtins.c 
	                 colormaps.c events.c functions.c fvwm.c 
	                 icccm2.c icons.c misc.c modconf.c move_resize.c 
	                 read.c stack.c virtual.c 
	libs           : Makefile.am Module.c fvwmlib.h 
	modules        : ChangeLog 
	modules/FvwmAnimate: FvwmAnimate.c 
	modules/FvwmAudio: FvwmAudio.c 
	modules/FvwmAuto: FvwmAuto.c 
	modules/FvwmBacker: FvwmBacker.c 
	modules/FvwmBanner: FvwmBanner.c 
	modules/FvwmButtons: FvwmButtons.c parse.c 
	modules/FvwmCommand: FvwmCommand.h 
	modules/FvwmConsole: FvwmConsole.h 
	modules/FvwmCpp: FvwmCpp.c 
	modules/FvwmDebug: FvwmDebug.c 
	modules/FvwmEvent: FvwmEvent.c 
	modules/FvwmForm: FvwmForm.c 
	modules/FvwmGtk: FvwmGtk.c 
	modules/FvwmIconBox: FvwmIconBox.c FvwmIconBox.h icons.c 
	modules/FvwmIconMan: FvwmIconMan.c FvwmIconMan.h fvwm.c 
	                     readconfig.c 
	modules/FvwmIdent: FvwmIdent.c 
	modules/FvwmM4 : FvwmM4.c 
	modules/FvwmPager: FvwmPager.c FvwmPager.h x_pager.c 
	modules/FvwmRearrange: FvwmRearrange.c 
	modules/FvwmSave: FvwmSave.c 
	modules/FvwmSaveDesk: FvwmSaveDesk.c 
	modules/FvwmScript: types.h 
	modules/FvwmScroll: FvwmScroll.c GrabWindow.c 
	modules/FvwmTaskBar: FvwmTaskBar.c FvwmTaskBar.h List.c 
	modules/FvwmWharf: FvwmWharf.c 
	modules/FvwmWinList: FvwmWinList.c FvwmWinList.h List.c 
Added files:
	fvwm           : module_interface.c module_interface.h 
	libs           : Module.h 
Removed files:
	fvwm           : module.c module.h vpacket.h 

Log message:
Some more steps in the direction of cleanly separating the library
from the fvwm code.  No modules should be including any headers from
the fvwm subdir, but several still do (e.g. fvwm/fvwm.h).

* fvwm/Makefile.am (fvwm2_SOURCES):
* libs/Makefile.am (libfvwm_a_SOURCES):
* fvwm/vpacket.h: moved to libs/vpacket.h, since this file is
used only by modules.

* libs/*: include Module.h rather than fvwm/module.h.
* fvwm/*: include module_interface.h rather than module.h.

* fvwm/Makefile.am (fvwm2_SOURCES):
* fvwm/module.[ch]: renamed to module_interface.[ch], to avoid
confusion with libs/Module.[ch].

* libs/Makefile.am (libfvwm_a_SOURCES):
* libs/Module.h: new file.  Everything a module needs to know in
order to talk to FVWM.

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Bob Woodside <[email-masked]>
Date: Sat, 01 May 1999 21:31:21 -0400

> the fvwm subdir, but several still do (e.g. fvwm/fvwm.h).

	I don't know that I totally agree with that. There really need to be
some things that are commonly available to any component - core, module,
or library function. However, if the idea is that libs should be the
repository for such stuff rather than fvwm, then I'm right with you. 

	You may be way ahead of me on this one, but what do you think of moving
the various flag structures (common_flags_type, window_flags,
style_flags, window_style) from fvwm to gsfr.h (to be renamed
window_flags.h and moved to libs), where the macros that access these
flags are located. This *may* remove the need for any modules to include
fvwm.h (I'm not sure, without looking at all of them).

> * fvwm/vpacket.h: moved to libs/vpacket.h, since this file is

	At the moment.... But, in future, this should contain common structures
used by both the fvwm core code that builds new packets, and the modules
that look at them.

- Bob

---

From: Steve Robbins <[email-masked]>
Date: Sun, 2 May 1999 00:50:31 -0400 (EDT)

> repository for such stuff rather than fvwm, then I'm right with you. 

The latter is what I meant.  The fvwm library will be used by FVWM proper
as well as modules.

> fvwm.h (I'm not sure, without looking at all of them).

I'm all in favour of getting anything that a module might want to know
about into libs/*.h.  I'm thinking ahead to the day that the library &
headers are installable.  We'll want to figure out by then exactly what a
module can legitimately need...