running / 11 of 15
Multiple displays
phonto plays one video on every display, or a different one on each, and picks up displays you plug in while it runs.
One video everywhere
With a path or --rand, phonto plays the same video on every display. It decodes the video once and draws each frame on every display, so a second screen costs little more than the first.
A display you plug in later gets the wallpaper as soon as it appears, and one that’s unplugged and plugged back in gets it again, without a restart.
Display IDs
phonto displaysID DESCRIPTION RESOLUTION
DP-1 Dell Inc. DELL U2723QE 3840x2160
eDP-1 BOE 0x0BCA 2880x1800The ID is what the system calls the display. On Wayland that’s the connector, like DP-1. On macOS it’s the display’s name, like DELL U2723QE or Built-in Retina Display.
A video per display
phonto --display DP-1 ~/Videos/harbour.mp4 --display eDP-1 ~/Videos/rain.mp4--display takes an ID and a path, and repeats. Only the displays you name get a wallpaper from phonto. The others keep whatever the system shows there.
Random per display
phonto --display DP-1 ~/Videos/harbour.mp4 --display-rand eDP-1--display-rand picks from your search paths, separately for each display it names. The two flags mix and repeat, but a display can only be named once.
In the config
[[display]]
id = "DP-1"
path = "~/Videos/harbour.mp4"
[[display]]
id = "eDP-1"
random = trueWith [[display]] entries in the config, phonto on its own plays them. Each entry needs either path or random = true. An entry for a display that isn’t connected waits for it, and phonto attaches the wallpaper when it appears.
A path, --rand or --display on the command line overrides the entries for that run.
Aliases across machines
The same monitor has a different ID on each system: DP-1 under Hyprland, DELL U2723QE on macOS. With an [[alias]] it gets one name, and the same config file works on both:
[[alias]]
name = "desk"
wayland = "DP-1"
macos = "DELL U2723QE"
[[alias]]
name = "laptop"
wayland = "eDP-1"
macos = "Built-in Retina Display"
[[display]]
id = "desk"
path = "~/Videos/harbour.mp4"
[[display]]
id = "laptop"
random = trueAn alias works anywhere an ID does, --display included. Leave out the system you don’t use. Running on a system the alias has no ID for is an error.