MaintGeom man page on DigitalUNIX

Printed from

Tk_MaintainGeometry(3)	     Tk Library Procedures	Tk_MaintainGeometry(3)


       Tk_MaintainGeometry,  Tk_UnmaintainGeometry  - maintain geometry of one
       window relative to another

       #include <tk.h>

       Tk_MaintainGeometry(slave, master, x, y, width, height)

       Tk_UnmaintainGeometry(slave, master)

       Tk_Window   slave    (in)      Window whose  geometry  is  to  be  con‐

       Tk_Window   master   (in)      Window  relative to which slave's geome‐
				      try will be controlled.

       int	   x	    (in)      Desired x-coordinate of slave in master,
				      measured	in  pixels  from the inside of
				      master's left border to the  outside  of
				      slave's left border.

       int	   y	    (in)      Desired y-coordinate of slave in master,
				      measured in pixels from  the  inside  of
				      master's	top  border  to the outside of
				      slave's top border.

       int	   width    (in)      Desired width for slave, in pixels.

       int	   height   (in)      Desired height for slave, in pixels.

       Tk_MaintainGeometry and Tk_UnmaintainGeometry make it easier for geome‐
       try  managers  to deal with slaves whose masters are not their parents.
       Three problems arise if the master for a slave is not its parent:

       [1]    The x- and y-position of the slave must be translated  from  the
	      coordinate  system  of  the  master to that of the parent before
	      positioning the slave.

       [2]    If the master window, or any of its ancestors up to the  slave's
	      parent, is moved, then the slave must be repositioned within its
	      parent in order to maintain the correct position relative to the

       [3]    If  the  master  or  one of its ancestors is mapped or unmapped,
	      then the slave must be mapped or unmapped to correspond.

       None of these problems is an issue if the parent	 and  master  are  the
       same.   For example, if the master or one of its ancestors is unmapped,
       the slave is automatically removed by the screen by X.

       Tk_MaintainGeometry deals with these problems for slaves whose  masters
       aren't  their  parents.	 Tk_MaintainGeometry  is typically called by a
       window manager once it has decided where a slave should	be  positioned
       relative to its master.	Tk_MaintainGeometry translates the coordinates
       to the coordinate system of slave's parent and then moves  and  resizes
       the  slave  appropriately.  Furthermore, it remembers the desired posi‐
       tion and creates event handlers to monitor the master and  all  of  its
       ancestors  up  to  (but	not  including) the slave's parent.  If any of
       these windows is moved, mapped, or unmapped, the slave will be adjusted
       so  that	 it  is mapped only when the master is mapped and its geometry
       relative to the master remains as specified by x, y, width, and height.

       When a window manager relinquishes control over	a  window,  or	if  it
       decides	that it does not want the window to appear on the screen under
       any conditions, it calls Tk_UnmaintainGeometry.	 Tk_UnmaintainGeometry
       unmaps the window and cancels any previous calls to Tk_MaintainGeometry
       for the master-slave pair, so that  the	slave's	 geometry  and	mapped
       state  are  no  longer maintained automatically.	 Tk_UnmaintainGeometry
       need not be called by a geometry manager if the slave, the  master,  or
       any  of the master's ancestors is destroyed:  Tk will call it automati‐

       If Tk_MaintainGeometry is called repeatedly for the  same  master-slave
       pair,  the  information	from the most recent call supersedes any older
       information.  If Tk_UnmaintainGeometry is  called  for  a  master-slave
       pair that is isn't currently managed, the call has no effect.

       geometry manager, map, master, parent, position, slave, unmap

Tk				      4.0		Tk_MaintainGeometry(3)

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net