makeSpanningBackground
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A command-line utility which creates a background wallpaper to span multiple displays/monitors and sets it as the current background.
makeSpanningBackground
======================

Selects and sets the background wallpaper on multiple displays/monitors (and
single monitors also).

The makeSpanningBackground program runs on both Linux and Windows versions of
Python.  Most of the testing has been on one and two monitor systems with
Python 2.7 or 3.X, on Ubuntu and Windows 7, but Fedora, Vista, and Windows XP
have also had some testing.  Note that under KDE and Xfce on Linux the
generated image may not be automatically set to be the wallpaper (with the
"spanned" mode auto-set); you'll have to apply those settings by hand.

As of Oct 2014 this program works on Cinnamon and Unity, at least, but Gnome
and LXDE have been changing the way they handle background images so it may not
work.  There is now a Bash script in the bin directory which can be used as a
simplified frontend to the full program on Linux systems.

Dependencies
============

The dependencies are as follows:

::

   Linux with Python 2.x (at least Python 2.6):
                   Ubuntu                               Fedora
      numpy       sudo apt-get install python-numpy    yum install numpy
      scipy       sudo apt-get install python-scipy    yum install scipy
      PIL         sudo apt-get install python-imaging  yum install python-imaging
      xrandr      pre-installed for most distributions 
      gsettings   pre-installed for most distributions

   Linux with Python 3.x:
      Same as for Python 2.x.  For numpy and scipy just apt-get the version
      that starts with python3, e.g., python3-numpy.

   Windows with Python 2.x or 3.x (at least Python 2.6):
      Needs numpy, scipy, and PIL.  Windows users who want binaries and are not
      using a package like Anaconda or Python(x,y) where the dependencies are
      pre-installed might try the following (get the version to match the
      installed Python):

      http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil
      http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
      http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

      Note that on Windows the background mode must be set to "tiled" in the
      standard wallpaper-selection dialog window.  The program will attempt
      to do this, but if that doesn't work it will need to be set by the user.
      On XP you may need to always choose the .bmp format for the saved image
      files.

   Windows Cygwin Python
      The dependencies are the same as in Windows.  Cygwin comes with 
      packages for python-argparse, python-imaging, and python-numpy.
      Unfortunately, scipy is apparently difficult to install in Cygwin.
      You can run the script with Windows Python from a Cygwin terminal.

Documentation
=============

For the general documentation, run::

   python makeSpanningBackground.py --help

