xSidebar for Seamonkey 1.1

Announce and Discuss the Latest Theme and Extension Releases.
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

xSidebar for Seamonkey 1.1

Post by Philip Chee »

xSidebar for Seamonkey

Author: Philip Chee
Version: 1.1
Size: 177k
Date: 2009-10-07
Compatibility: (Image 1.1 - 2.1a).
Homepage: http://xsidebar.mozdev.org/

Install: xsidebar-1.1.xpi

xSidebar is an extension that brings the look and feel of Firefox style sidebars to Seamonkey.

In addition , xSidebar also implements the infractructure - the XUL elements and javascript APIs from Firefox - to make porting Firefox sidebar extensions to Seamonkey as painless as possible.

Usage

Install xSidebar into Seamonkey. Restart.

A new submenu will be available. (View->Sidebar) with a list of available sidebars. This includes all the sidebars registered in panels.rdf as well as any Firefox style sidebars that you have installed.

Several Firefox sidebar extensions have been ported to Seamonkey. Get them here: http://xsidebar.mozdev.org/modified.html

What's New: Change Log
What's New: wrote:

  • 2009-10-07: Version 1.1
    • Add the search toolbar back to the bookmarks manager for SeaMonkey 2.0.
    • Reimplement remove DTD entity for the bookmarks search bar in SeaMonkey 2.0a2.
    • Add chrome manifest for SeaMonkey 2.0.
    • Sync addons sidebar styles with xSidebarTB.
    • Remove support for the Related sidebar which was removed in 2.0 trunk.
    • [fix] Nesting error causes the sidebar to be loaded on startup even if hidden.
    • Add rich tooltips for the places history sidebar.
    • Hide the clear search button in the bookmarks sidebar if the search box is type=search since this widget has its own clear button.
    • Hide thumbnails when the addons manager is in the sidebar.
    • Hide the history preferences on SeaMonkey 2.0a3 since these have no effect on the places history manager.
  • 2008-11-03: Version 1.0.5
    • [enh] [web-panel/ssr] Update small screen rendering CSS from SSR v1.12.
    • [fix] [web-panel/ssr] In Gecko 1.9 content cannot reference stylesheets in chrome. Convert to use resource:// urls instead.
    • [new] Use a <prefpane> for the xSidebar preferences in the SeaMonkey 2.0a Preferences prefwindow.
    • [fix] SeaMonkey 2.0a1: open the xSidebar prefpane in the new prefwindow.
    • [fix] Allow "Add page to sidebar" to add chrome: and resource: urls as well.
    • [fix] Use event.stopPropagation() to prevent the bookmarks code trying to open a url with the ID of our menuitem.
    • [fix] Fix calls to goPreferences for branch and trunk.
    • [fix] On 2.0a move the bookmarks searchbox back to a separate toolbar.
  • 2008-06-27: Version 1.0.4
    • [fix]sidebar selector popup menus and xSidebar configuration popup menus not working on trunk.
    • [fix] Web-panels sidebar: Use fullZoom on trunk.
    • [fix] Web-panels sidebar: Update toolbar-button styles for trunk.
    • [fix] Addons sidebar: Adjust orientation of the theme splitter.
    • [fix] Addons sidebar: Update compact styles for trunk.
    • [fix] Bug 412171 In <browser.xml>, "Error: this.docShell is null" when the sidebar opens
    • [new] Added spinbuttons to the Firefox widget set support.
    • [new] Added notificationboxes to the Firefox widget set support.
    • [new] Put the new trunk PageInfo window in the sidebar.
    • [new] Added Chatzilla sidebar.
    • [new] ca-AD locale.
    • [new] pt-BR locale.
  • 2007-07-19: Version 1.0.3
    • Workaround for SuiteRunner bug: Drag'n'Drop not working on the main window.
    • [new] web-panel: Add stop button.
    • [fix] Allow Multizilla to open its webfeeds sidebar.
    • [fix] web-panel context menu items "Select All" and "Copy" do not work. Toolbar buttons and menu items now respect the enabled/disabled states.
    • [new] Additional slim styles for the addon manager sidebar.
    • [fix] Slow bookmark manager startup.
    • [fix] Check for missing default preferences and create them if necessary.


