Subject: Slow startup with CVS 2.3.0

From: Dan Espen <[email-masked]>
Date: Tue, 02 Mar 1999 10:30:52 -0500

I experience a really long delay during startup.
All my windows are bordered, and I can open and close windows.
None of my keybindings or root menus work.
I get "beeps" trying to activate menus with the keyboard or
the mouse.
FvwmAnimate works during this interval.

About 2 minutes later, FvwmBanner does its thing, and keybindings and
root menus start to work.  There is a "Recapture" in my startup
procedure.  I don't see any significant CPU use during this interval.

The same config works fine with 2.2.

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214             E-mail: [email-masked]
Piscataway, NJ 08854                       Phone: (732) 699-5570
--
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: Tim Phipps <[email-masked]>
Date: Tue, 02 Mar 1999 15:36:45 +0000

> FvwmAnimate works during this interval.

If it was a delay of 42 seconds and the windows weren't bordered I'd
guess at the new start up algorithm, but I don't think this is the case
since your windows are captured.  I've been having hangs, maybe they are
the same thing.

Cheers,
Tim.

---

From: Dan Espen <[email-masked]>
Date: Tue, 02 Mar 1999 10:44:46 -0500

> since your windows are captured.  I've been having hangs, maybe they are

In seconds:

00 Hit return
06 Borders appear
49 FvwmBanner does its thing.

Is 43 seconds close enough?

---

From: Tim Phipps <[email-masked]>
Date: Thu, 04 Mar 1999 12:35:49 +0000

> Is 43 seconds close enough?

Maybe, The 42s timeout is on the select() call in the main event loop
and won't go off if you click the mouse.  Dou you get the foloowing erro
message in your log file?

"Some command line modules have not quit, Starting up after timeout."

Cheers,
Tim.

---

From: Dan Espen <[email-masked]>
Date: Thu, 04 Mar 1999 13:12:06 -0500

> "Some command line modules have not quit, Starting up after timeout."

Yep, I see one of them.

I don't fully  understand the 42 second deal,  but if  there's a timer
waiting around for me to click the mouse, it could wait for days.

Dan (Keyboard) Espen

---

From: Tim Phipps <[email-masked]>
Date: Fri, 05 Mar 1999 09:36:29 +0000

> > "Some command line modules have not quit, Starting up after timeout."

This means that either
1) you have something on your fvwm command line that ends up trying to
create a top level window.

or
2) There's a bug in the starting up algorithm.

What does you command line do? does it start any modules? Do the files
read during start up run programs that create top level windows?

> waiting around for me to click the mouse, it could wait for days.

There isn't a timer, it's a timeout. What should be happening is that
every time a module is started while fFwvmInStartup is true a bit is set
in fd_init.  Every time a module quits the bit is reset.  Every time the
main event loop is entered while fFvwmInStartup is true, fd_init is
examined and if zero StartupStuff() is called.  StartupStuff() sets
fFvwmInStartup to false and captures all the windows.  Here's the code
in events.c that checks the init modules

  /* check for termination of all startup modules */
  if (fFvwmInStartup) {
    for(i=0;i<npipes;i++)
      if (FD_ISSET(i, &init_fdset))
        break;
    if (i == npipes) {
      DBUG("My_XNextEvent", "Starting up after command lines
modules\n");
      StartupStuff();
      timeoutP = NULL; /* set an infinite timeout to stop ticking */
    }
  }  

Is this OK?  I'm relying on i=npipes if a break doesn't happen

Here's the select() bit

  if (select((SELECT_TYPE_ARG1)fd_width,
             SELECT_TYPE_ARG234 &in_fdset,
             SELECT_TYPE_ARG234 &out_fdset,
             SELECT_TYPE_ARG234 0,
             SELECT_TYPE_ARG5   timeoutP) > 0) {

    /* Check for module input. */
    for (i=0; i<npipes; i++) {
      if ((readPipes[i] >= 0) && FD_ISSET(readPipes[i], &in_fdset)) {
        if (read(readPipes[i], &targetWindow, sizeof(Window)) > 0) {
          DBUG("My_XNextEvent","calling HandleModuleInput");
          HandleModuleInput(targetWindow,i);
        } else {
          DBUG("My_XNextEvent","calling KillModule");
          KillModule(i,10);
        }
      }
      if ((writePipes[i] >= 0) && FD_ISSET(writePipes[i], &out_fdset)) {
        DBUG("My_XNextEvent","calling FlushQueue");
        FlushQueue(i);
      }
    }

#ifdef SESSION
    if ((sm_fd >= 0) && (FD_ISSET(sm_fd, &in_fdset))) ProcessICEMsgs();
#endif

  } else {
    /* select has timed out, things must have calmed down so let's
decorate */
    if (fFvwmInStartup) {
      fvwm_msg(ERR, "My_XNextEvent",
               "Some command line modules have not quit, Starting up
after timeout.\n"
      StartupStuff();
      timeoutP = NULL; /* set an infinite timeout to stop ticking */
    }
  }

The funy thing about this is that X events from the select are ignored
until the loop is entered again, Maybe an XSync in front of the select()
would help.

Cheers,
Tim.

---

From: Dan Espen <[email-masked]>
Date: Fri, 05 Mar 1999 09:33:58 -0500

> read during start up run programs that create top level windows?

There is nothing on my command line.

During startup, I invoke  FvwmBanner  thru the InitFunction and  start
FvwmAnimate with "Module FvwmAnimate".

> in fd_init.  Every time a module quits the bit is reset.  Every time the

FvwmBanner wasn't showing until after the timeout, FvwmAnimate isn't going
to quit during startup.

> in events.c that checks the init modules

I haven't been able to compile 2.3.0, let alone test it for a few days
now.  If some of  the recent patches help, I  wouldn't know  it.  (The
last problem was the XUrgency stuff.)

---

From: Matthias Clasen <[email-masked]>
Date: Sat, 6 Mar 1999 00:07:01 +0100

> last problem was the XUrgency stuff.)

