]> XUL Apps > Split Browser - outsider reflex

Home > XUL Apps > Split Browser

Split Browser Ver.0.6.2009110501 for Mozilla Firefox

What's this? ...abstract

This splits the content area of the browser window as you like. It will help you in various cases. For example, to compare multiple webpages, to show a calendar always, and so on.

You can split browsers over and over. Status of split browsers are saved, and automatically restored on the next startup.

This extension cannot work with Content Holder. You must uninstall it before you install this.

Similar or Related Extensions

Any simple extension? I don't want to split over and over.
See Split Pannel, Tricky Frames (for Firefox 1.5 or before), SplitScreen (for Firefox 1.5 or before), or Content Holder (for 1.5 or before). They can split browser just once.

Download Links to XPI packages

See the FAQ if you meet troubles. When you cannot find out solutions from the page, throw bug reports to board or by E-mail, please. And, the RSS is available for tracking latest versions.

Including Language Packs

Released version includes following language packs:

  • English (en-US)
  • Japanese (ja-JP)
  • French (Français) (fr-FR, by Menet)
  • German (de-DE, by ReinekeFux)
  • Korean (ko-KR, by 박찬규/sushizang)
  • Chinese/Taiwan (zh-TW, by Alan CHENG)
  • Hungarian (hu-HU, by Mikes Kaszmán István)
  • Spanish (es-ES, by tito)
  • Italian (it-IT, by Godai71@eXtenZilla)
  • Chinese (zh-CN, by Vincent D)

Features & Screenshots This package provides following features.

Split example. After you split browser, new area becomes a tiny browser.

There is some ways to split window.

You can split browser infinitely, as many as your RAM and your screen allow. Enjoy split and split to your heart's content!

Drag and drop is available to load links, bookmarks, and so on, into split browser. If you drag the toolbar of split browser, you can load the page in another split browser.

Split browsers can be closed by their closebox. "File" > "Close All Split Browser" closes all of them at once.