Screenshots

Image

Image

More screenshots

Phil
Last edited by Philip Chee on October 6th, 2009, 7:29 pm, edited 2 times in total.
hand_of_fate
Posts: 145
Joined: October 26th, 2004, 3:52 pm

Post by hand_of_fate »

Just installed XSidebar in the latest Suiterunner build. Some comments:

1. The menu items "View>Show/Hide>Sidebar" and "View>Sidebar>Show/Hide" are nearly next to each other in the menu structure and do exactly the same thing. Do we really need this redundancy?

2. The phrases "Customize Sidebar" and "xSidebar Configuration" mean basically the same thing, yet these menu items in the "Settings" menu do completely different things. The names of menu items should more closely relate to what they do.

3. Is the "Customize sidebar" panel necessary at all? As far as I can tell all it does is select which panels to include in the menu. Would it make more sense to include all installed panels in the menu anyway?

4. If anyone does want to keep this "Customize sidebar" options, then should be a tab in the main preferences panel rather than a separate panel. It would make more sense for the all options to be organized in a logical place rather than scattered around in separate panels.

5. Is the "Settings>xSidebar Configuration" menu option necessary? All this does is open the main preferences panel with the xSidebar tab selected, and the main preferences panel is easily accessible through "Edit>Preferences" anyway.

5a. If suggestions 4 and 5 are acted on, the "Settings" icon could be removed entirely. The "Sidebar directory" link could be buolt into one of the preference panel tabs, or a "Sidebar directory" icon put in place of the current "Setting" icon.

6. It would be nice to have (at least as an option) the ability to open multiple sidebar panels at the same time in tabs, as in the standard SeaMonkey sidebar.
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

1. Need? No, but I prefer it this way. You can always use some css or Stylish to hide the menu items you don't want to see.

2. The "Customize sidebar" and "Sidebar directory" menu items come from the native SeaMonkey sidebar UI. The xSidebar Configuration item lets you access the xSidebar preferences directly.

3. The Customize sidebar window builds its available list from live data internet. Including all items every time you opened the sidebar would cause too much network traffic plus do you really want to see all the panels from Brazil, Canada, France, Germany, Japan, Spain, Sweden, UK, etc, shopping, real estate, horoscopes, etc?

4. As I said this is a native SeaMonkey UI. I'd rather not modify it.

5. It's a convenience for xSidebar users.

5a. No, because it also serves to access the options dialogs of the Firefox extensions I've ported to SeaMonkey. See this screenshot for example: <a href="http://www.flickr.com/photos/aleytys/406326823/" title="xSidebar Extension Options"><img src="http://farm1.static.flickr.com/184/406326823_0ff218e8b0_m.jpg" width="116" height="240" alt="xSidebar Extension Options"></a>

6. True, but the mission statement is to implement the Firefox sidebar API and UI in SeaMonkey. In the beginning I did try to have both the tabbed interface and the firefox UI available, but it got impossibly complicated so I gave up and stuck to the Firefox UI. Rethinking this I could actually have had two sidebars (I just saw how the multisidebars extension implements side/top/bottom bars all over the place :shock: ); the native tabbed panels and a separate "firefoxy" sidebar; so that you could have both open at the same time but it's too late at this stage of the game to make this sort of design decision.

Phil
hand_of_fate
Posts: 145
Joined: October 26th, 2004, 3:52 pm

Post by hand_of_fate »

Philip Chee wrote:1. Need? No, but I prefer it this way. You can always use some css or Stylish to hide the menu items you don't want to see.
Assuming the user is an experienced programmer (which by no means all users are), they could hack SeaMonkey to remove the redundant mane items, but if the extension is properly designed it shouldn't create this unnecessary clutter in the first place. Can you explain why you prefer to have duplicate menu items next to each other?

