Solved

apple script daily change desktop background

Posted on 2009-07-03
7
984 Views
Last Modified: 2012-06-27
I am looking to have the following...

*Applescript change my desktop background

*Have the change done daily (per week)

I tend to look at my screens too long sometimes.

I would just have 7 colors jpgs for the script to run from.


I am not a Apple Script guy... just php.

So I am looking at ways to do this automated on startup.


Thanks!
0
Comment
Question by:seaword
  • 4
  • 3
7 Comments
 
LVL 5

Expert Comment

by:AGoodKeenMan
Comment Utility
In leopard this is available in System Preferences -> Desktop, however I suspect it is not in Tiger, so try the following script. Copy and paste the text below into "Applescript Editor", change the pathToImages variable to where ever your folder of images is and save the script where ever you like. Then in iCal setup a new event and set the alarm to run this script once a day.
-- Applescript to randomly change Desktop picture

-- Note does not check if file is an image
 

set pathToImages to "Library:Desktop Pictures:Nature"
 

tell application "Finder"

	if folder pathToImages of startup disk exists then

		try

			set desktop picture to some file in folder pathToImages of startup disk

		on error

			return 0

		end try

	end if

end tell

Open in new window

0
 

Author Comment

by:seaword
Comment Utility
Thanks, i just want to keep it all in action script though....

I use a different day management software for my work.


I was hoping that you might know of an " IF THEN" statement for applescript.

That way the script could just check the OS date and time.

SO I would have conditionals for the time and days.

That way I could edit the file myself.


0
 
LVL 5

Expert Comment

by:AGoodKeenMan
Comment Utility
Having an applescript looping all day is not an ideal solution. With ical you can schedule the script to run at a certain time of the day and repeat when ever and as often as you like.
Another idea might be to run the shell script below from a cron job.
You can read more about setting up a cron job here:
http://www.macosxhints.com/article.php?story=2001020700163714
#!/bin/sh -

#

# cron job to run applescript
 

osascript /path/to/script

Open in new window

0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Author Comment

by:seaword
Comment Utility
The script would only be run once at startup.

i guess a cron job would work as well...


can you give an example of how I could do an IF THEN conditional in applescript?
0
 
LVL 5

Expert Comment

by:AGoodKeenMan
Comment Utility
I should have thought of this earlier, you can run a script at login. Just add the script below to the login items for your user account.

You can edit theHours and theMinutes variables to suit your timing requirements. (currently set to 1:30am)


-- Applescript to randomly change Desktop image once a day

-- Does not check if file is an image
 

property lastTimeRun : ""

set pathToImages to "Library:Desktop Pictures:Nature"

set theHours to 1 -- must be less then 24

set theMinutes to 30 -- must be less than 60
 

tell application "Finder"

	set theDate to current date

	

	-- Check if the script has already been run today

	set today to date string of theDate

	if lastTimeRun is not today then

		

		--Check to see if it is time to run the script today

		set currentHours to (hours of (theDate))

		set currentMinutes to (minutes of (theDate))

		if (currentMinutes e theMinutes) and (currentHours e theHours) then

			set lastTimeRun to today

			if folder pathToImages of startup disk exists then

				try

					set desktop picture to some file in folder pathToImages of startup disk

				on error

					return 0

				end try

			end if

		end if

	end if

end tell

Open in new window

0
 
LVL 5

Accepted Solution

by:
AGoodKeenMan earned 500 total points
Comment Utility
It looks like line 19 has some encoding problems, replace it with the one below (hopefully).
if (currentMinutes >= theMinutes) and (currentHours >= theHours) then

Open in new window

0
 

Author Closing Comment

by:seaword
Comment Utility
Thank you for taking time to help me.

I actually looked into 10.5.6 and the improvements they made to scripting.

The bridge (python / C / JS / ruby) is huge.

Thank again.  
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Do you come here a lot? Are you lazy like me and don't want to go through the "trouble" of having to click your Dock's Safari icon and then having to click your Experts Exchange Favorites bookmark to get here? Well then this article is for you.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now