* or pointer focus, in this compositor are they called together.
*/
-void desktop_raise_view(struct view *view);
-void desktop_move_view_to_end_of_cycle(struct view *to_end);
+void desktop_move_to_front(struct view *view);
+void desktop_move_to_back(struct view *view);
void desktop_focus_and_activate_view(struct seat *seat, struct view *view);
enum lab_cycle_dir {
} else if (!strcasecmp(action, "Raise")) {
struct view *view = activator_or_focused_view(activator, server);
if (view) {
- desktop_raise_view(view);
+ desktop_move_to_front(view);
damage_all_outputs(server);
}
} else if (!strcasecmp(action, "Resize")) {
if (view && rc.focus_follow_mouse) {
desktop_focus_and_activate_view(&server->seat, view);
if (rc.raise_on_focus) {
- desktop_raise_view(view);
+ desktop_move_to_front(view);
}
}
#endif
void
-desktop_raise_view(struct view *view)
+desktop_move_to_front(struct view *view)
{
if (!view) {
return;
#endif
}
+static void
+wl_list_insert_tail(struct wl_list *list, struct wl_list *elm)
+{
+ elm->prev = list->prev;
+ elm->next = list;
+ list->prev = elm;
+ elm->prev->next = elm;
+}
+
+void
+desktop_move_to_back(struct view *view)
+{
+ if (!view) {
+ return;
+ }
+ wl_list_remove(&view->link);
+ wl_list_insert_tail(&view->server->views, &view->link);
+}
+
static void
deactivate_all_views(struct server *server)
{
return view;
}
-static void
-wl_list_insert_tail(struct wl_list *list, struct wl_list *elm)
-{
- elm->prev = list->prev;
- elm->next = list;
- list->prev = elm;
- elm->prev->next = elm;
-}
-
-void
-desktop_move_view_to_end_of_cycle(struct view *to_end)
-{
- wl_list_remove(&to_end->link);
- wl_list_insert_tail(&to_end->server->views, &to_end->link);
-}
-
static bool
has_mapped_view(struct wl_list *wl_list)
{
{
struct view *view = topmost_mapped_view(server);
desktop_focus_and_activate_view(&server->seat, view);
- desktop_raise_view(view);
+ desktop_move_to_front(view);
}
static bool
// struct wlr_foreign_toplevel_handle_v1_activated_event *event = data;
/* In a multi-seat world we would select seat based on event->seat here. */
desktop_focus_and_activate_view(&view->server->seat, view);
- desktop_raise_view(view);
+ desktop_move_to_front(view);
}
void
/* end cycle */
desktop_focus_and_activate_view(&server->seat,
server->cycle_view);
- desktop_raise_view(server->cycle_view);
+ desktop_move_to_front(server->cycle_view);
server->cycle_view = NULL;
}
}
view_impl_map(struct view *view)
{
desktop_focus_and_activate_view(&view->server->seat, view);
- desktop_raise_view(view);
+ desktop_move_to_front(view);
view_update_title(view);
view_update_app_id(view);
view->minimized = minimized;
if (minimized) {
view->impl->unmap(view);
- desktop_move_view_to_end_of_cycle(view);
+ desktop_move_to_back(view);
} else {
view->impl->map(view);
}