Skip navigation
This discussion is archived

Desktop Pictures don't rotate while screensaver is running

3150 Views 21 Replies Latest reply: Aug 12, 2009 8:36 PM by G J Piper RSS
1 2 Previous Next
G J Piper Level 1 Level 1 (90 points)
Currently Being Moderated
Aug 11, 2009 9:31 PM
Ok... so I've been waiting, watching, and searching for a transparent screensaver that could work in Leopard for nearly 3 years. Well, I finally found one! The screensaver is called MBS Transparent Screensaver. Finally I'd get to see my wonderful desktop pictures and watch my email while the screen is locked!

Well, after finally getting this functionality, I've been disappointed by the realization that the desktop pictures do not rotate automatically while a screensaver is running.

Is there any way to force the desktop pictures to rotate as they do when the screensaver is not running? Possibly an undocumented setting somewhere? Or, is there any UNIX command that can cause the desktop to refresh to the next image in the rotation?

Any ideas or help would be appreciated.
24" iMac 2.8 C2E / 1TB / 4GB, Mac OS X (10.5.8)
  • Dave Hamilton Level 5 Level 5 (6,795 points)
    Have you tried this?

    Go to System Preferences, Desktop and Screensaver.
    Select Screensaver, then from the list of available screensavers, select Pictures -> Choose Folder.
    Select the folder that contains your desktop pictures.
    Click the "Show All" button to get back to the full set of System Preferences.
    Go to Security -> General.
    Check "Require password to wake this computer from sleep or screen saver".
    G4 Digital Audio, 1.33GHz 7455B CPU upgrade, Pioneer DVR-115, 1.5GB CL2 RAM, Mac OS X (10.5.8), Radeon 8500 Mac Edition, upgraded case + PSU fans
  • AJ Level 5 Level 5 (7,065 points)
    I think the screensaver selects pictures in alpha-numberic order.
    So if the files in the source folders are not the same, then that may explain why the pictures don't match.
    Quad 2.66, Dual 1.42 MDD, Mac OS X (10.5.7), 23"HD
  • V.K. Level 9 Level 9 (56,120 points)
    G J Piper wrote:
    Ok... so I've been waiting, watching, and searching for a transparent screensaver that could work in Leopard for nearly 3 years. Well, I finally found one! The screensaver is called MBS Transparent Screensaver. Finally I'd get to see my wonderful desktop pictures and watch my email while the screen is locked!

    Well, after finally getting this functionality, I've been disappointed by the realization that the desktop pictures do not rotate automatically while a screensaver is running.

    Is there any way to force the desktop pictures to rotate as they do when the screensaver is not running? Possibly an undocumented setting somewhere? Or, is there any UNIX command that can cause the desktop to refresh to the next image in the rotation?


    the only way to achieve this would be pretty hacky. you'll have to switch off the picture rotation in desktop background preferences and make an apple script that changes the background picture to a random one in a folder of your choice. then make a launch daemon to run this apple script periodically. do you REALLY want to go through this? I can supply the details if you wish.


    Any ideas or help would be appreciated.
    Mac Pro 3.2 GHz, Mac OS X (10.5.8), Mac Pro 2.66GHz, powerbook G4 1.5GHz
  • V.K. Level 9 Level 9 (56,120 points)
    ok, this took longer than I thought because it seems that scripting of desktop background is a bit buggy. anyway. paste the following into Script Editor and save it as a script somewhere.

    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px; height: 335px;
    color: #000000;
    background-color: #ADD8E6;
    overflow: auto;"
    title="this text can be pasted into the Script Editor">

    delay 10
    tell application "System Events"
    --activate
    -- SET DESKTOP TO SPECIFIC PICTURE
    tell current desktop
    --set picture rotation to 0
    set curpic to picture

    end tell

    tell application "Finder"
    set i to index of file curpic
    set curfolder to container of file curpic
    if i < (number of files in curfolder) then
    set i to i + 1
    else
    set i to 1
    end if
    set newpic to item i of curfolder as alias



    end tell
    tell current desktop
    set pictures folder to curfolder as alias
    set picture rotation to 0
    set picture to newpic
    end tell
    quit
    end tell

    </pre>

    then download Lingon
    http://sourceforge.net/projects/lingon/
    and make a launch daemon that runs the following terminal command at an interval of your choice

    osascript path/to/above/script

    put the correct unix path in the above command.
    save it and log out/in. the script will rotate the pictures consecutively at the period you specified in the launch daemon. you can change the folder with pictures as you normally would in desktop system preferences.

    Message was edited by: V.K.
    Mac Pro 3.2 GHz, Mac OS X (10.5.8), Mac Pro 2.66GHz, powerbook G4 1.5GHz
  • V.K. Level 9 Level 9 (56,120 points)
    yes, a cron will be just fine. the "delay 10" line is from some troubleshooting. without it launchd barfs on login because it seems that the launch daemon (and hence the apple script) gets activated too early in the login sequence. at least that's what happened to me when i tested the script. so I put the delay there for safety. you can experiment with that delay and see if you can get rid of it at all.

    Message was edited by: V.K.
    Mac Pro 3.2 GHz, Mac OS X (10.5.8), Mac Pro 2.66GHz, powerbook G4 1.5GHz
  • V.K. Level 9 Level 9 (56,120 points)
    with 2 monitors the script should be altered but in its current form it should work on the primary monitor. make sure your desktop background preferences are set NOT to rotate before you run the script.

    here is what the script should be with multiple monitors

    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px; height: 335px;
    color: #000000;
    background-color: #ADD8E6;
    overflow: auto;"
    title="this text can be pasted into the Script Editor">


    tell application "System Events"
    --activate
    repeat with j from 1 to number of desktops
    delay 2
    tell desktop j
    --set picture rotation to 0
    set curpic to picture

    end tell

    tell application "Finder"
    set i to index of file curpic
    set curfolder to container of file curpic
    if i < (number of files in curfolder) then
    set i to i + 1
    else
    set i to 1
    end if
    set newpic to item i of curfolder as alias



    end tell
    tell desktop j
    set pictures folder to curfolder as alias
    set picture rotation to 0
    set picture to newpic
    end tell


    end repeat
    quit
    end tell
    </pre>

    Message was edited by: V.K.
    Mac Pro 3.2 GHz, Mac OS X (10.5.8), Mac Pro 2.66GHz, powerbook G4 1.5GHz
  • V.K. Level 9 Level 9 (56,120 points)
    the second script I posted above should work with any number of monitors. i tested it with two monitors and it works for me. please try it.
    Mac Pro 3.2 GHz, Mac OS X (10.5.8), Mac Pro 2.66GHz, powerbook G4 1.5GHz
1 2 Previous Next

Actions

More Like This

  • Retrieving data ...

Bookmarked By (0)

Legend

  • This solved my question - 10 points
  • This helped me - 5 points
This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the Apple Support Communities Terms of Use.