Subject: More GNOME patches (need help)

From: Tomas Ogren <[email-masked]>
Date: Tue, 7 Dec 1999 00:21:33 +0100

Ho.

As I stated earlier, I made another GNOME patch, but I need some help to
make it work fully.. I need to update some things whenever a window
moves or something changes the fact which virtual page a window is on
(top left corner at least).

Is inside update_absolute_geometry() a good candidate to place it?

/Tomas
-- 
Tomas Ögren, [email-masked], http://www.ing.umu.se/~stric/
|- Student at Computing Science, University of Umeå
`- Sysadmin at {cs,ing,acc}.umu.se
--
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: Dominik Vogt <[email-masked]>
Date: Tue, 7 Dec 1999 10:45:44 +0100

> Is inside update_absolute_geometry() a good candidate to place it?

No!  I can't answer your question unless you explain in detail
what you want to do.  The 'update_absolute_geometry()' function
is responsible for updating the absolute desktop position if the
frame has been moved. 

Bye

Dominik ^_^

-- 
Dominik Vogt, Agilent Technologies, Dept. BVS
Herrenberger Str.130, 71034 Boeblingen, Germany
phone: 07031/464-4596, fax: 07031/464-3883, [email-masked]
--
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: Tomas Ogren <[email-masked]>
Date: Tue, 7 Dec 1999 14:33:27 +0100

> is responsible for updating the absolute desktop position if the

For more GNOME compliance I want to update an XAtom (XA_WIN_AREA) on a
window whenever it changes virtual page (calculated by the top left
corner of the window right now).

----8<----
  atom_set = XInternAtom(dpy, XA_WIN_AREA, False);

  val[0] = fwin->normal_g.x / Scr.MyDisplayWidth;
  val[1] = fwin->normal_g.y / Scr.MyDisplayHeight;

  XChangeProperty(dpy, fwin->w, atom_set, XA_CARDINAL, 32, PropModeReplace,
      (unsigned char *)val, 2);
----8<----

This correct?

/Tomas

---

From: Dominik Vogt <[email-masked]>
Date: Tue, 7 Dec 1999 18:16:29 +0100

> corner of the window right now).

Isn't XA_WIN_AREA supposed to be set for the root window only?
As far as I understand this XA_WIN_AREA denotes the coordinates
of the currently visible viewport, not the coordinates of the
viewport where a window is located.  This wouldn't make any sense
with fvwm anyway.  If a window is halfway between two pages, which
coordinates would we use?  BTW, I don't have the spec handy, what
I say is based on the comments in gnome.c.

  val[0] = Scr.Vx;
  val[1] = Scr.Vy;
  XChangeProperty(dpy, Scr.Root, atom_set, XA_CARDINAL, 32, PropModeReplace,
      (unsigned char *)val, 2);

Bye

Dominik ^_^

---

From: Ben Winslow <[email-masked]>
Date: Tue, 7 Dec 1999 15:46:21 -0500

On Tue, Dec 07, 1999 at 06:16:29PM +0100, Dominik Vogt wrote:
# 
[snip]
# Isn't XA_WIN_AREA supposed to be set for the root window only?
# As far as I understand this XA_WIN_AREA denotes the coordinates
# of the currently visible viewport, not the coordinates of the
# viewport where a window is located.  This wouldn't make any sense
# with fvwm anyway.  If a window is halfway between two pages, which
# coordinates would we use?  BTW, I don't have the spec handy, what
# I say is based on the comments in gnome.c.
# 
# > ----8<----
# >   atom_set = XInternAtom(dpy, XA_WIN_AREA, False);
# > 
# >   val[0] = fwin->normal_g.x / Scr.MyDisplayWidth;
# >   val[1] = fwin->normal_g.y / Scr.MyDisplayHeight;
# >   XChangeProperty(dpy, fwin->w, atom_set, XA_CARDINAL, 32, PropModeReplace,
# >       (unsigned char *)val, 2);
# 
#   val[0] = Scr.Vx;
#   val[1] = Scr.Vy;
#   XChangeProperty(dpy, Scr.Root, atom_set, XA_CARDINAL, 32, PropModeReplace,
#       (unsigned char *)val, 2);
# 
# > ----8<----
# 
# Bye
# 
# Dominik ^_^
# 
# -- 
# Dominik Vogt, Agilent Technologies, Dept. BVS
# Herrenberger Str.130, 71034 Boeblingen, Germany
# phone: 07031/464-4596, fax: 07031/464-3883, [email-masked]
# --
# 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]

This is the problem I was talking about a while back.  From what I gathered
from the gnome sources, it's actually set for both the root window and
application windows.  (The failure to set it for application windows is why
everything appeared in the upper-left area of the desktop).  I wasn't sure
either, though, so I didn't follow up with any code...

-- 
Ben Winslow           /   [email-masked]
bluecherry internet   /   http://www.bluecherry.net
|Rain| @ IRC          /   anynet: irc.anynet.org