- The real power in GeekTool is displaying output from shell scripts, which makes the 'Geek' in GeekTool apt for many. Once the Preference Pane is installed, you can create a new 'Geeklet'.
- Jan 04, 2009 No external script paths, just simple shell commands. I have an air, 10.6.6 and geektool v3 runs horrendously slow. It can take 5 minutes to properly place a window. Just clicking on it in the menu bar takes 3 seconds to pop up. Typing in the size box for example can take 30 seconds. Anyone else having serious lag using it with v3 after adding.
- @t.h.chia - The instructions are at the top of the script. Open the script in a text editor and it should be pretty obvious. @ the rest of you: It's failing on accented characters, but only when run through GeekTool? That sounds like a GeekTool bug, so I'm not sure there's much a can do, but I'll look into it.
- I want to run a Ruby script in Geektool that refreshes every 3 hours (so I set the refresh rate to 10,800 seconds) and the shell command in Geektool has this code in it: ruby '/file.rb' The file is located at root for convenience. Problem is, it won't run. I tried different commands, such as.
Geektool Scripts Date
Concepts
GeekTool is the MacOS alternative to RainMeter. It grants the same level of customization as RainMeter does with just a bit extra work. There is some scripting involved, but don’t let that intimidate you—GeekTool really is easier to use than it looks. Here’s how to get started. Download GeekTool.
AppleScript has been introduced in GeekTool because some users wanted to extend possibilities in ways that could not be implemented directly into the software.That's why it is a very powerful tool that will let you go far beyond the standard features of GeekTool.
The structure of scriptability in GeekTool is quite simple. The application object is composed of geeklet objects and group objects.
Each geeklet object has a set of properties and attached groups.
Each group can be set visible or not, this has the same effect as enabling or disabling groups in the menu or in system preferences.
Example
An easy way to get a list of geeklet objects is to run this simple script in Script Editor :
Geektool Scripts Geeklets
This produces an output like this :
As you can see, geeklets are referenced by their ID. This ID is generated when you create the Geeklet from System Preferences, and is unique.
A convenient way to get the ID of a given geeklet is to open GeekTool Preferences, select a geeklet, and double click on the bottom of the inspector palette where the ID is displayed. This will copy the ID in the pasteboard.
Geektool Scripts Weather Image
You can also get a given geeklet by its name, as long as you did set one in the inspector, like this :
It should return an output similar to this one :
Now you know how to reference Geeklets, let's see what you can do with it.
Manipulating Geeklets
This shows how to hide or show individual geeklets :

The only way to get it back is to set the property back to true, or relaunch GeekTool.
Geek Tools For Windows
This flag will totally ignore groups settings. It will show, or hide a geeklet without checking if the geeklet should be visible or invisible according to currently enabled groups.
Manipulating groups
Here is how you can show or hide groups.
Refreshing geeklets
Another useful feature is the refresh (or refresh all) command
This will refresh all geeklets eligible to a refresh action (not File, which are continuous)
tell application 'GeekTool Helper' to refresh all
This will refresh a specific geeklet
tell application 'GeekTool Helper' to refresh geeklet id 'CAD821B6-EBC9-42CF-ADDC-AB3A473D1D7B'
Note the short notation used here, without tell / end tell block, this is standard AppleScript shortcut.
A long form would be :
Getting GeekTool dictionary
There is a little trick to get the GeekTool dictionary in Script Editor because the actual scriptable application is hidden into the .prefPane bundle.
- In Script Editor, open the Library from the Window menu (Or Shift-Command-L)
- Go to
/Applicationsdirectory in the Finder - Right click (or control click) on GeekTool, and choose 'Show Package Content'
- Go into
Contents/PlugIns/ - Right click (or control click) on GeekTool.prefPane, and choose 'Show Package Content'
- Go into
Contents/Resources/ - Drag and Drop 'GeekTool Helper' application to the Library window of Script Editor
A more complex example
This script displays a dialog where you can select one or multiple geeklet to refresh nowCourtesy of Philippe M.