Changeset View
Changeset View
Standalone View
Standalone View
netinfo.h
Show All 24 Lines | |||||
25 | 25 | | |||
26 | #include <NETWM> | 26 | #include <NETWM> | ||
27 | 27 | | |||
28 | #include <xcb/xcb.h> | 28 | #include <xcb/xcb.h> | ||
29 | 29 | | |||
30 | namespace KWin | 30 | namespace KWin | ||
31 | { | 31 | { | ||
32 | 32 | | |||
33 | class AbstractClient; | ||||
33 | class Client; | 34 | class Client; | ||
34 | 35 | | |||
35 | /** | 36 | /** | ||
36 | * NET WM Protocol handler class | 37 | * NET WM Protocol handler class | ||
37 | */ | 38 | */ | ||
38 | class RootInfo : public NETRootInfo | 39 | class RootInfo : public NETRootInfo | ||
39 | { | 40 | { | ||
40 | private: | 41 | private: | ||
41 | typedef KWin::Client Client; // Because of NET::Client | 42 | typedef KWin::Client Client; // Because of NET::Client | ||
42 | 43 | | |||
43 | public: | 44 | public: | ||
44 | static RootInfo *create(); | 45 | static RootInfo *create(); | ||
45 | static void destroy(); | 46 | static void destroy(); | ||
46 | 47 | | |||
48 | void setActiveClient(AbstractClient *client); | ||||
49 | | ||||
47 | protected: | 50 | protected: | ||
48 | virtual void changeNumberOfDesktops(int n) override; | 51 | virtual void changeNumberOfDesktops(int n) override; | ||
49 | virtual void changeCurrentDesktop(int d) override; | 52 | virtual void changeCurrentDesktop(int d) override; | ||
50 | virtual void changeActiveWindow(xcb_window_t w, NET::RequestSource src, xcb_timestamp_t timestamp, xcb_window_t active_window) override; | 53 | virtual void changeActiveWindow(xcb_window_t w, NET::RequestSource src, xcb_timestamp_t timestamp, xcb_window_t active_window) override; | ||
51 | virtual void closeWindow(xcb_window_t w) override; | 54 | virtual void closeWindow(xcb_window_t w) override; | ||
52 | virtual void moveResize(xcb_window_t w, int x_root, int y_root, unsigned long direction) override; | 55 | virtual void moveResize(xcb_window_t w, int x_root, int y_root, unsigned long direction) override; | ||
53 | virtual void moveResizeWindow(xcb_window_t w, int flags, int x, int y, int width, int height) override; | 56 | virtual void moveResizeWindow(xcb_window_t w, int flags, int x, int y, int width, int height) override; | ||
54 | virtual void gotPing(xcb_window_t w, xcb_timestamp_t timestamp) override; | 57 | virtual void gotPing(xcb_window_t w, xcb_timestamp_t timestamp) override; | ||
55 | virtual void restackWindow(xcb_window_t w, RequestSource source, xcb_window_t above, int detail, xcb_timestamp_t timestamp) override; | 58 | virtual void restackWindow(xcb_window_t w, RequestSource source, xcb_window_t above, int detail, xcb_timestamp_t timestamp) override; | ||
56 | virtual void changeShowingDesktop(bool showing) override; | 59 | virtual void changeShowingDesktop(bool showing) override; | ||
57 | 60 | | |||
58 | private: | 61 | private: | ||
59 | RootInfo(xcb_window_t w, const char* name, NET::Properties properties, NET::WindowTypes types, | 62 | RootInfo(xcb_window_t w, const char* name, NET::Properties properties, NET::WindowTypes types, | ||
60 | NET::States states, NET::Properties2 properties2, NET::Actions actions, int scr = -1); | 63 | NET::States states, NET::Properties2 properties2, NET::Actions actions, int scr = -1); | ||
61 | static RootInfo *s_self; | 64 | static RootInfo *s_self; | ||
62 | friend RootInfo *rootInfo(); | 65 | friend RootInfo *rootInfo(); | ||
66 | | ||||
67 | xcb_window_t m_activeWindow; | ||||
63 | }; | 68 | }; | ||
64 | 69 | | |||
65 | inline RootInfo *rootInfo() | 70 | inline RootInfo *rootInfo() | ||
66 | { | 71 | { | ||
67 | return RootInfo::s_self; | 72 | return RootInfo::s_self; | ||
68 | } | 73 | } | ||
69 | 74 | | |||
70 | /** | 75 | /** | ||
Show All 22 Lines |