xzoom

A simple screen magnifier for X11.
git clone git://r-36.net/xzoom
Log | Files | Refs

xzoom.man (5279B)


      1 .\" xzoom.man
      2 .\" Copyright Itai Nahshon
      3 .\"
      4 .TH XZOOM 1x
      5 .SH NAME
      6 xzoom \- magnify part of the screen, with fast updates
      7 .SH SYNOPSIS
      8 .B xzoom
      9 [ \-display \fIdisplayname\fP ] [ \-mag \fImag\fP [ \fImag\fP ] ]
     10 [ \-x ] [ \-y ] [ \-xy ]
     11 [ \-geometry \fIgeometry\fP ] [ \-source \fIgeometry\fP ] [ \-dock ]
     12 .SH OPTIONS
     13 .LP
     14 .TP 5
     15 .B \-display \fIdisplayname\fP \fR|\fP \-d \fIdisplayname\fP
     16 The name of the display to use
     17 (not very useful).
     18 .TP 5
     19 .B \-mag \fImag\fP [ \fImag\fP ]
     20 What magnification to use. If two number arguments are supplied the
     21 first is used for X magnifications and the second is used for Y magnification.
     22 Magnification should be greater than 0.
     23 .TP 5
     24 .B \-x
     25 Mirror horizontally.
     26 .TP 5
     27 .B \-y
     28 Mirror vertically.
     29 .TP 5
     30 .B \-xy \fR|\fP \-z
     31 Exchange X and Y axes before any magnification is performed.
     32 .TP 5
     33 .B \-geometry \fIgeometry\fP \fR|\fP =\fIgeometry\fP
     34 Size and position \fBxzoom\fR's window.
     35 .TP 5
     36 .B \-source \fIgeometry\fP
     37 Size and position the initial source area which is magnified.
     38 The dimensions of this area are multiplied by the magnification to
     39 get the size of \fBxzoom\fR's window. If these dimensions are given
     40 separately (by use of \-geometry ) then an error is reported.
     41 .TP 5
     42 .B \-dock
     43 Enable docking mode in the window manager.
     44 .br
     45 .SH DESCRIPTION
     46 .IR Xzoom
     47 displays in its window a magnified area of the X11 display.
     48 The user can interactively change the zoomed area, the window
     49 size, magnification (optionally different magnification for
     50 X and Y axes) or rotate or mirror the image.
     51 .SH COMMANDS
     52 .LP
     53 Once xzoom has started the user can enter simple commands
     54 using the keyboard.
     55 .LP
     56 .TP 5
     57 .B q
     58 quit.
     59 .TP 5
     60 .B \+
     61 increase magnification value by 1.
     62 .TP 5
     63 .B \-
     64 decrease magnification value by 1.
     65 .TP 5
     66 .B w
     67 next \+ or \- command only affect X magnification.
     68 .TP 5
     69 .B h
     70 next \+ or \- command only affect Y magnification.
     71 .TP 5
     72 .B x
     73 mirror the display image horizontally.
     74 .TP 5
     75 .B y
     76 mirror the display image vertically.
     77 .TP 5
     78 .B z
     79 rotate the displayed image 90 degrees counter-clockwise.
     80 .TP 5
     81 .B arrow keys
     82 scroll the zoomed area 1 pixel in the direction of the arrow.
     83 if the
     84 .B control
     85 key is pressed the zoomed area will scroll 10 pixels.
     86 .TP 5
     87 .B d
     88 sets the delay between frame updates. 
     89 Built-in delays are 200, 100, 50, 10 and 0 ms.
     90 .TP 5
     91 .B g
     92 toggle grid on and off.
     93 .TP 5
     94 .B Mouse buttons
     95 To set the location of the magnified are click the left mouse
     96 button inside xzoom's window and then move it (keep the button
     97 pressed) to the place which you want to see magnified.
     98 .sp 1
     99 Xzoom allow you to resize it's window at any time.
    100 .sp 1
    101 When xzoom is iconified it simply waits to get deiconified.
    102 .SH DISPLAYS
    103 Xzoom uses the window's title bar to inform the user about
    104 it's status. Normally the title says something like
    105 .B "xzoom x2"
    106 which means the magnification is 2 both in X and Y axes.
    107 If the image is stretched differently on the X and Y axes
    108 the title will say
    109 .B "xzoom X 2; Y 4."
    110 Negative numbers mean reflection.
    111 If the image is rotated by 90 or 270 degrees the title
    112 will show
    113 .B "<=>"
    114 between the X and Y values.
    115 .sp 1
    116 When
    117 .B d
    118 is depressed the title will display the new delay value for
    119 approximately 2 seconds and then revert to the default display
    120 of magnification values.
    121 .SH PERFORMANCE
    122 Xzoom is fast enough to display enlarged or mirrored animations
    123 in small windows. On my 486 DX2-66 and Cirrus Logic CL-GD5428
    124 display card (attached to Vesa local bus) update of a 256x256
    125 window magnified by 2 (ie, source rect is 128x128) takes
    126 approximately 30 ms. This time varies, off course when
    127 a different size window or different magnification is used.
    128 If we chose 50 ms between updates we can get about 12.5 frames per
    129 second and still let an animation program do it's work.
    130 It is possible to compile xzoom without X shared memory support.
    131 In that case window update may be about 3 times slower (if we
    132 are using a local display, using LAN is a different story).
    133 .SH SEE ALSO
    134 xmag.1x.
    135 .br
    136 I got the motivation for writing xzoom after I saw a similar
    137 WindowsNT program, zoomin working. It started just as a test
    138 for X11 performance. I don't have the fancy menus and scrollbar
    139 like zoomin but I do have all their features (and more) accessible
    140 from the keyboard.
    141 .SH BUGS
    142 .LP 5
    143 \(dg
    144 The maximum internal built in delay (see command
    145 .B d
    146 above) was set to 200 ms. Xzoom completes the delay before
    147 polling the X event queue for the next command. Larger
    148 delays would feel like poor response to user commands.
    149 .LP 5
    150 \(dg
    151 For best performance the shared memory extension for X11 is
    152 used. Xzoom will fail if it is compiled to use XSHM and its
    153 display is not on the local host.
    154 .LP 5
    155 \(dg
    156 Xzoom is given with no warranty. It was tested only under
    157 Linux with Xfree86 release 3.1.2 (X11R6).
    158 .LP 5
    159 \(dg
    160 Some strange behavior may occur if the requested magnified area
    161 falls beyond the borders of the screen. Example is when you have
    162 magnification of 1 and a window whose width is greater than the
    163 height of the screen and you want 90 degrees rotation. In that
    164 case part of the window will not get updated.
    165 .LP 5
    166 \(dg
    167 The frame used to mark the zoomed area may corrupt the contents
    168 of other windows if they are modified when the frame is visible.
    169 If you don't like it disable the \-DFRAME option when compiling
    170 xzoom.
    171 .SH AUTHOR
    172 Itai Nahshon