From kde-core-devel Wed Jul 30 20:06:21 2003 From: Craig Drummond Date: Wed, 30 Jul 2003 20:06:21 +0000 To: kde-core-devel Subject: [PATCH] Set GTK2_RC_FILES X-MARC-Message: https://marc.info/?l=kde-core-devel&m=105959564928060 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_9UCK/uF6l0gGTlh" --Boundary-00=_9UCK/uF6l0gGTlh Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, The attatched patch modifies kcontrol/krdb/krdb.cpp to set GTK2_RC_FILES as well as GTK_RC_FILES. It also moves the generated gtkrc file from ~/.gtkrc-kde to $KDEHOME/share/config/gtkrc - meaning 1 less silly hidden file in $HOME!!! May I apply? Craig. --Boundary-00=_9UCK/uF6l0gGTlh Content-Type: text/x-diff; charset="us-ascii"; name="krdb.cpp.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="krdb.cpp.patch" --- krdb.cpp-orig 2003-06-18 18:05:29.000000000 +0100 +++ krdb.cpp 2003-07-30 20:50:09.000000000 +0100 @@ -40,17 +40,31 @@ #include +inline const char * gtkEnvVar(int version) +{ + return 2==version ? "GTK2_RC_FILES" : "GTK_RC_FILES"; +} + +inline const char * sysGtkrc(int version) +{ + return 2==version ? "/etc/gtk-2.0/gtkrc" : "/etc/gtk/gtkrc"; +} + +inline const char * userGtkrc(int version) +{ + return 2==version ? "/.gtkrc-2.0" : "/.gtkrc"; +} // ----------------------------------------------------------------------------- -static void applyGtkStyles(bool active) +static void applyGtkStyles(bool active, int version) { - QString gtkkde = QDir::homeDirPath()+"/.gtkrc-kde"; - QCString gtkrc = getenv("GTK_RC_FILES"); + QString gtkkde = locateLocal("config", "gtkrc"); + QCString gtkrc = getenv(gtkEnvVar(version)); QStringList list = QStringList::split(':', QFile::decodeName(gtkrc)); if (list.count() == 0) { - list.append(QString::fromLatin1("/etc/gtk/gtkrc")); - list.append(QDir::homeDirPath()+"/.gtkrc"); + list.append(QString::fromLatin1(sysGtkrc(version))); + list.append(QDir::homeDirPath()+userGtkrc(version)); } list.remove(gtkkde); list.append(gtkkde); @@ -58,7 +72,7 @@ ::unlink(QFile::encodeName(gtkkde)); // Pass env. var to kdeinit. - QCString name = "GTK_RC_FILES"; + QCString name = gtkEnvVar(version); QCString value = QFile::encodeName(list.join(":")); QByteArray params; QDataStream stream(params, IO_WriteOnly); @@ -289,9 +303,7 @@ static void createGtkrc( bool exportColors, const QColorGroup& cg ) { - QCString filename = ::getenv("HOME"); - filename += "/.gtkrc-kde"; - QFile f( filename ); + QFile f( locateLocal("config", "gtkrc" ) ); if ( f.open( IO_WriteOnly) ) { QTextStream t( &f ); @@ -445,7 +457,8 @@ tmpFile.unlink(); - applyGtkStyles(exportColors); + applyGtkStyles(exportColors, 1); + applyGtkStyles(exportColors, 2); /* Qt exports */ if ( exportQtColors || exportQtSettings ) --Boundary-00=_9UCK/uF6l0gGTlh--