jsshell 2.0 - The Release

Today you can download jsshell 2.0. This new version has a lot of new features. If you've never used it before you can visit the jsshell project page.

Basic Usage

Here are the basics of using jsshell.

  • CTRL + Enter : Runs all of the code in the current window. You can also highlight the code you want to run and press the same keys to run just the selected code.
  • CTRL + Delete : Wipes out all of the code currently in the editor.
  • Double Click the Title bar : This will minimize and restore the code window on the page.

You can drag the window around the screen and also resize the text area by clicking the corner of the textarea and dragging it to the correct size.


You can now adjust settings in jsshell to behave how you want. Below are some commands you can use.

  • js.setting("allowAuto", true|false) : Turns on and off the ability for commands to run automatically when browsing to a web page.
  • js.setting("autoDelay", milliseconds) : The time to wait before attempting to run a command automatically on a page.
  • js.setting("showHint", true|false) : Turns on and off the 'intellisense' box with the page elements, classes and ids.
  • js.setting("displayNodes", true|false) : Turns on and off is the 'Growl' style boxes can appear or not.
  • js.setting("autoShow", true|false) : Turns on or off if the box should automatically appear at the bottom of every page (without clicking the jsshell icon)
  • js.setting("onlyTop", true|false) : (experimental) Causes the editor window to only appear in the top frame and not any other sub frames.
  • js.color("dialog|editor|font", "#color") : Changes a color setting for the jsshell window.


jsshell now allows settings to persist from session to session and page to page. * js.data.list() : Shows a complete list of all data currently saved for the browser. * js.data.save("key", {object}) : Saves an object to the data container. Uses JSON.stringify so be careful what you save. * js.data.load("key") : Returns the object the data found in the container of the key provided. * js.data.edit("key", delegate(data) { }) : Edits the data found with the method provided. The method must return the data or nothing will be saved. * js.data.use("key", delegate(data) { }) : Similar to the edit command, but just allows access to the data. Nothing will be saved regardless of what is returned.

Other Built In Commands

jsshell also has several other built in commands that perform a variety of tasks.

  • js.call("command") : Invokes a built in command like nostyle or any custom commands you have created.
  • js.note({message:"message", [title:"title"]}) : Displays a 'Growl' style popup box with a message inside. The Message accepts HTML so you can include links.
  • js.go("url.com") : Browses to the url provided in the command.
  • js.debug() : Nothing special...

Shortcut Commands

Shortcut commands can be called by simply entering !commandName or with js.call("commandName").

  • !nostyle : Removes style information from the page like stylesheets, attributes and classes.
  • !flash : Attempts to move the jsshell window over the top of Flash elements on the page.
  • !save : Manually saves the settings for jsshell, but you shouldn't ever need to call it. Special for all you paranoid people out there @html.smile()
  • !reset : Resets all information for jsshell and returns to the default settings.

Custom/Auto Commands

One of the cooler new features is that you can write custom commands to run as soon as you get to a page. You can specify a regular expression to evaluate the URL you navigate to and then have a custom command run right away (or multiple commands). If you don't want to run them automatically then you can still invoke them by using the Shortcut Command syntax shown above.

  • js.custom.edit("commandName") : Shows the dialog to allow you to make changes to a custom command.
  • js.custom.remove("commandName") : Removes a custom command from your settings.
  • js.custom.list() : Displays a full list of all commands available in your settings file.

January 11, 2010

jsshell 2.0 - The Release

New features found in the 2.0 version of jsshell