Version 0.3 or later includes tabbed browsing feature. You can open new tab in split browsers, by "New Tab" menu in the context menu in the toolbar of split browsers, or middle click links in them. (But this feature doesn't work with TBE or TMP. They are designed for environments without multiple "tabbrowser" widget.)

Tiling of tabs. You can tile all of tabs as split browsers, and, gather split browsers to tabs. If the Multiple Tab Handler is available, you can tile tabs with selection.

API Information of programming interfaces for hackers.

Properties and methods of the service object "SplitBrowser"

attribute Node SplitBrowser.activeBrowser
The browser ("tabbrowser" element) currently focused. You can use this instead of gBrowser, getBrowser(), or document.getElementById('content') to make compatible your code to this extension.
readonly attribute Array SplitBrowser.browsers
Array of all "subbrowser" elements in the window.
void SplitBrowser.collapseAllSubBrowsers()
Collapses all of split browsers at once.
Arguments
Nothing
Returned Value
Nothing
void SplitBrowser.expandAllSubBrowsers()
Expands all of split browsers at once.
Arguments
Nothing
Returned Value
Nothing
Node SplitBrowser.addSubBrowser(in String aURI, in Node aTargetSubBrowser, in Number aPosition)
Split the specified browsing area and create new browsing area.
Arguments
aURI
The page should be loaded into the new browsing area.
aTargetSubBrowser
The "subbrowser" element should be split. If you want the default content area of Firefox to be split, specify null.
aPosition
The orientation of splitting. You can use following four types:
  • SplitBrowser.POSITION_LEFT
  • SplitBrowser.POSITION_RIGHT
  • SplitBrowser.POSITION_TOP
  • SplitBrowser.POSITION_BOTTOM
Returned Value
The subbrowser element newly created.

"subbrowser" element

Split Browser implements its feature with a special XUL element type, "subbrowser". It includes a simple toolbar and some basic features.

The description of properties and methods of the "subbrowser" element is:

readonly attribute Node subbrowser.browser
The "tabbrowser" element inside the subbrowser. If you use "Tab Mix Plus" or "Tabbrowse Extensions", it will be a simple "browser" element, because they conflict with this.
void subbrowser.load(in String aURI)
Load the specified page into the browser.
Arguments
aURI
The URI of the page should be loaded.
Returned Value
Nothing
void subbrowser.reload()
void subbrowser.stop()
void subbrowser.goBack()
void subbrowser.goForward()
They have no arguments and returned value. I omit descriptions for them. If you wish to control the subbrowser fully, access the internal "tabbrowser" directly via the browser property.
readonly attribute Boolean subbrowser.focused
Boolean value which indicates the subbrowser is focused or not.
void subbrowser.close()
Closes the subbrowser. It will be removed from the document. Note: this method dispatches a request to close the subbrowser itself, but on this time, the element is still alive. See SubBrowserRemoveRequest event.
Arguments
Nothing
Returned Value
Nothing
void subbrowser.openNewTab()
Opens a new blank tab in the subbrowser and focus to the location bar of the subbrowser.
Arguments
Nothing
Returned Value
Nothing
void subbrowser.focus()
Focus to the subbrowser. The subbrowser previously focused loses its focus.
Arguments
Nothing
Returned Value
Nothing
void subbrowser.blur()
Loses the focus of the subbrowser, and focus to the default content area of Firefox.
Arguments
Nothing
Returned Value
Nothing
readonly attribute Boolean subbrowser.contentCollapsed
Indicates which the subbrowser is expanded or collapsed.
void subbrowser.collapse()
Collapses the subbrowser. Collapsed subbrowser loses its focus automatically, and it never get focus.
Arguments
Nothing
Returned Value
Nothing
void subbrowser.expand(in Boolean aForce)
Expandes the collapsed subbrowser.
Arguments
Nothing
Returned Value
Nothing
void subbrowser.toggleCollapsed()
Toggles the collapsed state of the subbrowser.
Arguments
Nothing
Returned Value
Nothing

Events

Split Browser dispatches some custom events for its feature. If you reuse those events for your extension, like document.getElementById('appcontent').addEventListener('SubBrowserAdded', listener, false), you can collaborate this and yours.

SubBrowserAdded event
Tells that a new subbrowser element was created and the browsing area was split. target (and originalTarget) is the subbrowser element ifself, which is newly created.
SubBrowserRemoveRequest event
Tells someone requests a subbrowser element should be removed. On this time, the element is still alive. target (and originalTarget) is the subbrowser element should be removed.
SubBrowserRemoved event
Tells that a subbrowser element is removed. target (and originalTarget) is the subbrowser element which is removed.
SubBrowserContentCollapsed event
Tells that a subbrowser element is collapsed. target (and originalTarget) is subbrowser element which is collapsed.
SubBrowserContentExpanded event
Tells that a subbrowser element is expanded. target (and originalTarget) is subbrowser element which is expanded.
SubBrowserFocusMoved event
Tells that a subbrowser element is focused. target (and originalTarget) is the root element of the document. this has a special property:
readonly attribute Node lastFocused
The subbrowser element previously focused. If the default browsing area of Firefox was focused, this is null.

How to control by scripts in web pages?

You can split content area by scripts in web pages, with the version 0.4.2007051501 or later.

Split content area by Custom Event

You can split the content area by dispatching a custom event, "SubBrowserAddRequestFromContent".

// Step 1: Create new event which has detail of the command.
var newCmdEvent = document.createEvent('Events');
newCmdEvent.initEvent(
  'SubBrowserAddRequest?'
    + 'uri=' + encodeURIComponent('http://piro.sakura.ne.jp/') + ';'
    + 'position=top',
  true, true);

// Step 2: Create a wrapper event (XULCommandEvent) amd dispatch it.
var newEvent = document.createEvent('XULCommandEvents');
newEvent.initCommandEvent('SubBrowserAddRequestFromContent',
  true, true,
  window, 0, false, false, false, false,
  newCmdEvent
);
document.dispatchEvent(newEvent);

To load web page into the split browser, specify URI as URI-encoded string and put it to the uri option. If no URI is specified, blank page will be loaded.

One of five values can be used in position option. Illegal values are ignored.

  • top
  • bottom
  • left
  • right
  • tab : This will open the window as a new tab anyway.

The value is not case-sensitive. They are equal: top, Top, and TOP.

Then cannot be closed by window.close(). To close them, dispatch another custom event.

Split content area by Custom Attribute

Firefox will open windows as split-browser if the root element of the document has an attribute _moz-split-browser-to. While the attribute is available, any new window created by window.open() from the document becomes split-browser, not tab or window.

document.documentElement
        .setAttribute('_moz-split-browser-to', 'right');
var newSplitBrowser = window.open('http://www.google.co.jp/');
// This will be loaded as a new rightside pane.
document.documentElement
        .removeAttribute('_moz-split-browser-to');
window.open('http://www.google.co.jp/');
// This will be loaded as a new window or tab.

The value of _moz-split-browser-to attribute is same to "position" option of custom event.

They can closed by window.close() or the custom event.

Close current split-browser

You can close the split browser by a dispatching custom event, "SubBrowserRemoveRequestFromContent".

var newEvent = document.createEvent('Events');
newEvent.initEvent('SubBrowserRemoveRequestFromContent', true, true);
document.dispatchEvent(newEvent);

It can close any split browser, opened by custom event or custom attribute.

Close other split-browser

Split-browsers can be closed by window.close() if there is only one tab. If the split browser has more tabs, it closes only one tab.

newSplitBrowser.close();

It only can close split browsers opened by custom attribute. If you want split-browsers opened by the custom event to be closed,dispatch another custom event.

History There is the updating history and the list of known problems.

0.6.2009110501
  • Works on Minefield and Firefox 3.6.
  • Fixed: More safer code.
  • it-IT locale is updated by Godai71.
0.6.2009050101
  • Works on Shiretoko 3.5b5pre and Minefield.
  • Supporting of Firefox 2 is dropped.
  • Modified: Drag and drop to toolbar in split panes works like as to tab bar.
  • Improved: For drag and drop of links, tabs and so on, the "Split" button keeps itself showing while you move the pointer.
  • Improved: Tabs in split panes are shown in the tab previews of Minefield.
  • Improved: Split panes are saved for each window.
  • Improved: Now "Undo Close Pane" and "Recently Closed Panes" are available. You can reopen closed panes.
  • Improved: Supports the private browsing mode of Shiretoko 3.5b5pre.
0.5.2008112201
  • Fixed: Works on Minefield 3.1b2pre again.
  • Spanish locale is updated. (by tito)
0.5.2008101801
  • Improved: Works on Minefield 3.1b2pre.
  • Improved: On Minefield 3.1b2pre, split browsers and tabs can be moved without reloading, by drag and drop.
  • Improved: Tabs and split browsers are more integrated. They can be moved by simple dragging, and they are cloned by dragging with Ctrl (or Command) key.
  • Improved: Works with ReloadEvery 3.0.0. You can reload split browser automatically.
  • Improved: Works with Tree Style Tab and Multiple Tab Handler more integratedly.
  • Fixed: Find in pages works on Firefox 3.
  • zh-CN locale is available. (by Vincent D)
  • Firefox 1.5 is dropped.
0.4.2008061601
  • Updated: ko-KR locale is updated.
0.4.2008050601
  • Fixed: Keyboard shortcuts for "Bookmark This Page" works correctly on Firefox 3.
  • Updated: Traditional Chinese locale is updated.
0.4.2008042801
  • Fixed: Search results are loaded in split browsers correctly on Trunk.
  • Fixed: Works with Second Search correctly.
  • Fixed: "Close Other Tabs" of All-in-One Gestures works correctly.
0.4.2008030901
  • Improved: Synchronized scroll can work only for vertical scroll.
  • Fixed: Works with Google Docs.
  • Works on Minefield 3.0b5pre.
0.4.2007120601
  • Improved: Search result from the search bar can be loaded into split panes.
  • Updated: Korean locale is updated. (by 박찬규)
0.4.2007120101
  • Fixed: Now "Synchronize Scroll" ignores scrolling in background tabs.
  • Updated: French locale is updated. (by Menet)
  • Verified to work on Minefield 3.0b2pre.
0.4.2007113001
  • Fixed: Now "Synchronize Scroll" ignores scrolling in other windows.
0.4.2007112701
  • Improved: "Synchronize Scroll" button is available in the toolbar of split browsers.
  • Modified: "Back", "Forward", "Reload" and "Stop" buttons in split browsers are shown with system icon in Linux.
0.4.2007112401
  • Improved: Split browsers can be scrolled synchronously with other panes.
0.4.2007101002
  • Fixed: Toolbar buttons work correctly.
0.4.2007101001
  • Improved: "Open New Tab", "View Page Source", "View Page Info", "Bookmak This Page" and "Bookmark All Tabs" keyboard shortcuts work for the active pane.
0.4.2007100901
  • Improved: "Back", "Forward", "Stop", "Reload" and "Close Tab" keyboard shortcuts work for the active pane.
  • Added: Italian locale is available. (by Godai71@Extenzilla)
  • Fixed: Wrong locale for French description is corrected.
  • Updated: zh-TW, ko-KR and de-DE locales are updated.
0.4.2007092501
  • French locale is updated.
0.4.2007092101
  • Added: Spanish locale is available. (made by tito)
  • Improved: Split popup buttons are shown with fade-in/out effects.
  • Improved: You can show popup buttons only when you press "Shift" key.
0.4.2007070801
  • Fixed: From the context menu, the focused browsing area is split correctly.
  • Fixed: "Split" command duplicates only the current tab correctly.
  • Fixed: Labels of "Tile Vertically" and "Tile Horizontally" are switched, in following locales: en-US, de-DE, fr-FR, hu-HU, ko-KR, and zh-TW.
0.4.2007070401
  • Improved: Histories, scroll position and user typed values of forms are restored when you split the current page.
0.4.2007061801
  • Improved: Scroll position and user typed values of forms in split browsers are stored/restored.
  • Fixed: URI strings or links are loaded in new split browser correctly when it is dropped on the popup button of the content area.
  • Fixed: Blank split browsers from tabs disappeared.
  • Fixed: Korean locale is updated.
0.4.2007052102
  • Updated: Hungarian locale is updated. (by Mikes Kaszmán István)
0.4.2007052101
  • Fixed: The credit of hu-HU translator is corrected.
0.4.2007052001
  • Fixed: Broken behavior of "Split horizontally" and "vertically" disappeared.
  • Fixed: Selected tabs can be tiled horizontally or vertically correctly if it works with Multiple Tab Handler.
  • Fixed: "Tile tabs" feature closes tabs correctly even if TMP is available.
  • Fixed: Some buttons are available correctly in the menu of "Split" button.
  • Improved: Custom events to control split browser from web pages are available.
  • Updated: French locale is updated. (by menet)
  • Added: Hungarian locale is available. (by Mikes Kaszmán István)
0.4.2007051501
  • Improved: New toolbar buttons, "Split(menu)", "Tile" and "Gather" are available.
  • Improved: There is a new API. Scripts in webpages can split the content area.
  • Improved: Tabs opened instead of new windows are shown in split browsers correctly.
  • Improved: Shift-Click on relaod buttons reload without cache.
  • Fixed: The toolbar of split browsers stay editable if the URL bar is focused.
  • Fixed: Toolbar icons are shown at correct places.
  • Modified: Internal operations to show/hide main menu is changed.
  • Improved: Works on Minefield. (maybe)
0.4.2007050701
  • Improved: Tab Clicking Options is supported.
  • Updated: French locale is updated. (by Menet)
  • Updated: zh-TW locale is updated.(by Alan CHENG)
  • Fixed: Syntax errors in XUL and CSS codes are corrected.
0.4.2007050602
  • Improved: Tabs can be tiled as multi-row automatically.
  • Fixed: "Align" are replaced to "Tile" in English locale.
0.4.2007050601
  • Improved: You can tile tabs horizontally or vertically as split browsers. And, you can gather all of split browsers to tabs.
  • Improved: "Split" menu is available in the menu bar.
  • Improved: You can hide additional menu items in the context menu on tabs.
0.3.2007042601
0.3.2007042501
0.3.2007041801
  • Improved: The icon is available for "Split" menus.
  • Improved: Navigation buttons can be shown in toolbars of split browsers permanently.
  • Improved: Works with Firebug. (maybe)
  • Fixed: Google Notebook Extension popup is redrawed when left tabs of the current are closed.
  • Fixed: Wrongly blank "window.content" disappeared.
  • Modified: ScrapBook toolbar and Sidebars shown by MultiSidebar are moved to outside of the content area.
0.3.2007041101
0.3.2007032902
  • Improved: Works with ScrapBook, Grab and Drag. (maybe)
  • Fixed: Toolbars of split-browsers are shown even if the window is opened with no toolbar.
  • Fixed: Leaked memory for closed split-browsers disappeared. (maybe)
0.3.2007032901
  • Fixed: Error on startup disappeared.
0.3.2007030901
  • Fixed: zh-TW locale is available. (manifest file is updated correctly.)
0.3.2007030801
  • Fixed: Option dialog works correctly.
  • Improved: The content area is made maximized correctly for maximized windows when there is any split browser.
  • Added: zh-TW locale is available. (made by Alan CHENG)
  • Updated: German locale is updated. (by ReinekeFux)
  • Updated: Korean locale is updated. (by 박찬규/sushizang)
0.3.2007020401
  • Improved: Changes of some options are applied immediately.
  • Improved: Options of tabbed browsing are hidden if TBE or TMP is available.
  • Fixed: Split browsers are not collapsed wrongly if you set their toolbar can be collapsed.
  • Updated: French locale is updated. (by Menet)
0.3.2007020301
  • Modified: Icons are updated. (inspired by kiwidesign)
  • Improved: Auto-focus feature to focus to split browsers by mouseover is available. (require you change the setting)
  • Improved: You can show "Collapse" and "Expand" button on the toolbar of split browsers.
  • Modified: Implementations of the feature to collapse/expand browsers are updated.
0.3.2007013102
  • Updated: French locale is updated. (by Menet)
0.3.2007013101
  • Fixed: Unexpected "jumping" behavior of narrowed split browsers disappeared.
  • Modified: Style rules for focused split browsers are modified.
  • Improved: New toolbar buttons to collapse/expand/close all of split browsers are available.
  • Added: Korean locale is available. (by 박찬규/sushizang)
  • Added: Icon for the add-on manager is available.
0.3.2007012601
  • Improved: Double-click or middle-click collapse/expand a split browser, on its toolbar.
  • Modified: Always toolbars are shown in collapsed split-browsers.
  • Improved: The toolbar of focused split-browser is highlighted.
  • Improved: Text-zoom feature is available for split browsers, by "Ctrl-+", "Ctrl--" or Ctrl-wheel-scroll, if the browser is focused.
  • Improved: You can find terms in split browsers, if they are focused.
0.3.2007012303
  • Updated: German locale is updated. (by ReinekeFux)
  • Updated: French locale is updated. (by Menet)
0.3.2007012302
  • Fixed: "Split Tab to" works correctly.
0.3.2007012301
  • Improved: Split Browser saves the state, which tab is selected.
  • Improved: "Split Tab to" feature duplicates tab with session histories.
  • Improved: A new option is available, to close tab after it is opened in split browser.
  • Improved: You can move and rearrange split browsers by drag and drop on their toolbar.
  • Improved: Drag-and-drop of links, bookmarks, etc. with Ctrl-key loads them in split browser even if you dropped them out of popup-buttons.
  • Fixed: The option works correctly, to show tabs in split browser always.
0.3.2007012002
  • Improved: "Split Tab" menuitem is available for any tabbrowser.
  • Fixed: Error from "Split Tab" feature disappeared.
  • Updated: French locale is updated. (by Menet)
0.3.2007012001
  • Improved: Tabbed browsing in split browser is available. (But this feature is disabled in environments TBE or TMP is installed, because they are designed for single "tabbrowser" in a window.)
  • Improved: "Close" and "Collapse" are available in the context menu on the toolbar of split browsers.
  • Fixed: A stupid mistake, "Left" and "Right" are wrongly switched in some locales, are corrected.
0.2.2007011701
  • Fixed: Unexpected spaces in popup-buttons disappeared.
  • Fixed(partial): In Linux, dropped links, etc. to popup-buttons are loaded in new split browser. (But they cannot accept dropping links from the browser itself yet.)
  • Added: German locale is available. (made by ReinekeFux)
  • Improved: French locale is updated. (by Menet)
0.2.2007011501
  • Improved: "Split Tab to" menu is available for the context menu on tabs. (Some codes are quoted from Mozilla Zine Forum)
  • Modified: "Go" buttons are shown like as the Go-button in the main toolbar of Firefox 2.
  • Fixed: Features which observe drag-and-drop actions maybe work with this extension correctly. (Conflict with Drag de Go is solved.)
  • Added: French language pack is available. (made by Menet)
0.2.2007011402
  • Fixed: Collapsed browsers are expanded automatically when a split browser beside it is closed.
0.2.2007011401
  • Improved: Session histories of split browsers are saved and restored.
  • Improved: The title of the page is shown in the toolbar of tiny browsers. If you point the bar, "Back", "Forward", and other buttons become available.
  • Fixed: Buttons doesn't popup if the pointer through pointer over edges of content area.
  • Fixed: Broken order of tiny browser and splitter disappeared.
0.1.2007011402
  • Fixed: Popup-buttons are hidden after a delay correctly.
  • Style rules are updated.
0.1.2007011401
  • Modified: Popup-buttons are shown only on middle of top/bottom/left/right edges of content area.
  • Improved: Drag-and-drop action is available for popup-buttons.
  • Fixed: Style rules are updated. In some environments, a progressmeter is shown behind the location bar in tiny browser.
0.1.2007011301
  • Released.
Last modified:2010/02/08 00:55:38