1 Jul
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:
], 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…
]
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).
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 …
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:
An couple examples:
Let’s be honest. I have most of this working already, it just takes a lot of work:
But to get the definition of a word, I have to
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?