summaryrefslogtreecommitdiffstats
path: root/tdm/kfrontend
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-04-24 01:10:53 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-04-24 01:10:53 -0500
commit66a19439090d7b0945253cb813f0195488e1d8ff (patch)
treeab0cc6c1500df3b017cd30f9dbcdd538ad48ab12 /tdm/kfrontend
parent67a3a8f34892a6491ba0073a3f583503b44e58e7 (diff)
downloadtdebase-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
Diffstat (limited to 'tdm/kfrontend')
-rw-r--r--tdm/kfrontend/kgapp.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tdm/kfrontend/kgapp.cpp b/tdm/kfrontend/kgapp.cpp
index be61c2fd..8fa0c18f 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 );