Provided by: xzoom_0.3-24build1_amd64 bug


       xzoom - magnify part of the screen, with fast updates


       xzoom  [  -display  displayname  ]  [ -mag mag [ mag ] ] [ -x ] [ -y ] [ -xy ] [ -geometry
       geometry ] [ -source geometry ]


       -display displayname | -d displayname
            The name of the display to use (not very useful).

       -mag mag [ mag ]
            What magnification to use. If two number arguments are supplied the first is used for
            X magnifications and the second is used for Y magnification.  Magnification should be
            greater than 0.

       -x   Mirror horizontally.

       -y   Mirror vertically.

       -xy | -z
            Exchange X and Y axes before any magnification is performed.

       -geometry geometry | =geometry
            Size and position xzoom's window.

       -source geometry
            Size and position the initial source area which is magnified.  The dimensions of this
            area  are multiplied by the magnification to get the size of xzoom's window. If these
            dimensions are given separately (by use of -geometry ) then an error is reported.


       Xzoom displays in its  window  a  magnified  area  of  the  X11  display.   The  user  can
       interactively change the zoomed area, the window size, magnification (optionally different
       magnification for X and Y axes) or rotate or mirror the image.


       Once xzoom has started the user can enter simple commands using the keyboard.

       q    quit.

       +    increase magnification value by 1.

       -    decrease magnification value by 1.

       w    next + or - command only affect X magnification.

       h    next + or - command only affect Y magnification.

       x    mirror the display image horizontally.

       y    mirror the display image vertically.

       z    rotate the displayed image 90 degrees counter-clockwise.

       arrow keys
            scroll the zoomed area 1 pixel in the direction of the arrow.  if the control key  is
            pressed the zoomed area will scroll 10 pixels.

       d    sets the delay between frame updates.  Built-in delays are 200, 100, 50, 10 and 0 ms.

       g    toggle grid on and off.

       Mouse buttons
            To  set  the location of the magnified are click the left mouse button inside xzoom's
            window and then move it (keep the button pressed) to the place which you want to  see

            Xzoom allow you to resize it's window at any time.

            When xzoom is iconified it simply waits to get deiconified.


       Xzoom uses the window's title bar to inform the user about it's status. Normally the title
       says something like xzoom x2 which means the magnification is 2 both in X and Y axes.   If
       the  image is stretched differently on the X and Y axes the title will say xzoom X 2; Y 4.
       Negative numbers mean reflection.  If the image is rotated by 90 or 270 degrees the  title
       will show <=> between the X and Y values.

       When d is depressed the title will display the new delay value for approximately 2 seconds
       and then revert to the default display of magnification values.


       Xzoom is fast enough to display enlarged or mirrored animations in small  windows.  On  my
       486  DX2-66 and Cirrus Logic CL-GD5428 display card (attached to Vesa local bus) update of
       a 256x256 window magnified by 2 (ie, source rect is 128x128) takes  approximately  30  ms.
       This  time  varies,  off course when a different size window or different magnification is
       used.  If we chose 50 ms between updates we can get about 12.5 frames per second and still
       let  an  animation program do it's work.  It is possible to compile xzoom without X shared
       memory support.  In that case window update may be about 3 times slower (if we are using a
       local display, using LAN is a different story).


       I  got  the  motivation  for writing xzoom after I saw a similar WindowsNT program, zoomin
       working. It started just as a test for X11 performance. I don't have the fancy  menus  and
       scrollbar  like  zoomin  but  I  do have all their features (and more) accessible from the


       † The maximum internal built in delay (see command d above)  was  set  to  200  ms.  Xzoom
       completes  the  delay before polling the X event queue for the next command. Larger delays
       would feel like poor response to user commands.

       † For best performance the shared memory extension for X11 is used. Xzoom will fail if  it
       is compiled to use XSHM and its display is not on the local host.

       †  Xzoom  is  given  with no warranty. It was tested only under Linux with Xfree86 release
       3.1.2 (X11R6).

       † Some strange behavior may occur if the requested magnified area falls beyond the borders
       of  the  screen.  Example  is when you have magnification of 1 and a window whose width is
       greater than the height of the screen and you want 90 degrees rotation. In that case  part
       of the window will not get updated.

       † The frame used to mark the zoomed area may corrupt the contents of other windows if they
       are modified when the frame is visible.  If you don't like it disable the  -DFRAME  option
       when compiling xzoom.


       Itai Nahshon