[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

971.0. "XLIB for Sticky?" by CSC32::JJONES (Jeff Jones) Sat Jun 17 1989 15:20

    Also, move this to programming if it is still around...
    
    What XLIB calls can I make to force a window to be sticky?
    
    I can't seem to find any documentation on this anywhere except
    maybe with UIL. But there must be a counterpart XLIB - I reason?
    
    thanks,
    jjjones

T.RTitleUserPersonal
Name
DateLines
971.1AITG::DERAMODaniel V. {AITG,ZFC}:: D'EramoSat Jun 17 1989 22:135
     Do you mean the DECwindows window manager "sticky"
     with the push-to-back button/decoration/whatever?
     
     Dan

971.2I would think you would...NEURON::NICHOLSONA belly as big as an oil spillSun Jun 18 1989 16:427
    Create a DECWmHints property on your top level window.  You load this
    property with a DECWmHintsRec structure in which you set the "sticky"
    field to true and the DECWmStickyMask bit in the "value_mask" field. 

    I don't know if there is a convenience routine to do this or not
    and am at home with no documentation.

971.3Making the Icon Box sticky from XDEFAULTS.DATPVX::VANSICLENWS Program Office <ML5-2/P60> 223-6310Thu Jun 22 1989 09:2017
Talking of sticky...

I want to have just myIcon Box startup as being sticky.  So, in my 
SYS$LOGIN:DECW$XDEFAULTS.DAT I tried -

	wm*sticky:			true

This set ALL windows sticky.  No good.  So then I tried...

	wm*iconBox.sticky:		true

This doesn't do anything. What am I doing wrong?  All my other modifactions to
the Icon Box work.

Many thanks -
garrett

971.4Mostly useful solutionCASEE::CLEOVOULOUMarios CleovoulouThu Jun 22 1989 11:3612
    Well, I use the following, which seems to catch _most_ cases.  I still
    get some apps (like FileView, for instance) that come up sticky though.
    
	*sticky:	False
	*Sticky:	False
	wm*sticky:	True
	wm*Sticky:	True
    
    Regards,
    
    Marios

971.5How to get sticky from XLIBISOSPN::HIRSTLean, Mean, FastFri Oct 13 1989 09:3959
I asked almost the same thing in the DECwindows programming conf yesterday
(because I could not get in here). Since then I have worked out the solution
for myself so here is the note I put in the other conf.

Note the DEC_WM_HINTS property is used to set sticky windows.

    <<< HARBOR::SHPLOG$DUA1:[NOTES$LIBRARY]DECWINDOWS_PROGRAMMING.NOTE;1 >>>
                    -< DECwindows Programming hints/kinks >-
================================================================================
Note 479.4            Window Manager DEC_WM_HINTS property                4 of 4
ISOSPN::HIRST "Lean, Mean, Fast"                     45 lines  13-OCT-1989 07:04
                           -< I've found the format >-
--------------------------------------------------------------------------------
Just to let anybody else who wants to know how to do something similar I have
found the format of the DEC_WM_HINTS property.

It is in 32 bit format with 9 elements, each element corresponds to a field in
the DECWmHintsRec data structure (extracted from DECWMHINTS.H)

typedef struct {
	unsigned long value_mask;
	Pixmap iconify_pixmap;
	int icon_box_x;
	int icon_box_y;
	Bool tiled;
	Bool sticky;
	Bool no_iconify_button;
	Bool no_lower_button;
	Bool no_resize_button;
} DECWmHintsRec, *DECWmHints;

To set the property you need to do something like

.
.
.
Atom DEC_WM_HINTS;
int dec_wm_hints[9];

  DEC_WM_HINTS = XInternAtom( display, "DEC_WM_HINTS", 1 );

  dec_wm_hints[0] = 80;		/* Value Mask */
  dec_wm_hints[5] = 1;		/* Sticky */
  dec_wm_hints[7] = 1;		/* No Lower Button */

  XChangeProperty( display,
	window,
	DEC_WM_HINTS,
	DEC_WM_HINTS,
	32,
	PropModeReplace,
	dec_wm_hints,
	9 );
.
.
.

Steve