Require advice on Leopards Printer Setup Utility replacement please


Leopard is nice, but boy, have they changed things around. I have a very long script that chooses different printers, and checks their availability, using Printer Setup Utility from Tiger. Of course, printing no longer uses that App, and it seems that printing is now handled at an OS level. At least I can’t find a replacement app for PSU.

The following line doesn’t work anymore. Does anyone know how to address the new print routines? OR, where can I find any info on the changes and Applescript requirements?



tell application "Printer Setup Utility"
		set DelayCycle to 1
			delay 0.2
			set ThePrinterStatus to status of printer PrinterName as string

Hi Santa,

Printer Setup Utility is still present in /System/Library/CoreServices/Printer Setup
You can’t launch the app (its GUI has been removed), but it’s still scriptable

Thanks Stefan. Unfortunately the App in its present form must need addressing differently. The last line above generates an error …
Sunday, 4 November 2007 9:31:55 AM Error number : -1700
There is a Printer problem with printer Stylus Photo R390

Can’t make «class stat» of «class prnt» “Stylus Photo R390” of application “Printer Setup Utility” into type string.[/b]

Do you happen to know what I should do? I’ve tried various things, to no avail.



Hm, it works flawlessly on my machine

Maybe try to launch the app explicitly

tell application "Printer Setup Utility"

or try to read the dictionary, that Script Editor recognizes the app.
I’m use Script Debugger and dragged the app onto the Script Debugger Icon in the dock to determine if it’s still scriptable.
Maybe that’s the reason why it works here

Thank you once again Stefan.

Turned out that Leopard addresses the printer by a different name. I’ll have to check the printer names for all the printers we’re using…

The following worked.

set PrinterName to "Epson Stylus Photo R390"

tell application "Printer Setup Utility"
	set ThePrinterStatus to status of printer PrinterName as string
end tell