Dan, does my recent change improve the situation wrt Urgency ?

-- 
Matthias Clasen, 
Tel. 0761/203-5606
Email: [email-masked]
Mathematisches Institut, Albert-Ludwigs-Universitaet Freiburg
--
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: Dan Espen <[email-masked]>
Date: Fri, 05 Mar 1999 20:20:13 -0500

> Dan, does my recent change improve the situation wrt Urgency ?

With the latest CVS, configure detects my lack of Session Management,
and I no longer get compile errors due to XUrgency.  Thanks.

I'll check out the startup problems as soon as I can.

---

From: Dan Espen <[email-masked]>
Date: Mon, 08 Mar 1999 11:08:03 -0500

I don't know if my home system and work system are producing different
results, but with this mornings CVS,
FvwmBanner appears long after I start fvwm2.  (Everything else seems
happy.)

This is on my error log:

[FVWM][My_XNextEvent]: <<ERROR>> Some command line modules have not quit,
 Starting up after timeout.

---

From: Tim Phipps <[email-masked]>
Date: Wed, 10 Mar 1999 14:37:15 +0000

>  Starting up after timeout.

This is bad, if you don't have any command line args it shouldn't be
expecting any modules to finish before doing the initial capture.  If
you turn on debug messages do you get any of the following?

[executeModule] starting commandline module
[killModule] endig command line module

Here's the code that checks for no more modules to wait for.  Its just
before select().  I'm assuming that the for loop leaves with  i ==
npipes if the break hasn't happened. Is this OK?

---

From: Dan Espen <[email-masked]>
Date: Wed, 10 Mar 1999 10:47:30 -0500

> [killModule] endig command line module

With this mornings CVS, I not only get the 42 second delay,
but early on the pointer changes to a circle and seems to hang
the startup process until I move the mouse.

I assume when you asked for debug, you wanted me to start fvwm2
with -debug.  If you want all 5000 lines, I can send them.  I trimmed
out everything bug "reads" and a few other lines.  I don't see
much interesting in here:

