xmonad-wallpaper-0.0.1.2: src/XMonad/Wallpaper.hs
module XMonad.Wallpaper where
import XMonad.Core
import XMonad.Wallpaper.Find
import XMonad.Wallpaper.Expand
import Control.Applicative
import System.Random
{- |
Example usage: (~/.xmonad/xmonad.hs)
> import XMonad
> import XMonad.Config.Desktop
> import XMonad.Wallpaper
> main = do
> setRandomWallpaper ["paths-of-your choice", "$HOME/Pictures/Wallpapers"]
> xmonad $ desktopConfig
> { terminal = "urxvt"
> , modMask = mod4Mask
> }
paths will be expanded using environment variables, and paths are not exist will be ignored during scan phase.
For more information about path expansion, see also 'expand'.
-}
setRandomWallpaper filepaths = do
rootPaths <- mapM expand filepaths
candidates <- findImages rootPaths
wallpaper <- ((!!) candidates) <$> getStdRandom (randomR (0, length candidates - 1))
spawn $ "feh --bg-scale " ++ wallpaper