johngraciliano / simplewhite

A minimal theme for Mozilla Firefox.
https://addons.mozilla.org/addon/simplewhitex/
Mozilla Public License 2.0
44 stars 4 forks source link

Support for WebExtension format (Support for FireFox 57+) #50

Open maicol07 opened 6 years ago

maicol07 commented 6 years ago

Hi, In the firefox addons there is in your theme the tag "OBSOLETE". This means that when Firefox 57 will be released (around November by Mozilla) Simple White X won't work.. This is the article related: https://support.mozilla.org/en-US/kb/firefox-add-technology-modernizing Thanks

johngraciliano commented 6 years ago

Thank you for the note. Allegedly there is a path to update complete themes. I have not found it yet, but I am hoping to finding it on time. I am still working on updating this theme to support Firefox 57. The task is harder than I was expecting but I hope I can do it. I hope to publish somthing with at least partial support soon.

cool00geek commented 6 years ago

Has there been any update on this? As the release of Firefox 57 approaches, I would hate to lose this theme.

Lootyhoof commented 6 years ago

WebExtensions theme API is still very young, there's not much documentation on it yet. There are some examples (in Chrome-alike format, i.e. no custom toolbar icons), a (very) basic MDN page (again, not listing custom icons) here and the schema for manifest.json here.

I'm also not sure if AMO is suited for these themes yet, and I'm not personally sure if they're enabled in Firefox yet (unless @johngraciliano knows further).

johngraciliano commented 6 years ago

Thank you, @Lootyhoof, for the links. I am still trying to understand how to translate chrome.manifest and install.rdf into manifest.json. I am still working towards the support of the new photon interface (already available since Firefox 55). I left some days ago a pre-release, which works in Nightly 58 (of some days ago) if the legacy is enable in about:config, but for some reason can not be enabled in Firefox 57 beta. I expect to have an official release tomorrow unless some report comes about the pre-release being really wrong.

Lootyhoof commented 6 years ago

"Legacy" (non-WebExtension) add-ons cannot be enabled in anything other than Nightly, even with the correct prefs enabled in about:config. It's also not possible to state compatibility with 57+ on AMO for these add-ons due to this.

There is no concept of chrome.manifest in manifest.json as there isn't anything to overlay or override - I don't think themes can even use CSS now (though I haven't looked greatly into this subject). It appears as though manifest.json lets you state the background image(s) as well as individual icons for each button, similar to a more advanced lightweight theme.

johngraciliano commented 6 years ago

It was initially announced that porting complete themes would be mostly about translating those files. It is ridiculous and extremely constraining to do a theme without css. Perhaps that would work for a page or an add-on (an "app"), not for the whole Firefox environment. Firefox itself, is not written that way! Surely it would be suicidal to ask Firefox developers to write in such detailed way. I would not translate this theme if I need to specify every single instance of a screen separately for each icon, it is totally unfeasible.

Lootyhoof commented 6 years ago

Initial information on this was provided here: https://blog.mozilla.org/addons/2017/02/24/improving-themes-in-firefox/

The next generation of Firefox themes will blend LWTs’ ease of authoring with the additional capabilities we see most often used in Complete Themes. At its core is a JSON manifest, mapping defined property names to the underlying UI elements. Theme developers will be able to control a variety of styles on these properties (such as colors, icons, and background images), and Firefox will ensure the manifests are supported in a stable and well-documented way across future releases and UI updates. These themes will be layered on top of the default Firefox appearance, so you can create a trivial theme that just changes one property, or a complex theme that changes all of them. The goal is to provide capabilities that enable people to make themes they love and use. We think it’s possible to make themes in Firefox powerful without the previous pitfalls. To get started, we’ll initially support the same properties as Chrome, to make the thousands of Chrome themes more easily available in Firefox. Then we’ll expand the set of properties in our API, so that Firefox themes will be able to do more. We expect to continue adding to this theming framework over time, with your feedback helping to guide what’s needed. We also recognize that a property manifest won’t have all the capabilities of direct CSS manipulation, especially during the time we’re expanding coverage to cover the most common use cases. So, for theme authors who need additional capabilities (and are willing to bear the burden of supporting them), we’ll provide an “experimental” section of the manifest to continue to allow direct CSS manipulation of the Firefox UI. This is similar in spirit to WebExtension Experiments, and usage will also be restricted to pre-release versions of Firefox.

As for where they are hoping to go, see their engineering plan.

maicol07 commented 6 years ago

Firefox 57 released. The theme is still obsolete...

arunanc commented 6 years ago

Firefox 57 released. The theme is still obsolete

+1

I hate using FF57 without this beautiful theme

maicol07 commented 6 years ago

Any news? It passed almost 2 months...

arunanc commented 6 years ago

It's year 2018. We are still waiting and using the old FF version just to use this theme.

Meanwhile FF keeps annoying me.

image

maicol07 commented 6 years ago

Any news @johngraciliano ?

Lootyhoof commented 6 years ago

While I can't speak for @johngraciliano, I can at least say that complete themes in Firefox are dead, and impossible to port over as-is. Meta-bug 1389465 deals with extending the current lightweight themes (Personas) beyond their current state, but there isn't much progress, nor any information on when we can at least replace toolbar icons...the last such official update from Mozilla was here, and it didn't look hopeful. In other words, even if something does come of this, it might take quite a while.

In the meantime, it's possible to use this theme as-is in Basilisk or Waterfox (Firefox 52 ESR isn't recommended as it's now superseded by Firefox 60 ESR, and will be phased out entirely within a few months). I also actively maintain a fork of Simple White (plus a dark version - with a large update on the way soon) specifically for Pale Moon if you want to go that route.

I still wish @johngraciliano all the best for this, if it's ever possible to get working again in Firefox in some manner, but I suspect it would need a complete re-write to do so. Time will tell on that front, I'd say.

maicol07 commented 6 years ago

What about Firefox userChrome.css?

Lootyhoof commented 6 years ago

You could style it with userChrome.css, sure, though this would also require re-writing most of this to accomodate that format. It's also speculated that they will be eventually removing this feature too (though I can't seem to find the bug that mentions it right now...).

It's likely that such a theme wouldn't be as comprehensive as this, but could probably still cover the important areas (toolbar buttons etc).