desktop-shell: Pass a flag bitmask instead of bool to activate()
Although it currently only has one available flag, but that'll change. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
@@ -162,7 +162,8 @@ exposay_highlight_surface(struct desktop_shell *shell,
|
|||||||
shell->exposay.column_current = esurface->column;
|
shell->exposay.column_current = esurface->column;
|
||||||
shell->exposay.cur_output = esurface->eoutput;
|
shell->exposay.cur_output = esurface->eoutput;
|
||||||
|
|
||||||
activate(shell, view, shell->exposay.seat, false);
|
activate(shell, view, shell->exposay.seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_NONE);
|
||||||
shell->exposay.focus_current = view;
|
shell->exposay.focus_current = view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -571,10 +572,12 @@ exposay_transition_inactive(struct desktop_shell *shell, int switch_focus)
|
|||||||
* to the new. */
|
* to the new. */
|
||||||
if (switch_focus && shell->exposay.focus_current)
|
if (switch_focus && shell->exposay.focus_current)
|
||||||
activate(shell, shell->exposay.focus_current,
|
activate(shell, shell->exposay.focus_current,
|
||||||
shell->exposay.seat, true);
|
shell->exposay.seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
else if (shell->exposay.focus_prev)
|
else if (shell->exposay.focus_prev)
|
||||||
activate(shell, shell->exposay.focus_prev,
|
activate(shell, shell->exposay.focus_prev,
|
||||||
shell->exposay.seat, true);
|
shell->exposay.seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
|
|
||||||
wl_list_for_each(esurface, &shell->exposay.surface_list, link)
|
wl_list_for_each(esurface, &shell->exposay.surface_list, link)
|
||||||
exposay_animate_out(esurface);
|
exposay_animate_out(esurface);
|
||||||
|
|||||||
+22
-12
@@ -842,7 +842,8 @@ focus_state_surface_destroy(struct wl_listener *listener, void *data)
|
|||||||
shell = state->seat->compositor->shell_interface.shell;
|
shell = state->seat->compositor->shell_interface.shell;
|
||||||
if (next) {
|
if (next) {
|
||||||
state->keyboard_focus = NULL;
|
state->keyboard_focus = NULL;
|
||||||
activate(shell, next, state->seat, true);
|
activate(shell, next, state->seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
} else {
|
} else {
|
||||||
if (shell->focus_animation_type == ANIMATION_DIM_LAYER) {
|
if (shell->focus_animation_type == ANIMATION_DIM_LAYER) {
|
||||||
if (state->ws->focus_animation)
|
if (state->ws->focus_animation)
|
||||||
@@ -2015,10 +2016,12 @@ busy_cursor_grab_button(struct weston_pointer_grab *base,
|
|||||||
struct weston_seat *seat = pointer->seat;
|
struct weston_seat *seat = pointer->seat;
|
||||||
|
|
||||||
if (shsurf && button == BTN_LEFT && state) {
|
if (shsurf && button == BTN_LEFT && state) {
|
||||||
activate(shsurf->shell, shsurf->view, seat, true);
|
activate(shsurf->shell, shsurf->view, seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
surface_move(shsurf, pointer, false);
|
surface_move(shsurf, pointer, false);
|
||||||
} else if (shsurf && button == BTN_RIGHT && state) {
|
} else if (shsurf && button == BTN_RIGHT && state) {
|
||||||
activate(shsurf->shell, shsurf->view, seat, true);
|
activate(shsurf->shell, shsurf->view, seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
surface_rotate(shsurf, pointer);
|
surface_rotate(shsurf, pointer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5163,7 +5166,7 @@ lower_fullscreen_layer(struct desktop_shell *shell,
|
|||||||
|
|
||||||
void
|
void
|
||||||
activate(struct desktop_shell *shell, struct weston_view *view,
|
activate(struct desktop_shell *shell, struct weston_view *view,
|
||||||
struct weston_seat *seat, bool configure)
|
struct weston_seat *seat, uint32_t flags)
|
||||||
{
|
{
|
||||||
struct weston_surface *es = view->surface;
|
struct weston_surface *es = view->surface;
|
||||||
struct weston_surface *main_surface;
|
struct weston_surface *main_surface;
|
||||||
@@ -5189,7 +5192,7 @@ activate(struct desktop_shell *shell, struct weston_view *view,
|
|||||||
old_es = state->keyboard_focus;
|
old_es = state->keyboard_focus;
|
||||||
focus_state_set_focus(state, es);
|
focus_state_set_focus(state, es);
|
||||||
|
|
||||||
if (shsurf->state.fullscreen && configure)
|
if (shsurf->state.fullscreen && flags & WESTON_ACTIVATE_FLAG_CONFIGURE)
|
||||||
shell_configure_fullscreen(shsurf);
|
shell_configure_fullscreen(shsurf);
|
||||||
else
|
else
|
||||||
restore_output_mode(shsurf->output);
|
restore_output_mode(shsurf->output);
|
||||||
@@ -5226,7 +5229,8 @@ is_black_surface_view(struct weston_view *view, struct weston_view **fs_view)
|
|||||||
static void
|
static void
|
||||||
activate_binding(struct weston_seat *seat,
|
activate_binding(struct weston_seat *seat,
|
||||||
struct desktop_shell *shell,
|
struct desktop_shell *shell,
|
||||||
struct weston_view *focus_view)
|
struct weston_view *focus_view,
|
||||||
|
uint32_t flags)
|
||||||
{
|
{
|
||||||
struct weston_view *main_view;
|
struct weston_view *main_view;
|
||||||
struct weston_surface *main_surface;
|
struct weston_surface *main_surface;
|
||||||
@@ -5241,7 +5245,7 @@ activate_binding(struct weston_seat *seat,
|
|||||||
if (get_shell_surface_type(main_surface) == SHELL_SURFACE_NONE)
|
if (get_shell_surface_type(main_surface) == SHELL_SURFACE_NONE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
activate(shell, focus_view, seat, true);
|
activate(shell, focus_view, seat, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -5253,7 +5257,8 @@ click_to_activate_binding(struct weston_pointer *pointer, uint32_t time,
|
|||||||
if (pointer->focus == NULL)
|
if (pointer->focus == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
activate_binding(pointer->seat, data, pointer->focus);
|
activate_binding(pointer->seat, data, pointer->focus,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -5265,7 +5270,8 @@ touch_to_activate_binding(struct weston_touch *touch, uint32_t time,
|
|||||||
if (touch->focus == NULL)
|
if (touch->focus == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
activate_binding(touch->seat, data, touch->focus);
|
activate_binding(touch->seat, data, touch->focus,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -5715,7 +5721,8 @@ map(struct desktop_shell *shell, struct shell_surface *shsurf,
|
|||||||
if (shell->locked)
|
if (shell->locked)
|
||||||
break;
|
break;
|
||||||
wl_list_for_each(seat, &compositor->seat_list, link)
|
wl_list_for_each(seat, &compositor->seat_list, link)
|
||||||
activate(shell, shsurf->view, seat, true);
|
activate(shell, shsurf->view, seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
break;
|
break;
|
||||||
case SHELL_SURFACE_POPUP:
|
case SHELL_SURFACE_POPUP:
|
||||||
case SHELL_SURFACE_NONE:
|
case SHELL_SURFACE_NONE:
|
||||||
@@ -6130,9 +6137,12 @@ switcher_destroy(struct switcher *switcher)
|
|||||||
weston_surface_damage(view->surface);
|
weston_surface_damage(view->surface);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (switcher->current)
|
if (switcher->current) {
|
||||||
activate(switcher->shell, switcher->current,
|
activate(switcher->shell, switcher->current,
|
||||||
keyboard->seat, true);
|
keyboard->seat,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE);
|
||||||
|
}
|
||||||
|
|
||||||
wl_list_remove(&switcher->listener.link);
|
wl_list_remove(&switcher->listener.link);
|
||||||
weston_keyboard_end_grab(keyboard);
|
weston_keyboard_end_grab(keyboard);
|
||||||
if (keyboard->input_method_resource)
|
if (keyboard->input_method_resource)
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ lower_fullscreen_layer(struct desktop_shell *shell,
|
|||||||
|
|
||||||
void
|
void
|
||||||
activate(struct desktop_shell *shell, struct weston_view *view,
|
activate(struct desktop_shell *shell, struct weston_view *view,
|
||||||
struct weston_seat *seat, bool configure);
|
struct weston_seat *seat, uint32_t flags);
|
||||||
|
|
||||||
void
|
void
|
||||||
exposay_binding(struct weston_keyboard *keyboard,
|
exposay_binding(struct weston_keyboard *keyboard,
|
||||||
|
|||||||
@@ -1124,6 +1124,11 @@ enum weston_key_state_update {
|
|||||||
STATE_UPDATE_NONE,
|
STATE_UPDATE_NONE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum weston_activate_flag {
|
||||||
|
WESTON_ACTIVATE_FLAG_NONE = 0,
|
||||||
|
WESTON_ACTIVATE_FLAG_CONFIGURE = 1 << 0,
|
||||||
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
weston_version(int *major, int *minor, int *micro);
|
weston_version(int *major, int *minor, int *micro);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user