From 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 Mon Sep 17 00:00:00 2001 From: Joe Hunkeler Date: Tue, 11 Aug 2015 16:51:37 -0400 Subject: Repatch (from linux) of OSX IRAF --- vendor/x11iraf/ximtool/OLD/ximtool-0.5.info | 798 ++++++++++++++++++++++++++++ 1 file changed, 798 insertions(+) create mode 100644 vendor/x11iraf/ximtool/OLD/ximtool-0.5.info (limited to 'vendor/x11iraf/ximtool/OLD/ximtool-0.5.info') diff --git a/vendor/x11iraf/ximtool/OLD/ximtool-0.5.info b/vendor/x11iraf/ximtool/OLD/ximtool-0.5.info new file mode 100644 index 00000000..c9346675 --- /dev/null +++ b/vendor/x11iraf/ximtool/OLD/ximtool-0.5.info @@ -0,0 +1,798 @@ +Path: iraf!irafmail-gateway +From: tody@noao.edu (Doug Tody) +Newsgroups: adass.iraf.announce +Subject: XImtool version 0.5 released +Date: 24 May 1994 00:26:46 -0700 +Organization: IRAF Project, National Optical Astronomy Observatories +Lines: 787 +Sender: daemon@iraf.noao.edu +Message-ID: <9405240726.AA11099@lepus.tuc.noao.edu> +NNTP-Posting-Host: tucana.tuc.noao.edu + + XIMTOOL VERSION 0.5 + May 22 1994 + + +Version 0.5 of the alpha test ximtool is now available in pub/v2103-beta +on iraf.noao.edu and consists of the following files: + + 1589248 May 22 15:14 ximtool-0.5 # executable + +Anyone using an earlier version of ximtool is encouraged to update to the +new version, which is a major new version. Keep the old version around in +case you run into any problems. + +This is ALPHA TEST software. This means that the software is still under +development and may lack planned features. The software is only partially +tested and can be expected to have some bugs. Anyone using an alpha test +version of ximtool is asked to update to version 1.0 when it becomes +available. + + +INSTALLATION + +To install ximtool, download the executable, rename it "ximtool" and place +it somewhere in your search path (e.g. /usr/bin/X11 or /usr/local/bin). +An app-defaults file is not required to run ximtool. + +Don't install the new version while someone is using ximtool, or you will +crash their session. The simplest way to avoid this is to "mv" the old +executable to change the name, e.g. "mv ximtool ximtool.old". + +Since this is still alpha test software, all we are releasing is a snapshot +from our development system, which is a Sun sparc running SunOS. Hence only +a Sun binary is available at this time (unless someone wants to hack the +sources and generate their own binary for a new platform). + + +BASIC USAGE + +Ximtool is an image display server. To view images with it you need some +client software, such as IRAF, to load images into the display. Ximtool is +upwards compatible with older display servers such as SAOimage and imtool. +For example, to use ximtool instead of SAOimage, start up ximtool instead of +SAOimage and display in the usual fashion. + +You shouldn't need much documentation to be able to use ximtool effectively. +Just start it up, load images into one or more frames, and experiment with +the GUI to see what can be done to manipulate the display. Most of the +controls are obvious, but here are a few things which might not be obvious: + + o Clicking and dragging MB1 (mouse button 1) in the main image + window creates a rectangular region marker, used to select a + region of the image. If you do this accidentally and don't want + the marker, put the pointer in the marker and type DELETE or + BACKSPACE to delete the marker. With the pointer in the marker, + MB3 will call up a menu listing some thing you can do with the + marker, like zoom the outlined region. MB1 can be used to drag + or resize the marker. + + o Clicking on MB2 in the main image window pans (one click) or + zooms (two clicks) the image. Further clicks cycle through the + builtin zoom factors. Moving the pointer to a new location and + clicking moves the feature under the pointer to the center of + the display window. + + o MB3 is used to adjust the contrast and brightness of the displayed + image. The position of the pointer within the display window + determines the contrast and brightness values. Click once to + set the values corresponding to the pointer location, or click + and drag to continuously adjust the display. + + o Ctrl-f, Ctrl-b can be used to move forward or backward through + the current set of frame buffers. + + A frame buffer is an image (picture) stored in the display server. + Ximtool supports up to four frame buffers. Frame buffers can be any + size; the size is set by the client when an image is loaded into a + frame. For example, in IRAF "set stdimage = imt800" would set the + frame buffer size to 800x800 pixels. Changing the frame buffer size + forces an initialize of the display server. In IRAF the command + "gdev" will list the frame buffer configurations defined on your + system. + +Ximtool has a control panel which can be used to exercise most the +capabilities the program has for image display. The control panel can be +accessed either via the Options menu from the main window menubar, or by +pressing the leftmost button in the row of buttons at the upper right side +of the display. + +A more detailed overview of the ximtool capabilities and usage is given +below. + + +THINGS TO WATCH OUT FOR + + o It is possible to run multiple ximtools, or ximtool and other + display servers such as saoimage, imtool, skyview, etc., + simultaneously on the same computer, but don't attempt this unless + you know how to set the servers up on different i/o ports. In the + default configuration there will be conflicts with multiple servers + trying to listen on the same port. + + o Most workstations have a single 8 bit, 256 element colortable per + screen. This means that only 256 unique colors can be displayed at + any one time. Image display programs like ximtool (or SAOimage, or + xv, xloadimage, mosaic, etc.) need a lot of colortable entries in + order to display smoothly varying images. If you try to run + multiple image display programs at the same time you are likely to + run out of colortable space. This may result in warning messages + when a program starts up, cause images to be displayed funny, + causing flashing when the pointer moves in and out of image display + windows, and so on. + + It is best to avoid these problems by killing off any other display + programs when running ximtool. If you do run out of colortable + space when using ximtool this is harmless, but the image won't be + displayed correctly when the pointer is not in the image window. To + correct this condition, free up some colortable space (by killing + off some other X programs, especially any display programs) and then + move the pointer into the ximtool image window and back out. This + will cause ximtool to update the default colormap of the display and + in most cases will make the ximtool image display correctly. + Ximtool will always display correctly when the pointer is in the + image window, the problem occurs only when the pointer (colormap + focus) is in other windows. + + +WHAT'S NEW? + +Ximtool 0.5, while still incomplete, is a major new version, probably the +first really usable version of ximtool. Major new features in this version +include the following: + + o A popup control panel, providing control over frame selection, + zoom and pan, colortable selection from a list (including user + defined colortables), contrast and brightness display and controls, + blink control, including blink frames and blink rate, and option + control. (The ximtool control panel uses the new widgets and other + OBM enhancements discussed in the Xgterm 0.11 announcement.) + + o An option called the "panner". The panner displays a reduced + version of the entire frame buffer, with the region currently + displayed outlined with a marker. One can pan and zoom within + the panner window, e.g. by dragging the panner region marker, + to pan or zoom the main image window. This is useful when viewing + images too large to fit on the screen. + + o Autoscale option. If autoscale is enabled then at zoom=1, the + frame buffer will be automatically scaled to fit within the display + window. With autoscale disabled (the default), the image scale + is more predictable, but the image may be clipped by the display + window, or may not fill the display window. + + o Integer zoom. Ximtool supports both fractional zoom and integer + zoom. Fractional zoom uses a non-integer scale factor to scale an + image region as necessary to fill the display window. Integer zoom + ensures that each frame buffer pixel is displayed as exactly N + display pixels. Integer zoom is slightly faster than a fractional + zoom. + + o Antialiasing. When dezooming an image, i.e., displaying a large + image in a smaller display window, antialiasing causes all the + data to be used to compute the displayed image. If antialiasing + is disabled then image is subsampled to compute the displayed image. + Antialiasing can prevent subsampling from omitting image features + that don't fall in the sample grid, but it is significantly slower + than dezooming via subsampling. The default is no antialising. + + o Tile frames. The default display mode is to view one frame at a + time. In tile frames mode, 2 or 4 frames may be viewed + simultaneously in the display window. All the usual operations + (zoom and pan, colortable enhancement, cursor readback, etc.) + still work for each frame even when in tile frames mode. + + o Fitframe now works. Fitframe resizes the display window to the + same size as the frame buffer. + + o Ximtool allows clients to connect in any of the following ways: + + fifo pipes The traditional approach. The default, + global /dev/imt1[io] pipes may be used, + or a private set of fifos. + + tcp/ip socket Clients connect via a tcp/ip socket. + There is a default port, or a custom port + may be specified. This permits connecting + to the server over a remote network + connection anywhere on the Internet. + + unix domain socket Like a tcp/ip socket, but limited to a + single host system. Usually faster than a + tcp/ip socket, and comparable to a fifo. By + default each user gets their own unix domain + socket, so this option allows multiple users + to run ximtools on the same host without + having to customize things. + + By default ximtool listens simultaneously for client connctions on + all three types of ports. + + o Ximtool now supports multiple simultaneous client connections. + For example, one can be using the IRAF imexamine task to interact + with the image displayed in frame 1, while some other program + simultaneously displays an image in frame 2 (or any frame, including + the frame being examined). + + o An improved set of builtin colormaps are now provided. The user + can define additional custom colormaps when ximtool is started. + +There were many additional minor changes and bug fixes not worth going into +here. + + +TECHNICAL NOTES + +This isn't the place to write a detailed comprehensive reference manual for +ximtool, but since there isn't any such manual yet (this is still prerelease +software) some additional information on a few selected topics will probably +be useful. + + +COMMAND LINE OPTIONS + +This prerelease version of ximtool doesn't support general command line +options yet (except for the -defgui option described below). However, one +can accomplish the same thing by setting resources on the command line. For +example, + + ximtool \ + -xrm "*port:0" \ + -xrm "*input_fifo:none" \ + -xrm "*userCmapDir1:/user/smith/cmaps" \ + -xrm "*displayPanner:false" + +would start up ximtool with tcp/ip sockets and fifos disabled (leaving +only unix sockets for client connections). Ximtool will look for user +colormaps in the directory /user/smith/cmaps. The panner option will be +disabled at startup. + + +RESOURCES + +Ximtool has a ton of resources (hundreds of them), but in practice only a +few are likely to be useful at the user level. + +BUILTIN RESOURCES + + Resource Name Default Value + + defConfig: 1 + defNFrames: 0 + tileBorderWidth: 3 + tileBorderColor: 9 + autoscale: false + antialias: false + tileFrames: false + highlightFrames: true + gui: default + imtoolrc: /usr/local/lib/imtoolrc + memModel: fast + cmap1: none + cmap2: none + cmapDir1: none + cmapDir2: /usr/local/lib/imtoolcmap + input_fifo: /dev/imt1i + output_fifo: /dev/imt1o + unixaddr: /tmp/.IMT%d + port: 5137 + +All of these are application resources, hence they would be specified in +the .Xdefaults file as, e.g., "XImtool.autoscale: true", etc. + + +Description of ximtool client resources: + + defConfig Default frame buffer configuration on startup. + + defNFrames Default number of frames on startup. Set to zero + to use value from imtoolrc file. There isn't a + whole lot of reason to preallocate frames here, + since new frames will be created on demand if needed. + + tileBorderWidth Used by the tile frames option. Specifies how far + tileBorderColor apart to space the frames in tile frames mode. + Color "9" refers to the Gterm widget resource color9, + which is assigned a color with its own resource. + + autoscale Enable/disable the autoscale option. + antialias Enable/disable the antialias option. + tileFrames Enable/disable the tile frames option. + + highlightFrames Determines whether the current frame is highlighted + when in tile frames mode. + + gui The GUI to be executed. "default" refers to the + default, builtin ximtool GUI. You can replace this + with your own GUI file if you are bold enough, and + completely change the look and functionality of + the GUI if desired. + + imtoolrc Where to find the imtoolrc file. This defines the + recognized frame buffer configurations. + + memModel Determines how ximtool uses memory in the ximtool + client and the X server. The options are "fast", + "beNiceToServer", and "small". The default is fast, + which uses server pixmaps to make frame blink fast. + This is recommended unless server memory is very + limited. Note that even in fast mode, the server + pixmap is only the size of the display window, so + memory usage is reasonable even if the frame buffer + is very large. + + cmap1 User colormap files. The intent here is to allow + cmap2 individual colormaps to be conveniently specified + on the command line. + + cmapDir1 User or system colormap directories. By default + cmapDir2 cmapDir2 points to the system directory + /usr/local/lib/imtoolcmap, allowing a set of site + default colormaps to be defined here. This leaves + cmapDir1 available to a user colormap directory. + + input_fifo The input and output fifos for fifo i/o. "Input" + output_fifo and "output" are from the client's point of view. + Note that only one display server can use a + fifo-pair at one time. + + unixaddr Template address for unix domain socket. The user + must have write permission on this directory, or + the file must already exist. %d, if given, is + replaced by the user's UID. + + port TCP/IP port for the server. Note that only one + server can listen on a port at one time, so if + multiple ximtool servers are desired on the same + machine, they should be given different ports. + + +GUI RESOURCES + +In principle ximtool can have any number of different GUIs, each of which +defines its own set of resources. GUIs typically define a great many +resources, but most of these are not really intended for modification by +the user (although one can modify them if desired). + +The following are some of the more useful resources used by the default +ximtool GUI. + + Resource Name Default Value + + .geometry: + *controlShell.geometry: + *info.geometry: 420x120 + + *cmapName: image + *basePixel: 64 + *maxColors: 216 + + *imagewin.warpCursor: true + *imagewin.raiseWindow: true + *imagewin.deiconifyWindow: true + *imagewin.ginmodeCursor: circle + *imagewin.ginmodeBlinkInterval: 500 + *imagewin.color8: #7c8498 + *imagewin.color9: steelblue + + *autoscale: True + *zoomfactors: 1 2 4 8 + *displayCoords: True + *displayPanner: True + *blinkRate: 1.0 + *pannerArea: 150*150 + *pannerGeom: -5+5 + *wcsboxGeom: -5-5 + *maxContrast: 5.0 + *warnings: True + + +Description of selected resources: + + .geometry Geometry of main image window + *controlShell.geometry Geometry of control panel shell + *info.geometry Geometry of info box + + *cmapName Name used for private colormap. + The default for all IRAF imaging + applications is "image". Gterm + widget based imaging applications + which have the same value of cmapName + will share the same colormap, + minimizing colormap flashing and + allowing multiple applications to be + run at the same time. + + *basePixel These two resources determine the + *maxColors region of colormap space used to + render image pixels. + + *imagewin.warpCursor Warp pointer into image window when + initiating a cursor read. + *imagewin.raiseWindow Raise image window when initiating + a cursor read. + *imagewin.deiconifyWindow Deiconify image window if necessary + when initiating a cursor read. + + *imagewin.ginmodeCursor Type of cursor when a cursor read + is in progress. The default is a + circle. Any selection from the X + cursor font can be used. A special + case is "full_crosshair" which is + the full crosshair cursor of the + Gterm widget. + + *imagewin.ginmodeBlinkInterval Determines whether the cursor blinks + when a cursor read is in progress. + The value is given in milliseconds. + + *imagewin.color8 Color assigned the panner window. + *imagewin.color9 Color used for the tileFrames highlight. + + *pannerArea Area in pixels of the panner window. + *pannerGeom Where to place the panner window. + *wcsboxGeom Where to place the coords box. + *maxContrast Maximum contrast value. + +For a complete description of the ximtool resources, refer to the GUI file. +The "appInitialize" command contains the full resource list for the GUI. + + +CONTROL PANEL NOTES + +VIEW CONTROLS + + o The "Frame" box will list only the frame buffers you currently have + defined. Currently, the only way to destroy a frame buffer is to + change the frame buffer configuration. + + o The text display gives the field X,Y center, X,Y scale factors, and + the X,Y zoom factors. The scale factor and the zoom factor will be + the same unless autoscale is enabled. The scale is in units of + display pixels per frame buffer pixel, and is an absolute measure + (it doesn't matter whether or not autoscale is enabled). Zoom is + relative to the autoscale factor, which is 1.0 if autoscaling is + disabled. + + o The numbers in the Zoom box are zoom factors. Blue numbers zoom, + red numbers dezoom. Zoom In and Zoom Out may be used to go to + larger or smaller zoom factors, e.g. "5" followed by "Zoom In" will + get you to zoom factor 10. Center centers the field. Toggle Zoom + toggles between the current zoom/center values, and the unzoomed + image. + + o Aspect recomputes the view so that the aspect ratio is 1.0. Aspect + also integerizes the zoom factor (use the version in the View menu + if you don't want integerization). + + o Fit Frame makes the display window the same size as the frame buffer. + Note that autoscale has much the same effect, and allows you to + resize the display window to any size you want, or view images to + large to fit on the screen. + + +ENHANCEMENT CONTROLS + + o At the top is a scrolled list of all the available colormaps. Click + on the one you want to load it. You can add your own custom colormaps + to this list. + + o The two sliders adjust the contrast (upper slider) and brightness + (lower slider) of the display. The Invert button inverts the + colormap (multiples the contrast by -1.0). Note that due to the use + of the private colormap the sliders are a bit sluggish when dragged + to window the display. If this is annoying, using MB3 in the + display window is faster. + + o The Normalize button (on the bottom of the control panel) will + normalize the enhancement, i.e. set the contrast and brightness to + the default one-to-one values (1.0, 0.5). This is the preferred + setting for many of the pseudocolor colortables. + + +BLINK CONTROLS + + o Blink frames is the list of frames to be blink. When blink mode is + in effect ximtool just cycles through these frames endlessly, + pausing "blink rate" seconds between each frame. The same frame + can be entered in the list more than once. To program an arbitrary + list of blink frames, hit the Reset button and click on each blink + frame button until it is set to the desired frame number. + + o The blink rate can be adjusted as slow or as fast as you want using + the arrow buttons. If you set the blink rate small enough it will + go to zero, enabling single step mode (see below). + + o The Register button registers all the blink frames with the current + display frame. Frames not in the blink list are not affected. + + o The Match LUTs button sets the enhancement of all blink frames to + the same values as the display frame. Frames not in the blink list + are not affected. + + o The Blink button turns blink on and off. When the blink rate is + set to zero the Blink button will single step through the blink + frames, one frame per button press. + + NOTE: you can blink no matter what ximtool options are in effect, but + many of these will slow blink down. To get the fastest blink you may + want to turn off the panner and coords box, and match the LUTs of all + the blink frames. All the ximtool controls are fully active during + blink mode, plus you can load frames etc. + + +OPTIONS CONTROLS + + o The options box contains a set of option toggles. If the toggle + is yellow the option is in effect. + + +OTHER + + o Initialize initializes ximtool. This resets a lot of things, but + tries to not change the view. Select Reset in the File menu on the + main window menubar to fully reset things. + + o Normalize normalizes the view for the current display frame. + + o Done makes the control panel go away. + + +CUSTOM COLOR TABLES + +The cmap[12] and cmapDir[12] resources are used to tell ximtool where to +look for colortables. The colortables are loaded when ximtool starts up, or +when it is reinitialized (e.g. by pressing the Initialize button in the +control panel). Ximtool will ignore any files in the colormap directory +which do not look like colortables. + +The format of a user lookup table is very simple: each row defines one +colortable entry, and consists of three columns defining the red, green, +and blue values scaled to the range 0.0 (off) to 1.0 (full intensity). + + R G B + R G B + (etc.) + +Blank lines and comment lines (# ...) are ignored. + +Usually 256 rows are provided, but the number may actually be anything in +the range 1 to 256. Ximtool will interpolate the table as necessary to +compute the colortable values used in Ximtool. Ximtool uses only 201 colors +to render pixel data, so it is usually necessary to interpolate the table +when it is loaded. + +Tables are loaded into Ximtool by setting one of the user colormap directory +resources. When Ximtool starts up it will read all the files in the +colormap directory, disregarding any files that are unreadable or that do +not appear to be colortables. The name of the colortable as it will appear +in the Ximtool control panel is the root name of the file, e.g., if the file +is "rainbow.lut" the colortable name will be "rainbow". Lower case names +are suggested to avoid name collisions with the builtin colortables. If the +same colortable file appears in multiple user colortable directories, the +first one will be used. + +The directory "luts" in the ximtool source directory contains a sample set +of colortable files. This can be installed as /usr/local/lib/imtoolcmap +when ximtool is installed. + + +THE MARKER MENU + + o MB3 (mouse button 3) calls up the marker menu (by default). + + o Zoom does an equal aspect zoom of the region outlined by the marker. + In this way you can mark a region of the image and zoom it up. + + o Fill exactly zooms the area outlined by the marker, making it fill + the display window. Since the marker is not likely to be exactly + square, the aspect ratio of the resultant image will not be unitary. + + o Print prints a description of the marked region. The text is printed + in the Info box. + + o Unrotate unrotates a rotated marker. + + o Color is a menu of possible marker colors. + + o Type is a menu of possible marker types. This is still a little + buggy and it isn't very useful, but you can use it to play with + different types of markers. + + o Destroy destroys the marker. You can also hit the delete or + backspace key in a marker to destroy the marker. + + +MORE ON GRAPHICS MARKERS + +Although ximtool doesn't do much with markers currently, they are a general +feature of the Gterm widget and are used more extensively in other programs +(e.g. the prototype IRAF science GUI applications). Ximtool uses markers +for the marker zoom feature discussed above, and also for the panner and the +coords box. All markers share some of the same characteristics, so it is +worthwhile learning basic marker manipulation keystrokes. + + o MB1 anywhere inside a marker may be used to drag the marker. + + o MB1 near a marker corner or edge, depending on the type of marker, + resizes the marker. + + o Shift-MB1 on the corner of most markers will rotate the marker. + + o Markers stack, if you have several markers and you put one on top + of the other. The active marker is highlighted to tell you which + of the stacked markers is active. If the markers overlap, this + will be marker "on top" in the stacking order. + + o MB2 in the body of a marker "lowers" the marker, i.e. moves it to + the bottom of the stacking order. + + o Delete or backspace in a marker deletes the marker. + +For example, try placing the pointer anywhere in the coords box, then press +MB1 and hold it down, and drag the coords box marker somewhere else on the +screen. You can also resize the coords box by dragging a corner, or delete +it with the delete or backspace key. (The Initialize button will get the +original coords box back). + + +NOTES ON THE PANNER + +The panner window always displays the full frame buffer. Try setting the +frame buffer configuration to a nonsquare frame buffer (e.g. imtcryo) and +then displaying a square image (e.g. dev$pix) and the panner will show you +exactly where the image has been loaded into the frame. + +The panner window uses two markers, one for the window border and one to +mark the displayed region of the frame. Most of the usual marker keystrokes +mentioned above apply to these markers as well, e.g. you can use MB1 to +reposition on the panner window within the main image display window, or to +drag the region marker within the panner (pan the image). Resizing the +region marker zooms the image; this is a non-aspect constrained zoom. +The panner window itself can be resized by dragging a corner with MB1. +Typing delete or backspace anywhere in the panner window deletes the panner. + +A special case is MB2. Typing MB2 anywhere in the panner window pans the +image to that point. This is analogous to typing MB2 in the main display +window to pan the image. + + +THE COORDS BOX + +Ximtool provides a limited notion of world coordinates, allowing frame +buffer pixel coordinates and pixel values to be converted to some arbitrary +client defined coordinate system. The coords box feature is used to display +these world coordinates as the pointer is moved about in the image window. + +The quantities displayed in the coords box are X, Y, and Z: the X,Y world +coordinates of the pointer, and Z, the world equivalent of the pixel value +under the pointer. All coordinate systems are linear. The precision of a +displayed quantity is limited by the range of values of the associated raw +frame buffer value. For example, if the display window is 512x512 only 512 +coordinate values are possible in either axis (the positional precision can +be increased however by zooming the image). More seriously, at most about +200 pixel values can be displayed since this is the limit on the range of +pixel values loaded into the frame buffer. If a display pixel is saturated +a "+" will be displayed after the intensity value. + +The coords box is a marker (text marker) and it can be moved and resized +with the pointer like any other marker. + + +VIEWING THE IMAGE TITLE + +The title of the image loaded into the current display frame is displayed +centered in the control area at the top of the main display window. If the +title string is too long to be fully displayed it will be clipped at either +end. To see the full title string, either resize the display window, or +pop up the Info box. The Info box always displays the full image title. + + +NOTES ON CLIENT-SERVER I/O + +As mentioned earlier ximtool allows clients to connect using any of three +different communications domains: fifos, tcp/ip sockets, and unix domain +sockets. + +By default ximtool will listen and accept connections on all three types of +ports. This is fine if there is only one display server running on a host, +but conflicts arise if multiple display servers try to listen on the same +port. If this happens one needs to either disable a port, or change the +address. + + FIFOs The default fifos are /dev/imt1i and /dev/imt1o. + The resources input_fifo and output_fifo may be + set to use a different set of fifos. To disable + the fifo port entirely set input_fifo=none. The + fifos must be created and must have read and write + permission, before starting ximtool. + + TCP/IP socket The default tcp/ip port is 5137. The resource + "port" may be set to set a different port. To + disable tcp/ip sockets completely set port=0. + If ximtool is terminated it may take a couple of + minutes before unix allows ximtool to use the + port again. + + UNIX socket The default unix domain socket is /tmp/.IMT%d, + where %d is the user's UID number. Hence, each user + has a private unix domain socket, allowing multiple + ximtools to be run on the same host (but only one + per user unless the addresss is changed). To + disable unix domain sockets set unixaddr=none. The + server will automatically create and delete the unix + domain socket if none exists. + +In 2.10.3 beta-3 and later versions of IRAF the default action when +connecting to the display server is to first try a unix domain socket +connection using the socket /tmp/.IMT%d. If this fails the IRAF client +tries to connect via the old style FIFOs /dev/imt1[io]. Hence, if ximtool +is being used with only newer versions of IRAF and all connections are +local, FIFOs and tcp/ip sockets can be disabled and different users can +transparently run ximtool on the same host system. + +IRAF 2.10.3 or later uses the new ZFIOND network driver (described +elsewhere) to connect to the server. The graphcap file defines how to +connect to the server. This can be overridden however, by defining IMTDEV +in the host environment. For example to connect to a TCP/IP socket on host +foo.bar.edu, one could define + + setenv IMTDEV inet:5137:foo.bar.edu + +before logging into IRAF. + + +CUSTOM GUIs + +The default GUI of ximtool can be viewed by running ximtool as follows: + + ximtool -defgui + +This will print the default builtin GUI to the standard output. If this +output is saved in a file one can set the "gui" resource to point to this +file, and when ximtool starts up it will use this GUI file instead of the +builtin default GUI. The user can modify the GUI file as desired to +customize the GUI. Since the full GUI of ximtool is encapsulated in the GUI +file, ths is a very powerful option; one can generate quite a different +program merely by modifying the GUI file, without need to recompile any code. + + +PLANNED FUTURE WORK + +The following items are on the near term TODO list for ximtool. + + o Print dialog. Will be used to print whatever is displayed in the + main image window, generating a variety of types of output. + + o File load/save. For standalone use it is desirable to be able to + load the display from a disk file. The plan is to support at least + FITS for file input. + + o Info box. The info box is due for a major rewrite (the existing + one isn't very useful). + + o TclShell. This will allow experienced users to type Tcl commands + directly into the OBM interpreter at the heart of ximtool. + + o Add global translation actions for a variety of GUI functions, so + that the user can bind keystrokes and function keys to these actions. + + o Implement online help (question mark button in main window). + + o "Snap to equal aspect" feature for use when resizing panner. + +There are still quite a few useful features that could be implemented. +For example, a magnifier window (similar to the panner but displays a +magnified view of the region under the cursor). Similarly, one could have +a magnifier which pops up under the pointer. Split screen would be useful +for comparing multiple frame buffers. A window into an alternate frame +would be a useful alternative to frame blink. The Optimize button in the +Enhancement portion of the control panel will be used to automatically +compute the optimum contrast and brightness valus for the region for the +image in the main display window. + +More dramatically, alternate, completely different GUIs for ximtool are +possible, merely by loading a different GUI file. The planned SAOtng user +interface (being developed by SAO) is an example of this. SAOtng will +also provide enhanced client-server communications via an alternative, +more general communications protocol based on the X selection mechanism. -- cgit