Subject: Re: Theme schemes

From: Tim Phipps <[email-masked]>
Date: Mon, 01 Mar 1999 14:36:31 +0000

Matthias Clasen wrote:
> It is in fact possible to use abstractions
> created via other connections. To cite the X Protocol
> Reference Manual:

Okey doke, now we know it should be possible I'll have a go at something
simple to start with, I thought I'd start with drawGC, the context for
rubberband lines, and hack FvwmAnimate to default to using the same as
fvwm.  It should be possible to get XOR pixmaps into FvwmAnimate without
it having to read xpm files.

If that goes well I'll have a go at the GC's used by DefaultColors.

Cheers,
Tim.
--
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: Thu, 25 Mar 1999 15:36:39 +0000

> it having to read xpm files.

Changed my mind about this.  Anybody object to me hacking FvwmIdent?
It's a bit broken already (has OnTop instead of Layer) and it will
probably be assimilated by FvwmBorg####Form 8-)

I think I want to create a new module packet, something like M_NEW_LOOK
that has the following unsigned longs

header
  0xffffffff
  M_NEW_LOOK
  packet length
  timestamp
body
  Visual *visual (for the fvwm -visual future option, what about depth?)
  GC xorGC - used for rubber bands
  Colorset 0 (set by DefaultColors & DefaultFont)
    struct colorset_info {
      repaint_needed:1;
      pixmap:1;
      pixmap_width:12;
      pixmap_height:12;
    } info
    Pixel/Pixmap (depending on info.pixmap)
    GC foreground (with a color and font, usable with
XDrawString/Text/Line)
    GC relief
    GC shadow
  ColorSet 1 (set by HilightColor)
    struct background_type {pixmap:1; stretch_horiz:1; stretch_vert:1;}
    Pixel/Pixmap
    GC foreground
    GC relief
    GC shadow
  ColorSet N
    ....

The idea of the info struct is to give some flexibility for different
types of background rather than just a color.  If pixmap is True then
the next packet item is a Pixmap rather than Pixel.  If pixmap_width is
non zero the pixmap should be stretched horizontally from this size to
fit the window being drawn.  Ditto for pixmap_height.  After stretching
the background should be tiled with the result. This paves the way for
fvwm to have tiles, Hgradients, Vgradients  Dgradients and full size
pixmaps as backgrounds (4095x4095 should be big enough).

I'm not sure if a Font member should be included in each Colorset.  It
might be easier to get the font height etc. rather than query the font
struct from the foreground GC.

How many color sets should there be?

2 should be enough for classic fvwm.

I know CDE can have up to 8 color sets. (CDE doesn't have a foreground
color, it's either black or white, there is only one font and it has a
trough color which I think is bloat)

>From gtk.themes.org it looks like 5 (normal, prelight, active, selected
and insensitive) for the color definitions but then it goes off about
different widgets and it gets huge.

I couldn't figure out KDE.

I'm not going to rush this, I'll work on getting XorGC a bit more static
first, then colorset 0, then I'll have a crack at FvwmIdent with
colorset 0.

Cheers,
Tim.

---

From: Dan Espen <[email-masked]>
Date: Thu, 25 Mar 1999 11:11:11 -0500

> probably be assimilated by FvwmBorg####Form 8-)

Hmm...it assimilates one species and already its a Borg.

It would   be interesting for  FvwmForm to  become   very aware of the
characteristics of the  window  that   spawns  it, but  if   replacing
FvwmIdent was the ONLY benefit, I don't see much point.

I wasn't  the one that proposed  replacing some of our current modules
with a "super module" but it seems like a reasonable way to go.

--
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: Thu, 25 Mar 1999 16:22:58 +0000

> Hmm...it assimilates one species and already its a Borg.

I'm only joking.  Actually FvwmIdent could become a lot simpler if it
just created a form and started FvwmForm on it.  Can FvwmForm pop up
under the pointer?

Cheers,
Tim.

---

From: Dan Espen <[email-masked]>
Date: Thu, 25 Mar 1999 11:48:58 -0500

> just created a form and started FvwmForm on it.  Can FvwmForm pop up

Right  now  it can  warp  the pointer to its  position,  start up at a
specific position, or default to the center of the screen.  Popping up
under the pointer would seem like a useful feature.

I'm not making any large scale changes to FvwmForm right now.

Getting FvwmForm to create variables for things like window height
and geometry shouldn't be a problem...