[FVWM][ReadFile]: <<DEBUG>> about to attempt '.fvwm2rc'
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'PixmapPath	/u/dane/icons:/u/dane/public_html/textures:/opt/public/bin/rxvt-pixmap/textures/:$FVWMICONS:$SYSICONS
[FVWM][pixmapPath_function]: <<ERROR>> PixmapPath is deprecated since 2.3.0; use ImagePath instead.
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'IconPath   /u/dane/icons:$SYSICONS:/usr/WI/include/X11/bitmaps
[FVWM][iconPath_function]: <<ERROR>> IconPath is deprecated since 2.3.0; use ImagePath instead.
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'Read /opt/public/src/fvwm-config/.fvwmrc.modules
[FVWM][ReadFile]: <<DEBUG>> about to attempt '/opt/public/src/fvwm-config/.fvwmrc.modules
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'Read /opt/public/src/fvwm-config/.fvwmrc.menus
[FVWM][ReadFile]: <<DEBUG>> about to attempt '/opt/public/src/fvwm-config/.fvwmrc.menus
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'read /opt/public/src/fvwm-config/.fvwmrc.tile
[FVWM][ReadFile]: <<DEBUG>> about to attempt '/opt/public/src/fvwm-config/.fvwmrc.tile
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'read /opt/public/src/fvwm-config/.fvwmrc.mouse
[FVWM][ReadFile]: <<DEBUG>> about to attempt '/opt/public/src/fvwm-config/.fvwmrc.mouse
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'read /opt/public/src/fvwm-config/.fvwmrc.decors
[FVWM][ReadFile]: <<DEBUG>> about to attempt '/opt/public/src/fvwm-config/.fvwmrc.decors
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'read /opt/public/src/fvwm-config/.fvwmrc.workman
[FVWM][ReadFile]: <<DEBUG>> about to attempt '/opt/public/src/fvwm-config/.fvwmrc.workman
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'read .fvwm2new.stuff
[FVWM][ReadFile]: <<DEBUG>> about to attempt '.fvwm2new.stuff
[FVWM][ReadFile]: <<DEBUG>> about to attempt '.FvwmAnimate Quiet'
[FVWM][My_XNextEvent]: <<ERROR>> Some command line modules have not quit, Starting up after timeout.

[FVWM][FvwmErrorHandler]: <<ERROR>> *** internal error ***
[FVWM][FvwmErrorHandler]: <<ERROR>> Request 54, Error 4, EventType: 0

>       timeoutP = NULL; /* set an infinite timeout to stop ticking */

Sorry, I still don't understand the part about waiting for modules
to terminate.  If FvwmAnimate was being started by way of the command
line, why would you expect it to terminate?

I happen to start FvwmAnimate with the command "Module FvwmAnimate" in
the  file /opt/public/src/fvwm-config/.fvwmrc.modules.  I don't add it
to the InitFunction.  I don't know if that matters.

---

From: Tim Phipps <[email-masked]>
Date: Wed, 10 Mar 1999 16:29:42 +0000

Dan Espen wrote:
> to terminate.

The problem I'm trying to fix is that the initial capture shouldn't
happen until all the configuration commands have been read.  If the
initial capture happens too early the window decorations and styles may
be wrong and require before they look and act right. This has been a
long running problem with the RedHat distribution.

It's difficult to know when the config commands have finished because
they are just commands and FvwmCpp and FvwmM4 complicate matters as they
aren't just files to be read but modules and fvwm doesn't wait for them
to quit before enetering the main event loop.

>  If FvwmAnimate was being started by way of the command

It's just the assumption I made to get starting up to work. Any module
started on the command line (or caused to start from a command line Read
of a file) is assumed to be a start-up module and the initial capture is
delayed until it finishes to give it the chance to send back config
commands. If you can think of a better way to know when config commands
have stopped coming in let me know and I'll put it in.
> to the InitFunction.  I don't know if that matters.

Try moving it to the InitFunction and RestartFunction, it should fix
your problem.  You could move the "Read .fvwmrc.modules" to the
InitFunction if it's more convenient.

Cheers,
Tim.

---

From: Brad Giaccio <[email-masked]>
Date: Wed, 10 Mar 1999 12:24:49 -0500

Tim,

I understand the problem you are trying to correct, although I can't say
I have ever seen it, but now with your new logic for startup I do see
the problem.

I start fvwm like this
fvwm2 -cmd FvwmM4 -debug -m4-squote \{ -m4-equote \} -m4opt -DNOINIT -m4opt -DMYVERSION=fvwm23 -m4opt -DFCOMMAND=.FCM-jojo:0.0 .fvwm2rc

Now under 2.2 this works fine, my rc file doesn't have any other reads
the only thing I do is run my rc fle through FvwmM4.  But with the new
logic I don't get either of my decors defined. To get things working I
need to pull FvwmConsole up and do an AddToDecor on to create my decor
reisue the Style lines that have UseDecor and then do a recapture.

I can't imagine that this right and seeing as this worked under 2.2, I'm assuming this startup change is my problem, although I don't see any of the error messages about waiting for modules to finish.

Brad

---