The output of that command follows::

   Usage: makeSpanningBackground.py [-h] -o OUTFILE_NAME [-v] [-1]
                                    [-f R_VAL G_VAL B_VAL] [-t MINUTES]
                                    [-p PCT_FLOAT] [-z ONE_OF_012345] [-s]
                                    [-c R_VAL G_VAL B_VAL] [-R] [-d]
                                    [--noclobber] [-r RESLIST [RESLIST ...]]
                                    [-w X_POS Y_POS] [-x] [-L FNAME]
                                    IMAGE_FILE_OR_DIR [IMAGE_FILE_OR_DIR ...]
   
   Description:
   
        Make a single, combined background image file from separate background
        image files, one for each display. The default is to get information
        from the system about the display resolutions, and to randomly choose
        an image for each display from the image files and image directories
        provided. Sampling is without replacement; the full list is regenerated
        when it is empty (including any changes which might have occurred in
        the directories).
   
        The positional arguments are image files and directories containing
        image files. The required flag '--outfile' or '-o' specifies the
        pathname of the file where the combined image file will be written (or
        silently overwritten). An example:
   
           python makeSpanningBackground.py ~/bgDir photo.jpg -o combo.bmp
   
        On Linux the program file can be made executable and the initial
        "python" above can be omitted if the Python version at
        "/usr/bin/python" is the correct one (if not, the first line in the
        program can be modified). Windows users can achieve the same effect by
        renaming the script to have a '.py' suffix and making sure '.PY' is in
        the PATHEXT list. On any system the program file (or a script calling
        it) can be placed somewhere in the PATH to avoid having to supply the
        path.
   
        To use this kind of combined background image in Linux the background
        mode should be set to 'spanned'; the program will attempt to set this
        automatically. On Windows the background mode should be 'tiled', but
        the mode must be explicitly set by the user (usually from the system's
        background-setting window). In Windows XP the '.bmp' format should be
        chosen for the output file (simply by using that suffix on the output
        filename). Also, backgrounds set in Windows XP do not persist between
        logins and must be reset.
   
        Note that this program can be set as a startup program to change the
        background wallpaper on logins. When the '-t ' command switch
        is used the program will infinitely loop, waiting for the specified
        number of minutes between iterations.
   
        It is convenient to create a simple shell-script wrapper or batch file
        to call the program with the "usual" command-line arguments.
   
   Positional arguments:
   
     IMAGE_FILE_OR_DIR     A whitespace-separated list of the pathnames of image
                           files and/or directories containing image files. Use
                           quotes around any file or directory name which
                           contains a space. Pathnames can be repeated on the
                           list, and the list will be reloaded if it becomes
                           empty. A specified filename will be silently ignored
                           if it does not have a suffix in the list ['.BMP',
                           '.DCX', '.DIB', '.EPS', '.GIF', '.IM', '.JPE',
                           '.JPEG', '.JPG', '.PBM', '.PCD', '.PCX', '.PDF',
                           '.PGM', '.PNG', '.PPM', '.PS', '.PSD', '.TIF',
                           '.TIFF', '.XBM', '.XPM', '.bmp', '.dcx', '.dib',
                           '.eps', '.gif', '.im', '.jpe', '.jpeg', '.jpg',
                           '.pbm', '.pcd', '.pcx', '.pdf', '.pgm', '.png',
                           '.ppm', '.ps', '.psd', '.tif', '.tiff', '.xbm',
                           '.xpm'].
   
   
   Optional arguments:
   
     -h, --help            Show this help message and exit.
   
     -o OUTFILE_NAME, --outfile OUTFILE_NAME
                           The pathname of the output file. This flag is
                           required. Any existing file by that name will be
                           silently overwritten. The filename can have any suffix
                           that ndimage (via PIL) can handle, and the output file
                           will be written in that format. Not all formats will
                           necessarily be settable as background images. Common
                           choices are '.jpg' and '.bmp', where the latter
                           produces files which are larger but of higher quality.
                           Note that Windows XP requires the '.bmp' format.
   
     -v, --verbose         Print more information about the program's actions and
                           progress. Without this switch only error messages are
                           printed to the screen.
   
     -1, --oneimage        Use a single background image, scaled to stretch over
                           all the displays. This is currently based on the
                           screen resolutions, not the physical sizes of the
                           monitors (dpi).
   
     -f R_VAL G_VAL B_VAL, --fitimage R_VAL G_VAL B_VAL
                           If this option is set then images are scaled to fully
                           fit into the corresponding display. The three
                           arguments are RGB byte values specifying the color of
                           any region not covered by an image. Use '-f 0 0 0' for
                           black. The default program behavior without this
                           switch is to use the minimum scaling to completely
                           fill the display while preserving the aspect ratio.
   
     -t MINUTES, --timedelay MINUTES
                           If this option is set the program will infinitely
                           loop. On each iteration it will collect the current
                           display information, re-select images for each
                           display, create a combined image, and set it as the
                           background (assuming that behavior is not modified by
                           any other options). The floating point argument gives
                           the number of minutes to sleep between iterations. The
                           image list will only be reloaded when it becomes
                           empty, so every image will be used exactly once before
                           any images are reloaded.
   
     -p PCT_FLOAT, --percenterror PCT_FLOAT
                           The percentage of an image's area which is allowed to
                           be cropped-out when scaling it to fit a display
                           resolution. In '--fitimage' mode it is the percent of
                           non-image in the display area. In '--oneimage' mode it
                           is the percent of the image that does not fall onto
                           any display. Set this option to zero for exact fit
                           only. The program will exit with an error message if
                           it cannot find enough suitable images.
   
     -z ONE_OF_012345, --zoomspline ONE_OF_012345
                           Set the order of the spline used by ndimage to resize
                           (zoom) images. The value can be from 0 to 5, with 3
                           the default. Lower orders are faster, higher orders
                           have better quality. (Also, for higher-quality images:
                           output files in '.bmp' format are larger but tend to
                           look better.)
   
     -s, --sequential      Process images sequentially as listed in the
                           positional arguments, with the files in any image
                           directories forming alphabetical sublists. This can be
                           used to force specific images to appear on specific
                           displays. On Linux the ordering of the displays is the
                           same as in xrandr. If you are unsure about the
                           ordering, try some images and see where they end up.
                           If display resolutions and offsets are explicitly set
                           with '--reslist' and '--sequential' is set then the
                           image files will corresponding one to one with the
                           list of resolution specifiers.
   
     -c R_VAL G_VAL B_VAL, --colorfill R_VAL G_VAL B_VAL
                           The three arguments are RGB byte values specifying the
                           color of any region in the large, combined image (a
                           bounding-box on the displays) which is not covered by
                           a display. Use '-c 0 0 0' for black.
   
     -R, --recursive       Recursively search any supplied image directories for
                           image files.
   
     -d, --dontapply       Do not attempt to apply the created image as the
                           working background image. The program will simply exit
                           after writing the image file.
   
     --noclobber           Never overwrite an existing file as the output
                           file.
   
     -r RESLIST [RESLIST ...], --reslist RESLIST [RESLIST ...]
                           Set the resolutions and offsets to use. No system
                           lookup will be attempted. This must be a space-
                           separated list of strings of the form
                           x*y+xOffset+yOffset (like in the output of xrandr on
                           Linux), where xOffset and yOffset give the top-left
                           position of the display and x and y are the display
                           sizes (resolution). Like in X11, (0,0) is assumed to
                           be at the top left of a bounding box on all the
                           displays. For a Windows machine the top left of the
                           primary display will also need to be defined, using
                           the '--windows' option described below. This option
                           cannot be immediately followed by the positional
                           arguments.
   
     -w X_POS Y_POS, --windows X_POS Y_POS
                           This option should only be necessary on a Windows
                           machine when using the '--reslist' option. The two
                           arguments x and y (in that order) should be set to the
                           top left position of the primary display. This is
                           necessary because, unlike X11, Windows assumes (0,0)
                           is at the top left of the primary display. Other
                           displays can then have negative locations. This
                           program translates Windows positions so that all
                           addresses are positive, with (0,0) at the top left of
                           all the displays (which is how positions should be
                           entered for the '--reslist' option). The program then
                           corrects for this translation in a final step, which
                           wraps the image into tiled mode relative to the
                           primary display. This requires knowing the top left
                           position of the primary display.
   
     -x, --x11             Create an X11 type image even if Windows is detected
                           as the OS. When this option is selected no final
                           "modular wrap" will be applied to correct for the
                           position of the primary display.
   
     -L FNAME, --logcurrent FNAME
                           Write the names of the current images to a file. The
                           single argument is the name of the file to write the
                           filenames to. Useful when you want to know the
                           filenames of the images being displayed.
   
   The makeSpanningBackground program is Copyright (c) 2012 by Allen Barker.
   Released under the MIT license.


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。