1/*
2 * Copyright (C) 2006 Aaron Seigo <aseigo@kde.org>
3 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU Library General Public License version 2 as
7 * published by the Free Software Foundation
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this program; if not, write to the
16 * Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 */
19
20#include <KAboutData>
21#include <KCmdLineArgs>
22#include <kdebug.h>
23#include <KLocale>
24#include <KGlobal>
25#include <config-workspace.h>
26
27#include "krunnerapp.h"
28#ifdef Q_WS_X11
29#include "startupid.h"
30#endif
31#include "klaunchsettings.h" // contains startup config
32
33#ifdef Q_WS_X11
34#include <X11/extensions/Xrender.h>
35#endif
36
37static const char description[] = I18N_NOOP( "KDE run command interface" );
38
39extern "C"
40KDE_EXPORT int kdemain(int argc, char* argv[])
41{
42#ifdef Q_WS_X11
43 // krunner only works properly with Qt's native X11 backend; override any compile-time
44 // or command line settings to raster or OpenGL.
45 QApplication::setGraphicsSystem(QLatin1String( "native" ));
46#endif
47
48 KAboutData aboutData( "krunner", 0, ki18n( "Run Command Interface" ),
49 WORKSPACE_VERSION_STRING, ki18n(description), KAboutData::License_GPL,
50 ki18n("(c) 2006, Aaron Seigo") );
51 aboutData.addAuthor( ki18n("Aaron J. Seigo"),
52 ki18n( "Author and maintainer" ),
53 "aseigo@kde.org" );
54
55 KCmdLineArgs::init(argc, argv, &aboutData);
56 if (!KUniqueApplication::start()) {
57 return 0;
58 }
59
60 KRunnerApp *app = KRunnerApp::self();
61 KGlobal::locale()->insertCatalog(QLatin1String( "processui" ));
62 KGlobal::locale()->insertCatalog(QLatin1String( "libplasma" ));
63 app->disableSessionManagement(); // autostarted
64 int rc = app->exec();
65 delete app;
66 return rc;
67}
68
69