Multicolumn Webpage Viewer -- "Broadsheet"

By slow Last update Feb 13, 2011 — Installed 1,454 times.


Script Summary: Any webpage is converted into screen-height columns using all the screen width. Invoked by control-c or shift-middle-click. Importantly, column height is kept within current window size so no need to scroll back to top for next column. The columns are fullscreen instead of being, as is typical, a thin central column or a single fat column that is too wide for easy reading. Alternately, shift-middle-click on paragraphs for columns to appear in that local area.(see note below)

Version: If you installed this since December 20 2010 then ensure you do not have a script enabled in GreaseMonkey with the name/number: 58932, disable, then reinstall the script

Thumb Thumb Thumb

Example images of before and after invoking this script, Broadsheet




Twitter screenshot, after invoking Broadsheet




Broadsheet -- a multicolumn webpage viewer

Hotkey

The hotkey is "control-c" -- or another letter, if customized-- it puts the entire webpage currently being visited into a multi-column layout. This works so long as you have not selected any text on the page (in which case ctrl-c does what it usually does: copies the text). After installing this script from the userscripts website you need to open a new page or reload an existing page before the hotkey will be in effect on that page.

Local Columnizing

To columize text in a local area, point and middle-click on it whilst holding the shift key down. Note, the Firefox configuration setting "middlemouse.contentLoadURL" in about:config must be set to false for this local columnizing to work. This setting will prevent a middle-click from its strange default behavior of opening a page based on what happens to be in the window's system clipboard. Moreover, to turn off the annoying autoscroll, the target thingy which appears on middle click, untick "autoscroll" it in firefox options->advanced

Automatic Columnization

It is possible to have this script columnize all pages that match the include/exclude setting in Script Management of Grease Monkey. To toggle this on go to the GM icon or Tools menu and traverse down the option "User Script Commands" then look for a heading labelled, "===Broadsheet, Multicolumn...===" below which select "Toggle automatic columization".

Settings

To increase the amount of text included in one collimized pagefull hit ctrl-c a second time, this will increment the number of letters per page by 20%. To decrease hit the alt-key and the control key together with the letter "c", this reduced the pagesize by 20%. Do so until you reach the approriately sized page for your screen or fullscreen. When approriate size has been found the "page down" key will move one reading-page forward, whilst the text appears in three page-sized columns and in widescreen (where possible). To override automatic page sizing you can set number of characters allowed to page in user options under the "user script commands" menu option of the Grease Monkey icon on the status bar.

Enable writing to status bar by setting dom.disable_window_status_change=false in about:config so the script can inform you about its progress without using pop-up windows. Or view script messages via the javascript console message interface. To remove all permanent data stored by this script go to location "about : config" and search for the word "pagessize" (two s's) and on each field choose the popup menu option "reset."

See source code for version increment and release note information.

Options

Right clicking on the Grease Monkey status bar icon, or via the Tools->GreaseMonkey menu in Firefox, select the submenu "User Script Command". Listed in this menu under the banner "===============Multicolumn Pageview, Broadsheet============" you will find several entries. Most are self explanatory. One option called "Aggression level" is however more complex. It will give you the following selection:

Enter a number for the levels to aggress upon the amount of text, surroundings (images, embedded videos, etc.), to be included in columns. It operates in steps of 5 (modulo 5). The plus sign(+) means that values above that number will increase the amount relevant for that level.

As with any of the GM script settings here, for it to work in other tabs reload that tab after setting it on this tab
Level 1: Have columns appear above other elements.
Levels 5+: Include more of the text that follows the columns into a single block.
Levels 40+: Include more of the surroundings that appear above the columns.
Level 60: Position columns at the very top left of the window.

If on a certain web page columns are not formatted correctly then because of the complexity of HTML and of webpage design there may not be a general solution. Individual requests for certain websites are possible through the message system on this site (see "Send Message" on userscripts.org). If, as I said, it does not appear that columns are presented properly then set the aggression level to, for example, 60. If it still has problems you can try setting it higher but it's unlikely to solve it. Setting it to lower than 60 is also a good idea if it works at 60 or if level 60 consumes too much cpu.

Change Number of Columns

To change the number of columns, default is 3, go to the page "about:config" and right click on a value, select "New"->"Integer". Give it the name "greasemonkey.scriptvals.userscripts.org/Broadsheet, a multicolumn pageviewer.ncols" and set it to your preferred number of columns. The value affects only new tabs or reloaded tabs.

To change the spacing between columns do the same as for number of columns but instead create a string value and name it not "...ncols" but "...colgap". Set the value to something like "15px" or "5em."