The Nexus
Show navigation Hide navigation
  • BLOG
  • ABOUT
    • Ego Surfing
  • PROJECTS
    • n2
    • S2ajax
    • Condo
    • ezEdit
    • FreeBlog - Air
    • Tooredo Alpha
    • Tools
    • Journlr, Again!
25 Jul 2011 | 2 min. (405 words)

Google+ on your desktop/in Safari + user script, just working

In this post:

  • Google+ on your Mac, using its own credentials

  • Google+ as its own desktop app, with a nice icon

  • Using a complex GreaseMonkey script in Safari or Fluid

I really like Google+ but I have more than one Google account so it was a pain to use because Google’s cookies are shared among all Google services and I had to constantly switch accounts.
I decided to turn it into its own application , with its own cookies.
I could have run it in a different browser, such as Opera, but it seemed a tad overkill.

So, I finally decided to send some money Todd Ditchendorf’s way and spend the “outrageous” $4.99 required for a full version of Fluid, the application that turns web pages into their own desktop application.
I did not use Prism because it seems to be all but abandoned. I did not use Bazinga or an automator script because both share their cookies with Safari, which Fluid’s full version offers not to.

After downloading and registering Fluid, I created an application that load https://plus.google.com
I gave it a nice icon thanks to Sean McCabe’s vector set, [available for free in his blog](http://boldperspective.com/2011/free-google-plus-icon- vector/).

I could have declared victory at that point but I wanted to perform some customization; Fluid, like Safari, understands a subset of the GreaseMonkey API so that shouldn’t be too difficult (Safari requires GreaseKit or NinjaKit)

Jerome Dane wrote a great “G+ Tweaks” script, available at userscripts.org. Unfortunately, it uses a bit too much of GreaseMonkey’s built-in power and wouldn’t work at all in Fluid.

Issues :

  1. The script tries to load external JavaScript using the require command (not available)

  2. It uses GreaseMonkey functions, such as GM_setValue(), that Fluid does not understand

I worked around (1) the ugliest way possible: I copy/pasted the external Javascript in the script itself.
As it turns out, it is not as bad as you may think: GreaseMonkey does not reload ‘required’ scripts dynamically; it merges them internally at installation time, which means that we are doing something very similar.

And (2) was a simple matter of adding a few bogus functions: a user called aeosynth posted a short version of those missing functions on userscripts.org’s forums.

And now, if you are feeling brave enough, you can view the whole script by clicking the link below. You can copy and paste it into Fluid’s scripts editor, with the pattern ‘plus.google.com’

The script

Comments powered by Talkyard.

A fast, low-memory growable array for Android

Cross-Compile Android (CM7) on OS X

2022 The Nexus