/* $XConsortium: README /main/3 1996/07/15 14:06:45 drk $ */ Panner ------ Panner demonstrates how an application can interface to Mwm's virtual screen support protocol. The protocol allows other application to pan the desktop Mwm is running on. With Panner, you can see a miniature version of your desktop and interactively pan the display. Panner also allows you to connect to other displays and pan them as well. Please use this feature with discretion; it can be most anoying to others >:-) Also note that Panner will only work with Mwm 2.0 or later. Panner starts-up displaying a notebook widget with one page. Each page in the notebook represents a display screen. As you add other displays to Panner, they appear as new pages in the notebook. In the notebook page, you should see several colored rectangles. Each rectangle represents a window on the display. The is also a dashed rectangle which represents the display screen. You can grab hold of this rectangle using Button1 and interactively move it about the page causing the display to pan. If you wish to quickly 'hop' to another location on the desktop, press Button1 on the destination and the screen will be centered around that point. The Display item in the menu bar contains the following items: Update - This will refresh the notebook page and redraw each miniature window. New Display - This will prompt you for the name of a new Display connection name. In Mwm's Virtual Screen Protocol, it is possible to 'pin' windows so that they are not effected by the panning. This can be done by using the following Mwm resources: clientPinned - tells Mwm to ignore a particular client's window(s) when panning windows. iconPinned - tells Mwm to ignore a particular client's icon(s) when panning windows. Since you do not want to have Panner move while you are panning, you must tell Mwm to pin the panner window using the following line in your .Xdefaults file: Mwm*Panner*ClientPinned: True To find out more about Mwm's Virtual Screen Protocol, see the Motif 2.0 Programmer's Reference or User's Guide. If you wish to interactively pin and unpin windows, there is a new, but unsupported function in Mwm call f.toggle_pin_state. This function can be added to a window's menu and allows you to pin and unpin windows. There are five associated resources. These resources modify the label used in the window menu to show the state of the window. The default for this label is to display the string "make pinned" when the associated window is not pinned, and "make unpinned" when it is pinned. You can specify a new set of labels or pixmaps using the following resources: pinStateLabelType This specifies the label type. XmPIXMAP Displays a pixmap using pinnedPixmap and unpinnedPixmap. XmSTRING Displays text using pinnedString and unpinnedString. pinnedString This specifies the string to display when the pinStateLabelType is XmSTRING and the associated window is pinned. unpinnedString This specifies the string to display when the pinStateLabelType is XmSTRING and the associated window is unpinned. pinnedPixmap This specifies the pixmap to display when the pinStateLabelType is XmPIXMAP and the associated window is pinned. unpinnedPixmap This specifies the pixmap to display when the pinStateLabelType is XmPIXMAP and the associated window is unpinned. Enjoy, Andrew deBlois