Man Linux: Main Page and Category List

NAME

       xli - load images into an X11 window or onto the root window

SYNOPSIS

       xli [global_options] {[image_options] image ...}
       xli [global_options] [image_options] stdin < image

DESCRIPTION

       xli  displays  images  in  an  X11  window  or loads them onto the root
       window.  See the IMAGE TYPES section below for supported image types.

       If the filename stdin is given, xli will read the image  from  standard
       input.

       If  the  destination display cannot support the number of colors in the
       image, the image will be dithered (monochrome destination) or have  its
       colormap  reduced (color destination) as appropriate.  This can also be
       done forcibly with the -halftone, -dither, and -colors options.

       A variety of image manipulations  can  be  specified,  including  gamma
       correction,    brightening,   clipping,   dithering,   depth-reduction,
       rotation,  and  zooming.   Most  of  these  manipulations  have  simple
       implementations; speed was opted for above accuracy.

       If  you  are viewing a large image in a window, the initial window will
       be at most 90% of the size of the display  unless  the  window  manager
       does  not  correctly  handle window size requests or if you’ve used the
       -fullscreen or -fillscreen options.  You may move the image  around  in
       the  window  by  dragging with the first mouse button.  The cursor will
       indicate which directions you may drag, if any.

       When the keyboard focus is in the window you can:
       Type ’q’ or ’^C’ to exit xli.
       Type space, ’n’ or ’f’ to move to the next image in the list.
       Type ’b’ or ’p’ to move to the previous image in the list.
       Type . to reload the image.
       Type l to rotate the image anti-clockwise.
       Type r to rotate the image clockwise.
       Type 0 to set the images assumed gamma to your display gamma
              (usually darkens images)
       Type 1 to set the images assumed gamma to 1.0
              (usually lightens images)
       Type 5-2 to lighten the image (5 in small steps, up to 2 in large steps)
       Type 6-9 to darken the image (6 in small steps, up to 9 in large steps)
       Type > resp. < to zoom in resp. out

       A wide variety of common image manipulations can be done by mixing  and
       matching  the  available  options.   See the section entitled HINTS FOR
       GOOD IMAGE DISPLAYS for some ideas.

RESOURCE CLASS

       xli uses the resource class name _XSETROOT_Id for window managers which
       need this resource set.

