mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-25 09:05:47 -04:00
wayland: debug log state changes in xdg-toplevel-configure
This commit is contained in:
parent
c94da979fb
commit
8494cc808f
1 changed files with 45 additions and 3 deletions
48
wayland.c
48
wayland.c
|
|
@ -413,16 +413,58 @@ static void
|
||||||
xdg_toplevel_configure(void *data, struct xdg_toplevel *xdg_toplevel,
|
xdg_toplevel_configure(void *data, struct xdg_toplevel *xdg_toplevel,
|
||||||
int32_t width, int32_t height, struct wl_array *states)
|
int32_t width, int32_t height, struct wl_array *states)
|
||||||
{
|
{
|
||||||
LOG_DBG("xdg-toplevel: configure: %dx%d", width, height);
|
|
||||||
|
|
||||||
bool is_focused = false;
|
bool is_focused = false;
|
||||||
|
#if defined(_DEBUG)
|
||||||
|
char state_str[2048];
|
||||||
|
int state_chars = 0;
|
||||||
|
|
||||||
|
static const char *const strings[] = {
|
||||||
|
[XDG_TOPLEVEL_STATE_MAXIMIZED] = "maximized",
|
||||||
|
[XDG_TOPLEVEL_STATE_FULLSCREEN] = "fullscreen",
|
||||||
|
[XDG_TOPLEVEL_STATE_RESIZING] = "resizing",
|
||||||
|
[XDG_TOPLEVEL_STATE_ACTIVATED] = "activated",
|
||||||
|
[XDG_TOPLEVEL_STATE_TILED_LEFT] = "tiled:left",
|
||||||
|
[XDG_TOPLEVEL_STATE_TILED_RIGHT] = "tiled:right",
|
||||||
|
[XDG_TOPLEVEL_STATE_TILED_TOP] = "tiled:top",
|
||||||
|
[XDG_TOPLEVEL_STATE_TILED_BOTTOM] = "tiled:bottom",
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
enum xdg_toplevel_state *state;
|
enum xdg_toplevel_state *state;
|
||||||
wl_array_for_each(state, states) {
|
wl_array_for_each(state, states) {
|
||||||
if (*state == XDG_TOPLEVEL_STATE_ACTIVATED)
|
switch (*state) {
|
||||||
|
case XDG_TOPLEVEL_STATE_ACTIVATED:
|
||||||
is_focused = true;
|
is_focused = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case XDG_TOPLEVEL_STATE_MAXIMIZED:
|
||||||
|
case XDG_TOPLEVEL_STATE_FULLSCREEN:
|
||||||
|
case XDG_TOPLEVEL_STATE_RESIZING:
|
||||||
|
case XDG_TOPLEVEL_STATE_TILED_LEFT:
|
||||||
|
case XDG_TOPLEVEL_STATE_TILED_RIGHT:
|
||||||
|
case XDG_TOPLEVEL_STATE_TILED_TOP:
|
||||||
|
case XDG_TOPLEVEL_STATE_TILED_BOTTOM:
|
||||||
|
/* Ignored */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(_DEBUG)
|
||||||
|
if (*state >= XDG_TOPLEVEL_STATE_MAXIMIZED &&
|
||||||
|
*state <= XDG_TOPLEVEL_STATE_TILED_BOTTOM)
|
||||||
|
{
|
||||||
|
state_chars += snprintf(
|
||||||
|
&state_str[state_chars], sizeof(state_str) - state_chars,
|
||||||
|
"%s, ", strings[*state]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (state_chars > 2)
|
||||||
|
state_str[state_chars - 2] = '\0';
|
||||||
|
|
||||||
|
LOG_DBG("xdg-toplevel: configure: size=%dx%d, states=%s",
|
||||||
|
width, height, state_str);
|
||||||
|
|
||||||
struct wayland *wayl = data;
|
struct wayland *wayl = data;
|
||||||
struct terminal *term = wayl_terminal_from_xdg_toplevel(wayl, xdg_toplevel);
|
struct terminal *term = wayl_terminal_from_xdg_toplevel(wayl, xdg_toplevel);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue