Changeset View
Changeset View
Standalone View
Standalone View
startkde/kcheckrunning/kcheckrunning.h
- This file was copied from startkde/kcheckrunning/kcheckrunning.cpp.
1 | /* This file is part of the KDE project | 1 | /* This file is part of the KDE project | ||
---|---|---|---|---|---|
2 | Copyright (C) 2005 Lubos Lunak <l.lunak@kde.org> | 2 | Copyright (C) 2019 Aleix Pol Gonzalez <aleixpol@kde.org> | ||
3 | 3 | | |||
4 | This library is free software; you can redistribute it and/or | 4 | This library is free software; you can redistribute it and/or | ||
5 | modify it under the terms of the GNU Library General Public | 5 | modify it under the terms of the GNU Library General Public | ||
6 | License as published by the Free Software Foundation; either | 6 | License as published by the Free Software Foundation; either | ||
7 | version 2 of the License, or (at your option) any later version. | 7 | version 2 of the License, or (at your option) any later version. | ||
8 | 8 | | |||
9 | This library is distributed in the hope that it will be useful, | 9 | This library is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
12 | Library General Public License for more details. | 12 | Library General Public License for more details. | ||
13 | 13 | | |||
14 | You should have received a copy of the GNU Library General Public License | 14 | You should have received a copy of the GNU Library General Public License | ||
15 | along with this library; see the file COPYING.LIB. If not, write to | 15 | along with this library; see the file COPYING.LIB. If not, write to | ||
16 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
17 | Boston, MA 02110-1301, USA. | 17 | Boston, MA 02110-1301, USA. | ||
18 | */ | 18 | */ | ||
19 | 19 | | |||
20 | #include <X11/Xlib.h> | 20 | #ifndef KCHECKRUNNING_H | ||
21 | #define KCHECKRUNNING_H | ||||
21 | 22 | | |||
22 | /* | 23 | enum CheckRunningState { | ||
23 | Return 0 when KDE is running, 1 when KDE is not running but it is possible | 24 | PlasmaRunning, | ||
24 | to connect to X, 2 when it's not possible to connect to X. | 25 | NoPlasmaRunning, | ||
25 | */ | 26 | NoX11 | ||
26 | int main() | 27 | }; | ||
27 | { | 28 | | ||
28 | Display* dpy = XOpenDisplay( nullptr ); | 29 | CheckRunningState kCheckRunning(); | ||
29 | if( dpy == nullptr ) | 30 | | ||
30 | return 2; | 31 | #endif | ||
31 | Atom atom = XInternAtom( dpy, "_KDE_RUNNING", False ); | | |||
32 | return XGetSelectionOwner( dpy, atom ) != None ? 0 : 1; | | |||
33 | } | |