xdg-shell: Turn "activated" into a state
This drops two events, and makes new window decorations race-free with an attach in-flight.
This commit is contained in:
committed by
Kristian Høgsberg
parent
de6809912e
commit
973d7879e3
@@ -303,16 +303,6 @@ handle_surface_configure(void *data, struct xdg_surface *surface,
|
||||
xdg_surface_ack_configure(surface, serial);
|
||||
}
|
||||
|
||||
static void
|
||||
handle_surface_activated(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
handle_surface_deactivated(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
handle_surface_delete(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
@@ -321,8 +311,6 @@ handle_surface_delete(void *data, struct xdg_surface *xdg_surface)
|
||||
|
||||
static const struct xdg_surface_listener xdg_surface_listener = {
|
||||
handle_surface_configure,
|
||||
handle_surface_activated,
|
||||
handle_surface_deactivated,
|
||||
handle_surface_delete,
|
||||
};
|
||||
|
||||
|
||||
@@ -123,16 +123,6 @@ handle_configure(void *data, struct xdg_surface *surface,
|
||||
xdg_surface_ack_configure(surface, serial);
|
||||
}
|
||||
|
||||
static void
|
||||
handle_activated(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
handle_deactivated(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
handle_delete(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
@@ -141,8 +131,6 @@ handle_delete(void *data, struct xdg_surface *xdg_surface)
|
||||
|
||||
static const struct xdg_surface_listener xdg_surface_listener = {
|
||||
handle_configure,
|
||||
handle_activated,
|
||||
handle_deactivated,
|
||||
handle_delete,
|
||||
};
|
||||
|
||||
|
||||
+4
-16
@@ -3868,6 +3868,7 @@ handle_surface_configure(void *data, struct xdg_surface *xdg_surface,
|
||||
window->maximized = 0;
|
||||
window->fullscreen = 0;
|
||||
window->resizing = 0;
|
||||
window->focused = 0;
|
||||
|
||||
wl_array_for_each(p, states) {
|
||||
uint32_t state = *p;
|
||||
@@ -3881,6 +3882,9 @@ handle_surface_configure(void *data, struct xdg_surface *xdg_surface,
|
||||
case XDG_SURFACE_STATE_RESIZING:
|
||||
window->resizing = 1;
|
||||
break;
|
||||
case XDG_SURFACE_STATE_ACTIVATED:
|
||||
window->focused = 1;
|
||||
break;
|
||||
default:
|
||||
/* Unknown state */
|
||||
break;
|
||||
@@ -3893,20 +3897,6 @@ handle_surface_configure(void *data, struct xdg_surface *xdg_surface,
|
||||
window->state_changed_handler(window, window->user_data);
|
||||
}
|
||||
|
||||
static void
|
||||
handle_surface_activated(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
struct window *window = data;
|
||||
window->focused = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
handle_surface_deactivated(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
struct window *window = data;
|
||||
window->focused = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
handle_surface_delete(void *data, struct xdg_surface *xdg_surface)
|
||||
{
|
||||
@@ -3916,8 +3906,6 @@ handle_surface_delete(void *data, struct xdg_surface *xdg_surface)
|
||||
|
||||
static const struct xdg_surface_listener xdg_surface_listener = {
|
||||
handle_surface_configure,
|
||||
handle_surface_activated,
|
||||
handle_surface_deactivated,
|
||||
handle_surface_delete,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user