GLOBAL OPTIONS

       The  following options affect the global operation of xli.  They may be
       specified anywhere on the command line.

       -default
              Set the root background to the default root weave.  This is  the
              same as xsetroot with no arguments.

       -debug Talk  to  the  X server in synchronous mode.  This is useful for
              debugging.  If an X error is seen while in  this  mode,  a  core
              will be dumped.

       -dumpcore
              Signals  will not be trapped, and instead a coredump will occur.

       -display display_name
              X11 display name to send the image(s) to.

       -dispgamma Display_gamma
              Specify the gamma correction value appropriate for  the  display
              device.   This  overrides  the  value  read from the environment
              variable DISPLAY_GAMMA, or the default value of  2.2,  which  is
              approximately  correct for many displays. A value of between 1.6
              and 2.8 is reasonable. If individual images are  too  bright  or
              dark, use the -gamma option.

       There is an image provided with xli called ’chkgamma.jpg’ that lets you
       set the display gamma reasonably accurately.  This  file  contains  two
       grayscale  ramps. The ramps are chosen to look linear to the human eye,
       one using continuous tones, and the other using  dithering.   When  the
       display  gamma  is correct, then the two ramps should look symmetrical,
       and the point at which  they  look  equally  bright  should  be  almost
       exactly  half  way  from  the top to the bottom. (To find this point it
       helps if you move away a little from the screen, and de-focus your eyes
       a bit.)

       If  the  equal brightness point is above center increase the gamma, and
       decrease it if it is below the center. The value will usually be around
       2.2 Once you’ve got it right, you can set the DISPLAY_GAMMA environment
       variable in your .profile

       -fillscreen
              Use the whole screen for displaying an image. The image will  be
              zoomed  so  that it just fits the size of the screen. If -onroot
              is also specified, it will be  zoomed  to  completely  fill  the
              screen.

       -fit   Force  image  to  use  the default visual and colormap.  This is
              useful if you do not want technicolor effects when the  colormap
              focus  is inside the image window, but it may reduce the quality
              of the displayed image.  This is on by  default  if  -onroot  or
              -windowid is specified.

       -forall
              Apply  -fillscreen and -fullscreen options to all images and not
              just the first.

       -fork  Fork xli.  This causes  xli  to  disassociate  itself  from  the
              shell.  This option automatically turns on -quiet.

       -fullscreen
              Use  the whole screen for displaying an image. The image will be
              surrounded by a border if it is  smaller  than  the  screen.  If
              -onroot  is  also specified, the image will be zoomed so that it
              just fits the size of the screen.

       -geometry WxH[{+-X}{+-}Y]
              This sets the size of the  window  onto  which  the  images  are
              loaded  to  a  different value than the size of the image.  When
              viewing an image in a window, this can be used to set  the  size
              and  position  of  the  viewing  window.   If  the  size  is not
              specified in the geometry, (or is set to 0), then the size  will
              be  chosen  to  be small enough to able to fit the window in the
              screen (as usual).

       -goto image_name
              When the end of the list of  images  is  reached,  go  to  image
              image_name.   This  is  useful for generating looped slideshows.
              If more than one image of the same name as the target exists  on
              the argument list, the first in the argument list is used.

       -help [option ...]
              Give  information on an option or list of options.  If no option
              is given, a simple interactive help facility is invoked.

       -identify
              Identify the supplied images rather than display them.

       -install
              Forcibly install the images colormap when the window is focused.
              This violates ICCCM standards and only exists to allow operation
              with naive window managers.  Use this option only if your window
              manager does not install colormaps properly.

       -list  List the images which are along the image path.

       -onroot
              Load  image(s)  onto  the  root  window  instead of viewing in a
              window.  This option automatically sets the -fit  option.   This
              is   the  opposite  of  -view.   If  used  in  conjunction  with
              -fullscreen, the image will be zoomed to just fit. If used  with
              -fillscreen,  the  image  will  be zoomed to completely fill the
              screen. -border, -at, and -center also affect the results.

       -path  Displays the image path and image suffixes which  will  be  used
              when  looking  for  images.   These are loaded from ~/.xlirc and
              optionally from a system wide file (normally /usr/lib/xlirc).

       -pixmap
              Force the use of a pixmap as backing-store.   This  is  provided
              for servers where backing-store is broken (such as some versions
              of the AIXWindows server).  It may improve scrolling performance
              on servers which provide backing-store.

       -private
              Force  the  use  of  a  private  colormap.   Normally colors are
              allocated shared unless there are not enough colors available.

       -quiet Forces xli and xview to be quiet.

       -supported
              List the supported image types.

       -verbose
              Causes xli to be talkative, telling you what kind of image  it’s
              playing with and any special processing that it has to do.  This
              is the default for xview and xli.

       -version
              Print the version number and patchlevel of this version of  xli.

       -view  View  image(s) in a window.  This is the opposite of -onroot and
              the default for xview and xli.

       -visual visual_name
              Force the use of a specific visual type  to  display  an  image.
              Normally  xli  tries  to  pick  the  best  available image for a
              particular  image  type.   The  available  visual   types   are:
              DirectColor, TrueColor, PseudoColor, StaticColor, GrayScale, and
              StaticGray.  Nonconflicting names may be abbreviated and case is
              ignored.

       -windowid hex_window_id
              Sets  the  background  pixmap  of  a  particular window ID.  The
              argument must be in hexadecimal and must be preceded by "0x" (eg
              -windowid 0x40000b.  This is intended for setting the background
              pixmap of some servers which  use  untagged  virtual  roots  (eg
              HP-VUE), but can have other interesting applications.

PERSISTENT IMAGE OPTIONS

       The  following  options  may precede each image.  They take effect from
       the  next  image,  and  continue  until  overridden  or  canceled  with
       -newoptions.

       -border color
              This  sets the background portion of the window or clipped image
              which is not covered by any images to be color.

       -brighten percentage
              Specify a percentage multiplier for a color images colormap.   A
              value  of more than 100 will brighten an image, one of less than
              100 will darken it.

       -colors n
              Specify the maximum number of colors to use in the image.   This
              is a way to forcibly reduce the depth of an image.

       -cdither

       -colordither
              Dither  the image with a Floyd-Steinberg dither if the number of
              colors is reduced.  This will be slow, but will  give  a  better
              looking  result  with  a  restricted  color  set.  -cdither  and
              -colordither are equivalent.

       -delay secs
              Sets xli to automatically advance to the following  image,  secs
              seconds after the next image file is displayed.

       -dither
              Dither  a  color  image  to  monochrome  using a Floyd-Steinberg
              dithering algorithm.  This happens by default when viewing color
              images  on  a monochrome display.  This is slower than -halftone
              and affects the image accuracy but usually looks much better.

       -gamma Image_gamma
              Specify the gamma of the display the image was  intended  to  be
              displayed  on.   Images  seem  to come in two flavors: 1) linear
              color images, produced by ray tracers, scanners etc. These  sort
              of  images  generally look too dark when displayed directly to a
              CRT display. 2) Images that have been processed to look right on
              a  typical  CRT  display  without  any sort of processing. These
              images have been ’gamma corrected’. By default, xli assumes that
              8  bit  images  have  been  gamma  corrected  and  need no other
              processing. 24 bit images are assumed to be linear.  If a linear
              image  is displayed as if it is gamma corrected it will look too
              dark, and a gamma value of 1.0 should be specified, so that  xli
              can  correct  the  image  for the CRT display device. If a gamma
              corrected image is displayed as if it were a linear image,  then
              it will look too light, and a gamma value of (approximately) 2.2
              should be specified for that image.  Some  formats  (RLE)  allow
              the  image gamma to be embedded as a comment in the file itself,
              and the -gamma option allows overriding of the file comment.  In
              general,  values  smaller  than  2.2 will lighten the image, and
              values greater than 2.2 will darken the image.  In general  this
              will work better than the -brighten option.

       -gray  Convert  an  image  to  grayscale.   This  is  very  useful when
              displaying  colorful  images  on  servers  with  limited   color
              capability.  The optional spelling -grey may also be used.

       -idelay secs
              Set  the  delay  to  be used for this image to secs seconds (see
              -delay).  If -delay was specified, this overrides it.  If it was
              not  specified,  this  sets the automatic advance delay for this
              image while others will wait for the user to advance them.

       -smooth
              Smooth a color image.  This reduces blockiness after zooming  an
              image up.  If used on a monochrome image, nothing happens.  This
              option can take awhile to perform, especially on  large  images.
              You  may specify more than one -smooth option per image, causing
              multiple iterations of the smoothing algorithm.

       -title window_title
              Set the titlebar of the window used to display the image.   This
              will  override  any  title that is read from the image file. The
              title will also be used for the icon name.

       -xpm color_context_key
              Select the preferred xpm colour map. XPM files may contain  more
              than  one  color  mapping,  each mapping being appropriate for a
              particular visual.  Normally  xli  will  select  an  appropriate
              color mapping from that supported by the XPM file by checking on
              the default X visual class and depth.  This  option  allows  the
              user    to    override    this    choice.    Legal   values   of
              color_context_key are: m, g4, g and c.  m = mono, g4 =  4  level
              gray, g = gray, c = color ).

       -xzoom percentage
              Zoom  the  X  axis  of an image by percentage.  A number greater
              than 100 will expand the image, one smaller will compress it.  A
              zero value will be ignored.  This option, and the related -yzoom
              are useful for correcting the  aspect  ratio  of  images  to  be
              displayed.

       -yzoom percentage
              Zoom  the Y axis of an image by percentage.  See -xzoom for more
              information.

       -zoom percentage
              Zoom both the X and Y axes by percentage.  See -xzoom  for  more
              information.   Technically the percentage actually zoomed is the
              square of the number supplied since the zoom is  to  both  axes,
              but I opted for consistency instead of accuracy.

       -zoom auto
              Zoom large images to fit the screen; don’t zoom small images.

       -newoptions
              Reset   options   that   propagate.    The   -bright,   -colors,
              -colordither,  -delay,  -dither,  -gamma,   -gray,   -normalize,
              -smooth, -xzoom, -yzoom, and -zoom options normally propagate to
              all following images.

