diff --git a/include/common/node-type.h b/include/common/node-type.h index 9987af38..52fff3b0 100644 --- a/include/common/node-type.h +++ b/include/common/node-type.h @@ -47,7 +47,7 @@ enum lab_node_type { LAB_NODE_FRAME, LAB_NODE_ROOT, LAB_NODE_MENUITEM, - LAB_NODE_OSD_ITEM, + LAB_NODE_CYCLE_OSD_ITEM, LAB_NODE_LAYER_SURFACE, LAB_NODE_UNMANAGED, LAB_NODE_ALL, diff --git a/include/config/rcxml.h b/include/config/rcxml.h index 91a73d58..55c0f877 100644 --- a/include/config/rcxml.h +++ b/include/config/rcxml.h @@ -182,8 +182,8 @@ struct rcxml { bool unshade; enum lab_view_criteria criteria; struct wl_list fields; /* struct window_switcher_field.link */ - enum window_switcher_style style; - enum osd_output_criteria output_criteria; + enum cycle_osd_style style; + enum cycle_osd_output_criteria output_criteria; char *thumbnail_label_format; } window_switcher; diff --git a/include/config/types.h b/include/config/types.h index 76e699a4..7cb9feab 100644 --- a/include/config/types.h +++ b/include/config/types.h @@ -107,15 +107,15 @@ enum lab_window_type { LAB_WINDOW_TYPE_LEN }; -enum window_switcher_style { - WINDOW_SWITCHER_CLASSIC, - WINDOW_SWITCHER_THUMBNAIL, +enum cycle_osd_style { + CYCLE_OSD_STYLE_CLASSIC, + CYCLE_OSD_STYLE_THUMBNAIL, }; -enum osd_output_criteria { - OSD_OUTPUT_ALL, - OSD_OUTPUT_POINTER, - OSD_OUTPUT_KEYBOARD, +enum cycle_osd_output_criteria { + CYCLE_OSD_OUTPUT_ALL, + CYCLE_OSD_OUTPUT_POINTER, + CYCLE_OSD_OUTPUT_KEYBOARD, }; #endif /* LABWC_CONFIG_TYPES_H */ diff --git a/include/cycle.h b/include/cycle.h index f27405a5..d7d20991 100644 --- a/include/cycle.h +++ b/include/cycle.h @@ -14,7 +14,7 @@ enum lab_cycle_dir { }; /* TODO: add field with keyboard layout? */ -enum window_switcher_field_content { +enum cycle_osd_field_content { LAB_FIELD_NONE = 0, LAB_FIELD_TYPE, LAB_FIELD_TYPE_SHORT, @@ -35,8 +35,8 @@ enum window_switcher_field_content { LAB_FIELD_COUNT }; -struct window_switcher_field { - enum window_switcher_field_content content; +struct cycle_osd_field { + enum cycle_osd_field_content content; int width; char *format; struct wl_list link; /* struct rcxml.window_switcher.fields */ @@ -48,54 +48,54 @@ struct server; struct wlr_scene_node; /* Begin window switcher */ -void osd_begin(struct server *server, enum lab_cycle_dir direction); +void cycle_begin(struct server *server, enum lab_cycle_dir direction); /* Cycle the selected view in the window switcher */ -void osd_cycle(struct server *server, enum lab_cycle_dir direction); +void cycle_step(struct server *server, enum lab_cycle_dir direction); /* Closes the OSD */ -void osd_finish(struct server *server, bool switch_focus); +void cycle_finish(struct server *server, bool switch_focus); /* Notify OSD about a destroying view */ -void osd_on_view_destroy(struct view *view); +void cycle_on_view_destroy(struct view *view); /* Focus the clicked window and close OSD */ -void osd_on_cursor_release(struct server *server, struct wlr_scene_node *node); +void cycle_on_cursor_release(struct server *server, struct wlr_scene_node *node); /* Used by osd.c internally to render window switcher fields */ -void osd_field_get_content(struct window_switcher_field *field, +void cycle_osd_field_get_content(struct cycle_osd_field *field, struct buf *buf, struct view *view); /* Sets view info to buf according to format */ -void osd_field_set_custom(struct buf *buf, struct view *view, +void cycle_osd_field_set_custom(struct buf *buf, struct view *view, const char *format); /* Used by rcxml.c when parsing the config */ -void osd_field_arg_from_xml_node(struct window_switcher_field *field, +void cycle_osd_field_arg_from_xml_node(struct cycle_osd_field *field, const char *nodename, const char *content); -bool osd_field_is_valid(struct window_switcher_field *field); -void osd_field_free(struct window_switcher_field *field); +bool cycle_osd_field_is_valid(struct cycle_osd_field *field); +void cycle_osd_field_free(struct cycle_osd_field *field); /* Internal API */ -struct osd_item { +struct cycle_osd_item { struct view *view; struct wlr_scene_tree *tree; struct wl_list link; }; -struct osd_impl { +struct cycle_osd_impl { /* * Create a scene-tree of OSD for an output. - * This sets output->osd_scene.{items,tree}. + * This sets output->cycle_osd.{items,tree}. */ void (*create)(struct output *output, struct wl_array *views); /* - * Update output->osd_scene.tree to highlight - * server->osd_state.cycle_view. + * Update output->cycle_osd.tree to highlight + * server->cycle_state.selected_view. */ void (*update)(struct output *output); }; -extern struct osd_impl osd_classic_impl; -extern struct osd_impl osd_thumbnail_impl; +extern struct cycle_osd_impl cycle_osd_classic_impl; +extern struct cycle_osd_impl cycle_osd_thumbnail_impl; #endif // LABWC_CYCLE_H diff --git a/include/labwc.h b/include/labwc.h index 160c42f4..d6fd78ff 100644 --- a/include/labwc.h +++ b/include/labwc.h @@ -18,7 +18,7 @@ enum input_mode { LAB_INPUT_STATE_MOVE, LAB_INPUT_STATE_RESIZE, LAB_INPUT_STATE_MENU, - LAB_INPUT_STATE_WINDOW_SWITCHER, + LAB_INPUT_STATE_CYCLE, /* a.k.a. window switching */ }; struct seat { @@ -302,15 +302,15 @@ struct server { struct wlr_security_context_manager_v1 *security_context_manager_v1; /* Set when in cycle (alt-tab) mode */ - struct osd_state { - struct view *cycle_view; + struct cycle_state { + struct view *selected_view; bool preview_was_shaded; bool preview_was_enabled; struct wlr_scene_node *preview_node; struct wlr_scene_tree *preview_parent; struct wlr_scene_node *preview_anchor; struct lab_scene_rect *preview_outline; - } osd_state; + } cycle; struct theme *theme; diff --git a/include/node.h b/include/node.h index ad21f313..7b4936d6 100644 --- a/include/node.h +++ b/include/node.h @@ -53,10 +53,10 @@ struct menuitem *node_menuitem_from_node( struct wlr_scene_node *wlr_scene_node); /** - * node_osd_item_from_node - return osd item struct from node + * node_cycle_osd_item_from_node - return cycle OSD item struct from node * @wlr_scene_node: wlr_scene_node from which to return data */ -struct osd_item *node_osd_item_from_node( +struct cycle_osd_item *node_cycle_osd_item_from_node( struct wlr_scene_node *wlr_scene_node); /** diff --git a/include/output.h b/include/output.h index 3226c964..25001247 100644 --- a/include/output.h +++ b/include/output.h @@ -15,14 +15,14 @@ struct output { struct wlr_scene_output *scene_output; struct wlr_scene_tree *layer_tree[LAB_NR_LAYERS]; struct wlr_scene_tree *layer_popup_tree; - struct wlr_scene_tree *osd_tree; + struct wlr_scene_tree *cycle_osd_tree; struct wlr_scene_tree *session_lock_tree; struct wlr_scene_buffer *workspace_osd; - struct osd_scene { - struct wl_list items; /* struct osd_item */ + struct cycle_osd_scene { + struct wl_list items; /* struct cycle_osd_item */ struct wlr_scene_tree *tree; - } osd_scene; + } cycle_osd; /* In output-relative scene coordinates */ struct wlr_box usable_area; diff --git a/src/action.c b/src/action.c index 02c90eca..ceeffd67 100644 --- a/src/action.c +++ b/src/action.c @@ -1112,17 +1112,17 @@ run_action(struct view *view, struct server *server, struct action *action, } break; case ACTION_TYPE_NEXT_WINDOW: - if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { - osd_cycle(server, LAB_CYCLE_DIR_FORWARD); + if (server->input_mode == LAB_INPUT_STATE_CYCLE) { + cycle_step(server, LAB_CYCLE_DIR_FORWARD); } else { - osd_begin(server, LAB_CYCLE_DIR_FORWARD); + cycle_begin(server, LAB_CYCLE_DIR_FORWARD); } break; case ACTION_TYPE_PREVIOUS_WINDOW: - if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { - osd_cycle(server, LAB_CYCLE_DIR_BACKWARD); + if (server->input_mode == LAB_INPUT_STATE_CYCLE) { + cycle_step(server, LAB_CYCLE_DIR_BACKWARD); } else { - osd_begin(server, LAB_CYCLE_DIR_BACKWARD); + cycle_begin(server, LAB_CYCLE_DIR_BACKWARD); } break; case ACTION_TYPE_RECONFIGURE: @@ -1569,7 +1569,7 @@ actions_run(struct view *activator, struct server *server, struct action *action; wl_list_for_each(action, actions, link) { - if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER + if (server->input_mode == LAB_INPUT_STATE_CYCLE && action->type != ACTION_TYPE_NEXT_WINDOW && action->type != ACTION_TYPE_PREVIOUS_WINDOW) { wlr_log(WLR_INFO, "Only NextWindow or PreviousWindow " diff --git a/src/config/rcxml.c b/src/config/rcxml.c index 0f4b8c47..dc11b1c8 100644 --- a/src/config/rcxml.c +++ b/src/config/rcxml.c @@ -323,23 +323,23 @@ fill_window_rules(xmlNode *node) static void clear_window_switcher_fields(void) { - struct window_switcher_field *field, *field_tmp; + struct cycle_osd_field *field, *field_tmp; wl_list_for_each_safe(field, field_tmp, &rc.window_switcher.fields, link) { wl_list_remove(&field->link); - osd_field_free(field); + cycle_osd_field_free(field); } } static void fill_window_switcher_field(xmlNode *node) { - struct window_switcher_field *field = znew(*field); + struct cycle_osd_field *field = znew(*field); wl_list_append(&rc.window_switcher.fields, &field->link); xmlNode *child; char *key, *content; LAB_XML_FOR_EACH(node, child, key, content) { - osd_field_arg_from_xml_node(field, key, content); + cycle_osd_field_arg_from_xml_node(field, key, content); } } @@ -1212,20 +1212,20 @@ entry(xmlNode *node, char *nodename, char *content) set_bool(content, &rc.window_switcher.show); } else if (!strcasecmp(nodename, "style.osd.windowSwitcher")) { if (!strcasecmp(content, "classic")) { - rc.window_switcher.style = WINDOW_SWITCHER_CLASSIC; + rc.window_switcher.style = CYCLE_OSD_STYLE_CLASSIC; } else if (!strcasecmp(content, "thumbnail")) { - rc.window_switcher.style = WINDOW_SWITCHER_THUMBNAIL; + rc.window_switcher.style = CYCLE_OSD_STYLE_THUMBNAIL; } else { wlr_log(WLR_ERROR, "Invalid windowSwitcher style %s: " "should be one of classic|thumbnail", content); } } else if (!strcasecmp(nodename, "output.osd.windowSwitcher")) { if (!strcasecmp(content, "all")) { - rc.window_switcher.output_criteria = OSD_OUTPUT_ALL; + rc.window_switcher.output_criteria = CYCLE_OSD_OUTPUT_ALL; } else if (!strcasecmp(content, "pointer")) { - rc.window_switcher.output_criteria = OSD_OUTPUT_POINTER; + rc.window_switcher.output_criteria = CYCLE_OSD_OUTPUT_POINTER; } else if (!strcasecmp(content, "keyboard")) { - rc.window_switcher.output_criteria = OSD_OUTPUT_KEYBOARD; + rc.window_switcher.output_criteria = CYCLE_OSD_OUTPUT_KEYBOARD; } else { wlr_log(WLR_ERROR, "Invalid windowSwitcher output %s: " "should be one of all|pointer|keyboard", content); @@ -1238,9 +1238,9 @@ entry(xmlNode *node, char *nodename, char *content) " Use "); } else if (!strcasecmp(nodename, "style.windowSwitcher")) { if (!strcasecmp(content, "classic")) { - rc.window_switcher.style = WINDOW_SWITCHER_CLASSIC; + rc.window_switcher.style = CYCLE_OSD_STYLE_CLASSIC; } else if (!strcasecmp(content, "thumbnail")) { - rc.window_switcher.style = WINDOW_SWITCHER_THUMBNAIL; + rc.window_switcher.style = CYCLE_OSD_STYLE_THUMBNAIL; } wlr_log(WLR_ERROR, " is deprecated." " Use "); @@ -1465,8 +1465,8 @@ rcxml_init(void) rc.snap_tiling_events_mode = LAB_TILING_EVENTS_ALWAYS; rc.window_switcher.show = true; - rc.window_switcher.style = WINDOW_SWITCHER_CLASSIC; - rc.window_switcher.output_criteria = OSD_OUTPUT_ALL; + rc.window_switcher.style = CYCLE_OSD_STYLE_CLASSIC; + rc.window_switcher.output_criteria = CYCLE_OSD_OUTPUT_ALL; rc.window_switcher.thumbnail_label_format = xstrdup("%T"); rc.window_switcher.preview = true; rc.window_switcher.outlines = true; @@ -1635,7 +1635,7 @@ static void load_default_window_switcher_fields(void) { static const struct { - enum window_switcher_field_content content; + enum cycle_osd_field_content content; int width; } fields[] = { #if HAVE_LIBSFDO @@ -1648,7 +1648,7 @@ load_default_window_switcher_fields(void) #endif }; - struct window_switcher_field *field; + struct cycle_osd_field *field; for (size_t i = 0; i < ARRAY_SIZE(fields); i++) { field = znew(*field); field->content = fields[i].content; @@ -1867,13 +1867,13 @@ validate(void) /* OSD fields */ int field_width_sum = 0; - struct window_switcher_field *field, *field_tmp; + struct cycle_osd_field *field, *field_tmp; wl_list_for_each_safe(field, field_tmp, &rc.window_switcher.fields, link) { field_width_sum += field->width; - if (!osd_field_is_valid(field) || field_width_sum > 100) { + if (!cycle_osd_field_is_valid(field) || field_width_sum > 100) { wlr_log(WLR_ERROR, "Deleting invalid window switcher field %p", field); wl_list_remove(&field->link); - osd_field_free(field); + cycle_osd_field_free(field); } } } diff --git a/src/cycle/cycle.c b/src/cycle/cycle.c index 350b5f3f..b9a72a0e 100644 --- a/src/cycle/cycle.c +++ b/src/cycle/cycle.c @@ -17,32 +17,32 @@ #include "theme.h" #include "view.h" -static void update_osd(struct server *server); +static void update_cycle(struct server *server); static void destroy_osd_scenes(struct server *server) { struct output *output; wl_list_for_each(output, &server->outputs, link) { - struct osd_item *item, *tmp; - wl_list_for_each_safe(item, tmp, &output->osd_scene.items, link) { + struct cycle_osd_item *item, *tmp; + wl_list_for_each_safe(item, tmp, &output->cycle_osd.items, link) { wl_list_remove(&item->link); free(item); } - if (output->osd_scene.tree) { - wlr_scene_node_destroy(&output->osd_scene.tree->node); - output->osd_scene.tree = NULL; + if (output->cycle_osd.tree) { + wlr_scene_node_destroy(&output->cycle_osd.tree->node); + output->cycle_osd.tree = NULL; } } } static void -osd_update_preview_outlines(struct view *view) +update_preview_outlines(struct view *view) { /* Create / Update preview outline tree */ struct server *server = view->server; struct theme *theme = server->theme; - struct lab_scene_rect *rect = view->server->osd_state.preview_outline; + struct lab_scene_rect *rect = view->server->cycle.preview_outline; if (!rect) { struct lab_scene_rect_options opts = { .border_colors = (float *[3]) { @@ -55,7 +55,7 @@ osd_update_preview_outlines(struct view *view) }; rect = lab_scene_rect_create(&server->scene->tree, &opts); wlr_scene_node_place_above(&rect->tree->node, &server->menu_tree->node); - server->osd_state.preview_outline = rect; + server->cycle.preview_outline = rect; } struct wlr_box geo = ssd_max_extents(view); @@ -68,7 +68,7 @@ osd_update_preview_outlines(struct view *view) * If !start_view, the second focusable view is returned. */ static struct view * -get_next_cycle_view(struct server *server, struct view *start_view, +get_next_selected_view(struct server *server, struct view *start_view, enum lab_cycle_dir dir) { struct view *(*iter)(struct wl_list *head, struct view *view, @@ -96,127 +96,128 @@ get_next_cycle_view(struct server *server, struct view *start_view, } void -osd_on_view_destroy(struct view *view) +cycle_on_view_destroy(struct view *view) { assert(view); - struct osd_state *osd_state = &view->server->osd_state; + struct server *server = view->server; + struct cycle_state *cycle = &server->cycle; - if (view->server->input_mode != LAB_INPUT_STATE_WINDOW_SWITCHER) { + if (server->input_mode != LAB_INPUT_STATE_CYCLE) { /* OSD not active, no need for clean up */ return; } - if (osd_state->cycle_view == view) { + if (cycle->selected_view == view) { /* * If we are the current OSD selected view, cycle * to the next because we are dying. */ /* Also resets preview node */ - osd_state->cycle_view = get_next_cycle_view(view->server, - osd_state->cycle_view, LAB_CYCLE_DIR_BACKWARD); + cycle->selected_view = get_next_selected_view(server, + cycle->selected_view, LAB_CYCLE_DIR_BACKWARD); /* * If we cycled back to ourselves, then we have no more windows. * Just close the OSD for good. */ - if (osd_state->cycle_view == view || !osd_state->cycle_view) { - /* osd_finish() additionally resets cycle_view to NULL */ - osd_finish(view->server, /*switch_focus*/ false); + if (cycle->selected_view == view + || !cycle->selected_view) { + /* cycle_finish() additionally resets selected_view to NULL */ + cycle_finish(server, /*switch_focus*/ false); } } - if (osd_state->cycle_view) { + if (cycle->selected_view) { /* Recreate the OSD to reflect the view has now gone. */ - destroy_osd_scenes(view->server); - update_osd(view->server); + destroy_osd_scenes(server); + update_cycle(server); } if (view->scene_tree) { struct wlr_scene_node *node = &view->scene_tree->node; - if (osd_state->preview_anchor == node) { + if (cycle->preview_anchor == node) { /* * If we are the anchor for the current OSD selected view, * replace the anchor with the node before us. */ - osd_state->preview_anchor = lab_wlr_scene_get_prev_node(node); + cycle->preview_anchor = lab_wlr_scene_get_prev_node(node); } } } void -osd_on_cursor_release(struct server *server, struct wlr_scene_node *node) +cycle_on_cursor_release(struct server *server, struct wlr_scene_node *node) { - assert(server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER); + assert(server->input_mode == LAB_INPUT_STATE_CYCLE); - struct osd_item *item = node_osd_item_from_node(node); - server->osd_state.cycle_view = item->view; - osd_finish(server, /*switch_focus*/ true); + struct cycle_osd_item *item = node_cycle_osd_item_from_node(node); + server->cycle.selected_view = item->view; + cycle_finish(server, /*switch_focus*/ true); } static void restore_preview_node(struct server *server) { - struct osd_state *osd_state = &server->osd_state; - if (osd_state->preview_node) { - wlr_scene_node_reparent(osd_state->preview_node, - osd_state->preview_parent); + if (server->cycle.preview_node) { + wlr_scene_node_reparent(server->cycle.preview_node, + server->cycle.preview_parent); - if (osd_state->preview_anchor) { - wlr_scene_node_place_above(osd_state->preview_node, - osd_state->preview_anchor); + if (server->cycle.preview_anchor) { + wlr_scene_node_place_above(server->cycle.preview_node, + server->cycle.preview_anchor); } else { /* Selected view was the first node */ - wlr_scene_node_lower_to_bottom(osd_state->preview_node); + wlr_scene_node_lower_to_bottom(server->cycle.preview_node); } /* Node was disabled / minimized before, disable again */ - if (!osd_state->preview_was_enabled) { - wlr_scene_node_set_enabled(osd_state->preview_node, false); + if (!server->cycle.preview_was_enabled) { + wlr_scene_node_set_enabled(server->cycle.preview_node, false); } - if (osd_state->preview_was_shaded) { - struct view *view = node_view_from_node(osd_state->preview_node); + if (server->cycle.preview_was_shaded) { + struct view *view = node_view_from_node(server->cycle.preview_node); view_set_shade(view, true); } - osd_state->preview_node = NULL; - osd_state->preview_parent = NULL; - osd_state->preview_anchor = NULL; - osd_state->preview_was_shaded = false; + server->cycle.preview_node = NULL; + server->cycle.preview_parent = NULL; + server->cycle.preview_anchor = NULL; + server->cycle.preview_was_shaded = false; } } void -osd_begin(struct server *server, enum lab_cycle_dir direction) +cycle_begin(struct server *server, enum lab_cycle_dir direction) { if (server->input_mode != LAB_INPUT_STATE_PASSTHROUGH) { return; } - server->osd_state.cycle_view = get_next_cycle_view(server, - server->osd_state.cycle_view, direction); + server->cycle.selected_view = get_next_selected_view(server, + server->cycle.selected_view, direction); seat_focus_override_begin(&server->seat, - LAB_INPUT_STATE_WINDOW_SWITCHER, LAB_CURSOR_DEFAULT); - update_osd(server); + LAB_INPUT_STATE_CYCLE, LAB_CURSOR_DEFAULT); + update_cycle(server); /* Update cursor, in case it is within the area covered by OSD */ cursor_update_focus(server); } void -osd_cycle(struct server *server, enum lab_cycle_dir direction) +cycle_step(struct server *server, enum lab_cycle_dir direction) { - assert(server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER); + assert(server->input_mode == LAB_INPUT_STATE_CYCLE); - server->osd_state.cycle_view = get_next_cycle_view(server, - server->osd_state.cycle_view, direction); - update_osd(server); + server->cycle.selected_view = get_next_selected_view(server, + server->cycle.selected_view, direction); + update_cycle(server); } void -osd_finish(struct server *server, bool switch_focus) +cycle_finish(struct server *server, bool switch_focus) { - if (server->input_mode != LAB_INPUT_STATE_WINDOW_SWITCHER) { + if (server->input_mode != LAB_INPUT_STATE_CYCLE) { return; } @@ -224,62 +225,63 @@ osd_finish(struct server *server, bool switch_focus) /* FIXME: this sets focus to the old surface even with switch_focus=true */ seat_focus_override_end(&server->seat); - struct view *cycle_view = server->osd_state.cycle_view; - server->osd_state.preview_node = NULL; - server->osd_state.preview_anchor = NULL; - server->osd_state.cycle_view = NULL; - server->osd_state.preview_was_shaded = false; + struct view *selected_view = server->cycle.selected_view; + server->cycle.preview_node = NULL; + server->cycle.preview_anchor = NULL; + server->cycle.selected_view = NULL; + server->cycle.preview_was_shaded = false; destroy_osd_scenes(server); - if (server->osd_state.preview_outline) { + if (server->cycle.preview_outline) { /* Destroy the whole multi_rect so we can easily react to new themes */ - wlr_scene_node_destroy(&server->osd_state.preview_outline->tree->node); - server->osd_state.preview_outline = NULL; + wlr_scene_node_destroy(&server->cycle.preview_outline->tree->node); + server->cycle.preview_outline = NULL; } /* Hiding OSD may need a cursor change */ cursor_update_focus(server); - if (switch_focus && cycle_view) { + if (switch_focus && selected_view) { if (rc.window_switcher.unshade) { - view_set_shade(cycle_view, false); + view_set_shade(selected_view, false); } - desktop_focus_view(cycle_view, /*raise*/ true); + desktop_focus_view(selected_view, /*raise*/ true); } } static void -preview_cycled_view(struct view *view) +preview_selected_view(struct view *view) { assert(view); assert(view->scene_tree); - struct osd_state *osd_state = &view->server->osd_state; + struct server *server = view->server; + struct cycle_state *cycle = &server->cycle; /* Move previous selected node back to its original place */ - restore_preview_node(view->server); + restore_preview_node(server); /* Store some pointers so we can reset the preview later on */ - osd_state->preview_node = &view->scene_tree->node; - osd_state->preview_parent = view->scene_tree->node.parent; + cycle->preview_node = &view->scene_tree->node; + cycle->preview_parent = view->scene_tree->node.parent; /* Remember the sibling right before the selected node */ - osd_state->preview_anchor = lab_wlr_scene_get_prev_node( - osd_state->preview_node); - while (osd_state->preview_anchor && !osd_state->preview_anchor->data) { + cycle->preview_anchor = lab_wlr_scene_get_prev_node( + cycle->preview_node); + while (cycle->preview_anchor && !cycle->preview_anchor->data) { /* Ignore non-view nodes */ - osd_state->preview_anchor = lab_wlr_scene_get_prev_node( - osd_state->preview_anchor); + cycle->preview_anchor = lab_wlr_scene_get_prev_node( + cycle->preview_anchor); } /* Store node enabled / minimized state and force-enable if disabled */ - osd_state->preview_was_enabled = osd_state->preview_node->enabled; - if (!osd_state->preview_was_enabled) { - wlr_scene_node_set_enabled(osd_state->preview_node, true); + cycle->preview_was_enabled = cycle->preview_node->enabled; + if (!cycle->preview_was_enabled) { + wlr_scene_node_set_enabled(cycle->preview_node, true); } if (rc.window_switcher.unshade && view->shaded) { view_set_shade(view, false); - osd_state->preview_was_shaded = true; + cycle->preview_was_shaded = true; } /* @@ -287,64 +289,64 @@ preview_cycled_view(struct view *view) * Create a permanent server->osd_preview_tree instead that can * also be used as parent for the preview outlines. */ - wlr_scene_node_reparent(osd_state->preview_node, + wlr_scene_node_reparent(cycle->preview_node, view->server->view_tree_always_on_top); /* Finally raise selected node to the top */ - wlr_scene_node_raise_to_top(osd_state->preview_node); + wlr_scene_node_raise_to_top(cycle->preview_node); } static void update_osd_on_output(struct server *server, struct output *output, - struct osd_impl *osd_impl, struct wl_array *views) + struct cycle_osd_impl *osd_impl, struct wl_array *views) { if (!output_is_usable(output)) { return; } - if (!output->osd_scene.tree) { + if (!output->cycle_osd.tree) { osd_impl->create(output, views); - assert(output->osd_scene.tree); + assert(output->cycle_osd.tree); } osd_impl->update(output); } static void -update_osd(struct server *server) +update_cycle(struct server *server) { struct wl_array views; wl_array_init(&views); view_array_append(server, &views, rc.window_switcher.criteria); - struct osd_impl *osd_impl = NULL; + struct cycle_osd_impl *osd_impl = NULL; switch (rc.window_switcher.style) { - case WINDOW_SWITCHER_CLASSIC: - osd_impl = &osd_classic_impl; + case CYCLE_OSD_STYLE_CLASSIC: + osd_impl = &cycle_osd_classic_impl; break; - case WINDOW_SWITCHER_THUMBNAIL: - osd_impl = &osd_thumbnail_impl; + case CYCLE_OSD_STYLE_THUMBNAIL: + osd_impl = &cycle_osd_thumbnail_impl; break; } - if (!wl_array_len(&views) || !server->osd_state.cycle_view) { - osd_finish(server, /*switch_focus*/ false); + if (!wl_array_len(&views) || !server->cycle.selected_view) { + cycle_finish(server, /*switch_focus*/ false); goto out; } if (rc.window_switcher.show) { /* Display the actual OSD */ switch (rc.window_switcher.output_criteria) { - case OSD_OUTPUT_ALL: { + case CYCLE_OSD_OUTPUT_ALL: { struct output *output; wl_list_for_each(output, &server->outputs, link) { update_osd_on_output(server, output, osd_impl, &views); } break; } - case OSD_OUTPUT_POINTER: + case CYCLE_OSD_OUTPUT_POINTER: update_osd_on_output(server, output_nearest_to_cursor(server), osd_impl, &views); break; - case OSD_OUTPUT_KEYBOARD: { + case CYCLE_OSD_OUTPUT_KEYBOARD: { struct output *output; if (server->active_view) { output = server->active_view->output; @@ -359,13 +361,13 @@ update_osd(struct server *server) } if (rc.window_switcher.preview) { - preview_cycled_view(server->osd_state.cycle_view); + preview_selected_view(server->cycle.selected_view); } /* Outline current window */ if (rc.window_switcher.outlines) { - if (view_is_focusable(server->osd_state.cycle_view)) { - osd_update_preview_outlines(server->osd_state.cycle_view); + if (view_is_focusable(server->cycle.selected_view)) { + update_preview_outlines(server->cycle.selected_view); } } diff --git a/src/cycle/osd-classic.c b/src/cycle/osd-classic.c index e02f8ed1..f954701e 100644 --- a/src/cycle/osd-classic.c +++ b/src/cycle/osd-classic.c @@ -20,8 +20,8 @@ #include "theme.h" #include "workspaces.h" -struct osd_classic_item { - struct osd_item base; +struct cycle_osd_classic_item { + struct cycle_osd_item base; struct wlr_scene_tree *normal_tree, *active_tree; }; @@ -34,7 +34,7 @@ create_fields_scene(struct server *server, struct view *view, struct window_switcher_classic_theme *switcher_theme = &theme->osd_window_switcher_classic; - struct window_switcher_field *field; + struct cycle_osd_field *field; wl_list_for_each(field, &rc.window_switcher.fields, link) { int field_width = field_widths_sum * field->width / 100.0; struct wlr_scene_node *node = NULL; @@ -51,7 +51,7 @@ create_fields_scene(struct server *server, struct view *view, height = icon_size; } else { struct buf buf = BUF_INIT; - osd_field_get_content(field, &buf, view); + cycle_osd_field_get_content(field, &buf, view); if (!string_null_or_empty(buf.data)) { struct scaled_font_buffer *font_buffer = @@ -76,9 +76,9 @@ create_fields_scene(struct server *server, struct view *view, } static void -osd_classic_create(struct output *output, struct wl_array *views) +cycle_osd_classic_create(struct output *output, struct wl_array *views) { - assert(!output->osd_scene.tree && wl_list_empty(&output->osd_scene.items)); + assert(!output->cycle_osd.tree && wl_list_empty(&output->cycle_osd.items)); struct server *server = output->server; struct theme *theme = server->theme; @@ -102,7 +102,7 @@ osd_classic_create(struct output *output, struct wl_array *views) h += switcher_theme->item_height; } - output->osd_scene.tree = wlr_scene_tree_create(output->osd_tree); + output->cycle_osd.tree = wlr_scene_tree_create(output->cycle_osd_tree); float *text_color = theme->osd_label_text_color; float *bg_color = theme->osd_bg_color; @@ -116,7 +116,7 @@ osd_classic_create(struct output *output, struct wl_array *views) .width = w, .height = h, }; - lab_scene_rect_create(output->osd_scene.tree, &bg_opts); + lab_scene_rect_create(output->cycle_osd.tree, &bg_opts); int y = padding; @@ -134,7 +134,7 @@ osd_classic_create(struct output *output, struct wl_array *views) } struct scaled_font_buffer *font_buffer = - scaled_font_buffer_create(output->osd_scene.tree); + scaled_font_buffer_create(output->cycle_osd.tree); wlr_scene_node_set_position(&font_buffer->scene_buffer->node, x, y + (switcher_theme->item_height - font_height(&font)) / 2); scaled_font_buffer_update(font_buffer, workspace_name, 0, @@ -157,12 +157,12 @@ osd_classic_create(struct output *output, struct wl_array *views) /* Draw text for each node */ struct view **view; wl_array_for_each(view, views) { - struct osd_classic_item *item = znew(*item); - wl_list_append(&output->osd_scene.items, &item->base.link); + struct cycle_osd_classic_item *item = znew(*item); + wl_list_append(&output->cycle_osd.items, &item->base.link); item->base.view = *view; - item->base.tree = wlr_scene_tree_create(output->osd_scene.tree); + item->base.tree = wlr_scene_tree_create(output->cycle_osd.tree); node_descriptor_create(&item->base.tree->node, - LAB_NODE_OSD_ITEM, NULL, item); + LAB_NODE_CYCLE_OSD_ITEM, NULL, item); /* * OSD border * +---------------------------------+ @@ -218,23 +218,23 @@ osd_classic_create(struct output *output, struct wl_array *views) error:; /* Center OSD */ - wlr_scene_node_set_position(&output->osd_scene.tree->node, + wlr_scene_node_set_position(&output->cycle_osd.tree->node, output_box.x + (output_box.width - w) / 2, output_box.y + (output_box.height - h) / 2); } static void -osd_classic_update(struct output *output) +cycle_osd_classic_update(struct output *output) { - struct osd_classic_item *item; - wl_list_for_each(item, &output->osd_scene.items, base.link) { - bool active = item->base.view == output->server->osd_state.cycle_view; + struct cycle_osd_classic_item *item; + wl_list_for_each(item, &output->cycle_osd.items, base.link) { + bool active = item->base.view == output->server->cycle.selected_view; wlr_scene_node_set_enabled(&item->normal_tree->node, !active); wlr_scene_node_set_enabled(&item->active_tree->node, active); } } -struct osd_impl osd_classic_impl = { - .create = osd_classic_create, - .update = osd_classic_update, +struct cycle_osd_impl cycle_osd_classic_impl = { + .create = cycle_osd_classic_create, + .update = cycle_osd_classic_update, }; diff --git a/src/cycle/osd-field.c b/src/cycle/osd-field.c index 4497573e..cfc32811 100644 --- a/src/cycle/osd-field.c +++ b/src/cycle/osd-field.c @@ -204,11 +204,11 @@ static const struct field_converter field_converter[LAB_FIELD_COUNT] = { [LAB_FIELD_TITLE] = { 'T', field_set_title }, [LAB_FIELD_TITLE_SHORT] = { 't', field_set_title_short }, /* fmt_char can never be matched so prevents LAB_FIELD_CUSTOM recursion */ - [LAB_FIELD_CUSTOM] = { '\0', osd_field_set_custom }, + [LAB_FIELD_CUSTOM] = { '\0', cycle_osd_field_set_custom }, }; void -osd_field_set_custom(struct buf *buf, struct view *view, const char *format) +cycle_osd_field_set_custom(struct buf *buf, struct view *view, const char *format) { if (!format) { wlr_log(WLR_ERROR, "Missing format for custom window switcher field"); @@ -286,7 +286,7 @@ reset_format: } void -osd_field_arg_from_xml_node(struct window_switcher_field *field, +cycle_osd_field_arg_from_xml_node(struct cycle_osd_field *field, const char *nodename, const char *content) { if (!strcmp(nodename, "content")) { @@ -332,7 +332,7 @@ osd_field_arg_from_xml_node(struct window_switcher_field *field, } bool -osd_field_is_valid(struct window_switcher_field *field) +cycle_osd_field_is_valid(struct cycle_osd_field *field) { if (field->content == LAB_FIELD_NONE) { wlr_log(WLR_ERROR, "Invalid OSD field: no content set"); @@ -350,7 +350,7 @@ osd_field_is_valid(struct window_switcher_field *field) } void -osd_field_get_content(struct window_switcher_field *field, +cycle_osd_field_get_content(struct cycle_osd_field *field, struct buf *buf, struct view *view) { if (field->content == LAB_FIELD_NONE) { @@ -363,7 +363,7 @@ osd_field_get_content(struct window_switcher_field *field, } void -osd_field_free(struct window_switcher_field *field) +cycle_osd_field_free(struct cycle_osd_field *field) { zfree(field->format); zfree(field); diff --git a/src/cycle/osd-thumbnail.c b/src/cycle/osd-thumbnail.c index 724fc62a..5dd157c1 100644 --- a/src/cycle/osd-thumbnail.c +++ b/src/cycle/osd-thumbnail.c @@ -19,8 +19,8 @@ #include "theme.h" #include "view.h" -struct osd_thumbnail_item { - struct osd_item base; +struct cycle_osd_thumbnail_item { + struct cycle_osd_item base; struct scaled_font_buffer *normal_label; struct scaled_font_buffer *active_label; struct lab_scene_rect *active_bg; @@ -102,7 +102,7 @@ create_label(struct wlr_scene_tree *parent, struct view *view, const float *text_color, const float *bg_color, int y) { struct buf buf = BUF_INIT; - osd_field_set_custom(&buf, view, + cycle_osd_field_set_custom(&buf, view, rc.window_switcher.thumbnail_label_format); struct scaled_font_buffer *buffer = scaled_font_buffer_create(parent); @@ -115,7 +115,7 @@ create_label(struct wlr_scene_tree *parent, struct view *view, return buffer; } -static struct osd_thumbnail_item * +static struct cycle_osd_thumbnail_item * create_item_scene(struct wlr_scene_tree *parent, struct view *view, struct output *output) { @@ -136,10 +136,10 @@ create_item_scene(struct wlr_scene_tree *parent, struct view *view, return NULL; } - struct osd_thumbnail_item *item = znew(*item); - wl_list_append(&output->osd_scene.items, &item->base.link); + struct cycle_osd_thumbnail_item *item = znew(*item); + wl_list_append(&output->cycle_osd.items, &item->base.link); struct wlr_scene_tree *tree = wlr_scene_tree_create(parent); - node_descriptor_create(&tree->node, LAB_NODE_OSD_ITEM, NULL, item); + node_descriptor_create(&tree->node, LAB_NODE_CYCLE_OSD_ITEM, NULL, item); item->base.tree = tree; item->base.view = view; @@ -226,9 +226,9 @@ get_items_geometry(struct output *output, struct theme *theme, } static void -osd_thumbnail_create(struct output *output, struct wl_array *views) +cycle_osd_thumbnail_create(struct output *output, struct wl_array *views) { - assert(!output->osd_scene.tree && wl_list_empty(&output->osd_scene.items)); + assert(!output->cycle_osd.tree && wl_list_empty(&output->cycle_osd.items)); struct server *server = output->server; struct theme *theme = server->theme; @@ -236,7 +236,7 @@ osd_thumbnail_create(struct output *output, struct wl_array *views) &theme->osd_window_switcher_thumbnail; int padding = theme->osd_border_width + switcher_theme->padding; - output->osd_scene.tree = wlr_scene_tree_create(output->osd_tree); + output->cycle_osd.tree = wlr_scene_tree_create(output->cycle_osd_tree); int nr_views = wl_array_len(views); assert(nr_views > 0); @@ -247,8 +247,8 @@ osd_thumbnail_create(struct output *output, struct wl_array *views) struct view **view; int index = 0; wl_array_for_each(view, views) { - struct osd_thumbnail_item *item = create_item_scene( - output->osd_scene.tree, *view, output); + struct cycle_osd_thumbnail_item *item = create_item_scene( + output->cycle_osd.tree, *view, output); if (!item) { break; } @@ -268,7 +268,7 @@ osd_thumbnail_create(struct output *output, struct wl_array *views) .height = nr_rows * switcher_theme->item_height + 2 * padding, }; struct lab_scene_rect *bg = - lab_scene_rect_create(output->osd_scene.tree, &bg_opts); + lab_scene_rect_create(output->cycle_osd.tree, &bg_opts); wlr_scene_node_lower_to_bottom(&bg->tree->node); /* center */ @@ -277,15 +277,15 @@ osd_thumbnail_create(struct output *output, struct wl_array *views) &output_box); int lx = output_box.x + (output_box.width - bg_opts.width) / 2; int ly = output_box.y + (output_box.height - bg_opts.height) / 2; - wlr_scene_node_set_position(&output->osd_scene.tree->node, lx, ly); + wlr_scene_node_set_position(&output->cycle_osd.tree->node, lx, ly); } static void -osd_thumbnail_update(struct output *output) +cycle_osd_thumbnail_update(struct output *output) { - struct osd_thumbnail_item *item; - wl_list_for_each(item, &output->osd_scene.items, base.link) { - bool active = (item->base.view == output->server->osd_state.cycle_view); + struct cycle_osd_thumbnail_item *item; + wl_list_for_each(item, &output->cycle_osd.items, base.link) { + bool active = (item->base.view == output->server->cycle.selected_view); wlr_scene_node_set_enabled(&item->active_bg->tree->node, active); wlr_scene_node_set_enabled( &item->active_label->scene_buffer->node, active); @@ -294,7 +294,7 @@ osd_thumbnail_update(struct output *output) } } -struct osd_impl osd_thumbnail_impl = { - .create = osd_thumbnail_create, - .update = osd_thumbnail_update, +struct cycle_osd_impl cycle_osd_thumbnail_impl = { + .create = cycle_osd_thumbnail_create, + .update = cycle_osd_thumbnail_update, }; diff --git a/src/debug.c b/src/debug.c index cd2ce3d2..7a39824f 100644 --- a/src/debug.c +++ b/src/debug.c @@ -21,7 +21,7 @@ #define IGNORE_SSD true #define IGNORE_MENU true -#define IGNORE_OSD_PREVIEW_OUTLINE true +#define IGNORE_CYCLE_PREVIEW_OUTLINE true #define IGNORE_SNAPPING_OVERLAY true static struct view *last_view; @@ -118,7 +118,7 @@ get_special(struct server *server, struct wlr_scene_node *node) if (node->parent == &server->scene->tree) { struct output *output; wl_list_for_each(output, &server->outputs, link) { - if (node == &output->osd_tree->node) { + if (node == &output->cycle_osd_tree->node) { return "output->osd_tree"; } if (node == &output->layer_popup_tree->node) { @@ -150,10 +150,10 @@ get_special(struct server *server, struct wlr_scene_node *node) /* Created on-demand */ return "seat->im_relay->popup_tree"; } - if (server->osd_state.preview_outline - && node == &server->osd_state.preview_outline->tree->node) { + if (server->cycle.preview_outline + && node == &server->cycle.preview_outline->tree->node) { /* Created on-demand */ - return "osd_state->preview_outline"; + return "cycle_state->preview_outline"; } #if HAVE_XWAYLAND if (node == &server->unmanaged_tree->node) { @@ -216,13 +216,11 @@ dump_tree(struct server *server, struct wlr_scene_node *node, } printf("%.*s %*c %4d %4d [%p]\n", max_width - 1, type, padding, ' ', x, y, node); - struct lab_scene_rect *osd_preview_outline = - server->osd_state.preview_outline; if ((IGNORE_MENU && node == &server->menu_tree->node) || (IGNORE_SSD && last_view && ssd_debug_is_root_node(last_view->ssd, node)) - || (IGNORE_OSD_PREVIEW_OUTLINE && osd_preview_outline - && node == &osd_preview_outline->tree->node) + || (IGNORE_CYCLE_PREVIEW_OUTLINE && server->cycle.preview_outline + && node == &server->cycle.preview_outline->tree->node) || (IGNORE_SNAPPING_OVERLAY && server->seat.overlay.rect && node == &server->seat.overlay.rect->tree->node)) { printf("%*c%s\n", pos + 4 + INDENT_SIZE, ' ', ""); diff --git a/src/desktop.c b/src/desktop.c index 76c3275e..abff9c13 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -74,7 +74,7 @@ desktop_focus_view(struct view *view, bool raise) return; } - if (view->server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { + if (view->server->input_mode == LAB_INPUT_STATE_CYCLE) { wlr_log(WLR_DEBUG, "not focusing window while window switching"); return; } @@ -340,10 +340,10 @@ get_cursor_context(struct server *server) ret.node = node; ret.type = LAB_NODE_MENUITEM; return ret; - case LAB_NODE_OSD_ITEM: + case LAB_NODE_CYCLE_OSD_ITEM: /* Always return the top scene node for osd items */ ret.node = node; - ret.type = LAB_NODE_OSD_ITEM; + ret.type = LAB_NODE_CYCLE_OSD_ITEM; return ret; case LAB_NODE_BUTTON_FIRST...LAB_NODE_BUTTON_LAST: case LAB_NODE_SSD_ROOT: diff --git a/src/input/cursor.c b/src/input/cursor.c index 2660ef6d..500ac08e 100644 --- a/src/input/cursor.c +++ b/src/input/cursor.c @@ -920,7 +920,7 @@ static void process_release_mousebinding(struct server *server, struct cursor_context *ctx, uint32_t button) { - if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { + if (server->input_mode == LAB_INPUT_STATE_CYCLE) { return; } @@ -989,7 +989,7 @@ static bool process_press_mousebinding(struct server *server, struct cursor_context *ctx, uint32_t button) { - if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { + if (server->input_mode == LAB_INPUT_STATE_CYCLE) { return false; } @@ -1157,9 +1157,9 @@ cursor_process_button_release(struct seat *seat, uint32_t button, } return notify; } - if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { - if (ctx.type == LAB_NODE_OSD_ITEM) { - osd_on_cursor_release(server, ctx.node); + if (server->input_mode == LAB_INPUT_STATE_CYCLE) { + if (ctx.type == LAB_NODE_CYCLE_OSD_ITEM) { + cycle_on_cursor_release(server, ctx.node); } return notify; } diff --git a/src/input/keyboard.c b/src/input/keyboard.c index ab47dd4c..0171dcd0 100644 --- a/src/input/keyboard.c +++ b/src/input/keyboard.c @@ -141,17 +141,16 @@ handle_modifiers(struct wl_listener *listener, void *data) overlay_update(seat); } - bool window_switcher_active = server->input_mode - == LAB_INPUT_STATE_WINDOW_SWITCHER; + bool cycling = server->input_mode == LAB_INPUT_STATE_CYCLE; - if ((window_switcher_active || seat->workspace_osd_shown_by_modifier) + if ((cycling || seat->workspace_osd_shown_by_modifier) && !keyboard_get_all_modifiers(seat)) { - if (window_switcher_active) { + if (cycling) { if (key_state_nr_bound_keys()) { should_cancel_cycling_on_next_key_release = true; } else { should_cancel_cycling_on_next_key_release = false; - osd_finish(server, /*switch_focus*/ true); + cycle_finish(server, /*switch_focus*/ true); } } if (seat->workspace_osd_shown_by_modifier) { @@ -388,7 +387,7 @@ handle_key_release(struct server *server, uint32_t evdev_keycode) */ if (should_cancel_cycling_on_next_key_release) { should_cancel_cycling_on_next_key_release = false; - osd_finish(server, /*switch_focus*/ true); + cycle_finish(server, /*switch_focus*/ true); } /* @@ -461,19 +460,19 @@ handle_cycle_view_key(struct server *server, struct keyinfo *keyinfo) for (int i = 0; i < keyinfo->translated.nr_syms; i++) { if (keyinfo->translated.syms[i] == XKB_KEY_Escape) { /* Esc deactivates window switcher */ - osd_finish(server, /*switch_focus*/ false); + cycle_finish(server, /*switch_focus*/ false); return true; } if (keyinfo->translated.syms[i] == XKB_KEY_Up || keyinfo->translated.syms[i] == XKB_KEY_Left) { /* Up/Left cycles the window backward */ - osd_cycle(server, LAB_CYCLE_DIR_BACKWARD); + cycle_step(server, LAB_CYCLE_DIR_BACKWARD); return true; } if (keyinfo->translated.syms[i] == XKB_KEY_Down || keyinfo->translated.syms[i] == XKB_KEY_Right) { /* Down/Right cycles the window forward */ - osd_cycle(server, LAB_CYCLE_DIR_FORWARD); + cycle_step(server, LAB_CYCLE_DIR_FORWARD); return true; } } @@ -523,7 +522,7 @@ handle_compositor_keybindings(struct keyboard *keyboard, key_state_store_pressed_key_as_bound(event->keycode); handle_menu_keys(server, &keyinfo.translated); return LAB_KEY_HANDLED_TRUE; - } else if (server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { + } else if (server->input_mode == LAB_INPUT_STATE_CYCLE) { if (handle_cycle_view_key(server, &keyinfo)) { key_state_store_pressed_key_as_bound(event->keycode); return LAB_KEY_HANDLED_TRUE; diff --git a/src/node.c b/src/node.c index 1b3dce99..19b4b5ae 100644 --- a/src/node.c +++ b/src/node.c @@ -59,13 +59,13 @@ node_menuitem_from_node(struct wlr_scene_node *wlr_scene_node) return (struct menuitem *)node_descriptor->data; } -struct osd_item * -node_osd_item_from_node(struct wlr_scene_node *wlr_scene_node) +struct cycle_osd_item * +node_cycle_osd_item_from_node(struct wlr_scene_node *wlr_scene_node) { assert(wlr_scene_node->data); struct node_descriptor *node_descriptor = wlr_scene_node->data; - assert(node_descriptor->type == LAB_NODE_OSD_ITEM); - return (struct osd_item *)node_descriptor->data; + assert(node_descriptor->type == LAB_NODE_CYCLE_OSD_ITEM); + return (struct cycle_osd_item *)node_descriptor->data; } struct ssd_button * diff --git a/src/output.c b/src/output.c index 3859ee15..f8c19c56 100644 --- a/src/output.c +++ b/src/output.c @@ -182,7 +182,7 @@ handle_output_destroy(struct wl_listener *listener, void *data) wlr_scene_node_destroy(&output->layer_tree[i]->node); } wlr_scene_node_destroy(&output->layer_popup_tree->node); - wlr_scene_node_destroy(&output->osd_tree->node); + wlr_scene_node_destroy(&output->cycle_osd_tree->node); wlr_scene_node_destroy(&output->session_lock_tree->node); if (output->workspace_osd) { wlr_scene_node_destroy(&output->workspace_osd->node); @@ -542,7 +542,7 @@ handle_new_output(struct wl_listener *listener, void *data) wl_signal_add(&wlr_output->events.request_state, &output->request_state); wl_list_init(&output->regions); - wl_list_init(&output->osd_scene.items); + wl_list_init(&output->cycle_osd.items); /* * Create layer-trees (background, bottom, top and overlay) and @@ -553,7 +553,7 @@ handle_new_output(struct wl_listener *listener, void *data) wlr_scene_tree_create(&server->scene->tree); } output->layer_popup_tree = wlr_scene_tree_create(&server->scene->tree); - output->osd_tree = wlr_scene_tree_create(&server->scene->tree); + output->cycle_osd_tree = wlr_scene_tree_create(&server->scene->tree); output->session_lock_tree = wlr_scene_tree_create(&server->scene->tree); /* @@ -577,7 +577,7 @@ handle_new_output(struct wl_listener *listener, void *data) wlr_scene_node_place_below(&output->layer_tree[3]->node, menu_node); wlr_scene_node_place_below(&output->layer_popup_tree->node, menu_node); - wlr_scene_node_raise_to_top(&output->osd_tree->node); + wlr_scene_node_raise_to_top(&output->cycle_osd_tree->node); wlr_scene_node_raise_to_top(&output->session_lock_tree->node); /* diff --git a/src/server.c b/src/server.c index abaaaf0b..11037a48 100644 --- a/src/server.c +++ b/src/server.c @@ -562,21 +562,21 @@ server_init(struct server *server) * z-order for nodes which cover the whole work-area. For per-output * scene-trees, see handle_new_output() in src/output.c * - * | Type | Scene Tree | Per Output | Example - * | ----------------- | ---------------- | ---------- | ------- - * | ext-session | lock-screen | Yes | swaylock - * | osd | osd_tree | Yes | - * | compositor-menu | menu_tree | No | root-menu - * | layer-shell | layer-popups | Yes | - * | layer-shell | overlay-layer | Yes | - * | layer-shell | top-layer | Yes | waybar - * | xwayland-OR | unmanaged | No | dmenu - * | xdg-popups | xdg-popups | No | - * | toplevels windows | always-on-top | No | - * | toplevels windows | normal | No | firefox - * | toplevels windows | always-on-bottom | No | pcmanfm-qt --desktop - * | layer-shell | bottom-layer | Yes | waybar - * | layer-shell | background-layer | Yes | swaybg + * | Type | Scene Tree | Per Output | Example + * | ------------------- | ---------------- | ---------- | ------- + * | ext-session | lock-screen | Yes | swaylock + * | window switcher OSD | cycle_osd_tree | Yes | + * | compositor-menu | menu_tree | No | root-menu + * | layer-shell | layer-popups | Yes | + * | layer-shell | overlay-layer | Yes | + * | layer-shell | top-layer | Yes | waybar + * | xwayland-OR | unmanaged | No | dmenu + * | xdg-popups | xdg-popups | No | + * | toplevels windows | always-on-top | No | + * | toplevels windows | normal | No | firefox + * | toplevels windows | always-on-bottom | No | pcmanfm-qt --desktop + * | layer-shell | bottom-layer | Yes | waybar + * | layer-shell | background-layer | Yes | swaybg */ server->view_tree_always_on_bottom = wlr_scene_tree_create(&server->scene->tree); diff --git a/src/view.c b/src/view.c index acb1ec0b..662e85fb 100644 --- a/src/view.c +++ b/src/view.c @@ -823,7 +823,7 @@ view_minimize(struct view *view, bool minimized) { assert(view); - if (view->server->input_mode == LAB_INPUT_STATE_WINDOW_SWITCHER) { + if (view->server->input_mode == LAB_INPUT_STATE_CYCLE) { wlr_log(WLR_ERROR, "not minimizing window while window switching"); return; } @@ -2620,7 +2620,7 @@ view_destroy(struct view *view) zfree(view->tiled_region_evacuate); } - osd_on_view_destroy(view); + cycle_on_view_destroy(view); undecorate(view); view_set_icon(view, NULL, NULL);