From: Dan Espen <[email-masked]>
Date: Wed, 10 Mar 1999 16:57:57 -0500

> InitFunction if it's more convenient.

You are right.  The delays are gone.

Now I'm down the the "circle" problem.

I get a  mouse pointer thats  a circle during  startup, I have to move
the mouse to get startup to finish.
The man page says it uses this for:

 SELECT (XC_dot)
    used for various builtin commands such as iconify

I can also get the  circle by just trying  to change the decor, so its
my guess  that the  circle during  startup  is also  due to  the decor
change.  (I call for a decor change at the end of my .fvwm2rc.)

Here is my decor file:

DestroyMenu DecorMenu
AddToMenu   DecorMenu "Decor Menu" Title

# Function:     Disable ALL buttons 
DestroyFunc RemoveAllButtons
AddToFunc   RemoveAllButtons "I" Style "*" NoButton 1, NoButton 2
AddToFunc   RemoveAllButtons "I" Style "*" NoButton 3, NoButton 4
AddToFunc   RemoveAllButtons "I" Style "*" NoButton 5, NoButton 6
AddToFunc   RemoveAllButtons "I" Style "*" NoButton 7, NoButton 8

# -- Start of w (win) button layout --
DestroyFunc w_buttons
AddToFunc   w_buttons
+ "I" RemoveAllButtons
+ "I" Style "*" Button 1, Button 2, Button 4, Button 6
+ "I" Mouse 0 1 N     Menu Window-Ops Close
+ "I" Mouse 0 2 N     Close
+ "I" Mouse 0 4 A     Maximize
+ "I" Mouse 0 6 N     Iconify
+ "I" Mouse 3 6 N     Replace

# -- Start of Win 95 decor -- (If you like this sort of thing)
DestroyDecor    Win95
AddToDecor      Win95
+ TitleStyle      LeftJustified ActiveUp (Solid Navy -- flat) \
                  ActiveDown (Solid Navy -- flat) \
                  Inactive (Solid grey51 -- flat)
+ ButtonStyle 1   MiniIcon -- UseTitleStyle flat
+ ButtonStyle 2   Pixmap win95-close-full.xpm -- UseTitleStyle flat
+ ButtonStyle 4   Pixmap win95-maximize-full.xpm -- UseTitleStyle flat
+ ButtonStyle 6   Pixmap win95-minimize-full.xpm -- UseTitleStyle flat
+ BorderStyle     Active -- HiddenHandles NoInset
+ BorderStyle     Inactive -- HiddenHandles NoInset
+ WindowFont      -adobe-helvetica-bold-r-*-120-*
+ HilightColor    white grey60

DestroyFunc     DecorWin95
AddToFunc       DecorWin95
+ "I"   w_buttons
+ "I"   Style "*"       UseDecor Win95, Color Black/grey75
+ "I"   MenuStyle "*" WIN, PopupDelayed, PopupDelay 150
+ "I"   MenuStyle "*" Foreground Black, Background grey75, Greyed grey40
+ "I"   MenuStyle "*" Font -adobe-helvetica-medium-r-*-120-*
+ "I"   MenuStyle "*" Animation, Hilight3DThin
+ "I"   MenuStyle "*" PopupOffset 1 100
+ "I"   SetAnimation 1 .1 .2 .3 .4 .5 .6 .7 .8 .9 1.0
+ "I"   Recapture
AddToMenu   DecorMenu "&1. Decor Windows" DecorWin95

# -- Start of 4 button layout --
DestroyFunc 4_buttons
AddToFunc   4_buttons
+ "I" RemoveAllButtons
+ "I" Style "*" Button 1, Button 3, Button 4, Button 2
+ "I" Mouse 0   1 A     "Iconify"
+ "I" Mouse 0   3 A     Module FvwmIdent
+ "I" Mouse 0   4 A     Function "CloseIt"
+ "I" Mouse 0   2 A     Function "maximize_func"

# -- Start of Custom Decor --
DestroyDecor    Custom
AddToDecor      Custom
+ TitleStyle Centered ActiveUp (Solid cornflowerblue -- Raised) \
             Inactive (Solid Navy -- Flat) \
             ActiveDown (Solid dimgrey -- Sunk)
