Browsers are here to own our desktops. But they will never deliver the absolute horsepower of a natively-coded world-class desktop app or game.

These days, when you try to run one, you will find it is crippled by the browser’s 100 open tabs (admit it, you have that many open…). And lord knows you don’t want to close them all.

I am the user. I am the king. Not the last 20 sites I happened to browse, each of which is allowed to take a huge chunk of our system resources for whatever task they deem important. Once you’ve rabbit-holed down a few holes, you have given your entire system resources to them.

Don’t put up with this. OWN YOUR OWN SYSTEM.

To really take it back when you need to play a game, work in your DAW, or play a 4k video at high frame rate, you need that browser to give up ALL its resources. And in linux, that is super easy.

  • Find the parent browser process pid:
ps ax --forest| grep "[0-9][\_ ]*/usr/lib/firefox/firefox$"
  • “STOP” it. This is the magic that tells linux to just stop serving the parent process and all its children, stripping all CPU allocation from the tasks, without actually closing anything (especially your precious tabs scattered across all your virtual desktops). It’s amazing, it will freeze your browser in its tracks in an instant:
kill -STOP #pid-from-previous-step#
  • Start your powerhouse desktop app and do your thing.
  • When you’re done, you can “CONTINUE” the stopped process, kicking off the CPU to immediately start servicing all that javascript again:
kill -CONT #pid-from-previous-step#

I’ve scripted this up so I can press a media key to “stop” firefox and start up Kodi with beautiful performance. Here’s my javascript “continue” script, which uses my rad-scripts tooling:

#!/usr/bin/env node
import * as rs from 'rad-scripts';
const ffPs = rs.run_command_sync('ps ax --forest| grep "[0-9][\_ ]*/usr/lib/firefox/firefox$"');
const ffProcId = +( ffPs.trim().split(' ')[ 0 ] );
console.log( `Parent firefox pid = ${ffProcId}` );
rs.run_command_sync_to_console(`kill -CONT ${ffProcId}`);

Google implemented my results preview concept. You’ll start seeing integrated previews now in your google results – they did a great job! It’s nice to be validated, and frankly, nice to have the monkey off my back as far as trying to repeatedly resurrect Google Results Walker. Re-engineering someone else’s web site is fun as hell, until you’ve over-committed, and then the original website exits stage left on you and invalidates all your work.

It sure was a fun ride while it lasted – 50,000 downloads in its heyday, when I was knee-deep in the Mozilla Add-ons developer community. That’s the most successful software I’ve ever written, in terms of users. Coupled with the joy of a completely cross-platform solution!

So to sum up, thanks Google for improving your search in exactly the way I thought needed it to be done. :>

Stats

Official download page
Homepage

0.5.11 was reviewed and approved, which makes it public. This is great for two reasons:

  • Users can install the addon without logging in to mozilla.org
  • Users will get live updates to the latest approved version

This is VERY good stuff. To put it in perspective, I had a couple hundred downloads this morning, and I’ve been watching that number jump by 100 every hour or two – it’s currently over 600. Exciting times for my little addon!

I released 0.5.12 by request to address more international google URLS (eg, google.fr). The nice guy that requested it even donated $10 afterwards. A good day all around. :>

Official download page
Homepage

Google updated their results page today, Google Results Walker has been updated to match.

It was a simple change of the footer, from using an ID of ‘footer’ to using a className of ‘clr’ (?), but it was enough to break walker. I updated the code do more checking of assumptions, so next time the placement may get thrown off but it won’t break.

Have fun with it!

Official download page
Homepage

Includes better removal of google gunk when the preview is on. All gunk is fully restored when the preview is toggled off. :>