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 |
Hi, I am developing a program which will change some of DECTERM window properties (icon name and window name). The question is: how can I get the window ID of a particular decterm window (wich provided terminal I/O operations for my interactive process). Now, I am using INPUT FOCUS information for the determination of decterm window id. But it is not good enough in some cases. /Serge
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
2399.1 | STAR::MFOLEY | Jammin with Bill and Ted | Wed Mar 07 1990 14:02 | 30 | |
Have you tried the escape sequences that are supported? mike $ OSC[0,8] = 157 $ ST[0,8] = 156 $ Echo = "Write Sys$Output " $! $ If P1 .eqs. "ICON" then Echo OSC,"2L;",P2,ST $ If P1 .eqs. "ICON1" then Echo OSC,"2L;",F$GetSYI("NodeName"),ST $ If P1 .eqs. "BANNER" then Echo OSC,"21;",P2,ST $ If P1 .eqs. "BANNER2" then Echo OSC,"21;Node: ", F$GetSYI("NodeName")," �",F$GetJPI("","PRCNAM"),"� (",F$GetJPI("","PID"),")",ST $ If P1 .eqs. "BANNER3" then Echo OSC,"21;",F$GetSYI("NodeName"),"::",F$ENVIROMENT("DEFAULT"),""," (",F$GetJPI("","PRCNAM"),")",ST $ If P1 .eqs. "BANNER4" then Echo OSC,"21;",F$GetSYI("NodeName"),"::",F$ENVIROMENT("DEFAULT"),"",ST $! $!---------------------------VWS Only----------------------------------------- $! $ If P1 .eqs. "SHRINKX" then Echo OSC,"22;",P2,";",P3,ST $ If P1 .eqs. "SHRINK" then Echo OSC,"22;",P2,";",P3,ST $ If P1 .eqs. "EXPAND" then Echo OSC,"23;",P2,";",P3,ST $ If P1 .eqs. "MOVE_TERM" then Echo OSC,"24;",P2,ST $ If P1 .eqs. "MOVE_ICON" then Echo OSC,"25;",P2,ST $ If P1 .eqs. "PUSH" then Echo OSC,"29",ST $ If P1 .eqs. "POP" then Echo OSC,"2A",ST $ If P1 .eqs. "FONT" then Echo OSC,"2f;",P2,";",P3,";",P4,ST $!---------------------------------------------------------------------------- $ Exit | |||||
2399.2 | DECSIM::BOGDANOV | Wed Mar 07 1990 17:00 | 13 | ||
Thank you. I did not know about these escape sequences. Where can I find more information about other supported ESC? It works OK, but it is still interesting how can I find current decterm window ID using XLIB environment? Sorry, /Serge | |||||
2399.3 | Can't get there from here | DECWIN::FISHER | Burns Fisher 381-1466, ZKO3-4/W23 | Wed Mar 07 1990 17:35 | 12 |
You can't. Well, that's a bit harsh...you found one way via focus. Another way is to get a list of all possible windows and try to figure it out based on characteristics like how many subwindows they have and what their size and shape are, etc. But basically, you can't reliably get the info automatically. Burns | |||||
2399.4 | a hint... | GSRC::WEST | Variables don't, Constants aren't | Wed Mar 07 1990 22:08 | 12 |
To expand on what Burns mentioned in .-1 you could use XQueryTree recursively :^) and for every window check to see if the resource class is DECW$TERMINAL or if the resource name is decw$terminal. Note the case, and I've probably got them backwards :^). If you find a window with this particular class or name then it is the top level window of a DECterm and you can go from there. Happy hunting... -=> Jim <=- | |||||
2399.5 | DEC_WM_HINTS | DECSIM::BOGDANOV | Thu Mar 08 1990 12:02 | 9 | |
Thank you for answers. Here are a couple more questions: I have found that evry decterm window has DEC_WM_HINTS property. The second word of data for that property is different for each decterm window. What kind of property is it? What data does it include? /Serge | |||||
2399.6 | hope this helps... | GSRC::WEST | Variables don't, Constants aren't | Thu Mar 08 1990 20:11 | 33 |
RE: <<< Note 2399.5 by DECSIM::BOGDANOV >>> -< DEC_WM_HINTS >- >> I have found that evry decterm window has DEC_WM_HINTS property. Actually, every window that the window manager is managing will have this property on the clients top_level window, i.e. every window that has OverrideRedirect set to FALSE. >>The second word of data for that property is different for each decterm window. >>What kind of property is it? What data does it include? This property is a 9 element property with each element being 32 bits in length. It is not part of the standard X11 window properties. It is unique to the DECwindows window manager. The nine elements are : Value_Mask .......... Mask of which the following elements are valid. Iconify_Pixmap ...... The pixmap ID for the small icon picture. Iconbox_X ........... X position of icon in iconbox (I think...). Iconbox_Y ........... Y position of icon in iconbox (ditto). Tiled ............... Boolean, indicates if this window is tiled Sticky .............. Boolean, indicates if this window is sticky No_Iconify_Button ... Boolean. No_Lower_Button ..... Boolean. No_Resize_Button .... Boolean. To me a word is two bytes or 16 bits, depending on how you are looking at the property data could be an indication of why the second word is different. I would think that it would almost always be the *same*. How are you *looking* at this property? -=> Jim <=- | |||||
2399.7 | Icon_Pixmap IDs will be different | HANNAH::MESSENGER | Bob Messenger | Fri Mar 09 1990 10:33 | 7 |
Re: .6 Each DECterm widget creates its own icon pixmap (even though all the icons look the same), so if "word" means "longword" then each DECterm window will have a different second word. -- Bob | |||||
2399.8 | LONGWORD !! | DECSIM::BOGDANOV | Fri Mar 09 1990 11:45 | 5 | |
Sorry, I mean LONGWORD. Thank you. /Sergey | |||||
2399.9 | thanx... | GSRC::WEST | Variables don't, Constants aren't | Sun Mar 11 1990 17:52 | 7 |
RE: .7 Thanx for the info. I just thought that all DECterms would use the same pixmap for the icon...that's what I get for thinking... -=> Jim <=- |