17 #include <QAbstractNativeEventFilter>
18 #include <X11/Xdefs.h>
34 ,
public QAbstractNativeEventFilter
41 QHash<QByteArray, Atom> Atoms_;
54 Display* GetDisplay ()
const;
55 Window GetRootWindow ()
const;
57 bool nativeEventFilter (
const QByteArray& eventType,
void *message,
long *result)
override;
62 QString GetWindowTitle (
Window);
63 QIcon GetWindowIcon (
Window);
64 WinStateFlags GetWindowState (
Window);
65 AllowedActionFlags GetWindowActions (
Window);
74 void SetStrut (QWidget*, Qt::ToolBarArea);
75 void ClearStrut (QWidget*);
77 ulong left, ulong right, ulong top, ulong bottom,
78 ulong leftStartY, ulong leftEndY,
79 ulong rightStartY, ulong rightEndY,
80 ulong topStartX, ulong topEndX,
81 ulong bottomStartX, ulong bottomEndX);
84 void MinimizeWindow (
Window);
85 void MaximizeWindow (
Window);
86 void UnmaximizeWindow (
Window);
88 void UnshadeWindow (
Window);
89 void MoveWindowTo (
Window, Layer);
92 void ResizeWindow (
Window,
int,
int);
94 int GetDesktopCount ();
95 int GetCurrentDesktop ();
96 void SetCurrentDesktop (
int);
97 QStringList GetDesktopNames ();
98 QString GetDesktopName (
int,
const QString& = QString ());
99 int GetWindowDesktop (
Window);
100 void MoveWindowToDesktop (
Window,
int);
102 QRect GetAvailableGeometry (
int screen = -1);
103 QRect GetAvailableGeometry (QWidget*);
113 Atom GetAtom (std::string_view str);
116 void HandlePropNotify (T);
118 template<
typename Flag>
119 QFlags<Flag> GetFlagsList (
Window wid, Atom property,
const QHash<Atom, Flag>& atom2flag)
const;
121 Window GetActiveWindow ();
123 bool GetWinProp (
Window, Atom, ulong*, uchar**, Atom =
static_cast<Atom
> (0))
const;
124 bool GetRootWinProp (Atom, ulong*, uchar**, Atom =
static_cast<Atom
> (0))
const;
127 bool SendMessage (
Window, Atom, ulong, ulong = 0, ulong = 0, ulong = 0, ulong = 0);
131 void windowListChanged ();
132 void activeWindowChanged ();
133 void desktopChanged ();
135 void windowNameChanged (ulong);
136 void windowIconChanged (ulong);
137 void windowDesktopChanged (ulong);
138 void windowStateChanged (ulong);
139 void windowActionsChanged (ulong);