LOCAL IMAGE OPTIONS

       The following options may precede each image.  These options are  local
       to the image they precede.

       -at X,Y
              Indicates  coordinates  to  load  the  image  at X,Y on the base
              image.  If this is an option to the first image, and the -onroot
              option  is  specified,  the  image  will  be loaded at the given
              location on the display background.

       -background color
              Use color  as  the  background  color  instead  of  the  default
              (usually  white  but  this depends on the image type) if you are
              transferring a monochrome image to a color display.

       -center
              Center the image on the base image loaded.  If this is an option
              to  the  first  image,  and the -onroot option is specified, the
              image will be centered on the display background.

       -clip X,Y,W,H
              Clip the image before loading it.  X and Y define the upper-left
              corner  of  the clip area, and W and H define the extents of the
              area.  A zero value for W  or  H  will  be  interpreted  as  the
              remainder  of the image.  Note that X and Y may be negative, and
              that W and H may be larger than the image. This causes a  border
              to  be placed around the image. The border color may be set with
              the -border option.

       -expand
              Forces the image (after all other  optional  processing)  to  be
              expanded  into  a  True  Color (24 bit) image. This is useful on
              systems which support 24 bit color, but where xli  might  choose
              to  load  a  bitmap or 8 bit image into one of the other smaller
              depth visuals supported on your system.

       -foreground color
              Use color as the foreground color instead of black  if  you  are
              transferring  a  monochrome  image to a color display.  This can
              also be used to invert the foreground and background colors of a
              monochrome image.

       -halftone
              Force  halftone  dithering of a color image when displaying on a
              monochrome  display.   This  option  is  ignored  on  monochrome
              images.   This  dithering algorithm blows an image up by sixteen
              times; if you don’t like this, the -dither option will not  blow
              the  image  up  but will take longer to process and will be less
              accurate.

       -invert
              Inverts a monochrome image.  This is shorthand  for  -foreground
              white -background black.

       -merge Merge  this  image  onto  the base image after local processing.
              The base image is considered to be the first image specified  or
              the  last  image  that  was  not preceded by -merge.  If used in
              conjunction with -at and -clip, very complex images can be built
              up.   Note  that  the  final image will be the size of the first
              image,  and  that  subsequent  merged  images  overlay  previous
              images.  The  final image size can be altered by using the -clip
              option on the base image to make it  bigger  or  smaller.   This
              option  is  on  by  default  for  all  images  if the -onroot or
              -windowid options are specified.

       -name image_name
              Force the next argument to be treated as an image name.  This is
              useful if the name of the image is -dither, for instance.

       -normalize
              Normalize a color image.

       -rotate degrees
              Rotate  the  image  by  degrees clockwise.  The number must be a
              multiple of 90.

