Skip to content

Slideshow of local/LAN photos folder - PowerShell, Windows Forms

Notifications You must be signed in to change notification settings

JBA474/PoShSlideshow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Description

Photo slideshow implemented in PowerShell -> Windows Forms

Simply target a (nested) folder of images. Local or LAN UNC path supported.

Features:

  • task tray icon to start slideshow on demand...
  • otherwise kicks off after user defined idle timeout (honors running video)
  • good randomization - one soon realizes pleasantly random photos are the key want of a photo slideshow ... fortunately PowerShell has a readily available random commandlet that seems to do quite well
    • persists "lastShown" for each subfolder and avoids re-showing within XX days (currently 1 month)
  • image fade-in and slide for ambience
  • several hotkeys functional:
    • open current image folder
    • copy current image to My Photos
    • rotate current image (and save) - generally honors EXIF rotation metadata where present, this option allows for manual correction where EXIF is missing
    • reverse to previously shown photo (left cursor)
    • pause/play (space)
    • hotkey legend pops up on any other keypress
  • screen click functions:
    • double click in center hides slideshow
    • single click in center pauses slideshow
    • click arrows on far left and right for prev/next image
  • skips .hidden folders
  • plays videos via VLC
  • open to modification - it's just PowerShell :) no compiling tools required

Install - basically just launch the ps1... here's some tips:

  1. only the ps1 and ico files are needed, download them to a folder
  2. ensure VLC.exe is in your path
  3. (see screenshot below) create a shortcut to the ps1 and tweak the target to include powershell before the ps1 filename...
  4. example full shorcut command line: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden \\beejquad\Dev\_PersonalProjects\PoShSlideshow\PoShSlideshow.ps1 -photoPath \\beejquad\photos -idleTimeout 2
  5. select Run: Minimized to make script launch more polished
  6. add -WindowStyle Hidden after powershell.exe on target command line for further polish
  7. then hit the Advanced button and select Run as administrator - this is only required for the powercfg /requests used to identify running video and avoid starting slideshow after user input idle timeout (wouldn't mind hearing a slicker approach???)
  8. script parameters:
    • add -photoPath {path\to\your\images} to the end of the shortcut path - UNC shared folder fair game, write permissions required to persist folder cache flat file
    • add -idleTimeout 2 to the end of the shortcut path - units are in minutes
  9. Copy this shortcut to shell:startup in Windows FileExplorer to automatically launch this script when you login to your desktop

Wishlist

  • [done] show videos as well - thinking VLC convenient

About

Slideshow of local/LAN photos folder - PowerShell, Windows Forms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 100.0%