Philip Chee wrote:2. The "Customize sidebar" and "Sidebar directory" menu items come from the native SeaMonkey sidebar UI. The xSidebar Configuration item lets you access the xSidebar preferences directly.
The menu that contains the item "Customize sidebar" is created by the extension. It can;t be that difficult to change the wording in a menu you created to make the wording more coherent.

Philip Chee wrote:3. The Customize sidebar window builds its available list from live data internet. Including all items every time you opened the sidebar would cause too much network traffic plus do you really want to see all the panels from Brazil, Canada, France, Germany, Japan, Spain, Sweden, UK, etc, shopping, real estate, horoscopes, etc?
I didn't know that it calls an internet server every time that dialog is accessed. If that is the case then there might be some justification in keeping it.

Philip Chee wrote:4. As I said this is a native SeaMonkey UI. I'd rather not modify it.
Doesn't the act of creating any extension modify the UI in some way?

Philip Chee wrote:5a. No, because it also serves to access the options dialogs of the Firefox extensions I've ported to SeaMonkey. See this screenshot for example: <a href="http://www.flickr.com/photos/aleytys/406326823/" title="xSidebar Extension Options"><img src="http://farm1.static.flickr.com/184/406326823_0ff218e8b0_m.jpg" width="116" height="240" alt="xSidebar Extension Options"></a>
In Suiterunner builds the options dialogs of extensions should be available from the Add-ons manager.

Philip Chee wrote:6. True, but the mission statement is to implement the Firefox sidebar API and UI in SeaMonkey. In the beginning I did try to have both the tabbed interface and the firefox UI available, but it got impossibly complicated so I gave up and stuck to the Firefox UI. Rethinking this I could actually have had two sidebars (I just saw how the multisidebars extension implements side/top/bottom bars all over the place :shock: ); the native tabbed panels and a separate "firefoxy" sidebar; so that you could have both open at the same time but it's too late at this stage of the game to make this sort of design decision.
This project is listed as an extension, not a truncation of SeaMonkey. As such it shouldn't break other functionality of the browser. At present xSidebar breaks the sidebar's tabbed interface.
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

hand_of_fate wrote:Can you explain why you prefer to have duplicate menu items next to each other?
I'm eccentric.
hand_of_fate wrote:The menu that contains the item "Customize sidebar" is created by the extension. It can;t be that difficult to change the wording in a menu you created to make the wording more coherent.
I am re-using the .DTDs that come with SeaMonkey reducing the number of strings in my own locales.
hand_of_fate wrote:
Philip Chee wrote:4. As I said this is a native SeaMonkey UI. I'd rather not modify it.
Doesn't the act of creating any extension modify the UI in some way?
Yes.
hand_of_fate wrote:In Suiterunner builds the options dialogs of extensions should be available from the Add-ons manager.
xSidebar also functions in SeaMonkey/XPFE.
hand_of_fate wrote:At present xSidebar breaks the sidebar's tabbed interface.
This is by design.

Phil
Lost User 295833
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Lost User 295833 »

I appreciate the web panel found in xSidebar. I found no other easy or obvious way to show a custom html agenda for Google Calendar sized to 270x600 in the "standard" sidebar for SuiteRunner.

I have noticed this behavior, though, in using the web panel, that upon toggling F9 to open and close the sidebar that the main browser window does not automatically resize the content when using Google Calendar. I am not sure if this is a web panel issue in xSidebar, a SuiteRunner issue (using build 2007100402), or a Google Calendar issue.

For the record, I am using xSidebar at this time exclusively for the web panel. I am relatively new to SeaMonkey (K-Meleon user) and if SuiteRunner had an easy way to select html code or web site info in the sidebar, that would suffice for me.
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

