linux: minor fixes of the xcb usage
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
parent
4b136295a8
commit
196aeb1ce1
|
@ -55,7 +55,10 @@ using Display = struct _XDisplay;
|
||||||
[[maybe_unused]] static constexpr const auto _NET_WM_MOVERESIZE_SIZE_LEFT = 7;
|
[[maybe_unused]] static constexpr const auto _NET_WM_MOVERESIZE_SIZE_LEFT = 7;
|
||||||
[[maybe_unused]] static constexpr const auto _NET_WM_MOVERESIZE_MOVE = 8;
|
[[maybe_unused]] static constexpr const auto _NET_WM_MOVERESIZE_MOVE = 8;
|
||||||
|
|
||||||
[[maybe_unused]] static constexpr const char WM_MOVERESIZE_OPERATION_NAME[] = "_NET_WM_MOVERESIZE";
|
[[maybe_unused]] static constexpr const char _NET_WM_MOVERESIZE_ATOM_NAME[] = "_NET_WM_MOVERESIZE\0";
|
||||||
|
|
||||||
|
[[maybe_unused]] static constexpr const auto _NET_WM_SENDEVENT_MASK =
|
||||||
|
(XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY);
|
||||||
|
|
||||||
[[maybe_unused]] static constexpr const char GTK_THEME_NAME_ENV_VAR[] = "GTK_THEME";
|
[[maybe_unused]] static constexpr const char GTK_THEME_NAME_ENV_VAR[] = "GTK_THEME";
|
||||||
[[maybe_unused]] static constexpr const char GTK_THEME_NAME_PROP[] = "gtk-theme-name";
|
[[maybe_unused]] static constexpr const char GTK_THEME_NAME_PROP[] = "gtk-theme-name";
|
||||||
|
@ -267,7 +270,7 @@ static inline void
|
||||||
xev.event_x = localPos.x();
|
xev.event_x = localPos.x();
|
||||||
xev.event_y = localPos.y();
|
xev.event_y = localPos.y();
|
||||||
xev.same_screen = true;
|
xev.same_screen = true;
|
||||||
xcb_send_event(connection, false, rootWindow, XCB_EVENT_MASK_STRUCTURE_NOTIFY,
|
xcb_send_event(connection, false, rootWindow, _NET_WM_SENDEVENT_MASK,
|
||||||
reinterpret_cast<const char *>(&xev));
|
reinterpret_cast<const char *>(&xev));
|
||||||
xcb_flush(connection);
|
xcb_flush(connection);
|
||||||
}
|
}
|
||||||
|
@ -284,7 +287,7 @@ static inline void
|
||||||
Q_ASSERT(connection);
|
Q_ASSERT(connection);
|
||||||
static const xcb_atom_t netMoveResize = [connection]() -> xcb_atom_t {
|
static const xcb_atom_t netMoveResize = [connection]() -> xcb_atom_t {
|
||||||
const xcb_intern_atom_cookie_t cookie = xcb_intern_atom(connection, false,
|
const xcb_intern_atom_cookie_t cookie = xcb_intern_atom(connection, false,
|
||||||
qstrlen(WM_MOVERESIZE_OPERATION_NAME), WM_MOVERESIZE_OPERATION_NAME);
|
qstrlen(_NET_WM_MOVERESIZE_ATOM_NAME), _NET_WM_MOVERESIZE_ATOM_NAME);
|
||||||
xcb_intern_atom_reply_t * const reply = xcb_intern_atom_reply(connection, cookie, nullptr);
|
xcb_intern_atom_reply_t * const reply = xcb_intern_atom_reply(connection, cookie, nullptr);
|
||||||
Q_ASSERT(reply);
|
Q_ASSERT(reply);
|
||||||
const xcb_atom_t atom = reply->atom;
|
const xcb_atom_t atom = reply->atom;
|
||||||
|
@ -307,8 +310,7 @@ static inline void
|
||||||
// First we need to ungrab the pointer that may have been
|
// First we need to ungrab the pointer that may have been
|
||||||
// automatically grabbed by Qt on ButtonPressEvent.
|
// automatically grabbed by Qt on ButtonPressEvent.
|
||||||
xcb_ungrab_pointer(connection, x11_appTime());
|
xcb_ungrab_pointer(connection, x11_appTime());
|
||||||
xcb_send_event(connection, false, rootWindow,
|
xcb_send_event(connection, false, rootWindow, _NET_WM_SENDEVENT_MASK,
|
||||||
(XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY),
|
|
||||||
reinterpret_cast<const char *>(&xev));
|
reinterpret_cast<const char *>(&xev));
|
||||||
xcb_flush(connection);
|
xcb_flush(connection);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue