Developer Resources

This section is only intended to be read by users interested in modifying or extending Salling Clicker’s functionality. You are expected to be familiar with AppleScript and/or programming in general.


Salling Clicker acts as a host for scripts that typically interact with 3rd-party applications. The hosted scripts can be invoked from the clicker item menu, from a keypad (visually created from within the Salling Clicker preferences pane), or from other hosted scripts. At this time, it is not possible to invoke hosted scripts from the “outside”.


Hosted scripts and callbacks
The hosted scripts may employ Salling Clicker to bring up a variety of widgets on a connected handheld device. This is done through Salling Clicker’s AppleScript interface.

Open Salling Clicker’s dictionary from Script Editor, to find out what functionality is available.
The script invoking a widget receives callbacks from the host as the user manipulates or dismisses the widget. In addition, some types of widgets may receive callbacks on a regular basis, so that the widget’s contents can be updated continuously.

Callbacks should be handled as quickly as possible.
In general, the return value of a callback handler determines if the associated widget should stay on the display.
A hosted script can maintain state by using AppleScript properties, as these are persisted.


The widget stack
It is possible, and often very useful, to stack widgets on top of each other to create an effective user interface. One script may invoke multiple stacked or sequential widgets. The run-handler of a hosted script should typically bring up a new widget; otherwise, the widget that was previously at the top of the stack will remain at the top. Scripts that don’t invoke widgets are called “basic” scripts.


Script-to-script interaction
Every hosted script is assigned a unique identifier (UUIQ). A script may call another hosted script through its identifier, thereby bringing to the top of the widget stack the widget invoked by the called script’s run-handler. The called script will handle callback from its own widgets. When the last widget invoked by a script is dismissed (has been popped from the widget stack), the calling script will start receiving callbacks from its top-most widget (if it has any widgets on the stack, still), and so on.
A hosted script may force the widget stack to be “popped” until the top-most widget of a specific script (by its UUUID) is reached. This can be very useful when multiple scripts are used to create a seemingly integrated user experience.
Generally, though, the return value of a callback handler determines if the associated widget should stay on top or be “popped”.


Phone event scripting
Phone Event scripts have handlers to react to proximity events, connect/disconnect events, and call events. They are pretty straightforward to write. When you create a new phone event script, it will have all the handlers supported in it already; all you need to do is add your code. Again, script properties are persisted across callbacks, and this can be very useful.


Goodies and tools
Salling Clicker’s AppleScript interface contains some commands and class properties that are useful when scripting, such as simulating keystrokes, showing a message and/or image on the Mac display, doing Rendezvous lookups, and performing HTTP GET operations. Feel free to use these.


To learn more
This chapter was just a quick overview of Salling Clicker’s scripting architecture. To learn more about how to write your own scripts for use with Salling Clicker, join the mailing list or search the mailing list archives.


AppleScript resources on the web
These links point to documents that may be helpful in learning about AppleScript, the scripting technology used by Salling Clicker:
 http://www.malcolmadams.com/itunes/
 http://www.apple.com/applescript/resources/
 http://maccentral.macworld.com/features/applescriptprimer00/
 http://macscripter.net/

 AppleScript Guidebook: Essential Sub-Routines


Sharing Action Scripts with Others

Sharing your creation makes your effort so much more valuable, doesn't it? With Salling Clicker, you have the option of sharing your action scripts in several different ways:


Post your action scripts on a web site. To make installation easy for your users, avoid forcing them to use copy/paste, as this is prone to errors. Instead, save your scripts into cgz-files that your users can download and install by drag-and-drop. You are welcome to let us know if you have posted action scripts on your site so we can link to them.

Send as email-attachment. Again, it's better to use the clickerScript file format as it allows for simple drag-and-drop directly from Mail.

What's new in 2.2.1?

Ready for Mac OS X 10.4 ("Tiger")

Support for new devices

Other minor fixes and improvements (Mouseposé in PowerPoint "pointing mode", support for AlchemyTV DVR, support for Slimserver 6.0.2, ability to locate and open VIDEO_TS folders from the DVD controller, and more)


Download and Buy

Download (4MB)

Limited to 30 clicks without activation (buy below).
Clicker v.2.2.1 is a free upgrade for existing customers.

Buy ($19.95)

(applicable taxes will be added) Activation code can be used within 15 minutes.

Need help?

Answers to common questions, User Manual, find your lost serial number


Awards & Reviews

v.2.0.1

Winner of Macworld "Eddy" award 

v.1.5

Apple Design Award - Best Mac OS X product

Apple Design Award - Most Innovative Mac OS X product


Macworld - 5 "mice" review


Top Features

Works with more than 30 models of mobile phones and handheld computers

Proximity sensor and call monitoring (with most phones)

Control iTunes, Keynote, PowerPoint, EyeTV, Squeezebox, Mail, NetNewsWire, DVD Player, VLC, Preview, AlchemyTV DVR, and more

View PowerPoint slide notes and titles (with Office 2004) and browse iTunes playlists!

Ultra-extensible via AppleScript


Product Requirements

Mac OS X 10.2.8 or later

Supported Handheld

Sony Ericsson: T630, T637, T628, Z600, Z608, T610, T616, T618, T68, R520, T39, K700, Z1010, V800, S700, S710, P800, P802, P900, P908, and P910
Motorola: A925, A1000

Panasonic: X800

Sendo X

Siemens SX1

Nokia: 7650, 3650/3600, 3660/3620, 6600, 6620, 7610, N-Gage (QD), 6630, 6670, 6260, 3230

Palm OS: palmOne Tungsten T, T2, T3, T5, Zire 72, Treo 650, LifeDrive, Sony Clié UX50, TapWave Zodiac; (in general, OS 4 or 5 with palmSource Bluetooth)

Connection hardware

Either of the following:
- Bluetooth adapter
- Built-in Bluetooth


Support

Frequently asked questions

User Manual

After-purchase Support

Forum

Developer Resources

Downloadable Scripts

Email


Gray line

Home > Salling Clicker > Developer

Copyright © 2005 Salling Software AB. All rights reserved.

Apple and the Apple logo are trademarks of Apple Computer, Inc., registered in the
U.S. and other countries, used with permission. Other company and product names mentioned may be trademarks of their respective owners.