Themes badly implemented

  • angryprogrammer

    angryprogrammer - 2009-09-11

    Just upgraded from 5.2.* to 5.4.5. The instructions asked me to delete the old configuration and style files. I never did that on other upgrades (should I have?). Well, fairly disappointing to lose my theme and all my other customizations after all this time but I suppose it probably can't be helped.

    Anyway, the problem is, the themes takes such a damned long time to set up. When I saw the new "Select theme" dropdown in the dialog I was overjoyed -- I thought my wishes had come true. But it turned out that rather than making things easier to manage it just multiplied the problem by 14 (the number of themes), and even more so!

    I hate having to micromanage all the settings. I have to work with files in a dozen-ish languages, and when I get a new one, I have to open up the style configurator all over again to set my preferred colours on it, turn off keyword bolding, set the comments to a plain non-italic font, and right-click on every background color to make it defer to the defaults. (WHY THE #%*£! isn't that the default setting?)

    Being able to save multiple themes is so nice in theory yet so bad in practice, as none of the settings in none of the default themes seem to defer to their defaults. Even if I set that, I still can't fiddle with language element colours on a theme-wide basis.

    Updating the theme stuff anyway, you had a real chance with it to make it easier to construct themes. I'm totally amazed you didn't take it. I'd thought the feature was inevitable. You came so close to it, yet walked almost at right-angles to it.

    If you'd just add section for language-independent keyword, comment, string, number, operator, variable, preprocessor, etcetera, styles, the most important elements of most languages would be covered.

    Given my objection to micromanaging, imagine my total horror when I explore further and find that custom keywords and even custom file extensions (!!!) also seem to be tied to the themes! I would add them on one theme, go to a different one and they'd be missing. Switch back, they're still missing. Try it again, oh there they are! Or least it seemed so. It was very hard to track what was happening because even the default keywords weren't consistent across languages. It felt very buggy, and I'm not sure if I was experiencing real bugs or just obscure features.

    Take PHP for example. One theme had "$_POST $_GET $_SESSION" tacked onto STRING, and another had them tacked onto "DEFAULT", and another had a section called "USER DEFINED" that was completely missing from the others. Well for one thing, they are not PHP keywords at all, and if they were, $_REQUEST $_SERVER and $_ENV would be among them. Some people had inexplicably tacked they're own non-keywords into random bits it seemed, like "the_ID the_post have_posts wp_link_pages the_content". (Yuck! Random crap from the WordPress APIs!) And while we're on that subject, there are major new keywords in PHP that are still completely missing from the defaults:

    Why the hell would you save those properties as part of a theme? That kind of micromanagement is egregious and inexcusable. Even the order of the languages in the list isn't consistent across themes!! I'm so sorry, because I do love Notepad++, but what were you thinking with that? You had a chance to get it all right!!!! Instead, you made it so much worse.

    Finding and applying all my customizations from the old style file and applying them to the new ones and fixing up the orders and defaulting all the background colors on all the languages in all the files -- it's too much. I'm downgrading again, and I intend to stay there until such day as major issues with the themes have been fixed. Sorry, friend.

    • Adam

      Adam - 2009-09-11

      If you want to change the font size/type etc across all languages go to "Global Styles", set the properties how you want, and lastly check the boxes that you want forced everywhere.

  • Thell Fowler

    Thell Fowler - 2009-09-11


    No need to 'downgrade'.  Just take you old customized theme, give a name and put it in the themes directory, restart N++, and select your theme.

    That should be all there is to it.

    If that doesn't work let us know.

  • cchris

    cchris - 2009-09-12

    As a matter of fact, all programming languages have identifiers, comments, keywords, dirextives numbers, strings and operators.

    Perhaps the Global style list could include such "meta-items" to apply by default to all languages. This is not completely straightforward as some linkage between language "categories" and the meta-items has to be hardcoded. For instance, "doc comments" of any kind would be controlled by the Global comment item, and so on. And if some item in a language isn't relevantly described by a meta-item, then it won't have a default. An extra attribute in the stylers.xml style description woill do, I think.


  • Kalthorn

    Kalthorn - 2010-02-22

    Well I'm not sure if this is the problem angryprogrammer was having but there is a problem/bug with saving changes to the preinstalled themes, namely that it doesn't.

    On Winx64, I can make any changes I want to a theme globally and per language.  However, if I change themes either by explicitly saving/closing and then changing on reopen, or by changing and choosing "yes save changes before switching", then I lose all my changes.

    Checking the xml files in the Themes folder tells me that they are not being overwritten.

    Only running Notepad++ in administrator mode allows my theme changes to be saved.  My xml theme files are not Read Only.  This problem doesn't seem to affect the Default style which was the only one I had used or altered until this evening.  Hope that helps!

  • Kalthorn

    Kalthorn - 2010-02-22

    Sorry, that's Win7 x64.  Version of Notepad++ is 5.6.4

  • cchris

    cchris - 2010-02-22

    The wholesale advice <I'd give about all these config file issues under Win7, and sometimes Vista, is to install Notepad++ on a different partition than C:\ and not using %APPADATA%. This will prevent the OS from undesirable interference.

    I'd go as far as recommending such a change in the installer.


  • Jocelyn Legault

    Jocelyn Legault - 2010-02-22

    cchris: Generic colors for comment elements (comments, identifiers, etc) is (one more) thing I had planned to do when I'm done with my current task. However, I don't know that I'm going to be able to tackle that in the next 4-6 months. If someone is willing to step up to the plate for it, that'd be extra nice.

    As for the problems with Vista / Win7, I can't comment on that since I don't have any of these OSes installed. Seems like a serious issue, though. :-/


  • cchris

    cchris - 2010-02-23

    Posting a request on IdeaTorrent could trigger several implementation descriptions, and perhaps one that would be manageable and eventually done.



Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks