Monday, February 1, 2010

Chromium Silver: UI Tweaks for Chromium

I believe browser UI should be all about choice, as there is no singular solution that will fit everyone's needs. Power users will usually have their own preferences and tend to set up their browsers a specific way to suit their needs, and allow for more comfortable use. This is something that is sadly lacking in Chrome / Chromium. Even in my FireFox session I have completely customized tab handling, installed an extension to remove unified navigation buttons, (that Mozilla thought each and every one of the their users will like, and decided not to include a disable setting in about:config for), and another one to disable the newfangled location bar, that I found to be pretty useless as well. With 45-55 thousand downloads for each of those extensions there are obviously quite a few people around who agree with me on this matter. These numbers may be relatively small compared to the entire browser user-base, but ignoring the preferences of 50 thousand users may not be that wise of a choice either. On the other hand there are probably users who've come to like these new features and this is fine. It's exactly why users should be allowed to enable/disable features that impact user experience, and customize behavior as they like. Doing this should not be seen as the inability of the UI designer to create the "Perfect UI" (there is no such thing), as this Chromium blog entry seems to imply.

Chromium, by default has close buttons on every tab, unless the tabs reach a certain minimum width, then the buttons are removed except from the active tab. The user can't change anything on this behavior, however for me on-tab close buttons are an irritating annoyance. The first thing I do in FireFox if I set up a new session is disable them. Not being able to do so in Chromium, was really frustrating. I've asked around and for example, a friend of mine prefers on-hover close buttons, and another likes it the way it is. It seems people like different things! Pretty shocking... :) So I've decided to pull a Chromium source tree, add some tweaks and recompile. The end result is what I named Silver tweaks. This allows users to
  • enable/disable the new tab button
  • enable/disable an FF-style close tab button at the end of the tabstrip
  • customize tab close button behavior
  • customize "Open Link in New Tab" behavior
Tab close button behavior options are:
  • default Chromium (as explained above)
  • close buttons on every tab, always
  • no close buttons on tabs, ever (my preference)
  • close button on active tab only
  • no close buttons unless hovering over tab with the mouse
Another thing is when you choose "Open Link in New Tab" in Chromium, it will insert a new tab after the current one. I also found this to be really irritating, as I tend to have blocks of tabs that I don't wish to alter, at the front of my tab strip, one being my RSS reader, and I'm used to opening links from there at the end of tab strip, so I've also added an option to change this.

"Open Link in New Tab" placement options:
  • default Chromium (insert after originating tab)
  • add at end of tab strip
This should cover a wide range of preferences, and make using the browser a lot more comfortable, for "nitpicky" people like me.
Configuring the tweaks isn't really user-friendly (you need to edit a file with notepad) and I don't really intend to change that myself, but please feel free to, I've included my source patches inside the archive.

The settings used for the screenshot at the top are:

"silver": {
"close_tab_button": true,
"link_new_tab_autoactivate": false,
"link_new_tab_place": 1,
"new_tab_button": false,
"tab_behaviour": 1,
"tab_grouping": false
}

After unpacking please actually READ readme.txt, otherwise you won't find where to change the settings :) !! Everything's in the readme !!

Last stable build: --> DOWNLOAD <--

Updates:

Project Abandoned as of May 2011. Moved back to FireFox a couple of months ago. Haven't regretted it.

Nov 28 2010 : Updated patches for current git pull. Did not test anything besides the settings I use. No binary release. Patch can be downloaded here

Feb 4.: Build based on a Feb 4 pull. Found out that a patch on Jan16th that was later thrown out of WebKit fixed a crash bug. Reintroduced the pertinent part of said patch to the build. (or more simply put.. commented out a line) with that, the build seems rock solid. Link updated.


Feb 1.: Rebuilt from a GIT pull on Feb 1st, fixed closetab button jumping around in certain conditions. Link NOT updated. Build NOT as stable as previous one. Link for testing is here.
Jan 17.: Rebuilt from a GIT pull on Jan 16th, Main link is for this release. (Build solid and stable on XP) (link)
Aug 9. : Rebuilt from SVN 22737, link updated (I see some speed improvement in this build) (link for this older release)
Aug 2. : Added new-tab autofocus setting, rebuilt from SVN 22243, link updated


If you found this useful, please leave a comment.

Chromium Silver now uses the default Chromium theme due to general laziness.


No comments:

Post a Comment