aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2006-02-13-using-greasemonkey-for-decent-keyboard-navigation.html
blob: 360f1c1910072edf506f9085aa63223064e7c120 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
---
date: "2006-02-13T04:31:20Z"
title: Using Greasemonkey for Decent Keyboard Navigation
---

<p>This weekend I spent some time playing with <a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a>.
<a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a> is a a great little <a href="http://mozilla.org/firefox/" title="The Firefox web browser.">Firefox</a> extension which allows
you to customize pages with JavaScript.  I also whipped up 
<a href="http://pablotron.org/files/greasemonkey/" title="Greasemonkey scripts written by me.">my own Greasemonkey scripts</a> to add navigational access keys
(<acronym title="Navigational Access Keys">NAK</acronym>) to <a href="http://digg.com/" title="Technology news and social bookmarking.">Digg</a>, <a href="http://reddit.com/" title="News and social bookmarking.">Reddit</a>, and the 
<a href="http://forums.somethingawful.com/" title="Something Awful forums.">Something Awful Forums (<acronym title="Something Awful Forums">SAF</acronym>)</a>:</p>

<ul>
<li><a href="http://pablotron.org/files/greasemonkey/digg-nak-0.1.user.js" title="Digg navigational access keys (Greasemonkey script).">digg-nak-0.1.user.js</a>: <a href="http://digg.com/" title="Technology news and social bookmarking.">Digg</a> <acronym title="Navigational Access Keys">NAK</acronym></li>
<li><a href="http://pablotron.org/files/greasemonkey/reddit-nak-0.1.user.js" title="Reddit navigational access keys (Greasemonkey script).">reddit-nak-0.1.user.js</a>: <a href="http://reddit.com/" title="News and social bookmarking.">Reddit</a> <acronym title="Navigational Access Keys">NAK</acronym></li>
<li><a href="http://pablotron.org/files/greasemonkey/saf-nak-0.1.user.js" title="Something Awful Forums navigational access keys (Greasemonkey script).">saf-nak-0.1.user.js</a>: <a href="http://forums.somethingawful.com/" title="Something Awful forums."><acronym title="Something Awful Forums">SAF</acronym></a> <acronym title="Navigational Access Keys">NAK</acronym></li>
</ul>

<p>All of the scripts add consistent keyboard navigation commands: <code>ALT-,</code>
for the previous page, <code>ALT-.</code> for the next page.  The <a href="http://forums.somethingawful.com/" title="Something Awful forums."><acronym title="Something Awful Forums">SAF</acronym></a>
script adds first (<code>ALT-&lt;</code>) and last (<code>ALT-&gt;</code>) page keys as well, but
their <a href="http://digg.com/" title="Technology news and social bookmarking.">Digg</a> and <a href="http://reddit.com/" title="News and social bookmarking.">Reddit</a> counterparts aren't quite working (yet).</p>

<p>If keyboard navigation isn't your thing, don't worry; there are a 
<a href="http://userscripts.org/" title="Central repository for all-things Greasemonkey.">gadzillion other scripts</a> to choose from.  At the
moment, my two favorite (besides the ones above, of course :D) are:</p>

<ul>
<li><a href="http://userscripts.org/scripts/show/2669" title="Greasemonkey script to join paged Ars Technica articles.">ArsTechnica - Multi-Page Viewer</a>: Join multi-page
<a href="http://arstechnica.com/" title="Comprehensive online technology news and review site.">Ars Technica</a> articles.</li>
<li><a href="http://userscripts.org/scripts/show/573" title="Greasemonkey script to add a NetFlix link to IMDb.">Netflix Links in IMDb</a>: Add a link to <a href="http://netflix.com/" title="Movie rental/delivery service.">Netflix</a> from
<a href="http://imdb.com/" title="The Internet Movie Database.">IMDb</a> review pages (there's one that goes the other way, too, but
I haven't tried it yet).</li>
</ul>

<p>Finally, If you're interested in writing your own <a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a>
scripts, here are a couple of handy links:</p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Greasemonkey" title="Greasemonkey entry on Wikipedia.">Greasemonkey (Wikipedia)</a>: <a href="http://wikipedia.org/" title="Free, collaborative online encyclopedia.">Wikipedia</a>'s entry on
<a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a>, which provides a nice summary of <a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a> 
history, technical details, and alternatives.</li>
<li><a href="http://diveintogreasemonkey.org/" title="Mark Pilgrim's open book, &quot;Dive Into Greasemonkey&quot;">"Dive Into Greasemonkey"</a>: <a href="http://diveintomark.org/" title="Mark Pilgrim, the venerable syndication and Python hacker.">Mark Pilgrim</a>'s online
<a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a> book.</li>
<li><a href="http://userscripts.org/" title="Central repository for all-things Greasemonkey.">Userscripts.org</a>: The definitive online repository for 
<a href="http://greasemonkey.mozdev.org/" title="The GreaseMonkey Firefox plugin.">Greasemonkey</a> scripts.</li>
<li><a href="http://www-xray.ast.cam.ac.uk/~jgraham/mozilla/xpath-tutorial.html" title="Using the Mozilla JavaScript Interface to XPath.">Mozilla XPath Tutorial</a>: An online tutorial explaining the 
<a href="http://mozilla.org/" title="The Mozilla project.">Mozilla</a> <a href="http://www.w3.org/TR/xpath" title="XML Path Language.">XPath</a> <acronym title="Application Programming Interface">API</acronym>.</li>
</ul>