EXAMPLES

       To load the rasterfile "my.image" onto the background and replicate  it
       to fill the entire background:

            xli -onroot my.image

       To load a monochrome image "my.image" onto the background, using red as
       the foreground color, replicate the image, and overlay  "another.image"
       onto it at coordinate (10,10):

            xli -foreground red my.image -at 10,10 another.image

       To  center  the  rectangular region from 10 to 110 along the X axis and
       from 10 to the height of the image along the Y axis:

            xli -center -clip 10,10,100,0 my.image

       To double the size of an image:

            xli -zoom 200 my.image

       To halve the size of an image:

            xli -zoom 50 my.image

       To brighten a dark image:

            xli -brighten 150 my.image

       To darken a bright image:

            xli -brighten 50 my.image

HINTS FOR GOOD IMAGE DISPLAYS

       Since images are likely to come from a variety of sources, they may  be
       in  a  variety  of  aspect  ratios  which  may not be supported by your
       display.  The -xzoom and -yzoom options  can  be  used  to  change  the
       aspect  ratio of an image before display.  If you use these options, it
       is recommended that you increase the size  of  one  of  the  dimensions
       instead  of  shrinking  the  other, since shrinking looses detail.  For
       instance, many GIF and G3 FAX images have an X:Y ratio  of  about  2:1.
       You can correct this for viewing on a 1:1 display with either -xzoom 50
       or -yzoom 200 (reduce X axis to 50% of its size and expand  Y  axis  to
       200%  of  its  size,  respectively) but the latter should be used so no
       detail is lost in the conversion.

       When zooming color images up you can reduce  blockiness  with  -smooth.
       For  zooms  of 300% or more, I recommend two smoothing passes (although
       this can take awhile  to  do  on  slow  machines).   There  will  be  a
       noticeable improvement in the image.

       You  can  perform  image  processing  on a small portion of an image by
       loading the image more than once and using the -merge,  -at  and  -clip
       options.   Load  the  image,  then  merge  it with a clipped, processed
       version of itself.  To brighten a 100x100  rectangular  portion  of  an
       image located at (50,50), for instance, you could type:

            xli  my.image  -merge  -at 50,50 -clip 50,50,100,100 -brighten 150
       my.image

       If you’re using a display with a small  colormap  to  display  colorful
       images, try using the -gray option to convert to grayscale.

