diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-04-24 01:10:53 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-04-24 01:10:53 -0500 |
commit | 66a19439090d7b0945253cb813f0195488e1d8ff (patch) | |
tree | ab0cc6c1500df3b017cd30f9dbcdd538ad48ab12 | |
parent | 67a3a8f34892a6491ba0073a3f583503b44e58e7 (diff) | |
download | tdebase-66a19439090d7b0945253cb813f0195488e1d8ff.tar.gz tdebase-66a19439090d7b0945253cb813f0195488e1d8ff.zip |
Start minimal dcop system to support twin in tdm
This speeds up tdm load as well as lessens problems with tmpfs space
-rw-r--r-- | tdm/kfrontend/kgapp.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tdm/kfrontend/kgapp.cpp b/tdm/kfrontend/kgapp.cpp index be61c2fd8..8fa0c18f5 100644 --- a/tdm/kfrontend/kgapp.cpp +++ b/tdm/kfrontend/kgapp.cpp @@ -192,6 +192,7 @@ kg_main( const char *argv0 ) KProcess *tsak = 0; KProcess *proc = 0; KProcess *comp = 0; + KProcess *dcop = 0; KProcess *twin = 0; trinity_desktop_lock_use_sak = _useSAK; @@ -317,6 +318,13 @@ kg_main( const char *argv0 ) } if (!_windowManager.isEmpty()) { + if (_windowManager == "twin") { + // Special case + // Start DCOP... + dcop = new KProcess; + *dcop << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "dcopserver" << TQCString("--suicide"); + dcop->start(); + } twin = new KProcess; *twin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii(); twin->start(); @@ -462,11 +470,14 @@ kg_main( const char *argv0 ) if (login_session_wm.endsWith("/starttde") || (login_session_wm == "failsafe")) { twin->closeStdin(); twin->detach(); + dcop->detach(); } else { twin->kill(); + dcop->kill(); } delete twin; + delete dcop; } delete proc; UnsecureDisplay( dpy ); |