+ ButtonStyle 1 Pixmap mini.iconify.xpm
+ ButtonStyle 3 MiniIcon
+ ButtonStyle 4 Pixmap mini.delete.xpm mini.destroy.xpm
+ ButtonStyle 2 Pixmap mini.maximize.xpm mini.resize.xpm
+ BorderStyle TiledPixmap weird10.xpm -- HiddenHandles NoInset
+ WindowFont 9x15bold
+ HilightColor   white cornflowerblue

DestroyFunc DecorCustom
AddToFunc   DecorCustom
+ "I" 4_buttons
+ "I" Style "*" UseDecor Custom, Color lightgray/dimgrey
+ "I" MenuStyle "*"   WIN, PopupDelayed, PopupDelay 150
+ "I" MenuStyle "*"   Foreground white, Background cornflowerblue
+ "I" MenuStyle "*"   Greyed navy, Font 9x15bold, Animation, Hilight3DThin
+ "I" MenuStyle "*" PopupOffset 1 100
+ "I" SetAnimation 1 .3 .6 1.0
+ "I" Recapture

AddToMenu   DecorMenu "&2. Decor BlueMarble" DecorCustom

# -- Start of Marbled Decor --
# ...
# Uses Custom Decor, just the menus are different
DestroyFunc DecorMarbled
AddToFunc   DecorMarbled
+ "I" 4_buttons
+ "I" Style "*" UseDecor Custom, Color lightgray/dimgrey
+ "I" MenuStyle "*"   WIN, PopupDelayed, PopupDelay 150
+ "I" MenuStyle "*"   Foreground white, Background cornflowerblue
+ "I" MenuStyle "*" MenuFace TiledPixmap weird10.xpm
+ "I" MenuStyle "*"   Greyed navy, Font 9x15bold, Animation, Hilight3DThin
+ "I" MenuStyle "*" PopupOffset 1 100
+ "I" SetAnimation 1 .3 .6 1.0
+ "I" Recapture

AddToMenu   DecorMenu "&3. Decor BlueMarble, marbled menus" DecorMarbled

# -- Start of Red Decor --
# (Not done)
DestroyDecor    Red
AddToDecor      Red
+ TitleStyle Centered ActiveUp (Solid Maroon -- Raised) \
             Inactive (Solid Brown -- Flat) \
             ActiveDown (Solid Orange -- Sunk)
+ ButtonStyle 1 Pixmap mini.iconify.xpm
+ ButtonStyle 3 MiniIcon
+ ButtonStyle 4 Pixmap mini.delete.xpm mini.destroy.xpm
+ ButtonStyle 2 Pixmap mini.maximize.xpm mini.resize.xpm
+ WindowFont 8x13bold
+ HilightColor   white orange
+ BorderStyle   Active -- !HiddenHandles NoInset
+ BorderStyle   Inactive -- !HiddenHandles NoInset

DestroyFunc     DecorRed
AddToFunc       DecorRed
+ "I" 4_buttons
+ "I" Style "*" UseDecor Red, Color lightgray/brown
+ "I" MenuStyle "*"   WIN, PopupDelayed, PopupDelay 150
+ "I" MenuStyle "*" WIN, Foreground pink, Background maroon, Greyed yellow
+ "I" MenuStyle "*" Font 9x15bold, animation
+ "I" MenuStyle "*" PopupOffset 1 100
+ "I" SetAnimation 1 1.0
+ "I" Recapture
AddToMenu   DecorMenu "&4. Decor Red" DecorRed

# -- Start of Candy Decor --
DestroyDecor    Candy
AddToDecor      Candy
+ TitleStyle Centered \
             ActiveUp (Solid pink -- Raised) \
             Inactive (Solid dimgrey -- Flat) \
             ActiveDown (Solid yellow -- Sunk)
+ ButtonStyle 1 Pixmap mini.iconify.xpm
+ ButtonStyle 3 MiniIcon
+ ButtonStyle 4 Pixmap mini.delete.xpm mini.destroy.xpm
+ ButtonStyle 2 Pixmap mini.maximize.xpm mini.resize.xpm
+ BorderStyle TiledPixmap candy1.xpm -- HiddenHandles NoInset
+ WindowFont 9x15bold
# Window decorations text foreground and
# Icon w. focus foreground and background
+ HilightColor navy pink

