Hooray! NoSquint is now available for Firefox 3.0b4. For the uninitiated, NoSquint makes text zoom (now full-page zoom) work the way it’s supposed to: it remembers and automatically re-applies site-specific page zoom levels.

Alas, the Iceweasel 3.0b4 package in Debian experimental is currently busted, but Swiftweasel works well.

For other extensions that haven’t been updated yet, you can twiddle some hidden preferences and try them. The old version of NoSquint didn’t work, due to the massive changes in zooming — hence my excitement about the official update — but many other extensions work fine. Search Keys, for example, doesn’t advertise itself as compatible with Firefox 3, but it works fine after twiddling those hidden bits.

Finally, Toolbar Buttons has been updated to include buttons for controlling Firefox 3’s full-page zoom. Toolbar Buttons + NoSquint: it’s a match made in heaven.

§

Twelve comments here (latest comments)

  1. ‘the uninitiated’ thank you.
    I’ve got myopia and typing control++ on every-page is such a chore.

    — tabbot #

  2. Doesn’t Firefox 3 already remember site-specific zoom levels?

    — Rahul #

  3. @Rahul, I think so. First I was annoyed that some pages came pre-zoomed, then I remembered I had zoomed in earlier myself. :)

    More useful hidden prefs in Firefox 3 beta 4:
    browser.zoom.full = false // restore the old zoom behaviour (text only, not images)
    browser.zoom.siteSpecific = true // I suppose this remembers the per-page zoom levels

    — 8jean #

  4. Yea. I’ve been running the nightlies for a while and they seem to apply changed zoom levels to the entire domain. Does NoSquint add additional features?

    — Ryan Tomayko #

  5. 8jean: As of beta 4, you don’t need to set browser.zoom.full in about:config. Just toggle View > Zoom > Zoom Text Only.

    — Jonathan Rascher #

  6. NoSquint does add additional features. It allows you to specify the default zoom level for new sites, control the percent change when you increase or decrease the zoom level, and displays the current zoom level in the status bar.

    — Mark #

  7. I tried out swiftweasel based on your mention of it here. Good idea in theory, although I’d like to see figures that -O3 was a better idea than -Os for modern machines. However, in practise, the shell script wrappers appear to be a total train wreck:

    $ swiftweasel
    /usr/local/swiftweasel/swiftweasel: line 59: cd: /home/butters/.mozilla: No such file or directory
    cp: cannot stat `/home/butters/.mozilla/firefox’: No such file or directory
    mv: cannot stat `firefox’: No such file or directory
    mv: cannot stat `swiftweasel’: No such file or directory
    /usr/local/swiftweasel/swiftweasel: line 64: cd: /home/butters/.mozilla/swiftweasel: No such file or directory
    awk: cmd. line:1: fatal: cannot open file `profiles.ini’ for reading (No such file or directory)
    mv: missing destination file operand after `tmp1′
    Try `mv –help’ for more information.
    cp: cannot stat `./tmp1/extensions’: No such file or directory
    cp: cannot stat `./tmp1/*’: No such file or directory
    mv: missing destination file operand after `tmp2′
    Try `mv –help’ for more information.
    no settings directory check file creation bypassed

    — Jon #

  8. Jon: It’s not so much -O3 vs -Os that is the win as is compiling for your modern CPU architecture instead of the 486.

    — James #

  9. I _still_ find that a good userContent.css stored locally and applied globally to all websites is my best insurance against crap web design and gawdawful fontification. Mine starts with disabling any large/small font scaling (use H-tags for your headers, damnit!) and making a hard specification of the preferred font and face. Bonus is that you can disable a hell of a lot of standard banner sizes as well. I add a few nice plusses like highlighting links on hover and bright-highlighting on click, and adding tags to various media types, particularly email, PDF, and javascript links.

    — Karsten M. Self #

  10. ResearchBuzz » » ResearchBuzz Roundup 040408 (pingback)
  11. Karsten: try Stylish instead. It’s about a million times more convenient than twiddling userContent.css and restarting, over and over and over and over, for every change.

    — Aristotle Pagaltzis #

  12. I also find it helpful to use these two bookmarklets:


    javascript:t=true;d=document;c='click';g=getComputedStyle;b='white';p=d.createElement('p');q=p.style;q.position='fixed';q.top='42%';q.left='32%';q.width='36%';q.height='16%';q.border='1px%20black%20solid';q.backgroundColor=b;q.color='black';q.padding='0.5em';q.textAlign='center';p.innerHTML='Click%20a%20block%20of%20wimpy%20grey%20text%20to%20turn%20all%20text%20that%20colour%20a%20nice,%20readable%20black.';d.body.appendChild(p);h=function(e){c=g(e.target,'').getPropertyCSSValue('color').cssText;n=d.getElementsByTagName('*');for(i=0;i<n.length;i++){if(g(n[i],”).getPropertyCSSValue(’color’).cssText==c){n[i].style.color=’black’}};removeEventListener(c,h,t);p.parentNode.removeChild(p);clearInterval(o)};addEventListener(c,h,t);void(o=setInterval(function(){if(q.backgroundColor==b){q.backgroundColor=’yellow’}else{q.backgroundColor=b}},1500));

    To turn text completely black rather than some shade of gray as some websites would have you try to read through glare.


    javascript:t=true;d=document;a=addEventListener;r=removeEventListener;n='click';v='keypress';s='30em';b='white';p=d.createElement('p');q=p.style;q.position='fixed';q.top='42%';q.left='32%';q.width='36%';q.height='16%';q.border='1px%20black%20solid';q.backgroundColor=b;q.color='black';q.padding='0.5em';q.textAlign='center';p.innerHTML='Click%20a%20block%20of%20text%20until%20as%20much%20of%20the%20page%20as%20you%20want%20is%20a%20readable%20width.%20Then%20ctrl-click%20if%20you%20want%20it%20centred.%20Press%20esc%20to%20finish.';d.body.appendChild(p);h=function(e){if(e.ctrlKey){c(e.target)}else{m(e.target)}};a(n,h,t);f=function(e){if(e.keyCode==27){r(n,h,t);r(v,f,t);p.parentNode.removeChild(p);clearInterval(o)}};a(v,f,t);m=function(e){u=e.style;if(e.parentNode.style!=undefined){if(u.width==s){m(e.parentNode)}else{u.width=s}}};c=function(e){z=e.parentNode;if(z.style!=undefined){if(z.style.width==s){c(z)}else{e.style.margin='0%20auto'}}};void(o=setInterval(function(){if(q.backgroundColor==b){q.backgroundColor='yellow'}else{q.backgroundColor=b}},1500))

    To make blocks (and then parents of blocks) exactly 30em wide and optionally centred.

    — Frankie Robertson #

Respond privately

I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)



§

firehosecodeplanet

© 2001–8 Mark Pilgrim