mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-21 22:25:59 +01:00
fix restack in xwayland stubs
This commit is contained in:
parent
ab7f2e847e
commit
3e2785b970
2 changed files with 17 additions and 17 deletions
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue