Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!boulder!stan!dce From: dce@Solbourne.COM (David Elliott) Newsgroups: comp.sys.mac Subject: Re: X for MAC-OS? Keywords: X mac mouse Message-ID: <858@marvin.Solbourne.COM> Date: 22 Apr 89 19:33:28 GMT References: <2847@tank.uchicago.edu> <1429@cunixc.cc.columbia.edu> Reply-To: dce@Solbourne.com (David Elliott) Organization: Solbourne Computer Inc., Longmont, Colorado Lines: 59 In article <1429@cunixc.cc.columbia.edu> lih@cunixc.cc.columbia.edu (Andrew Lih) writes: >In article <2847@tank.uchicago.edu> ra_robert@gsbacd.uchicago.edu writes: > How does the Mac emulate a two button mouse? > >As you know, most X workstations (hosts) use at least a 2 button >mouse, and some use 3. Fortunately, on a two button mouse, X lets you >hold down *both* buttons to emulate the 3rd button, but how does >eXodus and other X packages for the Mac provide for the second and >third button? The implementation really doesn't have anything to do with it. X is configurable enough to handle a 1-button mouse in a lot of cases. Window managers help a lot. With awm, you can set up various parts of a window to be special contexts. The title bar can do one thing, and the area close to the window border can do another. Also, there are items called "gadgets", which are placed in the title bar to allow you to do other things. For example, I have a little box on my title bar that will move the window to the left or right a few pixels when I click in it. Not a great use, but anything you can do with an extra button you can do with a gadget. With twm, you can assign multiple "f." functions to a button using the "Function" definition. One example (given by Tom himself and used without his permission) is "raise-lower-move": MoveDelta 5 Button1= : title: f.function "raise-lower-move" Function "raise-lower-move" { f.move f.raislower } This says that if the first pointer button is pressed in the title bar and the mouse is moved more than 5 pixels, the window is moved. If it isn't moved that far, the window is raised or lowered, depending on it's current status. Another thing is that you can assign buttons in combination with the shift, control, and meta keys. This multiplies the abilities considerably. Of course, this doesn't address the problem of applications expecting certain mouse buttons (i.e., cut and paste and scrollbar grabbing in xterm), but I was talking to twm's author yesterday, and we discussed the idea of having the ability to have the window manager map events into other events. That is, it might be possible to have "shift-button1" and "control-button1" be mapped to "button2" and "button3" respectively. The main thing is to give it a try and see what doesn't work. X is still under development, and the only way to improve it is to use it and see what's missing. -- David Elliott dce@Solbourne.COM ...!{boulder,nbires,sun}!stan!dce