1 //===========================================
2 //  Lumina-desktop source code
3 //  Copyright (c) 2015-2017, Ken Moore
4 //  Available under the 3-clause BSD license
5 //  See the LICENSE file for full details
6 //===========================================
7 //  Global defines and enumerations for internal includes
8 //===========================================
9 
10 //====WARNING=====
11 // ONLY #include this file within *.cpp files
12 // Use "global-includes.h" for the generic includes in *.h files
13 //=================
14 
15 #ifndef _LUMINA_INTERNAL_GLOBAL_OBJECTS_H
16 #define _LUMINA_INTERNAL_GLOBAL_OBJECTS_H
17 
18 #include "global-includes.h"
19 
20 //Load the appropriate "EventFilter" class for the graphics subsystem
21 //#ifndef USE_WAYLAND
22 //#include "src-events/LXcbEventFilter.h"
23 //#endif
24 
25 #include "src-events/NativeWindowSystem.h"
26 #include "src-events/NativeEventFilter.h"
27 #include "src-desktop/src-cpp/RootDesktopObject.h"
28 
29 #include "src-events/LShortcutEvents.h"
30 #include "src-desktop/DesktopManager.h"
31 #include "src-screensaver/LScreenSaver.h"
32 
33 #include <RootWindow.h>
34 #include "LSession.h"
35 
36 // Standard C includes
37 #include <unistd.h>
38 
39 //Any special defines for settings/testing
40 #define ANIMTIME 80 //animation time in milliseconds
41 
42 //Global flags/structures
43 namespace Lumina{
44 	//Data structures and objects
45 	// -- Native Window System Objects
46 	extern NativeWindowSystem *NWS;
47 	extern NativeEventFilter *NEF;
48 
49 	//extern EventFilter *EFILTER; //Native Event Watcher
50 	extern LShortcutEvents *SHORTCUTS; //Keyboard/mouse shortcut events
51 
52 	//ScreenSaver
53 	extern LScreenSaver *SS;
54 	//Root Window
55 	extern RootWindow *ROOTWIN;
56 	//Desktop Manager
57 	extern DesktopManager *DESKMAN;
58 	//Application List
59 	extern XDGDesktopList *APPLIST;
60 
61 	extern QThread *EVThread; //X Event thread
62 };
63 
64 #endif
65