DestroyFunc     DecorCandy
AddToFunc       DecorCandy
+ "I"   4_buttons
+ "I"   Style "*" UseDecor Candy
# Affects icon titles w/o focus and the foreground in titlebars w/o focus
# W/O a color in titlestyle inactive above, the titlebar is the pixmap
+ "I"   Style "*" ForeColor white, BackColor dimgrey
+ "I"   Style "*" Button 1, Button 3, Button 4, Button 2
+ "I" MenuStyle "*"   WIN, PopupDelayed, PopupDelay 150
+ "I"   MenuStyle "*" Background pink
+ "I"   MenuStyle "*" MenuFace TiledPixmap candydark.xpm
+ "I"   MenuStyle "*" Foreground white, Greyed yellow
+ "I"   MenuStyle "*" Font 9x15bold, Animation
+ "I"   MenuStyle "*" PopupOffset 1 100
+ "I"   SetAnimation 1 .3 .6 1.0
+ "I"   Mouse 0 1 A     "Iconify"
+ "I"   Mouse 0 3 A     Module FvwmIdent
+ "I"   Mouse 0 4 A     Function "CloseIt"
+ "I"   Mouse 0 2 A     Function "maximize_func"

AddToFunc       DecorCandy
+ "I"   Recapture
AddToMenu   DecorMenu "&5. Decor Candy" DecorCandy

At the end of my .fvwm2rc I have "DecorCustom".
When I do the same thing by menu I get the same circle.
In addition, these are in my error log:

[FVWM][FvwmErrorHandler]: <<ERROR>> *** internal error ***
[FVWM][FvwmErrorHandler]: <<ERROR>> Request 54, Error 4, EventType: 0
[FVWM][FvwmErrorHandler]: <<ERROR>> *** internal error ***
[FVWM][FvwmErrorHandler]: <<ERROR>> Request 54, Error 4, EventType: 12

and, worst, the weird10 tiled pixmap window borders are just
plain gray!

I'll try to get hold of a stack trace at the hang, and look up
the messages.

---

From: Tim Phipps <[email-masked]>
Date: Fri, 12 Mar 1999 16:33:21 +0000

> reisue the Style lines that have UseDecor and then do a recapture.

This seems very odd. FvwmM4 runs m4 to create a file and then tells fvwm
to read it before it exists.  This means that the file is read before
the initial capture happens and this is exactly what used to happen with
2.2.

Have you looked at the file that -debug spits out?  This is the file
that fvwm reads.  I think the order of AddToDecor and "Style UseDecor"
matters so it might be an ordering thing.

Cheers,
Tim.

---

From: Brad Giaccio <[email-masked]>
Date: Fri, 12 Mar 1999 12:04:46 -0500

> matters so it might be an ordering thing.

amazing that is exactly what I just did and the good news is I sort of
found the problem my rc has a section like this
AddToDecor $1
+ WindowFont     -adobe-helvetica-bold-r-*-*-12-120-*-75-p-*-iso8859-1
+ IconFont       fixed
+ HilightColor   Black #909078
...

and with -debug I see
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'AddToDecor default-decor
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: '+ WindowFont     -adobe-helvetica-bold-r-*-*-12-120-*-75-p-*-iso8859-1 
...

along with the rest of the file as I would expect it when the last lines
from my rc gets printed the capture begins, but I don't get any decor
stuff.

So on a whim I changed things to 
AddToDecor $1
AddToDecor $1 WindowFont     -adobe-helvetica-bold-r-*-*-12-120-*-75-p-*-iso8859-1
AddToDecor $1 IconFont       fixed
AddToDecor $1 HilightColor   Black #909078

now I see
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'AddToDecor default-decor
'
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'AddToDecor default-decor WindowFont     -adobe-helvetica-bold-r-*-*-12-120-*-75-p-*-iso8859-1
'
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'AddToDecor default-decor IconFont       fixed
'
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: '#fore and back for text of window with focus
'
[FVWM][ReadSubFunc]: <<DEBUG>> about to exec: 'AddToDecor default-decor HilightColor   Black #909078
'

and when I get the capture it works.  So the good news is I found the
problem.  The bad news is something isn't parsing my rc file correcttly
anymore.  Because using '+' worked in 2.2 and earlier.  Any thoughts on
whether your change broke this or if it was a problem with the parsing
stuff?

Brad

---

From: Dan Espen <[email-masked]>
Date: Fri, 12 Mar 1999 13:20:20 -0500

> whether your change broke this or if it was a problem with the parsing

After removing ALL the plus signs from my decor  file, the dot problem
and the lack of window decorations is gone.

--
Dan Espen
444 Hoes Lane  Room RRC 1C-214           E-mail: [email-masked]