fix restack in xwayland stubs

This commit is contained in:
vaxerski 2022-12-19 23:43:47 +00:00
parent ab7f2e847e
commit 3e2785b970
2 changed files with 17 additions and 17 deletions

View file

@ -8,21 +8,21 @@ typedef struct {
/** User specified flags */ /** User specified flags */
uint32_t flags; uint32_t flags;
/** User-specified position */ /** User-specified position */
int32_t x, y; int32_t x, y;
/** User-specified size */ /** User-specified size */
int32_t width, height; int32_t width, height;
/** Program-specified minimum size */ /** Program-specified minimum size */
int32_t min_width, min_height; int32_t min_width, min_height;
/** Program-specified maximum size */ /** Program-specified maximum size */
int32_t max_width, max_height; int32_t max_width, max_height;
/** Program-specified resize increments */ /** Program-specified resize increments */
int32_t width_inc, height_inc; int32_t width_inc, height_inc;
/** Program-specified minimum aspect ratios */ /** Program-specified minimum aspect ratios */
int32_t min_aspect_num, min_aspect_den; int32_t min_aspect_num, min_aspect_den;
/** Program-specified maximum aspect ratios */ /** Program-specified maximum aspect ratios */
int32_t max_aspect_num, max_aspect_den; int32_t max_aspect_num, max_aspect_den;
/** Program-specified base size */ /** Program-specified base size */
int32_t base_width, base_height; int32_t base_width, base_height;
/** Program-specified window gravity */ /** Program-specified window gravity */
uint32_t win_gravity; uint32_t win_gravity;
} xcb_size_hints_t; } xcb_size_hints_t;
@ -93,12 +93,12 @@ struct wlr_xwayland_surface {
struct wl_event_source* ping_timer; struct wl_event_source* ping_timer;
// _NET_WM_STATE // _NET_WM_STATE
bool modal; bool modal;
bool fullscreen; bool fullscreen;
bool maximized_vert, maximized_horz; bool maximized_vert, maximized_horz;
bool minimized; bool minimized;
bool has_alpha; bool has_alpha;
struct { struct {
struct wl_signal destroy; struct wl_signal destroy;
@ -149,7 +149,7 @@ inline bool wlr_surface_is_xwayland_surface(void*) {
inline void wlr_xwayland_surface_activate(wlr_xwayland_surface*, bool) {} inline void wlr_xwayland_surface_activate(wlr_xwayland_surface*, bool) {}
inline void wlr_xwayland_surface_restack(wlr_xwayland_surface*, int, xcb_stack_mode_t) {} inline void wlr_xwayland_surface_restack(wlr_xwayland_surface*, void*, xcb_stack_mode_t) {}
inline wlr_xwayland_surface* wlr_xwayland_surface_from_wlr_surface(void*) { inline wlr_xwayland_surface* wlr_xwayland_surface_from_wlr_surface(void*) {
return nullptr; return nullptr;

View file

@ -44,7 +44,7 @@ void CHyprXWaylandManager::activateSurface(wlr_surface* pSurface, bool activate)
wlr_xwayland_surface_activate(wlr_xwayland_surface_from_wlr_surface(pSurface), activate); wlr_xwayland_surface_activate(wlr_xwayland_surface_from_wlr_surface(pSurface), activate);
if (activate) if (activate)
wlr_xwayland_surface_restack(wlr_xwayland_surface_from_wlr_surface(pSurface), NULL, XCB_STACK_MODE_ABOVE); wlr_xwayland_surface_restack(wlr_xwayland_surface_from_wlr_surface(pSurface), nullptr, XCB_STACK_MODE_ABOVE);
} }
} }
@ -53,7 +53,7 @@ void CHyprXWaylandManager::activateWindow(CWindow* pWindow, bool activate) {
if (activate) { if (activate) {
wlr_xwayland_surface_set_minimized(pWindow->m_uSurface.xwayland, false); wlr_xwayland_surface_set_minimized(pWindow->m_uSurface.xwayland, false);
wlr_xwayland_surface_restack(pWindow->m_uSurface.xwayland, NULL, XCB_STACK_MODE_ABOVE); wlr_xwayland_surface_restack(pWindow->m_uSurface.xwayland, nullptr, XCB_STACK_MODE_ABOVE);
} }
wlr_xwayland_surface_activate(pWindow->m_uSurface.xwayland, activate); wlr_xwayland_surface_activate(pWindow->m_uSurface.xwayland, activate);
@ -175,7 +175,7 @@ bool CHyprXWaylandManager::shouldBeFloated(CWindow* pWindow) {
pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DOCK"] || pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DOCK"] ||
pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"] || pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"] ||
pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_MENU"]) { pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_MENU"]) {
if (pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"] || if (pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"] ||
pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_MENU"]) pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_MENU"])
pWindow->m_bX11ShouldntFocus = true; pWindow->m_bX11ShouldntFocus = true;