wms offsetting XMoveWindow() coords



hello everyone,

i was just trying to fix up desk-guide (the GNOME pager) movement in a
window manager independant fashion and encountered two different window
manager behaviours (probably due to window manager families):

for a window MyApp being managed by the window manager, and its window
manager decoration window Frame, with MyApp being offsetted within
Frame by (fx, fy),

XMoveWindow (D, MyApp, x, y);

1) will move MyApp to (x, y) and thus Frame to (x-fx, y-fy) for
   Enlightenment,
   IceWM,
   AfterStep,
   fvwm

2) will move Frame to (x, y) and thus MyApp to (x+fx, y+fy) for
   Sawmill
   twm, ctwm, vtwm,
   olvwm
   wm2
   WindowMaker


since the application and pagers can hardly tell where exactly the window
will be moved to, i'd like to propose the addition of another property to
the new window manager spec:

_NET_WIN_MOVE_OFFSET xoffset,yoffset CARDINAL[2]/32
    An array of two cardinals to be set on all window managed by the window
    manager. The two cardinals xoffset and yoffset specify the offset in pixels
    that will be added to the window position by the window manager upon
    XMoveWindow() requests for mapped windows.
    Note: This is required by applications (pagers) that need to determine
          where exactly the application window will end up after movement
          requests, if the window manager will actually move its decorative
          frame window to the specified coordinates, instead of the real
          application window.
          
so for case 2) window managers, these properties will contain the application
windows' offsets within their frame windows, and for case 1) window managers,
they will simply contain (0, 0).


[john, are you actually subscribed to the wm-spec-list?
 to subscribe: mail wm-spec-list-request@gnome.org with "subscribe"
 as the subject
]

---
ciaoTJ








[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]