Keys That Click - Minding your own design business and other observations

Full-screen Browsing with Webkit on a Secondary Display

Posted in Web, on April 26th, 2010 by Carlos.

When I was working on my Status Board, I knew I had to find a full-screen browser that would open on my secondary display to make the whole thing work. Surprisingly enough, it was a lot easier said than done. Can you say niche problem? I know it is, but it’s the kind of information I wish I had found when I was researching browsers, so hopefully this comes in handy for some people. And if, you’re looking at building your own status board, this really may come in handy!

For starters, I knew I wanted to base my Status Board app on Webkit, and not Mozilla, or anything else for that matter. My second criteria was that I couldn’t use Safari. For one, it doesn’t support full-screen browsing, but also, I open and close Safari multiple times an hour, so I know I would unintentionally close my status board even when I didn’t intend to.

My first attempt was with Fluid. Being able to run the browser as it’s own process would allow me to prevent the unintentional closing of the browser window. I currently use it for Google Reader, and even my posts to Keys That Click and love having these windows be independent of my Safari browser. I was happy to see Fluid had a full-screen option. I was disappointed, however to see that it didn’t work properly with a secondary display. If you throw your Fluid browser window onto your secondary display, and enable the full screen mode, it throws the browser back to your primary display with the window/toolbars/etc. hidden. It just doesn’t quite work right. I tried various ways of opening and positioning the browser to see if I can make it work, but I eventually had to give up.

I then turned to Chrome which was the next logical choice. I’ll skip details on this one until later in the article, as I’d like to cover off a couple other browsers I tried.

My hunt was on for other webkit-based browsers for the Mac. Next I tried Shiira, an open-source webkit browser. It to has a full-screen mode. Unfortunately, when I opened my status board in full-screen on my secondary display, the screen went completely white. Looks like theirs some bugs there that need to be figured out. In fact, as I’m writing this article, and am trying to replicate the issues I ran into, the full-screen mode isn’t working properly on my primary display either. It tries to open up the window on my secondary display, but it shows up positioned many hundreds of pixels off center. It also didn’t seem to allow launching in full-screen mode, which would be ideal.

My search continued and I stumbled upon Plainview, by the Barbarian Group. On their FAQs, they quite simply claim Plainview to be a full-screen web browser. Thinking I found the holy grail of full-screen webkit browsers, I gave it a shot. Given that it is meant to be run solely as a full-screen browser, it obviously has the ability to launch in full-screen mode. But once again, having dual displays created a problem for the app. After moving the window to my secondary display, and trying to start it up, it goes to full-screen on my primary display. I did bring this point up to the developers, and it is a known bug that they are working to fix. Apparently it is a much trickier issue than it sounds. I’ll be checking back with them to see if they fix this feature in future builds.

After all that, I figured I’d have no other choice but to turn to Chrome. So what’s so bad about Chrome? Well to be honest, it’s not bad. It’s a decent browser and renders things well, and is stable enough (even in Beta). For starters, it’s full-screen browsing mode works on my secondary display. Given that the development team for Chrome must be sizeable-enough, I would have been surprised that this wouldn’t work properly. There is one thing that I wish it had though, and that is the ability to launch the application in full-screen mode. I currently have my status board set to the homepage, and have Chrome launch on system startup. I, however, have to manually enable full-screen mode. Given that I have to do it typically only once a day, it’s not that much of a problem. But still, it would be nice to have it launch in that mode automatically. Another plus, that it has even has over Safari, is that it supports inset CSS3 shadows, where, it seems that Safari currently doesn’t! As I used a couple of inset shadows, this was a welcome feature.

So there you have it, a quick run down on full-screen browsing with webkit browsers on a secondary display.

5 Responses to “Full-screen Browsing with Webkit on a Secondary Display”

  1. Carlos says:

    I made a small addition to the AppleScript that Don provided. When you enter fullscreen mode in Google Chrome, the dock and menu bar disappear until you click back on your desktop to bring the focus back to finder. So, to get around this, I had the script activate Finder after sending the full-screen command to Chrome. I had to add a short delay, as without it, the full-screen command didn’t seem to work.

    tell application “System Events”
    tell application “Google Chrome” to activate
    keystroke “f” using {command down, shift down}
    delay 0.5
    tell application “Finder” to activate
    end tell

  2. Carlos says:

    Sir Don… you are a genius. That little Apple Script ditty did it! I owe you lunch!

  3. Don says:

    Have you looked in to using automator or applescript to then switch chrome into fullscreen on startup? If there is a shortcut in chrome for going full screen it would be pretty trivial to accomplish.

    • Carlos says:

      I tried “Watch me do” with Automator to send the key commands to switch to full-screen, but it didn’t seem to work. Chances are I was doing something wrong in all honesty. Is there a way to send a keyboard command without recording the keystroke?

      • Don says:

        applescript is pretty simple… in fact so simple I just wrote it for you (assuming you allow pre tag to maintain formatting)

        tell application “System Events”
        tell application “Google Chrome” to activate
        keystroke “f” using {command down, shift down}
        end tell

        I’ll let you figure out how to use it :)

Leave a Reply