For this purpose, I wrote a small Symbol Information Palette. This palette let's you quickly look up usages, options and attributes of symbols and was tested on Mac OSX and Linux.
Installation
The source code is hosted on my GitHub site but to preview or install the palette you only have to evaluate this:
Get["http://goo.gl/QPywk"]
The link is just shortened and points only to the raw sources of my palette on GitHub.
After evaluation you get 3 buttons. Show Palette let's you test it without installing something. Install Palette installs the palette in the user palette directory
FileNameJoin[{$UserBaseDirectory, "SystemFiles", "FrontEnd", "Palettes"}]
With Install Path you can install it in a different location.
Usage
It is designed to be as minimal and informative as possible. The windows created by this palette have no Close or OK button, instead (since they are dialogs) they are closed by simply hitting Esc.
If you want information about a symbol, you can, but you don't need to select it and press a button. It is sufficient when the cursor is anywhere in or at the symbol. This means to get information about Graphics
the cursor just needs to be at any of the |
when you click a button: |G|r|a|p|h|i|c|s|
.
Usage button: The Usage button displays the usage message of a symbol. You can use the second mouse button and click on the this window and the documentation center opens automatically the page of the symbol. Here an example for Get
Please note, that if you select something which has no usage message and you see the window with No usage message available you can still click on it to search the documentation center.
Options button
The options button displays a custom made panel which is awesome. You get a scroll-able list of all options of a symbol and you can click on each option to get an inline view of the usage of this option. Additionally, when being over a such an inline usage message for a second you get a tooltip with the default value. Not to mention, that you can use always the secondary click to open the documentation of this option!
Attributes button: Ever wondered why your Plot
uses only one color when you don't give an explicit List
of functions? Ever wondered why something is evaluated or not evaluated as you expect it. This button is a quick way to display all Attributes
of symbol neatly arranged.
Further development
If I find time, then I want to implement some further features
- Changing of attributes if possible.
- Investigate in
OwnValue
, UpValues
, DownValues
, SubValues
, FormatValues
, NValues
- Creation of template code to insert custom code snips into built-in function
Known Issues
jVincent mentioned that the option-panel is sometimes slow. In this panel, every button is a small DynamicModule
because I couldn't find a way to implement the behaviour I wanted with the usual tools like Button
. As example, jVincent mentioned the option-panel of CreatePalette
which is probably a bad choice for generalisation because with its 281 options it plays in the top 10 of the 4623 symbols in Names["*"]
regarding number of options. Even Graphics
has only 38 options.