How to show a message box from the filter

Michael R Sweet msweet at apple.com
Mon Aug 4 09:13:46 PDT 2008


keens312 wrote:
>> keens312 wrote:
>>> Hello,
>>>
>>> I am developing a filter driver on Mac OSX.
>>>
>>> A messagebox(with a button on it) should be show up in some cases.
>>>
>>> Does the CUPS provide a way to define the UI in Drv file and show it up with cups APIs?
>> No, there is no way for you to directly communicate with the user.
>>
>> Keep in mind that your filter may not be running on the same system
>> as the user, or the user may not be logged onto the console when the
>> job actually gets printed.
>>
>> About all you can do is use STATE: messages to make the printer queue
>> icon bounce in the dock so that the user can correct the problem, but
>> your driver will need to monitor the printer to know when to continue.
>>
>> --
>> ______________________________________________________________________
>> Michael Sweet, Easy Software Products           mike at easysw dot com
> Hi Michael,
> 
> I have to make a workaround for this, since there is no button on printer.
> 
> We just take into consideration in the case that filter running on the same system as user.
> 
> My plan is to call an external application in filter with LSOpenApplication API. When user click the button on the external application, triggered the job left.

That will not work - your filter isn't running as the login user and
has no access to the screen.  You MUST have a program either running
or registered with launchd in the user's account so that it can
receive the message from your filter and then display a dialog to the
currently logged in user.

That said, a printer driver that depends on communicating with the
user will have serious issues - it won't work with printer sharing,
users will not like dialogs popping up randomly over their
applications, and it exposes confidential jobs to interception by
the user at the computer when the job prints.

-- 
______________________________________________________________________
Michael R Sweet                        Senior Printing System Engineer





More information about the cups mailing list