MozillaZine

Modded Extensions for SeaMonkey

Talk about add-ons and extension development.
tonymec

User avatar
 
Posts: 729
Joined: October 15th, 2004, 2:58 am
Location: Ixelles (Brussels Capital Region, Belgium)

Post Posted February 14th, 2013, 10:35 am

ArtKns: I have at the moment 78 tabs in SeaMonkey, but they stack on two neat horizontal rows, thanks to some fiddling with userChrome.css (a file which doesn't exist by default, but can be added in the chrome subdirectory of your profile). See "Implement flowing tabs" under "TABS" in this file and notice that I intentionally changed the file name.

I wrote this some years ago, when I realized that the Tab Mix Plus extension would never be ported to SeaMonkey.

Note: Any changes in {profile}/chrome/userChrome.css (or for that matter in userContent.css in the same directory) only take effect after a restart of the concerned application (SeaMonkey in this case, but the same user CSS style sheets can be used with Firefox or Thunderbird). For details, see http://kb.mozillazine.org/UserChrome.css
Best regards,
Tony

ArtKns
 
Posts: 6
Joined: January 31st, 2011, 1:59 am

Post Posted February 14th, 2013, 11:45 pm

therube wrote:
I usually have a LARGE number of tabs open and a limit of about 10


You can change the tabs width.
Try: browser.tabs.tabMinWidth & set it to 30.


I know I can. It is not the tab width for horizontal tabs that is the problem, it is horizontal tabs them-self. As I said, I usually have a lot of tabs open. That means hundreds of tabs, not just a dozen. Although even small numbers of tabs work better stacked vertically than horizontally.

A maximum of about 160 10pt chars can be squeezed into horizontal line on a screen. These must then be allocated among the open horiz tabs. Without icons, even at only 10 chars per tab (too short to really identify the content), one maxes out at about 15 visible tabs. This line is much too long and in the wrong format for the eye to readily compare and interpret the tab contents.

Contrariwise, with a vertical layout, you can easily stack 50 visible tabs in a single window (or group), each with an identifiable 20 chars and include a helpful icon. That's 1000 chars of visible, identifying tab content vs 160 chars and the width is immediately adjustable with a simple mouse drag. No need to interrupt the work flow to use about:config.

The eye scans and groks a vertical list much faster and better than a horizontal list. When you make a shopping list or to do list, do you ever make it horizontally? Why not?

IOW, 5o tabs of readily identifiable content vs 15 tabs of hard-to-decipher tabs. Horiz tabs are simply a PITA. Once you have tried vertical tabs, a restriction to horiz tabs is a deal breaker.

Much like trying to live with only one monitor after you have used dual monitors. It's painful.
Last edited by ArtKns on February 15th, 2013, 1:47 am, edited 1 time in total.

ArtKns
 
Posts: 6
Joined: January 31st, 2011, 1:59 am

Post Posted February 15th, 2013, 1:45 am

tonymec wrote:ArtKns: I have at the moment 78 tabs in SeaMonkey, but they stack on two neat horizontal rows, thanks to some fiddling with userChrome.css (a file which doesn't exist by default, but can be added in the chrome subdirectory of your profile). See "Implement flowing tabs" under "TABS" in this file and notice that I intentionally changed the file name.

I wrote this some years ago, when I realized that the Tab Mix Plus extension would never be ported to SeaMonkey.

Tony, Thanks for the response.

I looked at your userChrome file but it will take more than a quick scan to understand it. However, even at 40 tabs per row that means only about 4 chars per tab or perhaps a tiny icon - not enough to identify a tab - especially multiple pages open from the same site. Even with more rows and/or fewer tabs, horizontal lists just do not work well.

So my question remains - what does it take to mod an extension for SeaMonkey? Can a few tweaks suffice or are the two engines vastly different and require a complete rewrite? Are the differences documented anywhere?

And since I still need SaveWithURL and TabGroupManager, other mods will still be necessary.

Re SaveWithURL, it shouldn't be very difficult to implement in GreaseMonkey but there is a big if. Do you happen to know if mods to a page via GreaseMonkey are saved to a local file when the page is saved or are they just dynamic constructs rendered for display? If mods are not saved for GreaseMonkey, are they saved from an extension?

What is needed are two simple metatags to be output with a saved file [This is actually something that I think should be in the basic engine but ...]:

<meta content="{URL of page}" name="originalURL">
<meta content="{date and time of file save}" name="savedOn">

This seems like it should be simple but everything looks intimidating to a newbie. Could I get some help getting started?

therube

User avatar
 
Posts: 19951
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

Post Posted February 15th, 2013, 2:02 pm

@ArtKns did any of those extensions work in SeaMonkey?
If so, which extensions (& versions) & which version of SeaMonkey?
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball CopyURL+ FetchTextURL FlashGot NoScript

ArtKns
 
Posts: 6
Joined: January 31st, 2011, 1:59 am

Post Posted February 16th, 2013, 5:57 am

therube wrote:@ArtKns did any of those extensions work in SeaMonkey?
If so, which extensions (& versions) & which version of SeaMonkey?

Here you go, Thanks for your help.

Code: Select all
SeaMonkey About:Config Info   02-14-13
======================================

Application Basics   Value
==================   =====================================
Name:                SeaMonkey
Version:             2.15.2
User Agent:          Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 SeaMonkey/2.15.2
Profile Folder:      G:\Browsers\$Profiles\Seamonkey\
Enabled Plugins:     about:plugins
Build Config:        about:buildconfig
Crash Reports:       about:crashes
Memory Use:          about:memory


Extensions: Name          Version        Enbld  Status
=======================   =======        =====  ==============
Adblock Plus              2.0.3          true   Working
DownThemAll!              2.0.8          true   Working
JavaScript Debugger       0.9.89         true   Working
Saved Password Editor     2.7            true   Working
SaveWithUrl               0.2.12         true   Not working
Session Manager           0.7.9.5        true   Working
TabGroups Manager         2011.11.28.1   true   Not working
Vertical Tabs             0.9.3          true   Not working
DOM Inspector             2.0.13         false  not enabled


Modified Preferences: Name                              Value
=====================================================   ===============================
accessibility.browsewithcaret                           true
accessibility.typeaheadfind.enabletimeout               false
accessibility.typeaheadfind.linksonly                   false
browser.cache.disk.capacity                             358400
browser.cache.disk.smart_size.first_run                 false
browser.cache.disk.smart_size.use_old_max               false
browser.cache.disk.smart_size_cached_value              358400
browser.places.smartBookmarksVersion                    4
browser.startup.homepage                                file:///G:/Browsers/$Profiles/ARKSTART.htm
browser.startup.homepage_override.mstone                rv:18.0
browser.tabs.autoHide                                   false
browser.tabs.closeButtons                               1
browser.tabs.maxOpenBeforeWarn                          20
browser.tabs.tabMinWidth                                76
browser.zoom.full                                       false
extensions.lastAppVersion                               2.15.2
general.useragent.compatMode.firefox                    false
network.cookie.prefsMigrated                            true                                 
places.database.lastMaintenance                         1360250893
places.history.expiration.transient_current_max_pages   53646
plugin.disable_full_page_plugin_for_types               application/pdf
privacy.donottrackheader.enabled                        true
privacy.item.downloads                                  false
privacy.item.formdata                                   false
privacy.item.history                                    false
privacy.item.sessions                                   false
privacy.item.urlbar                                     false
privacy.popups.remove_blacklist                         false

Library Versions
================
Expected minimum version       Version in use
============================   ====================
NSPR      4.9.4                4.9.4
NSS       3.14.1.0 Basic ECC   3.14.1.0 Basic ECC
NSSSMIME  3.14.1.0 Basic ECC   3.14.1.0 Basic ECC
NSSSSL    3.14.1.0 Basic ECC   3.14.1.0 Basic ECC
NSSUTIL   3.14.1.0             3.14.1.0

tonymec

User avatar
 
Posts: 729
Joined: October 15th, 2004, 2:58 am
Location: Ixelles (Brussels Capital Region, Belgium)

Post Posted February 16th, 2013, 12:57 pm

@ArtKns: I reduce my tabs' width until only the favicon is visible (16px IIRC). To me it's enough to identify the tabs. When there are too many of them for a single site (with the same favicon), I add "about:" tabs (with the default favicon) to separate them into groups; and the full title is visible at the top of the thumbnail on mouseover anyway.

What is required to mod an extension for SeaMonkey? It depends what the extension is about. I've been told that Firefox's and SeaMonkey's tabbrowsers are different enough to make porting of a tab-related extension from one to the other far from simple. OTOH there are extensions which don't go so deep into the browser's internals, for which "porting to SeaMonkey" simply consists of adding the appropriate <targetApplication> tag (and its contents) in install.rdf.
Best regards,
Tony

ArtKns
 
Posts: 6
Joined: January 31st, 2011, 1:59 am

Post Posted February 19th, 2013, 4:20 am

tonymec wrote:@ArtKns: I reduce my tabs' width until only the favicon is visible (16px IIRC). To me it's enough to identify the tabs. When there are too many of them for a single site (with the same favicon), I add "about:" tabs (with the default favicon) to separate them into groups; and the full title is visible at the top of the thumbnail on mouseover anyway.

What is required to mod an extension for SeaMonkey? It depends what the extension is about. I've been told that Firefox's and SeaMonkey's tabbrowsers are different enough to make porting of a tab-related extension from one to the other far from simple. OTOH there are extensions which don't go so deep into the browser's internals, for which "porting to SeaMonkey" simply consists of adding the appropriate <targetApplication> tag (and its contents) in install.rdf.


Tony,
I need to be able to view and organize a list of tabs without having to move anything but my eyes or have to memorize the order and content of 30 items. Horizontal tabs just cannot do that. I am not trying to convince you to crave vertical tabs (although you should, ;-)), I am trying to get them for me. Whenever I post something about vertical tabs I get discouraging responses telling me I don't need them, tab width settings, workarounds and such - especially from the Firefox crew - but never from anyone who has actually tried them.

[In fact, the Mozilla developers (pre Firefox), strongly resisted integrating any tabs at all in the browser and were brought kicking and screaming into the tab age only after extreme pressure.]

An easy way to try vertical tabs is to install Opera (the inventor of browser tabs). Simply right click in the tabs area and select which of the four sides you prefer. I challenge you to try using vertical tabs and then see if you can still be happy with only 16px icons to identify your pages. ... Oops, that is trying to convince you... Oh well, so call me a liar. ;-) "Try it, you'll like it!" [A NYC ethnic joke.]

Anyway, all kidding aside, icons only and mouse overs just don't work for me.

I spent some time perusing the extension development pages on Mozilla and it does not look so good. For example, one page [https://developer.mozilla.org/en-US/docs/Extensions_support_in_SeaMonkey_2], (written for FF 3), listed a few of the differences. The differences are not just cosmetic but include name changes for folders, objects and DOM structure. Many of the articles are incomplete or out of date. And since Mozilla refuses to date stamp any of their articles it is hard to tell which is which but when they keep referencing Firefox 3 or 4, one gets a clue.

Do you know of any online resource or any person that would be a viable source of technical info re SeaMonkey vs Firefox extensions? I thought this list would be a good resource, am I wrong?

You've been here for over eight years so maybe you can tell me what the status of SeaMonkey truly is? I thought it was a fork off the main Gecko/Firefox trunk but I don't know how long ago the branch was taken. Is the SeaMonkey project still funded/supported by Mozilla or has it been relegated to strictly a volunteer effort? Any idea how actively SeaMonkey is supported?

Thanks for your responses.

Art

tonymec

User avatar
 
Posts: 729
Joined: October 15th, 2004, 2:58 am
Location: Ixelles (Brussels Capital Region, Belgium)

Post Posted February 19th, 2013, 10:00 pm

ArtKns wrote:[...] I spent some time perusing the extension development pages on Mozilla and it does not look so good. For example, one page [https://developer.mozilla.org/en-US/docs/Extensions_support_in_SeaMonkey_2], (written for FF 3), listed a few of the differences. The differences are not just cosmetic but include name changes for folders, objects and DOM structure. Many of the articles are incomplete or out of date. And since Mozilla refuses to date stamp any of their articles it is hard to tell which is which but when they keep referencing Firefox 3 or 4, one gets a clue.

Do you know of any online resource or any person that would be a viable source of technical info re SeaMonkey vs Firefox extensions? I thought this list would be a good resource, am I wrong?

I think you aren't. There is another Mozillazine forum thread… let me find it back… Ah, here: Modifying Firefox extensions for SeaMonkey 2.0. It is more targeted at extension authors who already make Firefox extensions, and tells them how to support SeaMonkey too.

ArtKns wrote:You've been here for over eight years so maybe you can tell me what the status of SeaMonkey truly is? I thought it was a fork off the main Gecko/Firefox trunk but I don't know how long ago the branch was taken. Is the SeaMonkey project still funded/supported by Mozilla or has it been relegated to strictly a volunteer effort? Any idea how actively SeaMonkey is supported?

Actually, from an historical point of view, Firefox and Thunderbird were, from the day they were born, forks of parts of the Mozilla Suite, which was later continued under another name as SeaMonkey.

SeaMonkey is now strictly a volunteer effort, and has been ever since the Mozilla Suite was officially renamed SeaMonkey (with an uppercase M: the name Seamonkey, with lowercase m, had previously been used at some point as an internal codename for the Suite project). The Mozilla Foundation still provides some goodwill (including registering the SeaMonkey trademarks with the national authorities) and some sponsoring (including some builder hardware) but no paid manpower whatsoever. SeaMonkey is actively supported, yes, but only by its own group of volunteer enthusiasts: for instance, https://wiki.mozilla.org/SeaMonkey/StatusMeetings/2013-02-19 is the minutes of the latest fortnightly "SeaMonkey Status Meeting" where the activity since the previous Status Meeting is summarized. Or you could search https://bugzilla.mozilla.org/ for recently fixed bugs for Project "SeaMonkey".
Best regards,
Tony

tonymec

User avatar
 
Posts: 729
Joined: October 15th, 2004, 2:58 am
Location: Ixelles (Brussels Capital Region, Belgium)

Post Posted February 19th, 2013, 10:43 pm

P.S. In the Mozilla bugzilla, products "MailNews Core", Toolkit", "Core" and a few much less volatile ones are actually shared between SeaMonkey, Thunderbird, and, except for the former one, Firefox. They are not forked, the code is the same for SeaMonkey and the rest, with the same master source repositories. However these modules are under the control of the Thunderbird or Firefox developers, who don't always care about not breaking SeaMonkey.
Best regards,
Tony

therube

User avatar
 
Posts: 19951
Joined: March 10th, 2004, 9:59 pm
Location: Maryland USA

Post Posted February 20th, 2013, 4:55 pm

Jsview fixed for error when attempting to open with an external editor, http://www.filesplat.com/.therube/share ... rt.FIX.xpi
Thanks Elbert.
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball CopyURL+ FetchTextURL FlashGot NoScript

Tiger-Heli
 
Posts: 104
Joined: February 20th, 2008, 8:18 am

Post Posted February 22nd, 2013, 7:43 am

@ArtKns - I have a different question, but for vertical tabs, in Firefox 10.0.1 (not sure about later versions) (Update - works fine with Firefox 19.0)

https://addons.mozilla.org/en-us/firefo ... d-edition/

Options - Tab Bar - Panels - Along the Left Edge should do what you want. (And there are also options to view sub-tabs of a domain in a tree structure if you wanted to, etc.)

As far as I know, this has not been ported to SeaMonkey, and I'm not sure what it would take to do so. (Not easily compatible with SeaMonkey 2.16 - I modified the install.rdf file and got it to load, but none of the options seem to work).
Last edited by Tiger-Heli on February 22nd, 2013, 9:52 am, edited 3 times in total.

Tiger-Heli
 
Posts: 104
Joined: February 20th, 2008, 8:18 am

Post Posted February 22nd, 2013, 7:58 am

I use SeaMonkey 2.16 and would like an extension that doesn't exist (at least that I know of).

"TabBar Favicon Changer" would probably be a good name.

What I would like to do is be able to right-click on a Tab and bring up a menu to "Change Favicon" for sites that don't have one or for sites that I want a different one to differentiate it. I envision it prompting for the option to apply the icon to an individual page, the subdomain, or the domain - i.e., if I am on http://subdomain.domain.com/page1.html, the extension would prompt me to choose a new icon and then apply the icon to "Page1.html", "All pages on subdomain.domain.com" or "All pages on "domain.com".

The extension should retain the custom bookmark on a restart and ideally should also change the icon in the address bar - although that is not a primary concern.

There are two extensions that have SOME of this functionality, so I don't think it would be impossible to do, but it is probably well outside my personal capabilities.

• Bookmark Favicon Changer - https://addons.mozilla.org/en-us/seamon ... ostpopular - allows you to change the icon for a bookmarked individual page in the bookmarks tab, but not in the browser tab, and lacks the ability to apply the changes across a domain.

• HashColouredTabs+ - https://addons.mozilla.org/en-us/seamon ... tabs-4279/ - allows you to change the tab icon for a domain, but only allows you to change the icon if the website doesn't have a pre-defined favicon and even in that case, only allows you to select from 5 pre-set icon shapes in user-defined colors.

• There was a thread on Mozillazine that implied that if I used Bookmark Favicon Changer with Tab Mix Plus with the "Display - Use Bookmark Description for Tab" option selected, that it would use my Bookmark Favicon icon in the tab bar, but that DID NOT seem to work.

It would probably be possible to expand Bookmark Favicon Changer so that any selected custom favicon was also applied to the tab bar, or expand this proposed extension so any custom icon for the tabs also changed the icon for any bookmarks from that site, but I think it would be better to leave them alone and make this a new standalone extension.

I contacted the author of HashColouredTabs about this and didn't get a response, and contacted Sonthakit (the author of Bookmark Favicon Changer). Sonthakit said "For tab icon, i know how to set it. But the problem is ... What icon. Example. If you bookmark site http://any.com/1.html and http://any.com/2.html with different icon. When you goto http://any.com/3.html, what icon should use. 1 or 2?"

She (he?) was obviously thinking of integrating it into BFC, and I recommended first checking if that page was bookmarked with a custom icon, and then seeing if index.com on that domain was bookmarked with a custom icon, and then using probably the first alphabetical page on the domain that had a custom icon, but thinking about it more, I think it would work better as a standalone extension.

As I said - I've never done SeaMonkey coding (I've done some customizations of the active tab color in userChrome, but this is a LOT more involved), but the way I see this progressing:

• Use the code for setting an icon for a tab image from BFC, but launch the menu and user input form from a right-click on a tab and apply it to tabs and the address bar like HCT+ does.

• Write additional code to prompt whether the icon should apply to the page, the domain, or the sub-domain. This would really be the only code written from scratch, but BFC applies the icon to the page by default and HCT+ applies it to the full domain by default, so it shouldn't be too hard to accomplish - I hope.

• Strip out the code for automatically applying icons to pages without them from HCT.

• Test and distribute the extension.

Thanks in advance for any assistance.

Tiger-Heli
 
Posts: 104
Joined: February 20th, 2008, 8:18 am

Post Posted February 22nd, 2013, 9:30 am

As a further complication - HashColouredTabs+ 4.30 does NOT appear to work with SeaMonkey 2.16 (or Firefox 19). I tried a clean install and I see the menu item for "Set Icon Color" but it is grayed out. It worked fine in 2.15.2.

Tiger-Heli
 
Posts: 104
Joined: February 20th, 2008, 8:18 am

Post Posted February 22nd, 2013, 1:18 pm

IdentFavIcon - https://addons.mozilla.org/en-us/firefo ... ntfavicon/ - does still work fine with FireFox 19, but it was never ported to SeaMonkey. It gives me SOME of the functionality I am looking for - for example, I can have it generate a different favicon for a domain even if the domain has it's own defined favicon - unfortunately, it doesn't let me even choose one of it's icons for the favicon, much less upload my own image. It could be useful for seeing how the code works though ...

Tiger-Heli
 
Posts: 104
Joined: February 20th, 2008, 8:18 am

Post Posted February 25th, 2013, 3:17 pm

Making some progress, but still mostly lost ...

I was trying to see if Opera could do this and ran across this:
http://my.opera.com/community/forums/to ... id=1144372

The supplied code worked fine to change the "O" to a globe, but when I tried to modify that script to change another site to one of my icons, it didn't work properly.

Then I ran across this:
https://addons.mozilla.org/en-us/firefo ... src=search

That works for Firefox and the code is remarkably similar to the Opera forum post.

I couldn't even get it to install in SeaMonkey, though.

But, if I can figure out the base64 conversion stuff, I should be able to create multiple extensions to use any icon I want on a domain or sub-domain (in Firefox, but not in SeaMonkey).

That's a great start, but it's a long way from being able to choose any icon and apply it instantly to the tabs.

Return to Extension Development


Who is online

Users browsing this forum: No registered users and 1 guest