Skip to main content

No project description provided

Project description

slida

It's a QT slideshow application written in Python. It only does image slideshows, and it does them pretty much the way I want them.

Some nice (?) features:

  • By default, it will try to optimize the screen area usage by tiling multiple images horizontally, because why waste all that precious real estate on thick black bars? (Example below)
  • A bunch of cool transitions

Screenshot_20250628_092430

Installation

pip install slida or pipx install slida should do the trick.

Usage

$ slida --help
usage: slida [-h] [--list-transitions] [--print-config] [--auto | --no-auto] [--debug | --no-debug] [--hidden | --no-hidden] [--interval INTERVAL] [--order ORDER] [--recursive |
             --no-recursive] [--reverse | --no-reverse] [--symlinks | --no-symlinks] [--tiling | --no-tiling] [--transition-duration TRANSITION_DURATION] [--transition TRANSITIONS]
             [--exclude-transition EXCLUDE_TRANSITIONS]
             [path ...]

positional arguments:
  path

options:
  -h, --help            show this help message and exit
  --list-transitions    List available transitions and exit
  --print-config        Also print debug info about the current config
  --auto                Enable auto-advance (default)
  --no-auto             Negates --auto
  --debug               Output various debug stuff to console (default)
  --no-debug            Negates --debug
  --hidden              Include hidden files and directories
  --no-hidden           Negates --hidden (default)
  --interval, -i INTERVAL
                        Auto-advance interval, in seconds (default: 20)
  --order, -o ORDER     Default: random
  --recursive, -R       Iterate through subdirectories (default)
  --no-recursive        Negates --recursive
  --reverse, -r         Reverse the image order
  --no-reverse          Negates --reverse (default)
  --symlinks            Follow symlinks (default)
  --no-symlinks         Negates --symlinks
  --tiling              Tile images horizontally (default)
  --no-tiling           Negates --tiling
  --transition-duration, -td TRANSITION_DURATION
                        In seconds; 0 = no transitions (default: 0.3)
  --transition, -t TRANSITIONS
                        Transitions to use. Repeat the argument for multiple transitions. Default: use them all
  --exclude-transition, -et EXCLUDE_TRANSITIONS
                        Transition NOT to use. Repeat the argument for multiple transitions

--transition and --exclude-transition govern which effects will be used for transitioning between images. The full list of transitions is available in slida.transitions.TRANSITION_PAIRS. Explicit exclusion overrides explicit inclusion. However, there is one special case: --transition all on the command line overrides all other transition settings and simply includes all of them.

Press ? in the GUI for keyboard mapping info.

Configuration files

A file called slida.yaml will be looked for in the following locations, in order of priority:

  1. Any directory included as path on the command line
  2. Current working directory
  3. slida subdirectory of user's config directory (e.g. ~/.config/slida/ on Linux)

If multiple config files are found, they will be merged so that arguments in a higher priority file will overwrite those in lower priority files.

All command line arguments in their long versions (OK, except path, help, list-transitions, and print-config) can be used in these files. However, the syntax for transition settings is a little different; instead of two separate settings, it's one transitions object with the optional string arrays include and exclude (see example below).

To see exactly how the CLI arguments and config files are parsed, and how the resultant configuration looks, just add --print-config:

$ slida --no-auto -td 3 --transition top-left-squares --transition top-squares --print-config
CombinedUserConfig(FINAL)
  auto: False
  debug: True
  hidden: False
  interval: 20
  order: random
  recursive: True
  reverse: False
  symlinks: True
  tiling: True
  transition-duration: 3.0
  transitions: {'include': ['top-left-squares', 'top-squares']}
= DefaultUserConfig()
    auto: True
    debug: False
    hidden: False
    interval: 20
    order: random
    recursive: False
    reverse: False
    symlinks: True
    tiling: True
    transition-duration: 0.3
    transitions: {}
+ UserConfig(/home/klaatu/.config/slida/slida.yaml)
    debug: True
    recursive: True
+ UserConfig(CLI)
    auto: False
    transition-duration: 3.0
    transitions: {'include': ['top-left-squares', 'top-squares']}

Example config file

recursive: true
transition-duration: 0.2
order: name
transitions:
  include:
    - clockface
    - top-left-squares
    - flip-x
    - radial
  exclude:
    - slide-down
    - slide-right
    - slide-up
    - slide-left

(Obviously it makes no sense to both include and exclude transitions, but this is an example.)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slida-0.6.0.tar.gz (43.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slida-0.6.0-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

File details

Details for the file slida-0.6.0.tar.gz.

File metadata

  • Download URL: slida-0.6.0.tar.gz
  • Upload date:
  • Size: 43.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for slida-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ffc8edf28f84e922da6148b58fa28a93aaf20e7701670aa74b8f4a7ca4899ad3
MD5 2cb4f98254623ba1050bf79119c6f706
BLAKE2b-256 11874c6a4a95e8a3bfa6312bc4bb5a1ba8005fc367c252f0417eeb09025a8e1a

See more details on using hashes here.

File details

Details for the file slida-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: slida-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for slida-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 889a16549ecebbb17405f319c95efb1bd74505dd0a114d7c1861b56bf0282e05
MD5 004010ed1f8a397ac9129be408635de2
BLAKE2b-256 02dfb81f5948ac7982008194767ced741b42920804828a754b7da8264a3bafc7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page