From: Wolfgang Rosenauer Subject: choose default theme at first startup according to the Desktop Env References: Index: browser/app/profile/firefox.js ================================================================================ --- browser/app/profile/firefox.js +++ browser/app/profile/firefox.js @@ -102,7 +102,7 @@ pref("keyword.URL", "chrome://browser-region/locale/region.properties"); pref("general.useragent.locale", "@AB_CD@"); -pref("general.skins.selectedSkin", "classic/1.0"); +//pref("general.skins.selectedSkin", "classic/1.0"); pref("general.useragent.extra.firefox", "@APP_UA_NAME@/@APP_VERSION@"); pref("general.smoothScroll", false); --- modules/libpref/src/nsPrefService.cpp +++ modules/libpref/src/nsPrefService.cpp @@ -36,6 +36,7 @@ * * ***** END LICENSE BLOCK ***** */ +#include #include "nsPrefService.h" #include "nsAppDirectoryServiceDefs.h" #include "nsDirectoryServiceDefs.h" @@ -207,11 +208,22 @@ NS_IMETHODIMP nsPrefService::ReadUserPrefs(nsIFile *aFile) { nsresult rv; + PRBool rv2; if (nsnull == aFile) { rv = UseDefaultPrefFile(); UseUserPrefFile(); + rv2 = PREF_HasUserPref("general.skins.selectedSkin"); + if (!rv2) { + if (getenv("KDE_FULL_SESSION")) + PREF_SetCharPref("general.skins.selectedSkin", "plastikfox"); + else if (getenv("DESKTOP_SESSION") && !strcmp("gnome", getenv("DESKTOP_SESSION"))) + PREF_SetCharPref("general.skins.selectedSkin", "tango"); + else + PREF_SetCharPref("general.skins.selectedSkin", "classic/1.0"); + } + NotifyServiceObservers(NS_PREFSERVICE_READ_TOPIC_ID); } else {