static void
create_black_curtain_view(struct ivi_output *output);
-static void
-_ivi_set_shell_surface_split(struct ivi_surface *surface, struct ivi_output *output,
- uint32_t orientation, bool to_activate);
-
static uint32_t
reverse_orientation(uint32_t orientation);
}
}
-static void
+void
_ivi_set_shell_surface_split(struct ivi_surface *surface, struct ivi_output *ioutput,
uint32_t orientation, bool to_activate)
{
static
void shell_set_app_split(struct wl_client *client, struct wl_resource *res,
- const char *app_id, uint32_t orientation,
- struct wl_resource *output_res)
+ const char *app_id, uint32_t orientation, int32_t width,
+ int32_t sticky, struct wl_resource *output_res)
{
struct ivi_surface *surf;
struct ivi_compositor *ivi = wl_resource_get_user_data(res);
return;
}
- /* otherwise, take actions now */
- weston_log("%s() added split surface for app_id '%s' with orientation %d\n",
- __func__, app_id, orientation);
-
if (output->previous_active) {
struct weston_view *ev = output->previous_active->view;
_ivi_set_shell_surface_split(output->previous_active, NULL,
reverse_orientation(orientation), false);
+
+ if (orientation == AGL_SHELL_TILE_ORIENTATION_NONE &&
+ output->active == surf) {
+ output->active = output->previous_active;
+ }
}
_ivi_set_shell_surface_split(surf, NULL, orientation, false);