summaryrefslogtreecommitdiffstats
path: root/khotkeys/kcontrol/init.cpp
blob: 4bc5874948a4ad7ccc288ff81c30a6fb930a79f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/****************************************************************************

 KHotKeys
 
 Copyright (C) 1999-2001 Lubos Lunak <l.lunak@kde.org>

 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.
    TQCString multiHead = getenv("KDE_MULTIHEAD");
    if (multiHead.lower() == "true")
        kapp->tdeinitExec( "khotkeys" );
    else
        {
        DCOPRef ref( "kded", "kded" );
        if( !ref.call( "loadModule", TQCString( "khotkeys" )))
            {
            kdWarning( 1217 ) << "Loading of khotkeys module failed." << endl;
            kapp->tdeinitExec( "khotkeys" );
            }
        }
    }
}