Someone asked on the GeoShell Forums for someone to give them a “productivity” reason to use GeoShell … and it made me think about what’s missing from my favorite shell, and what I want to do in the future…
My typical answer to: “Why should I use GeoShell?” is this:
- It gives you more control over the way you interact with your computer. That is:
- You can use hotkeys, or menus you operate with your mouse
- You can have buttons, or just click an open space on the desktop
- You can have fancy skins, or just a plain grey bar.
- It makes your computer easier to use by providing faster ways to start and control your programs:
- You can have dozens of buttons to launch applications organized on bars by functionality, and have each function pop out of a different side of the screen
- Or you can have four or five buttons that pop out menus
- Or you can have four or five menus accessible by hotkey
- Or you can have all of the above. Any of them is faster than “Start -> Programs -> Microsoft -> Office -> Word”
- You can have hotkeys which bring a specific application to the foreground (Win+B, and poof there’s your browser, whether or not it was running before)
- Gives you more powerful options, and enables new ways of receiving and managing information
- We have a command-line plugin which is so powerful and extensible, you can use the same command bar to find a book by ISBN on Amazon, or the Library of Congress [
], to lookup a word on Merriam-Webster, or in wikipedia, to find an MSDN article by “Q” number, or search the whole MSDN site through Google…
- We have system information plugins to show you free ram, disk space, even CPU temperature.
- And it can still use less memory and/or system resources than the explorer shell [
]
But I can go further than that: Chording rocks.
I discovered “chording” shortly after GeoShell acquired the ability to bring up menus on a hotkey press, and this is the number one way that geoshell saves me time. Chording is essentially an extension to hotkeys …
hotkey (noun)
A key combination which can be pressed to activate a feature. Such as pressing WIN + M to minimize all your applications.
chord (noun)
1. Music. A combination of three or more pitches sounded simultaneously.
2. Computers. A combination of two or more hotkeys pressed in series.
So, I have 5 different menus configured to pop up on hotkeys. Each one has between 5 and 10 items on it, and I’ve long since memorized their names. In fact, I name the menu items generically like “mail” for my email client, so that if I decide to switch email clients (say, from Pegasus to Thunderbird), the menu items stays the same, I just change what the shortcut points to. Since the first letter of the menu is the final key of the chord, this is especially important. It means that since windows 95 and NT4, I’ve used the exact same process to launch my email: I press the hotkey (Ctrl+Alt+I) to open my “Internet” applications menu, and then press “m” to get my mail application. Of course, this extends to between 30 and 40 of my most commonly used applications (plus a “games” menu which changes often enough that I have to actually look at the menu sometimes to remember what the keystrokes are).
But we can do better: One instance is enough.
The problem with the menu system for launching applications is that it always launches the app. We have a plugin called GeoSwitch which allows you to set a hotkey which will launch the application only if it’s not already running. If it’s running, it simply bring the running instance to the front as though you’d alt-tabbed to it. My problem is, I find the chords easier to remember. So I think I’m going to have to work on a variation of GeoSwitch that lets me group my applications …
The next big thing: Information Management.
As I mentioned before, GeoShell R4 has a plugin called GeoCommandTime, which when at rest shows me the date and time. But it also hides a very powerful command box which lets me launch applications, do google or other searches, and more… and it’s inspiring me to another area of improvement.
I’ve been thinking about GeoBot (a script that runs in our IRC channel). That script does some of those lookups and actually returns the information in text to the channel, instead of a link to it. My imagination is running wild, but can’t I put some “information” structures into the next big thing?
I want to be able to make calls to “information services” which will take a query word, or phrase, or regex, and will return a result in rich text. Then, I’ll have some “information notifications” which will allow popping up an alert dialog, or an instant messenger-style fading popup window with the text on it, or putting the text in the clipboard, or even pasting it at the keyboard focus location … or even reading it aloud (*gasp*).
I want to be able to:
- Highlight something in whatever I’m working on, and
- Press a hotkey
- The selected text should be automatically captured
- And a prompt or menu should be displayed
- I’ll select what I want from the menu/prompt (another instance of chording)
- The selected information service will go and retrieve the information
- Focus will be returned to the application I was in (this is very important), and
- The results will be put in the clipboard or appended to the selection
An couple examples:
- I select your username from an email or the geoshell forums, and trigger my “GeoShell Tech Support” menu and choose “Find Email.” A service (a script?) is launched which uses the forum’s profile pages as a web service to find your email address and put it in the clipboard.
- I select a word from an email or webpage, or PDF that I don’t understand, and trigger my “Resources” menu and select “Define,” upon which I receive a definition from m-w.com in one of those alert popups that fade away after a few seconds.
I can do this now. But I want my wife to be able to.
Let’s be honest. I have most of this working already, it just takes a lot of work:
- I have a script which can go to a webpage and scrape information off it, but the script has to be carefully configured in XML with an XPath statement or a regular expression to retrieve the correct information.
- I have a control I wrote which allows me to pop up those fade-away alerts from any script.
- I have another control which lets me insert things to the clipboard from a script.
- I have the URL’s collected for automatically searching Google, Merriam-Webster, PriceWatch, Wikipedia, the Library of Congress, the patent office, the MSDN website, and so many more …
But to get the definition of a word, I have to
- Select the text I want to search for,
- copy it to my clipboard
- press my GeoCommand hotkey,
- type “mw “ (or whatever the keyword is for the search I want to do)
- Paste the word and press enter
And even then, I generally still have to read the result from the web page that pops up, unless I had manually configured that web-scraping script for this particular website. (I haven’t, for the merriam webster site). To get a user’s email, I would have to do the same thing, except I haven’t figured out how to get past the “search results” page on the forum to the actual profile page, so I actually have to click on the search result before I can select and manually copy off the email address.
So. Who’s with me? Shall we put some information-age technology into GeoShell?
Similar Posts:
- None Found
wow…this has inspired me to write a set of python scripts and a controller program that does this, until this shows up in geoshell (incidentally,
myfavorite shell, too _)i can see this making my life infinitely easier, as i am always running searches and stuff like that…
rockin!
Well TheoMurpse, if you want my COM component for the clipboard, and pop up notifications and sounds and stuff … it’s over here
/me foresees Rx being abandonded and Ry being started
I didn’t know it was possible to bind a GeoMenuLaunch to a hotkey. Could you detail the process that you used to get the chording configuration working?
Phoenix: yeah … you can set hotkeys to MENUS, not to GeoMenuLaunches. I’ll write up a description of my setup on the new documentation site right now…
heh, cool little bit this geoShell. I hadn’t heard of it till i came looking at your wordpress acronym plugin. So, being adventurous I installed this morning and after some serious startup problems (big my documents directory it turns out) i have it up and running.
overall I like it for its minimalism. thanks for the handy shell replacemnt.
there’s a similar program that does similar tasks and apply the same thought.and it’s free.whatever ,i’ll give geoshell a try,but the web is hard to log on!!
hard to access,it always turns out blank.ooh,hard to get geoshell
You can always get it from SourceForge