# slide Simple, lightweight slideshow selecting random images from specified directory. This slideshow is designed to compile and run also on a Raspberry Pi, for example to turn it into a digital picture frame. Tested versions: * Raspberry Pi 3 running Raspbian Stretch. * Raspberry Pi 3 running Raspbian Buster. * Raspberry Pi Zero running Raspbian Buster. * Raspberry Pi 4B running Raspbian Buster. Screen background is filled with a scaled version of the image to prevent pure black background. ![screenshot](doc/screen.jpg) This project is maintained by myself during my spare time. If you like and use it, consider [buying me a coffee](https://www.buymeacoffee.com/nautilux). ## Usage ``` slide [-t rotation_seconds] [-T transition_seconds] [-h/--overlay-color overlay_color(#rrggbb)] [-a aspect] [-o background_opacity(0..255)] [-b blur_radius] [-p image_folder|-i imageFile,...] [-r] [-O overlay_string] [-v] [--verbose] [--stretch] [-c path_to_config_json] ``` * `image_folder`: where to search for images (.jpg files) * `-i imageFile,...`: comma delimited list of full paths to image files to display * `-c path_to_config_json`: path to a JSON config file, or a directory containing `slide.options.json` * `-t` how many seconds to display each picture for * `-r` for recursive traversal of `image_folder` * `-s` for shuffle instead of random image rotation * `-S` for sorted rotation (files ordered by name, first images then subfolders) * `rotation_seconds(default=30)`: time until next random image is chosen from the given folder * `aspect(default=a)`: the required aspect ratio of the picture to display. Valid values are 'a' (all), 'l' (landscape), 'p' (portrait) and 'm' (monitor). Monitor will match the aspect ratio of the display we are running on. * `transition_seconds(default=1)`: time of image transition animation. Default is 1 second, and transition animation will be disabled if the value is set to 0 * `aspect(default=a)`: the required aspect ratio of the picture to display. Valid values are 'a' (all), 'l' (landscape) and 'p' (portrait) * `background_opacity(default=150)`: opacity of the background filling image between 0 (black background) and 255 * `blur_radius(default=20)`: blur radius of the background filling image * `-v` or `--verbose`: Verbose debug output when running * `--stretch`: When in aspect mode 'l','p' or 'm' crop the image rather than leaving a blurred background. For example, in landscape mode this will make images as wide as the screen and crop the top and bottom to fit. * `-h` or `--overlay-color` the color of the overlay text, in the form of 3 or 6 digits hex rgb string prefixed by `#`, for example `#00FF00` or `#0F0` for color 🟢 * `-O` is used to create a overlay string. * It defines overlays for all four edges in the order `top-left;top-right;bottom-left;bottom-right` * All edges overlays are separated by `;` * Each edge can either be just a test or contain formatting in the form `margin|fontsize|text` * the text can contain special strings which are replaced during rendering: * `