diff -Nru gtk2-engines-qtcurve-0.62.6/ChangeLog gtk2-engines-qtcurve-0.62.7/ChangeLog --- gtk2-engines-qtcurve-0.62.6/ChangeLog 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/ChangeLog 2009-04-05 16:05:46.000000000 -0400 @@ -1,3 +1,17 @@ +0.62.7 +------ +1. For right-to-left progressbars, make animation go right-to-left - matches KDE. +2. Detect seamonkey as a Mozilla app. +3. Try to determine if a Mozilla app is new, or not, by calling --version +4. Fix OO.o scrollbars when using flat scrollbar buttons. +5. Improve Mozilla and OO.o spin widgets. +6. Fix OO.o comboboxes. +7. Shrink (by 2 pixels) size of Firefox toolbars - but only if '-DQTC_MODIFY_MOZILLA=true' + is passed to cmake. This modifies your ~/.mozilla/firefox/???.default/chrome/userChrome.css + file to include /usr/share/themes/QtCurve/mozilla/QtCurve.css file. +8. Fix KDE button order in FireFox 3 dialogs - but only if '-DQTC_MODIFY_MOZILLA=true' + is passed to cmake. + 0.62.6 ------ 1. Alter meunbar item widths slightly to make more consistent with KDE4. diff -Nru gtk2-engines-qtcurve-0.62.6/CMakeLists.txt gtk2-engines-qtcurve-0.62.7/CMakeLists.txt --- gtk2-engines-qtcurve-0.62.6/CMakeLists.txt 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/CMakeLists.txt 2009-04-05 16:05:46.000000000 -0400 @@ -8,7 +8,7 @@ set(CPACK_SOURCE_GENERATOR "TBZ2") set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "62") -set(CPACK_PACKAGE_VERSION_PATCH "6") +set(CPACK_PACKAGE_VERSION_PATCH "7") set(CPACK_PACKAGE_CONTACT "Craig Drummond ") set(QTCURVE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") set(QTCURVE_VERSION_FULL "${QTCURVE_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}") diff -Nru gtk2-engines-qtcurve-0.62.6/debian/changelog gtk2-engines-qtcurve-0.62.7/debian/changelog --- gtk2-engines-qtcurve-0.62.6/debian/changelog 2009-04-06 10:23:19.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/debian/changelog 2009-04-06 10:23:20.000000000 -0400 @@ -1,3 +1,9 @@ +gtk2-engines-qtcurve (0.62.7-0ubuntu1) jaunty; urgency=low + + * New upstream bugfix release (LP: #356247) + + -- Jonathan Thomas Mon, 06 Apr 2009 09:46:47 -0400 + gtk2-engines-qtcurve (0.62.6-0ubuntu1) jaunty; urgency=low * New upstream bugfix release (LP: #352538) diff -Nru gtk2-engines-qtcurve-0.62.6/mozilla/CMakeLists.txt gtk2-engines-qtcurve-0.62.7/mozilla/CMakeLists.txt --- gtk2-engines-qtcurve-0.62.6/mozilla/CMakeLists.txt 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/mozilla/CMakeLists.txt 2009-04-05 16:05:46.000000000 -0400 @@ -1,5 +1,6 @@ configure_file(QtCurve.css.cmake ${CMAKE_BINARY_DIR}/QtCurve.css) +configure_file(QtCurve-KDEButtonOrder.css.cmake ${CMAKE_BINARY_DIR}/QtCurve-KDEButtonOrder.css) configure_file(firefox-user.js.cmake ${CMAKE_BINARY_DIR}/firefox-user.js) -install(FILES ${CMAKE_BINARY_DIR}/QtCurve.css preferences-rev.xml ${CMAKE_BINARY_DIR}/firefox-user.js mailto.sh +install(FILES ${CMAKE_BINARY_DIR}/QtCurve.css ${CMAKE_BINARY_DIR}/QtCurve-KDEButtonOrder.css preferences-rev.xml ${CMAKE_BINARY_DIR}/firefox-user.js mailto.sh DESTINATION ${GTK_THEME_DIR}/mozilla) diff -Nru gtk2-engines-qtcurve-0.62.6/mozilla/QtCurve.css.cmake gtk2-engines-qtcurve-0.62.7/mozilla/QtCurve.css.cmake --- gtk2-engines-qtcurve-0.62.6/mozilla/QtCurve.css.cmake 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/mozilla/QtCurve.css.cmake 2009-04-05 16:05:46.000000000 -0400 @@ -1,49 +1,25 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); -/* - This file modifies Firefox (and other Mozilla apps?) so that they behave in a more - KDE like manner -*/ - -/* Swap Cancel/OK -> OK/Cancel */ -.dialog-button-box { -moz-box-direction: reverse; -moz-box-pack: right; } -.dialog-button-box spacer { display: none !important; } - -/* FireFox >=1.5.x */ -prefwindow { -moz-binding: url("file://@GTK_THEME_DIR@/mozilla/preferences-rev.xml#prefwindow") !important; } - /* Dont embolden the text on the selected tab */ tab[selected="true"] { font-weight: normal !important; } -/* Buttons */ -/* The following are commented-out, becuase they cause errors with FireFox 2.x :-( To re-eanble, - delete all lines with COMMENT_OUT on */ - -/* COMMENT_OUT -button label, -button image, -toolbarbutton label, -toolbarbutton image, -button[disabled="true"]:hover:active label, -button[disabled="true"]:hover:active image, -toolbarbutton[disabled="true"]:hover:active label, -toolbarbutton[disabled="true"]:hover:active image +/* Shrink toolbars -> by about 2 pixels :-( ... */ +/* Setting explicit heights, messes things up when text+icons is shown :-( */ +#nav-bar { - padding-left: 0px; - padding-top: 0px; - padding-right: 1px; - padding-bottom: 1px; + margin:0px !important; + padding:1px !important; + border:0px !important; } -button:hover:active label, -button:hover:active image, -toolbarbutton:hover:active label, -toolbarbutton:hover:active image +.textbox-input-box,#identity-box,#urlbar-icons,.autocomplete-history-dropmarker,.searchbar-engine-button,.search-go-container,.box-inherit.button-box { - padding-left: 1px; - padding-top: 1px; - padding-right: 0px; - padding-bottom: 0px; + margin:0px !important; + padding:0px !important; } -COMMENT_OUT */ +.searchbar-engine-button +{ + margin:0px !important; + padding:2px !important; +} diff -Nru gtk2-engines-qtcurve-0.62.6/mozilla/QtCurve-KDEButtonOrder.css.cmake gtk2-engines-qtcurve-0.62.7/mozilla/QtCurve-KDEButtonOrder.css.cmake --- gtk2-engines-qtcurve-0.62.6/mozilla/QtCurve-KDEButtonOrder.css.cmake 1969-12-31 19:00:00.000000000 -0500 +++ gtk2-engines-qtcurve-0.62.7/mozilla/QtCurve-KDEButtonOrder.css.cmake 2009-04-05 16:05:46.000000000 -0400 @@ -0,0 +1,10 @@ +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Swap Cancel/OK -> OK/Cancel */ +/* +.dialog-button-box { -moz-box-direction: reverse; -moz-box-pack: right; } +.dialog-button-box spacer { display: none !important; } +*/ +/* Just the following line seems to be enough for FireFox 3 */ +prefwindow { -moz-binding: url("file://@GTK_THEME_DIR@/mozilla/preferences-rev.xml#prefwindow") !important; } + diff -Nru gtk2-engines-qtcurve-0.62.6/README gtk2-engines-qtcurve-0.62.7/README --- gtk2-engines-qtcurve-0.62.6/README 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/README 2009-04-05 16:05:46.000000000 -0400 @@ -14,8 +14,10 @@ When Firefox is being themed - treat it as if it is < 3.0 Thunderbird is *always* treated as being of an old Mozilla style. - -DQTC_MODIFY_MOZILLA=true - Enable mods to userChrome.css (setting KDE button order) + -DQTC_MODIFY_MOZILLA=true + Enable mods to userChrome.css + - setting KDE button order + - shrink size of toolbars -DQTC_MODIFY_MOZILLA_USER_JS=true Enable mods to user.js (setting of instant apply, and diff -Nru gtk2-engines-qtcurve-0.62.6/style/qtcurve.c gtk2-engines-qtcurve-0.62.7/style/qtcurve.c --- gtk2-engines-qtcurve-0.62.6/style/qtcurve.c 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/style/qtcurve.c 2009-04-05 16:05:46.000000000 -0400 @@ -854,12 +854,14 @@ } } -static gboolean isMozillaWidget(GtkWidget *widget) +static gboolean isFixedWidget(GtkWidget *widget) { - return isMozilla() && widget && widget->parent && widget->parent->parent && + return widget && widget->parent && widget->parent->parent && GTK_IS_FIXED(widget->parent) && GTK_IS_WINDOW(widget->parent->parent); } +#define isMozillaWidget(widget) (isMozilla() && isFixedWidget(widget)) + static void setState(GtkWidget *widget, GtkStateType *state, gboolean *btn_down, int sliderWidth, int sliderHeight) { if(isMozillaWidget(widget)) @@ -1789,11 +1791,19 @@ GtkWidget *widget, int x, int y, int w, int h, gboolean raised, int round, EWidget wid) { - double xd=x+0.5, - yd=y+0.5, - radius=getRadius(opts.round, w, h, wid, RADIUS_ETCH); + double xd=x+0.5, + yd=y+0.5, + radius=getRadius(opts.round, w, h, wid, RADIUS_ETCH); + GdkRectangle *a=area, + b; - setCairoClipping(cr, area, region); + if(WIDGET_COMBO_BUTTON==wid && GTK_APP_OPEN_OFFICE==qtSettings.app && widget && isFixedWidget(widget->parent)) + { + b.x=x+2; b.y=y; b.width=w-4; b.height=h; + a=&b; + } + + setCairoClipping(cr, a, region); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, QTC_ETCH_TOP_ALPHA); if(!raised) @@ -1950,7 +1960,7 @@ } else setCairoClipping(cr, area, region); - + if(!colouredMouseOver && lightBorder) { GdkColor *col=&colors[QTC_LIGHT_BORDER(app)]; @@ -2902,6 +2912,9 @@ break; } + if(isSpinButton && isFixedWidget(widget) && (isMozilla() || GTK_APP_OPEN_OFFICE==qtSettings.app)) + x--; + if(isSpinButton && !QTC_DO_EFFECT) if(GTK_ARROW_UP==arrow_type) y--; @@ -3017,13 +3030,22 @@ if(spinUp || spinDown) { - EWidget wid=spinUp ? WIDGET_SPIN_UP : WIDGET_SPIN_DOWN; + EWidget wid=spinUp ? WIDGET_SPIN_UP : WIDGET_SPIN_DOWN; + GdkRectangle *a=area, + b; + gboolean ooOrMoz=GTK_APP_OPEN_OFFICE==qtSettings.app || isMozilla(); + if(!a && isFixedWidget(widget) && ooOrMoz) + { + b.x=x; b.y=y; b.width=width; b.height=height; + a=&b; + } + if(WIDGET_SPIN_UP==wid) { if(QTC_DO_EFFECT) { - drawEtch(cr, area, NULL, widget, x-2, y, width+2, height*2, FALSE, ROUNDED_RIGHT, WIDGET_SPIN_UP); + drawEtch(cr, a, NULL, widget, x-2, y, width+2, height*2, FALSE, ROUNDED_RIGHT, WIDGET_SPIN_UP); y++; width--; } @@ -3034,13 +3056,14 @@ GdkRectangle clip; clip.x=x-2, clip.y=y, clip.width=width+2, clip.height=height; - drawEtch(cr, &clip, NULL, widget, x-2, y-2, width+2, height+2, FALSE, ROUNDED_RIGHT, WIDGET_SPIN_DOWN); + drawEtch(cr, ooOrMoz ? a : &clip, NULL, widget, x-2, y-2, width+2, height+2, FALSE, + ROUNDED_RIGHT, WIDGET_SPIN_DOWN); height--; width--; } drawBgnd(cr, &btn_colors[bgnd], widget, area, x+1, y+1, width-2, height-2); - drawLightBevel(cr, style, window, state, area, NULL, x, y, width, + drawLightBevel(cr, style, window, state, area, NULL, x, y, width, height-(WIDGET_SPIN_UP==wid && QTC_DO_EFFECT ? 1 : 0), &btn_colors[bgnd], btn_colors, round, wid, BORDER_FLAT, DF_DO_CORNERS|DF_DO_BORDER| @@ -3251,6 +3274,16 @@ } #endif + if(GTK_APP_OPEN_OFFICE==qtSettings.app && opts.flatSbarButtons && slider && + (SCROLLBAR_KDE==opts.scrollbarType || SCROLLBAR_WINDOWS==opts.scrollbarType) && + widget && GTK_IS_RANGE(widget) && isFixedWidget(widget)) + { + if (GTK_RANGE(widget)->orientation!=GTK_ORIENTATION_HORIZONTAL) + y++, height--; + else + x+=2, width-=2; + } + if(defBtn && IND_TINT==opts.defBtnIndicator) btn_colors=qtcPalette.defbtn; @@ -3582,6 +3615,13 @@ } unsetCairoClipping(cr); } + else if(GTK_APP_OPEN_OFFICE==qtSettings.app && opts.flatSbarButtons && isFixedWidget(widget)) + { + if (horiz) + width--; + else + height--; + } drawLightBevel(cr, style, window, state, area, NULL, x, y, width, height, &qtcPalette.background[2], qtcPalette.background, sbarRound, WIDGET_TROUGH, @@ -3701,7 +3741,6 @@ GtkMenuBar *mb=menuitem ? isMenubar(widget, 0) : NULL; gboolean active_mb=isMozilla() || (mb ? GTK_MENU_SHELL(mb)->active : FALSE), horizPbar=isHorizontalProgressbar(widget); - int animShift=-PROGRESS_CHUNK_WIDTH; #ifdef QTC_GTK2_MENU_STRIPE_HACK_MENU /* This hack doesnt work! not all items are gtkImageMenuItems's -> and if tey are they're drawn first incorrectly :-( */ @@ -3725,15 +3764,21 @@ if(pbar && STRIPE_NONE!=opts.stripedProgress) { - GdkRectangle rect={x, y, width-2, height-2}; - int stripeOffset; + GdkRectangle rect={x, y, width-2, height-2}; + GtkProgressBarOrientation orientation=widget && GTK_IS_PROGRESS_BAR(widget) + ? gtk_progress_bar_get_orientation(GTK_PROGRESS_BAR(widget)) + : GTK_PROGRESS_LEFT_TO_RIGHT; + gboolean revProg=GTK_PROGRESS_LEFT_TO_RIGHT!=orientation; + int animShift=revProg ? 0 : -PROGRESS_CHUNK_WIDTH, + stripeOffset; if(opts.animatedProgress && QTC_IS_PROGRESS_BAR(widget)) { if(!GTK_PROGRESS(widget)->activity_mode) qtc_animation_progressbar_add((gpointer)widget); - animShift+=((int)(qtc_animation_elapsed(widget)*PROGRESS_CHUNK_WIDTH))%(PROGRESS_CHUNK_WIDTH*2); + animShift+=(revProg ? -1 : 1)* + (((int)(qtc_animation_elapsed(widget)*PROGRESS_CHUNK_WIDTH))%(PROGRESS_CHUNK_WIDTH*2)); } constrainRect(&rect, area); diff -Nru gtk2-engines-qtcurve-0.62.6/style/qt_settings.c gtk2-engines-qtcurve-0.62.7/style/qt_settings.c --- gtk2-engines-qtcurve-0.62.6/style/qt_settings.c 2009-03-30 14:52:35.000000000 -0400 +++ gtk2-engines-qtcurve-0.62.7/style/qt_settings.c 2009-04-05 16:05:46.000000000 -0400 @@ -30,7 +30,10 @@ #include #include #include +#include +#include #include +#include #define QTC_READ_INACTIVE_PAL /* Control whether QtCurve should read the inactive palette as well.. */ #define QTC_RC_SETTING "QtC__" @@ -305,6 +308,52 @@ RD_KDE4_PAL = 0x2000, }; +/* + Try to determine if a mozilla app is >= v3. Tested with: + +Mozilla Firefox 3.0.8, Copyright (c) 1998 - 2009 mozilla.org + Thunderbird 2.0.0.21, Copyright (c) 1998-2009 mozilla.org + Thunderbird 3.0b2, Copyright (c) 1998-2009 mozilla.org +Mozilla XULRunner 1.9.0.8 - 2009032711 + +To get the verison number: +1. Get the command-line from /proc//cmdline - so Linux specific +2. Append --version to this, and call the application +3. Look for the fist '.' in the returned string +4. Look at the character to the left of that, if it is a digit and >2 then + we assume this is a new mozilla app... + +...what a pain... +*/ + +static int getMozillaVersion(int pid) +{ + char cmdline[MAX_LINE_LEN+11]; + int ver=0, + procFile=-1; + + sprintf(cmdline, "/proc/%d/cmdline", pid); + + if(-1!=(procFile=open(cmdline, O_RDONLY))) + { + if(read(procFile, cmdline, MAX_LINE_LEN)>2) + { + char *version=0L; + strcat(cmdline, " --version"); + if(g_spawn_command_line_sync(cmdline, &version, NULL, NULL, NULL)) + { + char *dot=strchr(version, '.'); + + if(dot && dot!=version && isdigit(dot[-1])) + ver=dot[-1]-'0'; + } + } + close(procFile); + } + + return ver; +} + static char * getKdeHome() { static char *kdeHome=NULL; @@ -1182,12 +1231,6 @@ static int qt_refs=0; #define MAX_APP_NAME_LEN 32 -#include -#include -#include -#include -#include -#include #define KDE_CFG_DIR "/share/config/" #define KDEGLOBALS_FILE KDE_CFG_DIR"kdeglobals" @@ -1494,14 +1537,16 @@ "{ background-color : HighlightText !important; color: HighlightText !important; } "\ "/* "QTC_GUARD_STR" */\n" -#define CSS_FILE_STR "@import url(\"file://"QTC_MOZILLA_DIR"/QtCurve.css\"); /* "QTC_GUARD_STR" */\n" +#define CSS_FILE_STR "@import url(\"file://"QTC_MOZILLA_DIR"/QtCurve.css\"); /* "QTC_GUARD_STR" */\n" +#define BTN_CSS_FILE_STR "@import url(\"file://"QTC_MOZILLA_DIR"/QtCurve-KDEButtonOrder.css\"); /* "QTC_GUARD_STR" */\n" -static void processUserChromeCss(char *file, gboolean add_css, gboolean add_menu_colors) +static void processUserChromeCss(char *file, gboolean add_btn_css, gboolean add_menu_colors) { FILE *f=fopen(file, "r"); char *contents=NULL; - gboolean remove_css=FALSE, - remove_menu_colors=FALSE; + gboolean remove_btn_css=FALSE, + remove_menu_colors=FALSE, + add_css=TRUE; struct stat st; size_t file_size=0, new_size=0; @@ -1524,27 +1569,26 @@ { gboolean write_line=TRUE; - if(0==strcmp(line, CSS_FILE_STR)) + if(0==strcmp(line, BTN_CSS_FILE_STR)) { - if (add_css) - add_css=FALSE; + if (add_btn_css) + add_btn_css=FALSE; else { - remove_css=TRUE; + remove_btn_css=TRUE; write_line=FALSE; } } - else + else if(0==strcmp(line, CSS_FILE_STR)) + add_css=FALSE; + else if(0==strcmp(line, MENU_TEXT_STR)) { - if(0==strcmp(line, MENU_TEXT_STR)) + if (add_menu_colors) + add_menu_colors=FALSE; + else { - if (add_menu_colors) - add_menu_colors=FALSE; - else - { - remove_menu_colors=TRUE; - write_line=FALSE; - } + remove_menu_colors=TRUE; + write_line=FALSE; } } if(write_line) @@ -1558,11 +1602,11 @@ fclose(f); } - if(!contents || add_css || add_menu_colors) + if(!contents || add_btn_css || add_menu_colors || add_css) { if(!contents) { - new_size=strlen(MENU_TEXT_STR)+strlen(CSS_FILE_STR)+3; + new_size=strlen(MENU_TEXT_STR)+strlen(BTN_CSS_FILE_STR)+strlen(CSS_FILE_STR)+4; contents=(char *)malloc(new_size); if(contents) @@ -1571,7 +1615,7 @@ if(contents) { - if(add_css) /* CSS needs to be on 1st line */ + if(add_css) { char *css_contents=(char *)malloc(new_size); @@ -1584,6 +1628,19 @@ contents=css_contents; } } + if(add_btn_css) + { + char *css_contents=(char *)malloc(new_size); + + if(css_contents) + { + css_contents[0]='\0'; + strcat(css_contents, BTN_CSS_FILE_STR); + strcat(css_contents, contents); + free(contents); + contents=css_contents; + } + } if(add_menu_colors) /* This can be on last line */ { int len=strlen(contents); @@ -1595,7 +1652,7 @@ } } - if(contents && (add_css || remove_css || add_menu_colors || remove_menu_colors)) + if(contents && (add_btn_css || remove_btn_css || add_menu_colors || remove_menu_colors)) { f=fopen(file, "w"); @@ -1608,7 +1665,7 @@ } } -static void processMozillaApp(gboolean add_css, gboolean add_menu_colors, char *app, gboolean under_moz) +static void processMozillaApp(gboolean add_btn_css, gboolean add_menu_colors, char *app, gboolean under_moz) { const char *home=getHome(); @@ -1632,33 +1689,36 @@ ((str=strstr(dir_ent->d_name, CSS_DEFAULT_ALT)) && str==dir_ent->d_name && '\0'!=str[strlen(CSS_DEFAULT_ALT)])) { - char sub[MAX_CSS_HOME]; - struct stat statbuf; + char sub[MAX_CSS_HOME]; + struct stat statbuf; #ifdef QTC_MODIFY_MOZILLA_USER_JS - /* Add custom user.js file */ - sprintf(sub, "%s%s/user.js", cssHome, dir_ent->d_name); - if(-1==lstat(sub, &statbuf)) - { - FILE *in=NULL; + /* Add custom user.js file */ - sprintf(sub, QTC_MOZILLA_DIR"/%s-user.js", app); + sprintf(sub, "%s%s/user.js", cssHome, dir_ent->d_name); + if(-1==lstat(sub, &statbuf)) + { + FILE *in=NULL; - if((in=fopen(sub, "r"))) - { - FILE *out=fopen(sub, "w"); - - if(out) - { - char ch; - - while((ch=fgetc(in))!=EOF) - fputc(ch, out); - fclose(out); - } - fclose(in); - } - } + sprintf(sub, QTC_MOZILLA_DIR"/%s-user.js", app); + + if((in=fopen(sub, "r"))) + { + FILE *out=NULL; + + sprintf(sub, "%s%s/user.js", cssHome, dir_ent->d_name); + + if((out=fopen(sub, "w"))) + { + char ch; + + while((ch=fgetc(in))!=EOF) + fputc(ch, out); + fclose(out); + } + fclose(in); + } + } #endif /* Now do userChrome.css */ @@ -1667,7 +1727,7 @@ if(-1!=lstat(sub, &statbuf) && S_ISDIR(statbuf.st_mode)) { strcat(sub, USER_CHROME_FILE); - processUserChromeCss(sub, add_css, add_menu_colors); + processUserChromeCss(sub, add_btn_css, add_menu_colors); } } } @@ -1912,19 +1972,18 @@ gboolean firefox=isMozApp(app, "firefox") || isMozApp(app, "iceweasel") || isMozApp(app, "swiftfox") || isMozApp(app, "xulrunner"), thunderbird=!firefox && isMozApp(app, "thunderbird"), - mozThunderbird=!thunderbird && !firefox && isMozApp(app, "mozilla-thunderbird"); + mozThunderbird=!thunderbird && !firefox && isMozApp(app, "mozilla-thunderbird"), + seamonkey=!thunderbird && !firefox && !mozThunderbird && isMozApp(app, "seamonkey"); + int mozVersion=0; - if(firefox || thunderbird || mozThunderbird) + if(firefox || thunderbird || mozThunderbird || seamonkey) { #ifdef QTC_MODIFY_MOZILLA GdkColor *menu_col=SHADE_CUSTOM==opts->shadeMenubars ? &opts->customMenubarsColor : &qtSettings.colors[PAL_ACTIVE][COLOR_SELECTED]; - gboolean add_menu_colors=FALSE; - - if(SHADE_BLEND_SELECTED==opts->shadeMenubars || (SHADE_CUSTOM==opts->shadeMenubars && - TOO_DARK(*menu_col) )) - add_menu_colors=TRUE; + gboolean add_menu_colors=SHADE_BLEND_SELECTED==opts->shadeMenubars || + (SHADE_CUSTOM==opts->shadeMenubars && TOO_DARK(*menu_col) ); if(firefox) processMozillaApp(!opts->gtkButtonOrder, add_menu_colors, "firefox", TRUE); @@ -1939,8 +1998,13 @@ ? GTK_APP_NEW_MOZILLA : #endif GTK_APP_MOZILLA; + + if(GTK_APP_MOZILLA==qtSettings.app) + mozVersion=getMozillaVersion(getpid()); + if(GTK_APP_MOZILLA==qtSettings.app && mozVersion>2) + qtSettings.app=GTK_APP_NEW_MOZILLA; if(GTK_APP_NEW_MOZILLA!=qtSettings.app && APPEARANCE_FADE==opts->menuitemAppearance && - (thunderbird || mozThunderbird)) + (thunderbird || mozThunderbird || (seamonkey && mozVersion<2))) opts->menuitemAppearance=APPEARANCE_GRADIENT; } else if(0==strcmp(app, "soffice.bin"))