summaryrefslogtreecommitdiffstats
path: root/khotkeys/kcontrol/init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'khotkeys/kcontrol/init.cpp')
-rw-r--r--khotkeys/kcontrol/init.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/khotkeys/kcontrol/init.cpp b/khotkeys/kcontrol/init.cpp
new file mode 100644
index 000000000..3468690e2
--- /dev/null
+++ b/khotkeys/kcontrol/init.cpp
@@ -0,0 +1,47 @@
+/****************************************************************************
+
+ KHotKeys
+
+ Copyright (C) 1999-2001 Lubos Lunak <[email protected]>
+
+ Distributed under the terms of the GNU General Public License version 2.
+
+****************************************************************************/
+
+#define _INIT_CPP_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <dcopref.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <stdlib.h>
+
+extern "C"
+{
+ KDE_EXPORT void init_khotkeys()
+ {
+ KConfig cfg( "khotkeysrc", true );
+ cfg.setGroup( "Main" );
+ if( !cfg.readBoolEntry( "Autostart", false ))
+ return;
+ // Non-xinerama multhead support in KDE is just a hack
+ // involving forking apps per-screen. Don't bother with
+ // kded modules in such case.
+ QCString multiHead = getenv("KDE_MULTIHEAD");
+ if (multiHead.lower() == "true")
+ kapp->kdeinitExec( "khotkeys" );
+ else
+ {
+ DCOPRef ref( "kded", "kded" );
+ if( !ref.call( "loadModule", QCString( "khotkeys" )))
+ {
+ kdWarning( 1217 ) << "Loading of khotkeys module failed." << endl;
+ kapp->kdeinitExec( "khotkeys" );
+ }
+ }
+ }
+}