Hello community, here is the log from the commit of package oxygen-gtk for openSUSE:Factory checked in at Wed Aug 31 10:26:12 CEST 2011. -------- --- KDE/oxygen-gtk/oxygen-gtk.changes 2011-08-08 17:41:24.000000000 +0200 +++ /mounts/work_src_done/STABLE/oxygen-gtk/oxygen-gtk.changes 2011-08-29 22:34:02.000000000 +0200 @@ -1,0 +2,10 @@ +Mon Aug 29 20:33:59 UTC 2011 - asterios.dramis@gmail.com + +- Update to 1.1.2 + * This is mostly a bug fix release. +- Spec file updates + * Changed License: to LGPL-2.0+. + * Changes based on spec-cleaner run. +- Removed firefox-menu-corruption.patch (fixed upstream). + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- firefox-menu-corruption.patch oxygen-gtk-1.1.1.tar.bz2 New: ---- oxygen-gtk-1.1.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ oxygen-gtk.spec ++++++ --- /var/tmp/diff_new_pack.mk54aM/_old 2011-08-31 10:25:31.000000000 +0200 +++ /var/tmp/diff_new_pack.mk54aM/_new 2011-08-31 10:25:31.000000000 +0200 @@ -18,20 +18,19 @@ Name: oxygen-gtk -Version: 1.1.1 -Release: 2 -License: GNU LGPL v2 or later +Version: 1.1.2 +Release: 1 +License: LGPL-2.0+ Summary: A Port of the default KDE Widget Theme (Oxygen), to GTK Url: https://projects.kde.org/projects/playground/artwork/oxygen-gtk Group: System/GUI/KDE Source0: ftp://ftp.kde.org/pub/kde/stable/oxygen-gtk/%{version}/src/%{name}-%{version}.tar.bz2 Source100: baselibs.conf -Patch1: firefox-menu-corruption.patch -BuildRequires: cairo-devel BuildRequires: cmake -BuildRequires: dbus-1-glib-devel BuildRequires: gcc-c++ -BuildRequires: gtk2-devel +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(dbus-glib-1) +BuildRequires: pkgconfig(gtk+-2.0) BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -49,11 +48,9 @@ %prep %setup -q -%patch1 -p1 %build - -%__mkdir_p build +mkdir -p build pushd build export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" @@ -64,16 +61,16 @@ -DLIB_SUFFIX=64 \ %endif -DCMAKE_BUILD_TYPE=release -%__make %{?_smp_mflags} VERBOSE=1 +make %{?_smp_mflags} VERBOSE=1 popd %install pushd build -%__make install DESTDIR=%{buildroot} +%make_install popd %clean -test %{buildroot} != "/" && %__rm -rf %{buildroot} +test %{buildroot} != "/" && rm -rf %{buildroot} %files %defattr(-,root,root,-) ++++++ oxygen-gtk-1.1.1.tar.bz2 -> oxygen-gtk-1.1.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/CMakeLists.txt new/oxygen-gtk-1.1.2/CMakeLists.txt --- old/oxygen-gtk-1.1.1/CMakeLists.txt 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/CMakeLists.txt 2011-08-13 18:32:33.000000000 +0200 @@ -13,7 +13,7 @@ set( CPACK_PACKAGE_VENDOR "hugo@oxygen-icons.org" ) set( CPACK_PACKAGE_VERSION_MAJOR "1" ) set( CPACK_PACKAGE_VERSION_MINOR "1" ) -set( CPACK_PACKAGE_VERSION_PATCH "1" ) +set( CPACK_PACKAGE_VERSION_PATCH "2" ) set( CPACK_SOURCE_IGNORE_FILES "build" "^${PROJECT_SOURCE_DIR}.*/.git/" ) set( CPACK_SOURCE_PACKAGE_FILE_NAME "oxygen-gtk-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygenanimationengine.h new/oxygen-gtk-1.1.2/src/animations/oxygenanimationengine.h --- old/oxygen-gtk-1.1.1/src/animations/oxygenanimationengine.h 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/animations/oxygenanimationengine.h 2011-08-13 18:32:33.000000000 +0200 @@ -63,7 +63,7 @@ { // for now, only Mozilla applications need blacklisting - return _applicationName.isMozilla( widget ); + return _applicationName.isXul( widget ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygenhook.cpp new/oxygen-gtk-1.1.2/src/animations/oxygenhook.cpp --- old/oxygen-gtk-1.1.1/src/animations/oxygenhook.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/animations/oxygenhook.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -20,21 +20,44 @@ */ #include "oxygenhook.h" +#include "../config.h" #include <cassert> +#include <iostream> namespace Oxygen { //__________________________________________________________________ - void Hook::connect( const std::string& signal, GType typeId, GSignalEmissionHook hookFunction, gpointer data ) + bool Hook::connect( const std::string& signal, GType typeId, GSignalEmissionHook hookFunction, gpointer data ) { // make sure that signal is not already connected assert( _signalId == 0 && _hookId == 0 ); + // check type id + if( !g_type_class_peek( typeId ) ) + { + + #if OXYGEN_DEBUG + std::cerr << "Oxygen::Hook::connect - typeId " << g_type_name(typeId) << " not yet installed" << std::endl; + #endif + + return false; + + } + // store signal id _signalId = g_signal_lookup( signal.c_str(), typeId ); - if( !_signalId ) return; + if( !_signalId ) + { + + #if OXYGEN_DEBUG + std::cerr << "Oxygen::Hook::connect - signal " << signal << " not installed." << std::endl; + #endif + + return false; + + } // store attributes and create connection _hookId = g_signal_add_emission_hook( @@ -43,6 +66,8 @@ hookFunction, data, 0L); + return true; + } //____________________________________________________________________ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygenhook.h new/oxygen-gtk-1.1.2/src/animations/oxygenhook.h --- old/oxygen-gtk-1.1.1/src/animations/oxygenhook.h 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/animations/oxygenhook.h 2011-08-13 18:32:33.000000000 +0200 @@ -44,10 +44,10 @@ //! connect - void connect( const std::string&, GType, GSignalEmissionHook, gpointer ); + bool connect( const std::string&, GType, GSignalEmissionHook, gpointer ); - void connect( const std::string& signal, GSignalEmissionHook hook, gpointer data ) - { connect( signal, GTK_TYPE_WIDGET, hook, data ); } + bool connect( const std::string& signal, GSignalEmissionHook hook, gpointer data ) + { return connect( signal, GTK_TYPE_WIDGET, hook, data ); } //! disconnect void disconnect( void ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygensignal.cpp new/oxygen-gtk-1.1.2/src/animations/oxygensignal.cpp --- old/oxygen-gtk-1.1.1/src/animations/oxygensignal.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/animations/oxygensignal.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -20,25 +20,41 @@ */ #include "oxygensignal.h" +#include "../config.h" + +#include <iostream> namespace Oxygen { //____________________________________________________________________ - void Signal::connect( GObject* object, const std::string& signal, GCallback callback, gpointer data, bool after ) + bool Signal::connect( GObject* object, const std::string& signal, GCallback callback, gpointer data, bool after ) { // make sure that signal is not already connected assert( _object == 0L && _id == 0 ); - // store attributes and create connection - _object = object; - if(after) - { - _id = g_signal_connect_after( object, signal.c_str(), callback, data ); - } else + // check object + if( !object ) return false; + + // first try lookup signal + if( !g_signal_lookup( signal.c_str(), G_OBJECT_TYPE(object) ) ) { - _id = g_signal_connect( object, signal.c_str(), callback, data ); + + #if OXYGEN_DEBUG + std::cerr << "Oxygen::Signal::connect - signal " << signal << " not installed on widget " << object << std::endl; + #endif + + return false; + } + + // store attributes and create connection + _object = object; + if(after) _id = g_signal_connect_after( object, signal.c_str(), callback, data ); + else _id = g_signal_connect( object, signal.c_str(), callback, data ); + + return true; + } //____________________________________________________________________ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/animations/oxygensignal.h new/oxygen-gtk-1.1.2/src/animations/oxygensignal.h --- old/oxygen-gtk-1.1.1/src/animations/oxygensignal.h 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/animations/oxygensignal.h 2011-08-13 18:32:33.000000000 +0200 @@ -43,7 +43,7 @@ {} //! connect - void connect( GObject*, const std::string&, GCallback, gpointer, bool after=false ); + bool connect( GObject*, const std::string&, GCallback, gpointer, bool after=false ); //! disconnect void disconnect( void ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenapplicationname.cpp new/oxygen-gtk-1.1.2/src/oxygenapplicationname.cpp --- old/oxygen-gtk-1.1.1/src/oxygenapplicationname.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenapplicationname.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -51,6 +51,9 @@ << std::endl; #endif + // initialize to unknown + _name = Unknown; + if( pidAppName == "opera" ) _name = Opera; else if( pidAppName.find( "komodo" ) != std::string::npos ) _name = Komodo; else if( gtkAppName == "eclipse" || gtkAppName == "Eclipse" ) _name = Eclipse; @@ -60,17 +63,36 @@ else _name = Java; } else if( gtkAppName == "acroread" ) _name = Acrobat; - else if( gtkAppName.find("firefox") == 0 ) _name = Firefox; - else if( gtkAppName.find("xulrunner") == 0 ) _name = Xul; - else if( gtkAppName.find("thunderbird") == 0 ) _name = Thunderbird; - else if( gtkAppName.find("seamonkey" ) == 0 ) _name = Seamonkey; else if( gtkAppName == "soffice" ) _name = OpenOffice; else if( gtkAppName == "gimp" ) _name = Gimp; else if( gtkAppName == "chromium" || gtkAppName == "chromium-browser" || gtkAppName == "google-chrome" ) _name = GoogleChrome; - else _name = Unknown; + else { + + // tag all mozilla-like applications (XUL) + static const std::string XulAppNames[] = + { + "firefox", + "thunderbird", + "seamonkey" + "iceweasel", + "icecat", + "icedove", + "xulrunner", + "" + }; + + for( unsigned int index = 0; !XulAppNames[index].empty(); ++index ) + { + if( gtkAppName.find( XulAppNames[index] ) == 0 ) + { + _name = XUL; + break; + } + } + } #if OXYGEN_DEBUG std::cerr << "ApplicationName::initialize -" @@ -84,9 +106,9 @@ } //__________________________________________________________________________ - bool ApplicationName::isMozilla( GtkWidget* widget ) const + bool ApplicationName::isXul( GtkWidget* widget ) const { - if( !isMozilla() ) return false; + if( !isXul() ) return false; GtkWidget* parent( gtk_widget_get_toplevel( widget ) ); @@ -128,7 +150,7 @@ // check application name if( !( isKomodo() || - isMozilla() || + isXul() || isAcrobat() || isJavaSwt() || isOpenOffice() || @@ -193,10 +215,7 @@ case Unknown: out << "Unknown"; break; case Komodo: out << "Komodo"; break; case Acrobat: out << "Acrobat"; break; - case Firefox: out << "Firefox"; break; - case Seamonkey: out << "Seamonkey"; break; - case Thunderbird: out << "Thunderbird"; break; - case Xul: out << "Xul"; break; + case XUL: out << "XUL (Mozilla)"; break; case Gimp: out << "Gimp"; break; case OpenOffice: out << "OpenOffice"; break; case GoogleChrome: out << "GoogleChrome"; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenapplicationname.h new/oxygen-gtk-1.1.2/src/oxygenapplicationname.h --- old/oxygen-gtk-1.1.1/src/oxygenapplicationname.h 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenapplicationname.h 2011-08-13 18:32:33.000000000 +0200 @@ -37,10 +37,7 @@ { Unknown, Acrobat, - Firefox, - Seamonkey, - Thunderbird, - Xul, + XUL, Gimp, OpenOffice, GoogleChrome, @@ -81,12 +78,8 @@ //@{ bool isAcrobat( void ) const { return _name == Acrobat; } - bool isFirefox( void ) const { return _name == Firefox; } bool isKomodo( void ) const { return _name == Komodo; } - bool isThunderbird( void ) const { return _name == Thunderbird; } - bool isSeamonkey( void ) const { return _name == Seamonkey; } - bool isXul( void ) const { return _name == Xul; } - bool isMozilla( void ) const { return isFirefox() || isThunderbird() || isSeamonkey() || isXul(); } + bool isXul( void ) const { return _name == XUL; } bool isGimp( void ) const { return _name == Gimp; } bool isOpenOffice( void ) const { return _name == OpenOffice; } bool isGoogleChrome( void ) const { return _name == GoogleChrome; } @@ -100,7 +93,7 @@ //! special case for mozilla and acrobat that also check the type of the top level widget /*! this allows to prevent false positive for open and print dialogs */ bool isAcrobat( GtkWidget* ) const; - bool isMozilla( GtkWidget* ) const; + bool isXul( GtkWidget* ) const; bool isJavaSwt( GtkWidget* ) const; // true for all applications that requires a flat background to be used diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenargbhelper.cpp new/oxygen-gtk-1.1.2/src/oxygenargbhelper.cpp --- old/oxygen-gtk-1.1.1/src/oxygenargbhelper.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenargbhelper.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -64,12 +64,11 @@ if( _hooksInitialized ) return; - // lookup relevant signal - const guint signalId( g_signal_lookup("style-set", GTK_TYPE_WINDOW ) ); - if( signalId <= 0 ) return; + // colormap hooks + if( !_colormapHook.connect( "style-set", (GSignalEmissionHook)colormapHook, 0L ) ) + { return; } - // install hooks - _colormapHook.connect( "style-set", (GSignalEmissionHook)colormapHook, 0L ); + // parent-set hook _styleHook.connect( "parent-set", (GSignalEmissionHook)styleHook, this ); /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygendbus.cpp new/oxygen-gtk-1.1.2/src/oxygendbus.cpp --- old/oxygen-gtk-1.1.1/src/oxygendbus.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygendbus.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -92,11 +92,13 @@ { #if OXYGEN_DEBUG + const char* path( dbus_message_get_path( message ) ); + const char* interface( dbus_message_get_interface( message ) ); std::cerr << "Oxygen::DBus::signalFilter - received signal" << " type: " << dbus_message_get_type( message ) - << " path: " << dbus_message_get_path( message ) - << " interface: " << dbus_message_get_interface( message ) + << " path: " << (path ? path:"0x0") + << " interface: " << (interface ? interface:"0x0") << std::endl; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygengtktypenames.cpp new/oxygen-gtk-1.1.2/src/oxygengtktypenames.cpp --- old/oxygen-gtk-1.1.1/src/oxygengtktypenames.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygengtktypenames.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -130,20 +130,20 @@ typedef Gtk::TypeNames::Entry<GdkWindowTypeHint> WindowTypeHintMap; static const WindowTypeHintMap windowTypeHintMap[] = { - { GDK_WINDOW_TYPE_HINT_NORMAL, "normal" }, + { GDK_WINDOW_TYPE_HINT_COMBO, "combobox list" }, + { GDK_WINDOW_TYPE_HINT_DESKTOP, "desktop" }, { GDK_WINDOW_TYPE_HINT_DIALOG, "dialog" }, - { GDK_WINDOW_TYPE_HINT_MENU, "menu" }, - { GDK_WINDOW_TYPE_HINT_TOOLBAR, "toolbar" }, - { GDK_WINDOW_TYPE_HINT_SPLASHSCREEN, "splashscreen" }, - { GDK_WINDOW_TYPE_HINT_UTILITY, "utility" }, + { GDK_WINDOW_TYPE_HINT_DND, "drag-and-drop" }, { GDK_WINDOW_TYPE_HINT_DOCK, "dock" }, - { GDK_WINDOW_TYPE_HINT_DESKTOP, "desktop" }, { GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU, "dropdown menu" }, + { GDK_WINDOW_TYPE_HINT_MENU, "menu" }, + { GDK_WINDOW_TYPE_HINT_NORMAL, "normal" }, + { GDK_WINDOW_TYPE_HINT_NOTIFICATION, "notification" }, { GDK_WINDOW_TYPE_HINT_POPUP_MENU, "popup menu" }, + { GDK_WINDOW_TYPE_HINT_SPLASHSCREEN, "splashscreen" }, + { GDK_WINDOW_TYPE_HINT_TOOLBAR, "toolbar" }, { GDK_WINDOW_TYPE_HINT_TOOLTIP, "tooltip" }, - { GDK_WINDOW_TYPE_HINT_NOTIFICATION, "notification" }, - { GDK_WINDOW_TYPE_HINT_COMBO, "combobox list" }, - { GDK_WINDOW_TYPE_HINT_DND, "drag-and-drop" } + { GDK_WINDOW_TYPE_HINT_UTILITY, "utility" } }; //__________________________________________________________________ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenshadowhelper.cpp new/oxygen-gtk-1.1.2/src/oxygenshadowhelper.cpp --- old/oxygen-gtk-1.1.1/src/oxygenshadowhelper.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenshadowhelper.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -20,6 +20,7 @@ #include "oxygencairocontext.h" #include "oxygencairoutils.h" +#include "config.h" #include "oxygengtkutils.h" #include "oxygenmetrics.h" #include "oxygenrgba.h" @@ -49,6 +50,10 @@ void ShadowHelper::reset( void ) { + #if OXYGEN_DEBUG + std::cerr << "Oxygen::ShadowHelper::reset" << std::endl; + #endif + GdkScreen* screen = gdk_screen_get_default(); if( !screen ) return; @@ -74,6 +79,10 @@ { if( _hooksInitialized ) return; + #if OXYGEN_DEBUG + std::cerr << "Oxygen::ShadowHelper::initializeHooks" << std::endl; + #endif + // install hooks _realizeHook.connect( "realize", (GSignalEmissionHook)realizeHook, this ); _hooksInitialized = true; @@ -83,6 +92,11 @@ //______________________________________________ void ShadowHelper::initialize( const ColorUtils::Rgba& color, const WindowShadow& shadow ) { + + #if OXYGEN_DEBUG + std::cerr << "Oxygen::ShadowHelper::initialize" << std::endl; + #endif + reset(); _size = int(shadow.shadowSize()) - WindowShadow::Overlap; @@ -185,12 +199,39 @@ void ShadowHelper::createPixmapHandles( void ) { + #if OXYGEN_DEBUG + std::cerr << "Oxygen::ShadowHelper::createPixmapHandles" << std::endl; + #endif + // create atom if( !_atom ) { + + // get screen and check GdkScreen* screen = gdk_screen_get_default(); + if( !screen ) + { + + #if OXYGEN_DEBUG + std::cerr << "ShadowHelper::createPixmapHandles - screen is NULL" << std::endl; + #endif + + return; + } + + // get display and check Display* display( GDK_DISPLAY_XDISPLAY( gdk_screen_get_display( screen ) ) ); - _atom = XInternAtom( display, "_KDE_NET_WM_SHADOW", False); + if( !display ) + { + + #if OXYGEN_DEBUG + std::cerr << "ShadowHelper::createPixmapHandles - display is NULL" << std::endl; + #endif + + return; + } + + _atom = XInternAtom( display, "_KDE_NET_WM_SHADOW", False); } // make sure size is valid @@ -199,11 +240,28 @@ // opacity const int shadowOpacity = 150; + if( _roundPixmaps.empty() || _squarePixmaps.empty() ) + { + // get screen, display, visual and check + // no need to check screen and display, since was already done for ATOM + GdkScreen* screen = gdk_screen_get_default(); + if( !gdk_screen_get_rgba_visual( screen ) ) + { + + #if OXYGEN_DEBUG + std::cerr << "ShadowHelper::createPixmapHandles - no valid RGBA visual found." << std::endl; + #endif + + return; + + } + } + // make sure pixmaps are not already initialized if( _roundPixmaps.empty() ) { - _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 1 ), shadowOpacity ) ); + _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 1 ), shadowOpacity ) ); _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 2 ), shadowOpacity ) ); _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 5 ), shadowOpacity ) ); _roundPixmaps.push_back( createPixmap( _roundTiles.surface( 8 ), shadowOpacity ) ); @@ -272,6 +330,14 @@ void ShadowHelper::installX11Shadows( GtkWidget* widget ) { + #if OXYGEN_DEBUG + std::cerr + << "Oxygen::ShadowHelper::installX11Shadows - " + << " widget: " << widget + << " wid: " << GDK_WINDOW_XID( gtk_widget_get_window( widget ) ) + << std::endl; + #endif + // make sure handles and atom are defined createPixmapHandles(); @@ -281,7 +347,7 @@ std::vector<unsigned long> data; const bool isMenu( this->isMenu( widget ) ); const bool isToolTip( this->isToolTip( widget ) ); - if( _applicationName.isOpenOffice() || ( (isMenu||isToolTip) && _applicationName.isMozilla( widget ) ) ) + if( _applicationName.isOpenOffice() || ( (isMenu||isToolTip) && _applicationName.isXul( widget ) ) ) { data = _squarePixmaps; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenstyle.cpp new/oxygen-gtk-1.1.2/src/oxygenstyle.cpp --- old/oxygen-gtk-1.1.1/src/oxygenstyle.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenstyle.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -87,12 +87,7 @@ } // background surface - if( !settings().backgroundPixmap().empty() ) - { - setBackgroundSurface( settings().backgroundPixmap() ); - if( !hasBackgroundSurface() ) - { std::cerr << "Oxygen::Style::initialize - unable to load background image: " << settings().backgroundPixmap() << std::endl; } - } + if( !settings().backgroundPixmap().empty() ) setBackgroundSurface( settings().backgroundPixmap() ); // create window shadow WindowShadow shadow( settings(), helper() ); @@ -1826,7 +1821,7 @@ // we force ytickness in gtkrc to emulate Qt menubar/menu space separation // so adjust vertical extent of the rect in menubar - if( settings().applicationName().isMozilla() ) + if( settings().applicationName().isXul() ) { y+=3; @@ -2734,7 +2729,7 @@ // this is quite painfull and slipery code. // the same is true with oxygen-qt int offset = 2; - int adjust = ( tabOptions&Mozilla ) ? 0:2; + int adjust = ( tabOptions&Xul ) ? 0:2; const TileSet::Tiles tabTiles( Style::tabTiles( side ) ); SlabRect tabSlab; @@ -2827,30 +2822,25 @@ // fill Cairo::Pattern pattern; - int dimension = 0; switch( side ) { case GTK_POS_BOTTOM: - dimension = fillSlab._h; fillSlab._h -= 2; pattern.set( cairo_pattern_create_linear( 0, fillSlab._y, 0, fillSlab._y + fillSlab._h ) ); break; case GTK_POS_TOP: - dimension = fillSlab._h; fillSlab._y += 2; fillSlab._h -= 2; pattern.set( cairo_pattern_create_linear( 0, fillSlab._y + fillSlab._h, 0, fillSlab._y ) ); break; case GTK_POS_RIGHT: - dimension = fillSlab._w; fillSlab._w -= 2; pattern.set( cairo_pattern_create_linear( fillSlab._x, 0, fillSlab._x + fillSlab._w, 0 ) ); break; case GTK_POS_LEFT: - dimension = fillSlab._w; fillSlab._x += 2; fillSlab._w -= 2; pattern.set( cairo_pattern_create_linear( fillSlab._x + fillSlab._w, 0, fillSlab._x, 0 ) ); @@ -2867,7 +2857,7 @@ cairo_pattern_add_color_stop( pattern, 0.9, ColorUtils::Rgba::transparent( light ) ); // in firefox a solid background must be filled - if( tabOptions&Mozilla ) + if( tabOptions&Xul ) { cairo_set_source( context, base ); cairo_rectangle( context, fillSlab._x, fillSlab._y, fillSlab._w, fillSlab._h ); @@ -2913,7 +2903,7 @@ // this is quite painfull and slipery code. // the same is true with oxygen-qt int offset = 2; - int adjust = (tabOptions&Mozilla) ? 0:2; + int adjust = (tabOptions&Xul) ? 0:2; const TileSet::Tiles tabTiles( Style::tabTiles( side ) ); SlabRect tabSlab; @@ -3000,30 +2990,25 @@ // fill Cairo::Pattern pattern; - int dimension = 0; switch( side ) { case GTK_POS_BOTTOM: - dimension = fillSlab._h; fillSlab._h -= 3; pattern.set( cairo_pattern_create_linear( 0, fillSlab._y, 0, fillSlab._y + fillSlab._h ) ); break; case GTK_POS_TOP: - dimension = fillSlab._h; fillSlab._y += 3; fillSlab._h -= 3; pattern.set( cairo_pattern_create_linear( 0, fillSlab._y + fillSlab._h, 0, fillSlab._y ) ); break; case GTK_POS_RIGHT: - dimension = fillSlab._w; fillSlab._w -= 3; pattern.set( cairo_pattern_create_linear( fillSlab._x, 0, fillSlab._x + fillSlab._w, 0 ) ); break; case GTK_POS_LEFT: - dimension = fillSlab._w; fillSlab._x += 3; fillSlab._w -= 3; pattern.set( cairo_pattern_create_linear( fillSlab._x + fillSlab._w, 0, fillSlab._x, 0 ) ); @@ -3089,7 +3074,7 @@ // this is quite painfull and slipery code. // the same is true with oxygen-qt int offset = 2; - int adjust = (tabOptions&Mozilla) ? 0:2; + int adjust = (tabOptions&Xul) ? 0:2; const TileSet::Tiles tabTiles( Style::tabTiles( side ) ); SlabRect tabSlab; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenstylewrapper.cpp new/oxygen-gtk-1.1.2/src/oxygenstylewrapper.cpp --- old/oxygen-gtk-1.1.1/src/oxygenstylewrapper.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenstylewrapper.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -245,7 +245,7 @@ // mozilla and openoffice get square non Argb tooltips no matter what if( Style::instance().settings().applicationName().isOpenOffice() || - Style::instance().settings().applicationName().isMozilla() ) + Style::instance().settings().applicationName().isXul() ) { Style::instance().renderTooltipBackground( window, clipRect, x, y, w, h, StyleOptions() ); return; @@ -457,7 +457,7 @@ } return; - } else if( d.isEntryBg() && !Style::instance().settings().applicationName().isMozilla( widget ) ) { + } else if( d.isEntryBg() && !Style::instance().settings().applicationName().isXul( widget ) ) { StyleOptions options( widget, state, shadow ); if( @@ -860,7 +860,7 @@ // combobox buttons if( ( parent = Gtk::gtk_parent_combobox( widget ) ) && - !Style::instance().settings().applicationName().isMozilla( widget ) && + !Style::instance().settings().applicationName().isXul( widget ) && Gtk::gtk_combobox_appears_as_list( parent ) ) { @@ -1140,7 +1140,7 @@ if( Gtk::gdk_window_is_base( window ) && - !Style::instance().settings().applicationName().isMozilla( widget ) ) + !Style::instance().settings().applicationName().isXul( widget ) ) { BackgroundHints hints( BackgroundGradient ); if( Style::instance().hasBackgroundSurface() ) hints |= BackgroundPixmap; @@ -1154,7 +1154,7 @@ StyleOptions options( Menu ); // set alpha flag. Special handling is needed for mozilla and openoffice. - if( Style::instance().settings().applicationName().isMozilla( widget ) || + if( Style::instance().settings().applicationName().isXul( widget ) || Style::instance().settings().applicationName().isOpenOffice() ) { @@ -1317,7 +1317,7 @@ if( GTK_IS_PROGRESS_BAR( widget ) ) { - if( !Style::instance().settings().applicationName().isMozilla( widget ) && + if( !Style::instance().settings().applicationName().isXul( widget ) && !Style::instance().settings().applicationName().isOpenOffice() ) { /* @@ -1400,7 +1400,7 @@ options |= NoFill; ColorUtils::Rgba background( Gtk::gdk_get_color( style->base[gtk_widget_get_state(widget)] ) ); - if( Style::instance().settings().applicationName().isMozilla( widget ) ) + if( Style::instance().settings().applicationName().isXul( widget ) ) { /* @@ -1434,7 +1434,7 @@ tiles &= ~TileSet::Right; if( !Style::instance().settings().applicationName().isOpenOffice() && - !Style::instance().settings().applicationName().isMozilla( widget ) ) + !Style::instance().settings().applicationName().isXul( widget ) ) { Style::instance().renderHoleBackground( window, widget, clipRect, x-1, y-1, w+6, h+2, tiles, sideMargin ); } // shrink spinbox entry hole by 3px on right side @@ -1447,7 +1447,7 @@ tiles &= ~TileSet::Left; if( !Style::instance().settings().applicationName().isOpenOffice() && - !Style::instance().settings().applicationName().isMozilla( widget ) ) + !Style::instance().settings().applicationName().isXul( widget ) ) { Style::instance().renderHoleBackground( window, widget, clipRect, x-5, y-1, w+6, h+2, tiles, sideMargin ); } // shrink spinbox entry hole by 3px on right side @@ -1659,7 +1659,7 @@ } else if( d.isBase() && GTK_IS_MENU( widget ) ) { - // this is to prevent crappy mozilla to + // this is to prevent mozilla to // draw yet another frame around menus return; @@ -1753,7 +1753,7 @@ if( Style::instance().animations().hoverEngine().hovered( widget ) ) { options |= Hover; } - if( !Style::instance().settings().applicationName().isMozilla( widget ) ) + if( !Style::instance().settings().applicationName().isXul( widget ) ) { // fill the inside of the spinbox manually @@ -1867,7 +1867,7 @@ w+=2; h+=2; const int sideMargin( std::max( 0, style->xthickness - 2 ) ); - if( !Style::instance().settings().applicationName().isMozilla( widget ) ) + if( !Style::instance().settings().applicationName().isXul( widget ) ) { Style::instance().renderHoleBackground( window, widget, clipRect, x, y, w, h, TileSet::Full, sideMargin ); } // shrink entry by 3px at each side @@ -1935,7 +1935,7 @@ } else if( (parent = Gtk::gtk_parent_combobox( widget )) && !GTK_IS_CELL_VIEW( widget ) && - !Style::instance().settings().applicationName().isMozilla( widget ) ) { + !Style::instance().settings().applicationName().isXul( widget ) ) { Style::instance().animations().comboBoxEngine().registerWidget( parent ); Style::instance().animations().comboBoxEngine().registerChild( parent, widget ); @@ -2400,7 +2400,7 @@ // by default all arrows are animated QtSettings::ArrowSize arrowSize( QtSettings::ArrowNormal ); - if( d.isMenuItem() && Style::instance().settings().applicationName().isMozilla( widget ) ) + if( d.isMenuItem() && Style::instance().settings().applicationName().isXul( widget ) ) { arrowSize = QtSettings::ArrowTiny; } // define default color role @@ -2824,7 +2824,7 @@ options |= NoFill; options &= ~(Hover|Focus); - if( Style::instance().settings().applicationName().isMozilla( widget ) ) + if( Style::instance().settings().applicationName().isXul( widget ) ) { Gtk::Gap gap( gap_x, gap_w, position ); @@ -3012,14 +3012,14 @@ see if tab is hovered. This is only done if widget is notebook, and if not running a mozilla (or open office) app, because the latter do not pass the actual tab rect as argument */ - const bool isMozilla( Style::instance().settings().applicationName().isMozilla( widget ) ); + const bool isXul( Style::instance().settings().applicationName().isXul( widget ) ); const bool isOpenOffice( Style::instance().settings().applicationName().isOpenOffice() ); // if passed window is invalid, do not hover const bool disableHover( !GDK_IS_WINDOW( window ) ); AnimationData data; - if( GTK_IS_NOTEBOOK( widget ) && !( isMozilla || isOpenOffice || disableHover ) ) + if( GTK_IS_NOTEBOOK( widget ) && !( isXul || isOpenOffice || disableHover ) ) { // make sure widget is registered @@ -3072,7 +3072,7 @@ } // render - if( isMozilla ) tabOptions |= Mozilla; + if( isXul ) tabOptions |= Xul; Style::instance().renderTab( window, clipRect, x, y, w, h, position, options, tabOptions, data ); @@ -3460,7 +3460,7 @@ // initialize argb hooks if( Style::instance().settings().argbEnabled() && - !Style::instance().settings().applicationName().isMozilla() ) + !Style::instance().settings().applicationName().isXul() ) { Style::instance().argbHelper().initializeHooks(); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygentaboptions.h new/oxygen-gtk-1.1.2/src/oxygentaboptions.h --- old/oxygen-gtk-1.1.1/src/oxygentaboptions.h 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygentaboptions.h 2011-08-13 18:32:33.000000000 +0200 @@ -46,8 +46,8 @@ //! true if tab is being dragged Dragged = 1<<7, - //! true if tabs are drawn for mozilla application - Mozilla = 1<<8 + //! true if tabs are drawn for Xul application + Xul = 1<<8 }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oxygen-gtk-1.1.1/src/oxygenwindowmanager.cpp new/oxygen-gtk-1.1.2/src/oxygenwindowmanager.cpp --- old/oxygen-gtk-1.1.1/src/oxygenwindowmanager.cpp 2011-07-14 09:05:19.000000000 +0200 +++ new/oxygen-gtk-1.1.2/src/oxygenwindowmanager.cpp 2011-08-13 18:32:33.000000000 +0200 @@ -472,6 +472,15 @@ } else { + if( GTK_IS_WINDOW( widget ) ) + { + + // check hint + const GdkWindowTypeHint hint( gtk_window_get_type_hint( GTK_WINDOW( widget ) ) ); + if( hint == GDK_WINDOW_TYPE_HINT_UTILITY ) return false; + + } + useEvent = childrenUseEvent( widget, event, false ); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org