27 #include "config-superkaramba.h"
34 #include <KStandardDirs>
35 #include <KCmdLineArgs>
37 #include <KWindowSystem>
39 #include <X11/extensions/Xrender.h>
42 I18N_NOOP(
"A KDE Eye-candy Application");
46 int main(
int argc,
char **argv)
48 Display *dpy = XOpenDisplay(0);
50 kWarning() <<
"Cannot connect to the X server";
54 Colormap colormap = 0;
57 if (KWindowSystem::compositingActive()) {
58 int screen = DefaultScreen(dpy);
59 int eventBase, errorBase;
61 if (XRenderQueryExtension(dpy, &eventBase, &errorBase)) {
64 templ.screen = screen;
66 templ.c_class = TrueColor;
67 XVisualInfo *xvi = XGetVisualInfo(dpy, VisualScreenMask |
71 for (
int i = 0; i < nvi; ++i) {
72 XRenderPictFormat *format = XRenderFindVisualFormat(dpy,
74 if (format->type == PictTypeDirect && format->direct.alphaMask) {
75 visual = xvi[i].visual;
76 colormap = XCreateColormap(dpy, RootWindow(dpy, screen),
84 KAboutData about(
"superkaramba", 0, ki18n(
"SuperKaramba"),
86 KAboutData::License_GPL,
87 ki18n(
"(c) 2003-2007 The SuperKaramba developers"), KLocalizedString(),
88 "http://utils.kde.org/projects/superkaramba");
89 about.addAuthor(ki18n(
"Adam Geitgey"), KLocalizedString(),
"adam@rootnode.org");
90 about.addAuthor(ki18n(
"Hans Karlsson"), KLocalizedString(),
"karlsson.h@home.se");
91 about.addAuthor(ki18n(
"Ryan Nickell"), KLocalizedString(),
"p0z3r@earthlink.net");
92 about.addAuthor(ki18n(
"Petri Damstén"), KLocalizedString(),
"petri.damsten@iki.fi");
93 about.addAuthor(ki18n(
"Alexander Wiedenbruch"), KLocalizedString(),
"mail@wiedenbruch.de");
94 about.addAuthor(ki18n(
"Luke Kenneth Casson Leighton"), KLocalizedString(),
"lkcl@lkcl.net");
95 about.addCredit(ki18n(
"Sebastian Sauer"), ki18n(
"Work on Kross, tutorials and examples"),
"mail@dipe.org");
96 KCmdLineArgs::init(argc, argv, &about);
98 KCmdLineOptions options;
101 #ifdef PYTHON_INCLUDE_PATH
102 options.add(
"usefallback", ki18n(
"Use the original python bindings as scripting backend. Off by default."));
104 options.add(
"+file", ki18n(
"A required argument 'file'"));
105 KCmdLineArgs::addCmdLineOptions(options);
106 KarambaApplication::addCmdLineOptions();
109 if (!KarambaApplication::start()) {
110 fprintf(stderr,
"SuperKaramba is already running!\n");
114 #ifdef PYTHON_INCLUDE_PATH
115 bool noUseKross =
false;
116 KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
117 if (args->isSet(
"usefallback")) {
119 kDebug() <<
"Using fallback python scripting backend!" ;
128 #ifdef PYTHON_INCLUDE_PATH
136 #ifdef PYTHON_INCLUDE_PATH
int main(int argc, char **argv)
static void shutdownPython()
static const char description[]
void setupSysTray(KAboutData *about)
static const char version[]