diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-04-24 01:10:53 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-06-03 03:27:10 +0200 |
commit | 0d8f014e25c6153da88a4df237c2670dfd997915 (patch) | |
tree | 29800e896e69fa62ed0a8b349a49140480cf5c34 /kdm | |
parent | 1bd1c6586c658d3aa7195c34eaf009c61ffa7e73 (diff) | |
download | tdebase-0d8f014e25c6153da88a4df237c2670dfd997915.tar.gz tdebase-0d8f014e25c6153da88a4df237c2670dfd997915.zip |
Start minimal dcop system to support kwin in kdm
This speeds up kdm load as well as lessens problems with tmpfs space
(cherry picked from commit 66a19439090d7b0945253cb813f0195488e1d8ff)
Diffstat (limited to 'kdm')
-rw-r--r-- | kdm/kfrontend/kgapp.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp index 773a0bf5b..34c6c3f15 100644 --- a/kdm/kfrontend/kgapp.cpp +++ b/kdm/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 *kwin = 0; trinity_desktop_lock_use_sak = _useSAK; @@ -317,6 +318,13 @@ kg_main( const char *argv0 ) } if (!_windowManager.isEmpty()) { + if (_windowManager == "kwin") { + // Special case + // Start DCOP... + dcop = new KProcess; + *dcop << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "dcopserver" << TQCString("--suicide"); + dcop->start(); + } kwin = new KProcess; *kwin << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + _windowManager.ascii(); kwin->start(); @@ -462,11 +470,14 @@ kg_main( const char *argv0 ) if (login_session_wm.endsWith("/startkde") || (login_session_wm == "failsafe")) { kwin->closeStdin(); kwin->detach(); + dcop->detach(); } else { kwin->kill(); + dcop->kill(); } delete kwin; + delete dcop; } delete proc; UnsecureDisplay( dpy ); |