keemosabi wrote:I appreciate the web panel found in xSidebar. I found no other easy or obvious way to show a custom html agenda for Google Calendar sized to 270x600 in the "standard" sidebar for SuiteRunner.
You can use a special javascipt link to add a webpage to the list of panels shown in the Standard SeaMonkey sidebar. Or you can use the xSidebar "make this page a sidebar" context menu option, then uninstall xSidebar. Web-panels added this way will remain.
keemosabi wrote:I have noticed this behavior, though, in using the web panel, that upon toggling F9 to open and close the sidebar that the main browser window does not automatically resize the content when using Google Calendar. I am not sure if this is a web panel issue in xSidebar, a SuiteRunner issue (using build 2007100402), or a Google Calendar issue.
If this is in the main browser then xSidebar does not have any influence on it. Do you see the same issue in Firefox?
keemosabi wrote:For the record, I am using xSidebar at this time exclusively for the web panel. I am relatively new to SeaMonkey (K-Meleon user) and if SuiteRunner had an easy way to select html code or web site info in the sidebar, that would suffice for me.
There is no UI callable from SeaMonkey itself for this unfortunately. A javascript web-page link has to be specially crafted before SeaMonkey pops up a dialog asking you if you want to add the link to your list of web-panels.

Phil
Lost User 295833
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Lost User 295833 »

I obviously don't understand how to make the quote feature work with this forum, but nonetheless ...

Philip Chee replied: "Or you can use the xSidebar "make this page a sidebar" context menu option, then uninstall xSidebar. Web-panels added this way will remain."

This is not working for me as I think you are describing it. I can use the context menu to load the web site into the web panel of xSidebar, and the web panel of xSidebar retains the information from session to session well enough, but when xSidebar is disabled (I did not uninstall) the web panel is not visible as a tab in the "standard" sidebar nor is it available as an optional tab that can be added via Tabs > Customize Sidebar ...

Edit: I can confirm that "make this page a sidebar" is not working for my installation.

Thx,
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

Hmm. There are two options in the context menu: "Make this page a sidebar" and "View Page in Sidebar". The latter is only temporary. Make sure that you are using the first option which should bring up a confirmation dialog.

Phil
Lost User 295833
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Lost User 295833 »

OK - I've discovered the error of my ways ... "make this page a sidebar" option DOES indeed work for a http address on the web opened in the browser tab.

For my Gcalendar sidebar, I am opening a local html file from the drive and the code defines the information to obtain from Gcal and how to display it. In this case, the code defines a frame of 270x600 which fits nicely in the web panel of xSidebar. The local file html code is essentially the type that could be included in the sidebar of a blog, for instance. I can load this into a SuiteRunner browser window and then into a xSidebar web panel via "view page in sidebar". The "make this page a sidebar" option does not work for this type of situation.

Thanks for your help.
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

Grumble. I call the built in AddPanel() function from SeaMonkey's nsSidebar.js, but I then run into a security check. Sigh

Code: Select all

Error: 'Script attempted to add sidebar panel from illegal source' when calling method: [nsISidebar::addPanel] = NS_ERROR_XPC_JS_THREW_STRING
Source file: chrome://xsidebar/content/xsidebarUtils.js
Line: 934
I guess I'll need to implement my own addPanel() directly bypassing the security check.

Phil
Lost User 295833
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Lost User 295833 »

I am going to try Ed Mullen's solution: http://edmullen.net/Mozilla/moz_sidebar_local.html
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

keemosabi wrote:I am going to try Ed Mullen's solution: http://edmullen.net/Mozilla/moz_sidebar_local.html
That would work, but might be a security risk. YMMV.

Phil
Lost User 295833
Posts: 0
Joined: December 31st, 1969, 5:00 pm

Post by Lost User 295833 »

doesn't work, either ...
User avatar
Philip Chee
Posts: 6475
Joined: March 1st, 2005, 3:03 pm
Contact:

Post by Philip Chee »

keemosabi wrote:doesn't work, either ...
You need to restart SeaMonkey (make sure that you don't have quicklaunch running).

Phil
Post Reply