@@ -50,12 +50,18 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint32_t id;
|
||||
|
||||
bool is_xwayland;
|
||||
|
||||
struct LunarWM *server;
|
||||
|
||||
struct wl_listener commit;
|
||||
struct wl_listener destroy;
|
||||
|
||||
struct wlr_xdg_toplevel *xdg_toplevel;
|
||||
union {
|
||||
struct wlr_xdg_toplevel *xdg;
|
||||
struct wlr_xwayland_surface *xwl;
|
||||
} u;
|
||||
|
||||
struct wlr_surface *surface;
|
||||
struct wlr_texture *texture;
|
||||
|
||||
@@ -65,8 +71,10 @@ typedef struct {
|
||||
Texture2D rl_texture;
|
||||
} LunarWM_Toplevel;
|
||||
|
||||
bool LunarWM_Toplevel_init(
|
||||
bool LunarWM_Toplevel_init_xdg(
|
||||
LunarWM_Toplevel *tl, struct LunarWM *wm, struct wlr_xdg_toplevel *xdg);
|
||||
bool LunarWM_Toplevel_init_xwayland(
|
||||
LunarWM_Toplevel *tl, struct LunarWM *wm, struct wlr_xwayland_surface *xwl);
|
||||
bool LunarWM_Toplevel_destroy(LunarWM_Toplevel *this);
|
||||
|
||||
bool LunarWM_Toplevel_update(LunarWM_Toplevel *this);
|
||||
@@ -130,6 +138,11 @@ typedef struct LunarWM {
|
||||
|
||||
struct wlr_xwayland *xwayland;
|
||||
|
||||
struct wl_listener xwayland_ready;
|
||||
struct wl_listener xwayland_new_surface;
|
||||
struct wl_listener xwayland_associate_tmp; // per-surface temp
|
||||
struct wl_listener xwayland_dissociate_tmp; // per-surface temp
|
||||
|
||||
LunarWM_Toplevel **v_toplevels;
|
||||
int current_focus;
|
||||
} wayland;
|
||||
|
||||
Reference in New Issue
Block a user