Let's take a look at how it used to work. You had to go to the Brief's website, download the default stylesheet, save it somewhere, edit it and then point to it from the Brief's options window. You had to copy the whole, two-hundred-line-long stylesheet even if you wanted to alter a single rule, for example to increase the font size. It was too much work and as the result not many people would take advantage of it.
Brief 1.2 is going to overhaul and simplify the way custom CSS is applied. From now on you won't have to replace the default stylesheet - instead you will be able to define additional rules on top of it, in exactly the same fashion that userChrome.css works. In fact, the file called brief-custom-style.css will reside in the same place, i.e. \chrome folder in the user's profile. There's going to be a simple built-in editor available in the Options window.
The new mechanism should not only make it easier to customize stuff for yourself, but also to exchange these customizations with others, because you you'll be able apply a couple of separate customizations at once. In the old system, when customizations were distributed as replacements for the default style instead of sets of isolated rules, using more than one customization required merging their files, which was not fun (to say the least).
Finally, it's going to make user styles more independent from the changes to the default appearance, so that you won't have to redo your customizations almost every time when upgrading Brief.
Re: New mechanism of customizing the appearance of feeds
I'm not quite sure if this actually simplifies anything. Lets think about it. The new mechanism is supposed to let users style the extension without editing userChrome.css but I already accomplished that in 1.1 with my custom style sheet. I just supplied my own CSS which acted as an overlay for the original look. So in this regard nothing happened except for the way custom styles are being supplied to Brief. And in my opinion it's a change to worse.
I really can't see how the users will benefit from this change as opposed to previous mechanism. For example, if I wanted to share my custom theme, I could upload the file somewhere and provide the link on the forums. Then someone else would download it, set the file as active theme in Brief and that's it. If he liked it, he'd keep it and if not, he'd just delete it. Simple and effective.
Not anymore, though, as currently trying a new theme requires the user to: backup his own changes by copying and pasting contents of the editor, paste new theme into the editor, check if he likes it and if not, delete the contents of the editor, open backup, paste its contents. A lot of hassle. And imagine that the user wants to check not one but - say - five new themes that he thinks he may like using. Oh my...
And on top of that the new editor requires the user to know CSS and to look into userChrome.css for reference just as much, as previous mechanism did. It is therefore safe to asssume that only a power user will edit themes and that he will prefer doing it with his own editor of choice, with syntax highlighting, snippets and whatnot.
I am using my own theme for Brief since 1.1 version and until this beta it worked exactly like you said it would with the new mechanism.
Re: New mechanism of customizing the appearance of feeds
I'm mixed. I kinda like some of the ideas of this new editor, but I am in agreement that it stifles advanced custom themes because of the amount of hassle one has to go through to use the editor (see the post above for what I mean) along with:
1) You cannot do anything else in Firefox while Brief's Options and the Editor are open. The two windows have to be closed before you can do anything else in Firefox.
2) In the old way, you can see changes live by saving the custom stylesheet and then changing feedviews after you changed something on the stylesheet. With the new way, you have to: A) Open Brief's Options. B) Open the Editor. C) Make changes. D) Close Editor. E) Close Brief's Options. F) See if changes are good. If not... G) Open Brief's Options. H) Open the Editor... yadda yadda yadda, I think you get the point (it kinda restates what was said earlier in the previous post).
You should have at least an about:config option for advanced users to let them keep using stylesheets while newbies can use the editor until they are comfortable using full CSS stylesheets. Here's another suggestion: A link to: chrome://brief/skin/feedview.css
You can place it in the Customize part of Brief's Options or on the Editor itself. Everyone has still gotta see what they can tinker with after all.
Re: New mechanism of customizing the appearance of feeds
I can hit you with an opposite example. Imagine that a user wants to make a simple change, for example increase the font size. How does he go about doing it?
And this is how he's gonna do it using the new system:
That's more like it, isn't it?
Another example. Let's say that the user has already modified the font size and some other stuff here and there (using the old system). Now he comes across another customization that he likes, created by someone else. If he wants to apply that alternation, he needs to figure out which parts of that 250-line CSS file was modified compared to the default style and then manually merge it with his own 250-line CSS file. Madness!
Even complete styles usually modify a relatively small part of the default rules. The overwhelming majority of rules end up being common to all the styles. The new system allows for separation of significant rules from the boilerplate.
Yes, switching complete styles is a more time-consuming, but most actions are easier. It is a fair trade-off, I believe. Managing simple customizations is quick, managing big changes is a little slower, instead of vice versa.
Finally, there is something you can do to make switching styles a lot easier than you described. Just save a standalone CSS file on your disk, like you used to and add this to the custom style:
@import "file:///path-to-css-file";To try out different styles, you just substitute the file name. You can add more than one @import to apply a couple of customizations at once. You can even link to remote CSS files, if you want!
ancestor,
creator of Brief
Re: New mechanism of customizing the appearance of feeds
Both of these statements are wrong. The custom style is kept in a standalone CSS file in your profile (right next to userChrome.css, in fact). You can edit it using a separate application, just like you used to.
ancestor,
creator of Brief
Re: New mechanism of customizing the appearance of feeds
Well with the last two posts, this solves the issue of remote linking stylesheets. That is as long as one is willing to tag all the changes from the default style with "!important" -- ancestor, could you set Brief to automatically replace the default stylesheet if the import command is invoked? That would beat the heck out of marking "!important" to all changes from the default style...
Look at this suggestion like a compromise. You still get the intended editor functions (thanks for mentioning we can open brief-custom-style.css from our profile's chrome to speed up CSS editing) and advanced CSS stylesheet themers would be able to do advanced CSS editing without having to constantly invoke "!important" for every line they change.
Oh and by the way, you meant "@import url(*path to stylesheet here*);". For best importing results, store your custom stylesheet in your profile's chrome folder (this way you can do "@import url(/*stylesheet name here*.css); ). Oh and I see you moved feedview.css to your profile's "extensions/brief@mozdev.org/defaults/data" folder. Unless you're going to put the updated styleshet on your site, I'm still going to continue suggesting a quick link to the feedview.css from the CSS editor or Brief's options.
People (newbie and veteran alike) will still need to see what all options are available for tweaking. ;)
Re: New mechanism of customizing the appearance of feeds
That's precisely what I wanted to do after installing Brief for the first time. It was version 1.1 and here's how I did it:
And that was it. Since Brief was loading its defaults before using my new set of rules, they worked as an overlay and I wasn't forced to dig through 250 lines of original CSS file. And I didn't have any negative thoughts about the process.
Again, since Brief is (was?) loading its defaults before applying user defined styles, there was no need to create any sort of copy of the original file. One could achieve exactly the thing you described above with the old system.
I still say the new mechanism is a regression. Sure, giving the user a simple editor that separates him from the code sounds very nice, but if the user ever wants to do something more than just changing font size, he can't avoid diving into the code, it just can't be helped. And in that case this editor works as a frustrating obstacle instead of being helpful.
Re: New mechanism of customizing the appearance of feeds
Impossible. You must be misremembering, you must have done more than that. In the old system Brief did not load the default style before applying the user's style. It does it now and this change was the whole point of the new system.
Did you read my other post? You don't have to use the built-in editor if you don't want to, you can still use whatever text editing application you prefer. The user's style is still stored as a separate, standalone CSS file.
ancestor,
creator of Brief
Re: New mechanism of customizing the appearance of feeds
You often won't have to use !important. The custom style is included in the page after the default style and usually the custom rules will take precedence over the default ones even without the !important declaration.
Both forms are valid.
Sure, whatever works for you. Some people aren't familiar with profiles and they may prefer putting their files elsewhere.
I am going to put it in the customization guide, too (which by the way is going to be rewritten).
ancestor,
creator of Brief
Re: New mechanism of customizing the appearance of feeds
Actually... Elements not marked as "!important" will be ignored if they match the default stylesheet's elements or be added if they don't match the default stylesheet's elements. Elements marked "!important" will override the default stylesheet's elements.
I prefer the past way where custom stylesheets overrode the default stylesheet. Now I cannot use full stylesheets any more. I have to use CSS rules tagged with "!important" to customize the default stylesheet. You've actually stifled advanced custom themeing in favor of simple CSS themeing.
To put that another way, you're stifling standards just like how Microsoft stifled standards with IE before all the open-source browsers came along. While I realize it's important to take into account newbies, you shouldn't do that at the expense of advanced users.
Some how the earlier method generated Error Console messages. Something about the file type ending abruptly before importing could be completed. I may just have specified the wrong path file syntax (IE, I gave the right path, but didn't enter it in the correct format...) though.
Re: New mechanism of customizing the appearance of feeds
Wrong, see the CSS specification.
!important is part of the standard, so I this comparison doesn't make sense.
I think I have managed to refute all the arguments that led you to this opinion.
I forgot a semicolon in the example.
ancestor,
creator of Brief