summaryrefslogtreecommitdiffstats
path: root/redhat/tdebase/tdebase-3.5.13.2-select_wm_gui.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/tdebase/tdebase-3.5.13.2-select_wm_gui.patch')
-rw-r--r--redhat/tdebase/tdebase-3.5.13.2-select_wm_gui.patch639
1 files changed, 0 insertions, 639 deletions
diff --git a/redhat/tdebase/tdebase-3.5.13.2-select_wm_gui.patch b/redhat/tdebase/tdebase-3.5.13.2-select_wm_gui.patch
deleted file mode 100644
index 464ef3f51..000000000
--- a/redhat/tdebase/tdebase-3.5.13.2-select_wm_gui.patch
+++ /dev/null
@@ -1,639 +0,0 @@
---- ./ksmserver/startup.cpp.ori 2013-05-08 20:04:32.138717187 +0200
-+++ ./ksmserver/startup.cpp 2013-05-08 20:14:12.550305958 +0200
-@@ -115,43 +115,40 @@
- int count = config->readNumEntry( "count" );
- appsToStart = count;
-
-- TQValueList<TQStringList> wmCommands;
-- if ( !wm.isEmpty() ) {
-- for ( int i = 1; i <= count; i++ ) {
-- TQString n = TQString::number(i);
-- if ( wm == config->readEntry( TQString("program")+n ) ) {
-- wmCommands << config->readListEntry( TQString("restartCommand")+n );
-- }
-- }
-- }
-- if ( wmCommands.isEmpty() )
-- wmCommands << ( TQStringList() << wm );
--
- publishProgress( appsToStart, true );
- connectDCOPSignal( launcher, launcher, "autoStart0Done()",
- "autoStart0Done()", true);
- connectDCOPSignal( launcher, launcher, "autoStart1Done()",
- "autoStart1Done()", true);
- connectDCOPSignal( launcher, launcher, "autoStart2Done()",
- "autoStart2Done()", true);
- upAndRunning( "ksmserver" );
-
-- if ( !wmCommands.isEmpty() ) {
-- // when we have a window manager, we start it first and give
-- // it some time before launching other processes. Results in a
-- // visually more appealing startup.
-- for (uint i = 0; i < wmCommands.count(); i++)
-- startApplication( wmCommands[i] );
-- if ((showFancyLogin) && (!startupNotifierIPDlg)) {
-- startupNotifierIPDlg = KSMStartupIPDlg::showStartupIP();
-- }
-- TQTimer::singleShot( 4000, this, TQT_SLOT( autoStart0() ) );
-- } else {
-- if ((showFancyLogin) && (!startupNotifierIPDlg)) {
-- startupNotifierIPDlg = KSMStartupIPDlg::showStartupIP();
-+ // find all commands to launch the wm in the session
-+ TQValueList<QStringList> wmStartCommands;
-+ if ( !wm.isEmpty() ) {
-+ for ( int i = 1; i <= count; i++ ) {
-+ TQString n = TQString::number(i);
-+ // special hack for it, both kde3(=native) and kde4 kwin have the same program,
-+ // but the command for kde4 kwin starts with the kde4 wrapper
-+ if( config->readEntry( TQString("program")+n ) == "kwin" ) {
-+ TQStringList command = config->readListEntry( TQString("restartCommand")+n );
-+ if( wmCommands.count() > 1 && wmCommands[ 0 ].endsWith( "kde4" )
-+ && command.count() > 1 && command[ 0 ].endsWith( "kde4" )) {
-+ wmStartCommands << command; // kde4 wanted, kde4 found
-+ } else if(!( wmCommands.count() > 1 && wmCommands[ 0 ].endsWith( "kde4" ))
-+ && !( command.count() > 1 && command[ 0 ].endsWith( "kde4" ))) {
-+ wmStartCommands << command; // native wanted, native found
-+ }
-+ } else if ( wm == config->readEntry( TQString("program")+n ) ) {
-+ wmStartCommands << config->readListEntry( TQString("restartCommand")+n );
-+ }
- }
-- autoStart0();
-+ }
-+ if( wmStartCommands.isEmpty()) { // otherwise use the configured default
-+ wmStartCommands << wmCommands;
- }
-+ launchWM( wmStartCommands );
- }
-
- /*!
-@@ -180,18 +177,57 @@
- "autoStart1Done()", true);
- connectDCOPSignal( launcher, launcher, "autoStart2Done()",
- "autoStart2Done()", true);
-- startApplication( wm );
-+ launchWM( TQValueList< TQStringList >() << wmCommands );
- if ((showFancyLogin) && (!startupNotifierIPDlg)) {
- startupNotifierIPDlg = KSMStartupIPDlg::showStartupIP();
- }
-+}
-+
-+void KSMServer::launchWM( const QValueList< QStringList >& wmStartCommands )
-+{
-+ assert( state == LaunchingWM );
-+
-+ // when we have a window manager, we start it first and give
-+ // it some time before launching other processes. Results in a
-+ // visually more appealing startup.
-+ wmProcess = startApplication( wmStartCommands[ 0 ] );
-+ connect( wmProcess, TQT_SIGNAL( processExited( KProcess* )), TQT_SLOT( wmProcessChange()));
-+ // there can be possibly more wm's (because of forking for multihead),
-+ // but in such case care only about the process of the first one
-+ for (unsigned int i = 1; i < wmStartCommands.count(); i++) {
-+ startApplication( wmStartCommands[i] );
-+ }
- TQTimer::singleShot( 4000, this, TQT_SLOT( autoStart0() ) );
- }
-
-
- void KSMServer::clientSetProgram( KSMClient* client )
- {
-- if ( !wm.isEmpty() && client->program() == wm )
-+ if ( client->program() == wm ) {
- autoStart0();
-+ }
-+}
-+
-+void KSMServer::wmProcessChange()
-+{
-+ if( state != LaunchingWM )
-+ { // don't care about the process when not in the wm-launching state anymore
-+ wmProcess = NULL;
-+ return;
-+ }
-+ if( !wmProcess->isRunning())
-+ { // wm failed to launch for some reason, go with kwin instead
-+ kdWarning( 1218 ) << "Window manager '" << wm << "' failed to launch" << endl;
-+ if( wm == "kwin" ) {
-+ return; // uhoh, kwin itself failed
-+ }
-+ kdDebug( 1218 ) << "Launching KWin" << endl;
-+ wm = "kwin";
-+ wmCommands = ( TQStringList() << "kwin" );
-+ // launch it
-+ launchWM( TQValueList< TQStringList >() << wmCommands );
-+ return;
-+ }
- }
-
- void KSMServer::autoStart0()
---- ./ksmserver/server.h.ORI 2013-05-08 20:16:35.950487652 +0200
-+++ ./ksmserver/server.h 2013-05-08 20:19:49.069692796 +0200
-@@ -30,6 +30,8 @@
- #define SESSION_PREVIOUS_LOGOUT "saved at previous logout"
- #define SESSION_BY_USER "saved by user"
-
-+class KProcess;
-+
- typedef TQValueList<TQCString> QCStringList;
- class KSMListener;
- class KSMConnection;
-@@ -98,6 +100,8 @@
- KApplication::ShutdownType sdtype,
- KApplication::ShutdownMode sdmode );
-
-+ void launchWM( const TQValueList< TQStringList >& wmStartCommands );
-+
- public slots:
- void cleanUp();
-
-@@ -120,6 +124,7 @@
- void autoStart2();
- void tryRestoreNext();
- void startupSuspendTimeout();
-+ void wmProcessChange();
-
- private:
- void handlePendingInteractions();
-@@ -138,7 +143,7 @@
- void startProtection();
- void endProtection();
-
-- void startApplication( TQStringList command,
-+ KProcess* startApplication( TQStringList command,
- const TQString& clientMachine = TQString::null,
- const TQString& userId = TQString::null );
- void executeCommand( const TQStringList& command );
-@@ -149,6 +154,7 @@
- bool isCM( const TQString& program ) const;
- bool isNotifier( const KSMClient* client ) const;
- bool isNotifier( const TQString& program ) const;
-+ void selectWm( const TQString& kdewm );
- bool defaultSession() const; // empty session
- void setupXIOErrorHandler();
-
-@@ -231,6 +237,8 @@
- TQString lastIdStarted;
-
- TQStringList excludeApps;
-+ TQStringList wmCommands;
-+ KProcess* wmProcess;
-
- WindowMap legacyWindows;
- int initialClientCount;
---- ./ksmserver/CMakeLists.txt.ORI 2013-05-08 20:21:11.420074784 +0200
-+++ ./ksmserver/CMakeLists.txt 2013-05-08 20:22:16.602794164 +0200
-@@ -28,6 +28,8 @@
- ${DBUS_TQT_LIBRARY_DIRS}
- )
-
-+add_subdirectory( windowmanagers )
-+
-
- ##### other data ################################
-
---- ./ksmserver/main.cpp.ori 2013-05-08 20:22:52.841082235 +0200
-+++ ./ksmserver/main.cpp 2013-05-08 20:23:11.717711399 +0200
-@@ -203,8 +203,6 @@
- }
-
- TQCString wm = args->getOption("windowmanager");
-- if ( wm.isEmpty() )
-- wm = "kwin";
-
- bool only_local = args->isSet("local");
- #ifndef HAVE__ICETRANSNOLISTEN
---- ./ksmserver/server.cpp.ori 2013-05-08 20:24:02.870706512 +0200
-+++ ./ksmserver/server.cpp 2013-05-08 20:35:02.808745909 +0200
-@@ -77,6 +77,8 @@
- #include <kprocess.h>
- #include <dcopclient.h>
- #include <dcopref.h>
-+#include <kdesktopfile.h>
-+#include <kshell.h>
-
- #include "server.h"
- #include "global.h"
-@@ -98,11 +100,11 @@
- /*! Utility function to execute a command on the local machine. Used
- * to restart applications.
- */
--void KSMServer::startApplication( TQStringList command, const TQString& clientMachine,
-+KProcess* KSMServer::startApplication( TQStringList command, const TQString& clientMachine,
- const TQString& userId )
- {
- if ( command.isEmpty() )
-- return;
-+ return NULL;
- if ( !userId.isEmpty()) {
- struct passwd* pw = getpwuid( getuid());
- if( pw != NULL && userId != TQString::fromLocal8Bit( pw->pw_name )) {
-@@ -116,12 +118,13 @@
- command.prepend( clientMachine );
- command.prepend( xonCommand ); // "xon" by default
- }
-- int n = command.count();
-- TQCString app = command[0].latin1();
-- TQValueList<TQCString> argList;
-- for ( int i=1; i < n; i++)
-- argList.append( TQCString(command[i].latin1()));
-- DCOPRef( launcher ).send( "exec_blind", app, DCOPArg( argList, "TQValueList<TQCString>" ) );
-+ KProcess* process = new KProcess( this );
-+ *process << command;
-+ // make it auto-delete
-+ connect( process, TQT_SIGNAL( processExited( KProcess* )), process, TQT_SLOT( deleteLater()));
-+ process->start();
-+ return process;
-+
- }
-
- /*! Utility function to execute a command on the local machine. Used
-@@ -579,7 +582,7 @@
- #endif
-
- KSMServer::KSMServer( const TQString& windowManager, bool _only_local )
-- : DCOPObject("ksmserver"), sessionGroup( "" ), startupNotifierIPDlg(0), shutdownNotifierIPDlg(0)
-+ : DCOPObject("ksmserver"), sessionGroup( "" ), startupNotifierIPDlg(0), shutdownNotifierIPDlg(0), wmProcess( NULL )
- {
- the_server = this;
- clean = false;
-@@ -595,7 +598,10 @@
- config->setGroup("General" );
- clientInteracting = 0;
- xonCommand = config->readEntry( "xonCommand", "xon" );
--
-+
-+ KGlobal::dirs()->addResourceType( "windowmanagers", "share/apps/ksmserver/windowmanagers" );
-+ selectWm( windowManager );
-+
- connect( &knotifyTimeoutTimer, TQT_SIGNAL( timeout()), TQT_SLOT( knotifyTimeout()));
- connect( &startupSuspendTimeoutTimer, TQT_SIGNAL( timeout()), TQT_SLOT( startupSuspendTimeout()));
- connect( &pendingShutdown, TQT_SIGNAL( timeout()), TQT_SLOT( pendingShutdownTimeout()));
-@@ -851,15 +857,15 @@
- config->setGroup( sessionGroup );
- count = 0;
-
-- if ( !wm.isEmpty() ) {
-- // put the wm first
-- for ( KSMClient* c = clients.first(); c; c = clients.next() )
-- if ( c->program() == wm ) {
-- clients.prepend( clients.take() );
-- break;
-- }
-+ // put the wm first
-+ for ( KSMClient* c = clients.first(); c; c = clients.next() ) {
-+ if ( c->program() == wm ) {
-+ clients.prepend( clients.take() );
-+ break;
-+ }
- }
-
-+
- for ( KSMClient* c = clients.first(); c; c = clients.next() ) {
- int restartHint = c->restartStyleHint();
- if (restartHint == SmRestartNever)
-@@ -909,11 +915,7 @@
-
- bool KSMServer::isWM( const TQString& program ) const
- {
-- // KWin relies on ksmserver's special treatment in phase1,
-- // therefore make sure it's recognized even if ksmserver
-- // was initially started with different WM, and kwin replaced
-- // it later
-- return ((program == wm) || (program == "kwin"));
-+ return program == wm;
- }
-
- bool KSMServer::isCM( const KSMClient* client ) const
-@@ -941,3 +943,62 @@
- {
- return sessionGroup.isEmpty();
- }
-+
-+static bool noDisplay( KDesktopFile& f )
-+{
-+ KConfigGroup gr( &f, "Desktop Entry" );
-+ if (gr.readBoolEntry("NoDisplay", false)) {
-+ return true;
-+ }
-+ if (gr.hasKey("OnlyShowIn")) {
-+ if (!gr.readListEntry("OnlyShowIn", ';').contains("KDE"))
-+ return true;
-+ }
-+ if (gr.hasKey("NotShowIn")) {
-+ if (gr.readListEntry("NotShowIn", ';').contains("KDE"))
-+ return true;
-+ }
-+ return false;
-+}
-+
-+// selection logic:
-+// - $KDEWM is set - use that
-+// - a wm is selected using the kcm - use that
-+// - if that fails, just use KWin
-+void KSMServer::selectWm( const TQString& kdewm )
-+{
-+ wm = "kwin"; // defaults
-+ wmCommands = ( TQStringList() << "kwin" );
-+ if( !kdewm.isEmpty())
-+ {
-+ wmCommands = ( TQStringList() << kdewm );
-+ wm = kdewm;
-+ return;
-+ }
-+ KConfigGroup config(KGlobal::config(), "General");
-+ TQString cfgwm = config.readEntry( "windowManager", "kwin" );
-+ KDesktopFile file( cfgwm + ".desktop", true, "windowmanagers" );
-+ if( noDisplay( file )) {
-+ return;
-+ }
-+ if( !file.tryExec()) {
-+ return;
-+ }
-+ file.setDesktopGroup();
-+ TQString testexec = file.readEntry( "X-KDE-WindowManagerTestExec" );
-+ if( !testexec.isEmpty())
-+ {
-+ int ret = system( TQFile::encodeName( testexec ));
-+ if( !WIFEXITED( ret ) || WEXITSTATUS( ret ) != 0 ) {
-+ return;
-+ }
-+ }
-+ TQStringList cfgWmCommands = KShell::splitArgs( file.readEntry( "Exec" ));
-+ if( cfgWmCommands.isEmpty()) {
-+ return;
-+ }
-+ TQString smname = file.readEntry( "X-KDE-WindowManagerId" );
-+ // ok
-+ wm = smname.isEmpty() ? cfgwm : smname;
-+ wmCommands = cfgWmCommands;
-+}
-Index: ksmserver/windowmanagers/CMakeLists.txt
-===================================================================
---- /dev/null
-+++ ./ksmserver/windowmanagers/CMakeLists.txt
-@@ -0,0 +1,4 @@
-+install(
-+ FILES compiz-custom.desktop compiz.desktop kwin4.desktop metacity.desktop openbox.desktop
-+ DESTINATION ${DATA_INSTALL_DIR}/ksmserver/windowmanagers
-+)
-Index: ksmserver/windowmanagers/openbox.desktop
-===================================================================
---- /dev/null
-+++ ./ksmserver/windowmanagers/openbox.desktop
-@@ -0,0 +1,5 @@
-+[Desktop Entry]
-+Name=Openbox
-+Exec=openbox
-+TryExec=openbox
-+
-Index: ksmserver/windowmanagers/compiz.desktop
-===================================================================
---- /dev/null
-+++ ./ksmserver/windowmanagers/compiz.desktop
-@@ -0,0 +1,4 @@
-+[Desktop Entry]
-+Name=Compiz
-+Exec=compiz ccp
-+TryExec=compiz
-Index: ksmserver/windowmanagers/compiz-custom.desktop
-===================================================================
---- /dev/null
-+++ ./ksmserver/windowmanagers/compiz-custom.desktop
-@@ -0,0 +1,5 @@
-+[Desktop Entry]
-+Name=Compiz custom (create wrapper script 'compiz-kde-launcher' to launch it)
-+Exec=compiz-kde-launcher
-+TryExec=compiz
-+X-KDE-WindowManagerId=compiz
-Index: ksmserver/windowmanagers/kwin4.desktop
-===================================================================
---- /dev/null
-+++ ./ksmserver/windowmanagers/kwin4.desktop
-@@ -0,0 +1,6 @@
-+[Desktop Entry]
-+Name=KWin (KDE4)
-+Exec=kde4 /usr/bin/kwin
-+TryExec=/usr/bin/kwin
-+X-KDE-WindowManagerId=kwin
-+
-Index: ksmserver/windowmanagers/metacity.desktop
-===================================================================
---- /dev/null
-+++ ./ksmserver/windowmanagers/metacity.desktop
-@@ -0,0 +1,4 @@
-+[Desktop Entry]
-+Name=Metacity (GNOME)
-+Exec=metacity
-+TryExec=metacity
---- ./kcontrol/smserver/smserverconfigdlg.ui.ori 2013-05-08 20:42:59.226232919 +0200
-+++ ./kcontrol/smserver/smserverconfigdlg.ui 2013-05-08 20:45:53.648749758 +0200
-@@ -1,4 +1,4 @@
--<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
-+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
- <class>SMServerConfigDlg</class>
- <widget class="TQWidget">
- <property name="name">
-@@ -8,8 +8,8 @@
- <rect>
- <x>0</x>
- <y>0</y>
-- <width>325</width>
-- <height>366</height>
-+ <width>334</width>
-+ <height>476</height>
- </rect>
- </property>
- <property name="caption">
-@@ -173,6 +173,24 @@
- </widget>
- </vbox>
- </widget>
-+ <widget class="TQGroupBox">
-+ <property name="name">
-+ <cstring>windowManagerGroup</cstring>
-+ </property>
-+ <property name="title">
-+ <string>Window Manager</string>
-+ </property>
-+ <hbox>
-+ <property name="name">
-+ <cstring>unnamed</cstring>
-+ </property>
-+ <widget class="TQComboBox">
-+ <property name="name">
-+ <cstring>windowManagerCombo</cstring>
-+ </property>
-+ </widget>
-+ </hbox>
-+ </widget>
- <widget class="TQButtonGroup">
- <property name="name">
- <cstring>advancedGroup</cstring>
-@@ -279,6 +297,12 @@
- <receiver>SMServerConfigDlg</receiver>
- <slot>configChanged()</slot>
- </connection>
-+ <connection>
-+ <sender>windowManagerCombo</sender>
-+ <signal>activated(int)</signal>
-+ <receiver>SMServerConfigDlg</receiver>
-+ <slot>configChanged()</slot>
-+ </connection>
- </connections>
- <includes>
- <include location="global" impldecl="in implementation">kdialog.h</include>
---- ./kcontrol/smserver/kcmsmserver.cpp.ORI 2013-05-08 20:47:16.855088794 +0200
-+++ ./kcontrol/smserver/kcmsmserver.cpp 2013-05-08 20:57:27.009783724 +0200
-@@ -22,6 +22,8 @@
- #include <tqcheckbox.h>
- #include <tqlayout.h>
- #include <tqradiobutton.h>
-+#include <tqcombobox.h>
-+#include <tqfile.h>
-
- #include <dcopclient.h>
-
-@@ -29,6 +31,12 @@
- #include <kconfig.h>
- #include <kgenericfactory.h>
- #include <klineedit.h>
-+#include <kstandarddirs.h>
-+#include <tqregexp.h>
-+#include <kdesktopfile.h>
-+#include <kdebug.h>
-+#include <kprocess.h>
-+#include <kmessagebox.h>
-
- #include "kcmsmserver.h"
- #include "smserverconfigimpl.h"
-@@ -52,6 +60,7 @@
-
- dialog->show();
- topLayout->add(dialog);
-+ KGlobal::dirs()->addResourceType( "windowmanagers", "share/apps/ksmserver/windowmanagers" );
- load();
-
- }
-@@ -90,6 +99,7 @@
- dialog->logoutRadio->setChecked(true);
- break;
- }
-+ loadWMs(c->readEntry("windowManager", "kwin"));
- dialog->excludeLineedit->setText( c->readEntry("excludeApps"));
-
- c->setGroup("Logout");
-@@ -121,6 +131,7 @@
- dialog->rebootRadio->isChecked() ?
- int(KApplication::ShutdownTypeReboot) :
- int(KApplication::ShutdownTypeNone));
-+ c->writeEntry("windowManager", currentWM());
- c->writeEntry("excludeApps", dialog->excludeLineedit->text());
- c->setGroup("Logout");
- c->writeEntry( "showLogoutStatusDlg", dialog->showLogoutStatusDialog->isChecked());
-@@ -131,6 +142,12 @@
- // update the k menu if necessary
- TQByteArray data;
- kapp->dcopClient()->send( "kicker", "kicker", "configure()", data );
-+ if( oldwm != currentWM())
-+ { // TODO switch it already in the session instead and tell ksmserver
-+ KMessageBox::information( this,
-+ i18n( "The new window manager will be used when TDE is started the next time." ),
-+ i18n( "Window manager change" ), "windowmanagerchange" );
-+ }
- }
-
- void SMServerConfig::defaults()
-@@ -138,5 +155,79 @@
- load( true );
- }
-
-+static bool noDisplay( KDesktopFile& f )
-+{
-+ KConfigGroup gr( &f, "Desktop Entry" );
-+ if (gr.readBoolEntry("NoDisplay", false)) {
-+ return true;
-+ }
-+ if (gr.hasKey("OnlyShowIn")) {
-+ if (!gr.readListEntry("OnlyShowIn", ';').contains("KDE"))
-+ return true;
-+ }
-+ if (gr.hasKey("NotShowIn")) {
-+ if (gr.readListEntry("NotShowIn", ';').contains("KDE"))
-+ return true;
-+ }
-+ return false;
-+}
-+
-+void SMServerConfig::loadWMs( const TQString& current )
-+{
-+ TQString kwinname = i18n( "KWin (KDE default)" );
-+ dialog->windowManagerCombo->insertItem( kwinname );
-+ dialog->windowManagerCombo->setCurrentItem( 0 );
-+ wms[ kwinname ] = "kwin";
-+ oldwm = "kwin";
-+ TQStringList list = KGlobal::dirs()->findAllResources( "windowmanagers", TQString(), false, true );
-+ TQRegExp reg( ".*/([^/\\.]*)\\.[^/\\.]*" );
-+ for( TQStringList::ConstIterator it = list.begin();
-+ it != list.end();
-+ ++it )
-+ {
-+ TQString wmfile = *it;
-+ KDesktopFile file( wmfile );
-+ if( noDisplay( file )) {
-+ continue;
-+ }
-+ if( !file.tryExec()) {
-+ continue;
-+ }
-+ file.setDesktopGroup();
-+ TQString testexec = file.readEntry( "X-KDE-WindowManagerTestExec" );
-+ if( !testexec.isEmpty())
-+ {
-+ int ret = system( TQFile::encodeName( testexec ));
-+ if( !WIFEXITED( ret ) || WEXITSTATUS( ret ) != 0 ) {
-+ continue;
-+ }
-+ }
-+ TQString name = file.readName();
-+ if( name.isEmpty()) {
-+ continue;
-+ }
-+ if( !reg.exactMatch( wmfile )) {
-+ continue;
-+ }
-+ TQString wm = reg.cap( 1 );
-+ if( wms.values().contains( wm )) {
-+ continue;
-+ }
-+ wms[ name ] = wm;
-+ dialog->windowManagerCombo->insertItem( name );
-+ if( wms[ name ] == current ) // make it selected
-+ {
-+ dialog->windowManagerCombo->setCurrentItem( dialog->windowManagerCombo->count() - 1 );
-+ oldwm = wm;
-+ }
-+ }
-+}
-+
-+TQString SMServerConfig::currentWM() const
-+{
-+ return wms[ dialog->windowManagerCombo->currentText() ];
-+}
-+
-+
- #include "kcmsmserver.moc"
-
---- ./kcontrol/smserver/kcmsmserver.h.ORI 2013-05-08 20:58:45.880171397 +0200
-+++ ./kcontrol/smserver/kcmsmserver.h 2013-05-08 20:59:21.030453176 +0200
-@@ -40,6 +40,10 @@
-
- private:
- SMServerConfigImpl* dialog;
-+ void loadWMs( const TQString& current );
-+ TQString currentWM() const;
-+ TQMap< TQString, TQString > wms; // i18n text -> internal name
-+ TQString oldwm; // the original value
-
- };
-