wallswitch 0.13.1

randomly sets wallpapers for n Linux desktop monitors (arranged horizontally).
Documentation
# wallswitch

```
#-----------#-----------# ... ... #-----------#
|           |           |         |           |
| Monitor 1 | Monitor 2 |         | Monitor n |
|           |           |         |           |
#-----------#-----------# ... ... #-----------#
```
Randomly sets wallpapers for `n` Linux desktop monitors (arranged horizontally).

[Define papéis de parede aleatoriamente para desktop Linux com `n` monitores (dispostos horizontalmente).]

Run the command:
```
wallswitch
```

The default number of monitors is `n` = 2.

Images are recursively searched in the indicated directories (`"dirs": [...]`) for files with a jpg, jpeg or png extension.

## Help messages

To get help messages, run the command:

```
wallswitch -h
```

The output:
```
randomly sets wallpapers for n Linux desktop monitors (arranged horizontally).

Usage: wallswitch [OPTIONS]

Options:
  -c, --config
          Read the configuration file and exit the program
  -d, --dimension <DIMENSION>
          Set the minimum dimension that the height and width must satisfy
  -i, --interval <INTERVAL>
          Set the interval (in seconds) between each wallpaper displayed
  -n, --monitor_number <MONITOR_NUMBER>
          Set the number of monitors [default: 2]
  -s, --sort
          Sort the images found
  -v, --verbose
          Show intermediate runtime messages
  -h, --help
          Print help (see more with '--help')
  -V, --version
          Print version
```

## Configuration

Edit the configuration file: "/home/user_name/.config/wallswitch/wallswitch.json"

The contents of the configuration file can be displayed with the command:
```
wallswitch -c
```
or

```
cat ~/.config/wallswitch/wallswitch.json | jq
```

The output:
```
{
  "desktop": "gnome-xorg",
  "dirs": [
    "/home/user_name/Figures",
    "/home/user_name/Images",
    "/home/user_name/Pictures",
    "/home/user_name/Wallpapers",
    "/home/user_name/Imagens",
    "/usr/share/wallpapers",
    "/usr/share/backgrounds",
    "/tmp/teste"
  ],
  "extensions": [
    "jpg",
    "jpeg",
    "png"
  ],
  "interval": 1800,
  "min_dimension": 800,
  "wallpaper": "/home/user_name/wallswitch.jpg"
}
```

The default configuration file.

Add or remove directory paths that contain image files.

The interval between wallpapers is given in seconds.

## Desktops

Make changes to the source code.

```
git clone https://github.com/claudiofsr/wallswitch.git

cd wallswitch
```

Edit the file: 'src/desktops.rs'.

To build and install from source, run the following command:

```
cargo b -r && cargo install --path=.
```

Options:

### gnome

Create a wallpaper file and set it as your desktop background image.

See the function:
```
fn set_gnome_wallpaper()
```

### xfce

See the function:

```
fn set_xfce_wallpaper()
```

Monitor 1: "/backdrop/screen0/monitorDP-0/workspace0/last-image"

Monitor 2: "/backdrop/screen0/monitorDP-2/workspace0/last-image"

Monitor N: ...

### openbox

See the function:

```
fn set_openbox_wallpaper()
```

## Dependencies

1. [imagemagick]https://imagemagick.org/ (image viewing/manipulation program).

2. [feh]https://feh.finalrewind.org/ (fast and light image viewer).