XLITO

       xlito (XLoadImageTrailingOptions) is a separate utility that provides a
       file format independent way of marking image files with the appropriate
       options  to  display  correctly.   It  does this by appending to file a
       string specified by the user, marked with some magic  numbers  so  that
       this  string  can  be  extracted by a program that knows where to look.
       Since almost all image files have some sort of  image  size  specifier,
       the programs that load or manipulate these files do not look beyond the
       point at which they have read the image, so  trailing  information  can
       safely  be  appended  to the file. If appending this information causes
       trouble with other utilities, it can simply be deleted.

       xli will recognize these trailing options  at  the  end  of  the  image
       files,  and  will treat the embedded string as if it were a sequence of
       command line IMAGE OPTIONS. Any GLOBAL OPTIONS will be ignored, and the
       IMAGE OPTIONS are never propagated to other images.

       Trailing options can be examined with:

            xlito image_file ...

       Changed or added with:

            xlito -c "string of options" image_file

       And deleted with:

            xlito -d image_file ...

       For  example,  if you have a gif file fred.gif which is too dark and is
       the wrong aspect ratio, then it may need to be viewed with:

            xli -yzoom 130 -gamma 1.0 fred.gif

       to get it to look OK. These options can then be appended  to  the  file
       by:

            xlito -c "-yzoom 130 -gamma 1.0" fred.gif

       and  from  then  on xli will get the appropriate options from the image
       file itself.  See the  xlito manual entry for more details  about  this
       utility.

PATHS AND EXTENSIONS

       The  file ~/.xlirc (and optionally a system-wide file) defines the path
       and default extensions that xli will use when looking for images.  This
       file  can  have  two  statements:  "path=" and "extension=" (the equals
       signs must  follow  the  word  with  no  spaces  between).   Everything
       following  the  "path=" keyword will be prepended to the supplied image
       name if the supplied name does not specify an existing file.  The paths
       will be searched in the order they are specified.  Everything following
       the "extension=" keyword will be appended to the supplied image name if
       the  supplied  name  does not specify an existing file.  As with paths,
       these extensions  will  be  searched  in  the  order  they  are  given.
       Comments are any portion of a line following a hash-mark (#).

       The following is a sample ~/.xlirc file:

         # paths to look for images in
         path= /usr/local/images
               /home/usr1/guest/madd/images
               /usr/include/X11/bitmaps

         # default extensions for images; .Z is automatic; scanned in order
         extension= .csun .msun .sun .face .xbm .bm

       Versions  of  xli  prior  to  version  01, patchlevel 03 would load the
       system-wide file (if any), followed by the user’s file.  This  behavior
       made  it  difficult  for  the  user to configure her environment if she
       didn’t want the default.  Newer versions will  ignore  the  system-wide
       file if a personal configuration file exists.

IMAGE TYPES

       xli currently supports the following image types:

         CMU Window Manager raster files
         Faces Project images
         Fuzzy Bitmap (.fbm) images
         GEM bit images
         GIF images (Including GIF89a compatibility)
         G3 FAX images
         JFIF style jpeg images
         McIDAS areafiles
         MacPaint images
         Windows, OS/2 RLE Image
         Monochrome PC Paintbrush (.pcx) images
         Photograph on CD Image
         Portable Bitmap (.pbm, .pgm, .ppm) images
         Sun monochrome rasterfiles
         Sun color RGB rasterfiles
         Targa (.tga) files
         Utah Raster Toolkit (.rle) files
         X pixmap (.xpm) files (Version 1, 2C and 3)
         X10 bitmap files
         X11 bitmap files
         X Window Dump (except TrueColor and DirectColor)

       Normal,  compact,  and raw PBM images are supported.  Both standard and
       run-length encoded Sun rasterfiles are supported.  Any image whose name
       ends  in  .Z  is  assumed to be a compressed image and will be filtered
       through "uncompress". If HAVE_GUNZIP is  defined  in  the  Makefile.std
       make file, then any image whose name ends in .gz or .Z will be filtered
       through gunzip.

       Any  file  that  looks  like  a  uuencoded   file   will   be   decoded
       automatically.

AUTHORS

       The original Author is:
       Jim Frost
       Saber Software
       jimf@saber.com

       Version 1.16 of xli is derived from xloadimage 3.01 has been brought to
       you by:
       Graeme Gill
       graeme@labtam.oz.au

       Version 1.17 of xli is derived from xli 1.16 by
       smar@reptiles.org

       For a more-or-less complete list of other contributors (there are a lot
       of them), please see the README file enclosed with the distribution.

FILES

            xli                      - the image loader and viewer
            xlito                   - the trailing options utility
            /usr/lib/X11/Xli        - default system-wide configuration file
            ~/.xlirc                - user’s personal configuration file

COPYRIGHT

       Copyright  (c)  1989, 1990, 1991, 1992, 1993 Jim Frost, Graeme Gill and
       others.

       Xli  is  copyrighted  material  with  a  very  loose  license  allowing
       unlimited  modification  and  distribution if the copyright notices are
       left intact.  Various portions are copyrighted by various  people,  but
       all  use  a modification of the MIT copyright notice.  Please check the
       source for complete copyright information.  The intent is to  keep  the
       source  free,  not to stifle its distribution, so please write to me if
       you have any questions.

BUGS

       Zooming dithered images, especially downwards, is UGLY.

       Images can come in a variety of aspect ratios.  Xli cannot detect  what
       aspect  ratio  the  particular  image  being loaded has, nor the aspect
       ratio of the destination  display,  so  images  with  differing  aspect
       ratios  from  the  destination  display  will  appear  distorted.   The
       solution to this is to use xlito to append the appropriate  options  to
       the  image  file.  See HINTS FOR GOOD IMAGE DISPLAYS and XLITO for more
       information.

       The GIF format allows more than one image to be stored in a single  GIF
       file, but xli will only display the first.

       One  of the pseudonyms for xli, xview, is the same name as Sun uses for
       their SunView-under-X package.  This will be confusing if you’re one of
       those poor souls who has to use Sun’s XView.

       Some  window managers do not correctly handle window size requests.  In
       particular, many versions of the twm window  manager  use  the  MaxSize
       hint  instead  of  the PSize hint, causing images which are larger than
       the screen to display in a window larger  than  the  screen,  something
       which  is  normally  avoided.   Some  versions  of  twm also ignore the
       MaxSize argument’s real function, to limit  the  maximum  size  of  the
       window,  and  allow the window to be resized larger than the image.  If
       this happens, xli merely places the image in the upper-left  corner  of
       the  window and uses the zero-value’ed pixel for any space which is not
       covered by the image.  This behavior is less-than-graceful but  so  are
       window managers which are cruel enough to ignore such details.

       The  order in which operations are performed on an image is independent
       of the order  in  which  they  were  specified  on  the  command  line.
       Wherever  possible I tried to order operations in such a way as to look
       the best possible  (zooming  before  dithering,  for  instance)  or  to
       increase speed (zooming downward before compressing, for instance).

       Display Gamma should setable in the ~/.xlirc file.

       Embedded  trailing  options  override  the  command line Image Options.
       Command line options should really override trailing options.

                                  28 Oct 2002