MH5000(1)

NAME
mh5000 - desktop background image setter and viewer

SYNOPSIS
mh5000 [options] [files | directories]

VERSION
This manual documents mh5000

DESCRIPTION
mh5000 is not just any ole background setter like all the others. It sets and can change the background image at a give time. As a command line based utility where users who want to set a background image with maybe add a bit more flar then the other command line background image setters do. It can do so. Yes, it can still do the plain ole' background settings, or it can set one image at whatever size given as well as. It also has the ability to change the image at a given time interval. Depending on the commands chosen it can keep the same image while changing the color(s) or vice versa. Even display a multitude of colors, with or without an image. Along with many other options.

By default mh5000 displays all image files in the current directory and its subdirectories in the order received when using no option to change images while using a time interval.

mh5000 supports various image sorting modes, and picking just one image out of the total amount of images by number.

MODES
mh5000 has various modes which will be covered later in this man page. User can select to have one image displayed on background, or cycled through the list of images loaded into the program using a given mode and time interval for a slideshow on your background. Changing colors or keeping the same color(s) while changing images using the various modes. Or, just set it to randomize everything and sit back and let it do the selecting for you. (Does not use up a lot of resources.)

The ability to change the images, keeping the same user selected color(s) or random color(s). Chainging Images. The four options are: Ordered list, random list, or the secquence the list was loaded in, or just load a selected image from the list by number and have it stayed displayed while changing just about everything else around it. Using a single path and file to the image works too. Along with other many different configurations.

  Resizing Images
Images also can be resized to whatever the user wants and then set to the desktop, without changing their orginal sizes on disk. (will not display the image beyond screen size, and within the limits of imlib2 and the screens ability to display the image at a smaller size. The smaller the image the longer it takes for rendering time. 1x1 is the smallest I've set an image.)

It can display all of the image names and paths in the list that is loaded, or display image name being displayed during run time using stdout to terminal. If using the time interval and an image that cannot be loaded arises, it prints the filename and path to terminal screen (stdout) then goes to next file in list to load and display.

SUPPORTED FORMATS
mh5000 can open any format supported by Imlib2. jpeg, jpg, png and, bmp have been tested, and work. pnm, and tiff may also work.

OPTIONS

Display Image

-c, --center file | directories

-c=<size>x<size> | -center=<size>x<size> file | directories
    Displays image center of screen. (If image larger then screen. Displays at image screens max settings.)

-f, --fullscreen file | directories
    Displays image max screen settings.

-F, --fill file | directories
    Displays image max screen settings using aspect ratio.

-st=<value>
    Space Tile, sets the image in that is tiled with random space between them. Looks best with a color(s) set on the background. Can be used in conjunction with random color settings.

Value Options for Space Tiles: 1 thru 6, and 7.

1 :Image flips vertical tiled.

2 :Image flips horizontal tiled.

3 :Image tile vertical.

4 :Image tile horizontal.

5 :Image flips diagonal tiled.

6 :Image tile inside itself tiled.

7 :cycles through all modes, for use with the timer setting.
    Using -st without any value defaults to standard spaced tile display.

-t, --tile [suboption] file | directories

Sub Options:

n | n=<size>x<size> file | directories
    Displays image tiled across screen.

h | h=<size>x<size> file | directories
    Displays image tiled horizontally across the screen.

v | v=<size>x<size> file | directories
    Displays image tiled vertically across the screen.

d | d=<size>x<size> file | directories
    Displays image tiled diagonally across the screen.

hv | hv=<size>x<size> file | directories
    Displays image tiled horizontally, and vertically across the screen.

Fliped Image

-fi [suboption] file | directories

Sub Options:

h | h=<size>x<size> file | directories
    Displays image horizontally.

v | v=<size>x<size> file | directories
    Displays image vertically.

d | d=<size>x<size> file | directories
    Displays image diagonally.

Angled Image (suboption)
(experimental, displays the image at roughly a 45 degree angle)

av :Angled vertically.

ah :Angled horizontally.

ath :Angled horizontally tiled withing itself.

atv :Angled vertically tiled within itself.

  Format:
mh5000 [options suboption] [files | directories]

COLOR SETTINGS

  Format:
mh5000 [options <color>]

-s | -solid
    Sets one solid color. Does not need an image to be used.

-add
    Sets two colors. Requires two in secquence. Does not need an image to be used.

-a | -angle
    Sets an angle between colors. Can be used with two colors. Default angle is zero.

-d | -distance
    Sets a distance between colors when used with two colors. Defaults to zero.

  Color Hex format in quotes with pound sign. "#fff000"

  Format:
mh5000 -add "#fff000" -d <value> -add "#000fff" -d <value> -a <value>

RANDOM COLOR SETTINGS

  Used with given time interval.

-sc Sets one random solid color that changes. Does not need an image to be used.

-rc | -rc=<value>
    Sets two random colors. 1 thru MAX. Set at 200. Doesn't take long to render. Depending your system of course. Defaults to two random colors, with angle. Does not need an image to be used.

-ra Sets a random angle, so you don't have to.

-rd Sets a random distance, so you don't have to.

-over-ride
    Over rides everything. Setting everything to random. Mixes between solid color, two colors, random images and random setting modes. Needs at least one image.

-over-drive
    Does the same as over-ride except it displays a random image mode each time it changes.

-z | --delay
    To set time intervals for setting cycle time for image modes, random color(s), and to over ride the over-ride default time settings. 's' or 'm' can be used to indicate seconds or minutes. The default time is 5 minutes. If 's', or 'm' is not used delay defaults to seconds.

  Format:
-z <time> -z 1 , -z 1s , -z 1m

  Note:
If user is wanting to cycle through using just one image mode then -z or -delay has to be used. Reguardless if other random settings are used in conjunction with setting one particular image mode.

IMAGE FILE SETTINGS

  Four basic ways to display the images in program.

-o | -ordered
    Sets images to alphabetical ordered list.

-r | -randomize
    Set images in a random order.

~/file | /path/to/file
    Retrieves the file using relative or absolute files paths. As well as one image within a directory.

-n | -file-number
    Gets a file to load by a number attached to it during loading.

    The two former settings '-o', '-r' are used setting an image mode for cycling the images by time intervals. The last by number, can be used to set an image within the list to an image mode and or then have the colors cycled around it, or not. If no setting is picked then it displays the images in the order gotten from the directory.

-p  Prints the loaded image filename and path to terminal while running.

-printlist
    Prints entire list to screen then exits program.

-h | -help
    Displays a smaller help file on terminal screen.

DEPENDENCIES
mh5000 requires imlib2

BUGS

  REPORTING BUGS
If you find a bug, please report it to <https://sourceforge.net/p/mh5000/discussion/>

Please include the mh5000 version <the output of "mh5000 --version | -v"> steps to reproduce the bug and, if necessary, images to reproduce it.

FUTURE PLANS

LICENSE
Copyright (C) 2017 by Michael Heras.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies of the Software and its documentation and acknowledgment shall be given in the documentation and software packages that this Software was used.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Developer: Michael Heras <userxbw@gmail.com>

See also:

  Acknowledgements
Tom Gilbert For the code to some functions used in the link list, with the needed modifcations made by this developer.