ecf_hap@jhunix.HCF.JHU.EDU (Andrew Poling) (02/24/89)
In article <618@icus.islp.ny.us> lenny@icus.islp.ny.us (Lenny Tropiano) writes: > > ioctl(wd,WIOCSYS,SYSWMGR); /* declare to be system window */ > I've been wondering if more than one window can issue this ioctl. Anybody tried it or know? >... Maybe someday I'll finish my unfinished window-manager replacement. >It was a good lesson in windows/tam and some other obscure UNIX pc >functions. It's about 65% finished ... > >-Lenny >-- >Lenny Tropiano ICUS Software Systems [w] +1 (516) 582-5525 >lenny@icus.islp.ny.us Telex; 154232428 ICUS [h] +1 (516) 968-8576 >{talcott,decuac,boulder,hombre,pacbell,sbcs}!icus!lenny attmail!icus!lenny > ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752 Now that's something to look forward to! I've been whacking away at my own wmgr/smgr/phmgr replacement - you're right; I've learned alot of stuff that I never encountered before. I think it's just too monumental a task for me, though. Mine, like yours, is mostly finished but that final 20% or so is killing me. From your work I've seen before, maybe I'll just give up on mine and wait for yours. Andy . * . * . * . * . * * . * . * _ . * * . . * andy@gollum.hcf.jhu.edu . * . _/ \ * _ . . * * * . * . \ / \_ _/ \ * _/\ * ap@ipgate.hcf.jhu.edu * \ . * _/ /\ \ / () \_ /\_ / \_* . * . * . . ^ \_ / _/ \ _/ \_/ <> \_ ecf_hap@jhunix.hcf.jhu.edu \ /` <> / <> \_ / <> _ \ * . * . \ \_ () __/ _ \ /\ / \_ ^ \ L64A0429@jhuvm.BITNET . /\ \_ _/ () _/ \_ \_ _/ \_ \___________________________
ditto@cbmvax.UUCP (Michael "Ford" Ditto) (02/25/89)
In article <848@jhunix.HCF.JHU.EDU> ecf_hap@jhunix.HCF.JHU.EDU (Andrew Poling) writes: >In article <618@icus.islp.ny.us> lenny@icus.islp.ny.us (Lenny Tropiano) writes: >> >> ioctl(wd,WIOCSYS,SYSWMGR); /* declare to be system window */ >> > >I've been wondering if more than one window can issue this ioctl. >Anybody tried it or know? For each system window "type" there can be only one system window. Thus you can have one "PMGR", one "SMGR", and one "WMGR". Otherwise, how would the system know to which window the hot key should be sent? However, if you are trying to "take over" one of the window manager's hot keys, for example, you can have your own program replace "ph" or "smgr" (assuming that you don't run one of those) and use "keyfix" to redefine the key you want to go to the program you're replacing. The high byte of a keymap entry, if from 0x80 to 0xfe, inclusive, causes the corresponding key to be a hot key for system window number (0xfe - highbyte). See <sys/kbd.h> for examples. -- -=] Ford [=- "The number of Unix installations (In Real Life: Mike Ditto) has grown to 10, with more expected." ford@kenobi.cts.com - The Unix Programmer's Manual, ...!sdcsvax!crash!kenobi!ford 2nd Edition, June, 1972. ditto@cbmvax.commodore.com
dave@galaxia.Newport.RI.US (David H. Brierley) (02/28/89)
In article <848@jhunix.HCF.JHU.EDU> ecf_hap@jhunix.HCF.JHU.EDU (Andrew Poling) writes: > >In article <618@icus.islp.ny.us> lenny@icus.islp.ny.us (Lenny Tropiano) writes: >> >> ioctl(wd,WIOCSYS,SYSWMGR); /* declare to be system window */ >> > >I've been wondering if more than one window can issue this ioctl. >Anybody tried it or know? The WIOCSYS function is limited to one window at a time. Well, actually one window per listed special function (wmgr, smgr, ph). Each special function has a list of keys that "belong" to it. The wmgr has suspd, s-suspd, resume, s-resume, and s-print; the wmgr has msg and s-msg; and the phone manager has all shifted function keys (f1-f8). The WIOCSYS ioctl will stay in effect until overridden by a new WIOCSYS call. This means that two processes can compete for control of the special keys. I ran into this when I was writing a program which would "listen" for the function keys and then perform various actions. While I was writing the program I still had the phone manager installed (I was using it as an online telephone directory) and whenever anything happened which affected the phone lines (such as an incoming call), the phone manager would wake back up again and reclaim control of the special keys. Eventually I was forced to remove the phone manager in order to preserve my sanity. The program I wrote is kinda neat if you are willing to sacrifice the phone manager. It lets you assign a program to each function key and when you press one of the function keys it creates a new window, switches control to that window, and then runs the specified program. Windows can be either full-screen borderless windows or smaller windows with borders and resize/move icons. It's nice to be able to press s-F7 and bring up Pcomm, or press s-F1 and bring up a new shell so that I can check something without disturbing my editor session. If anybody wants a copy, let me know. If enough people respond I will post it. Like I said above, you have to nuke the phone manager in order for it to work properly. Otherwise it gets into a WIOCSYS war with ph trying to decide who has control over the function keys. It's very annoying to press s-F7 and instead of having Pcomm come up to have a window come up saying that you have no number assigned to that key. -- David H. Brierley Home: dave@galaxia.Newport.RI.US {rayssd,xanth,lazlo,jclyde}!galaxia!dave Work: dhb@rayssd.ray.com {sun,decuac,gatech,necntc,ukma}!rayssd!dhb