iShell

Logo

A linguistic interface for web browsers

View the Project on GitHub GChristensen/ishell

Software by g/christensen gchristensen.github.io

❤️ Support the Project

iShell Extension

Firefox Firefox Add-On :: Chrome Chrome Extension

screen

SEE ALSO: Enso Launcher, Scrapyard

Description

iShell is a browser add-on available by the Ctrl+Space key combination that lets you give commands to a browser by entering text into a special input box. Commands are shortcuts for things that you commonly do on the Web; they can eliminate repetitive tasks and let you get more done, faster. You can instantly obtain interactive results of command execution in the same window. It is possible create your own iShell commands in JavaScript.

The complete list of the builtin commands is available here.

Create your own commands

iShell allows to declaratively define and automatically parse commands with prepositional arguments. For example, consider the command show-text with the following syntax: "show-text hey! in popup". It has the prepositional argument named in and the nameless first argument. iShell command parser will automatically provide values (hey!, popup) of the arguments to the command handler methods after you enter it in the input box.

iShell commands have full access to browser WebExtension APIs and jQuery. This gives you the ability to extend the browser almost effortlessly. Find more information on command authoring in the tutorial at iShell setting pages.

History

iShell is a WebExtensions revival of Mozilla Ubiquity, an ingenious experiment in linguistic user interfaces. It aims to bring back the full functionality of Ubiquity to Firefox Quantum and provide a clean, unified modern object-oriented command authoring API.

The legacy Ubiquity had a command subscription model, where you were supposed to subscribe to third-party commands that were updated automatically. For security reasons, there is no such model in iShell. You need to manually maintain third-party code in the iShell command editor by using the install command.

Despite that, iShell is still immensely useful if you can write JavaScript to automate things you have (web)APIs for or to extend the browser functionality without much effort. The add-on allows to create interactive presentations of any complexity with the standard CSS and HTML.

Some additional features not found in the original Ubiquity

API keys are necessary for some built-in commands

Some built-in commands now require API keys of their corresponding services. If the help links at the iShell interface provide not enough guidance to obtain them, please see the project GitHub page.