mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
osd: do not use server->workspace_current->tree
...as it is no longer needed following the use of shared infrastructure between osd.c and desktop.c introduced in the last few commits.
This commit is contained in:
parent
7704b595d3
commit
41419d9479
1 changed files with 18 additions and 10 deletions
28
src/osd.c
28
src/osd.c
|
|
@ -255,8 +255,8 @@ get_title_if_different(struct view *view)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
render_osd(struct server *server, cairo_t *cairo, int w, int h,
|
render_osd(struct server *server, cairo_t *cairo, int w, int h,
|
||||||
struct wl_list *node_list, bool show_workspace,
|
bool show_workspace, const char *workspace_name,
|
||||||
const char *workspace_name, struct wl_array *views)
|
struct wl_array *views)
|
||||||
{
|
{
|
||||||
struct view *cycle_view = server->osd_state.cycle_view;
|
struct view *cycle_view = server->osd_state.cycle_view;
|
||||||
struct theme *theme = server->theme;
|
struct theme *theme = server->theme;
|
||||||
|
|
@ -401,8 +401,6 @@ display_osd(struct output *output)
|
||||||
{
|
{
|
||||||
struct server *server = output->server;
|
struct server *server = output->server;
|
||||||
struct theme *theme = server->theme;
|
struct theme *theme = server->theme;
|
||||||
struct wl_list *node_list =
|
|
||||||
&server->workspace_current->tree->children;
|
|
||||||
bool show_workspace = wl_list_length(&rc.workspace_config.workspaces) > 1;
|
bool show_workspace = wl_list_length(&rc.workspace_config.workspaces) > 1;
|
||||||
const char *workspace_name = server->workspace_current->name;
|
const char *workspace_name = server->workspace_current->name;
|
||||||
|
|
||||||
|
|
@ -435,8 +433,7 @@ display_osd(struct output *output)
|
||||||
|
|
||||||
/* Render OSD image */
|
/* Render OSD image */
|
||||||
cairo_t *cairo = output->osd_buffer->cairo;
|
cairo_t *cairo = output->osd_buffer->cairo;
|
||||||
render_osd(server, cairo, w, h, node_list, show_workspace,
|
render_osd(server, cairo, w, h, show_workspace, workspace_name, &views);
|
||||||
workspace_name, &views);
|
|
||||||
wl_array_release(&views);
|
wl_array_release(&views);
|
||||||
|
|
||||||
struct wlr_scene_buffer *scene_buffer = wlr_scene_buffer_create(
|
struct wlr_scene_buffer *scene_buffer = wlr_scene_buffer_create(
|
||||||
|
|
@ -458,13 +455,24 @@ display_osd(struct output *output)
|
||||||
cursor_update_focus(server);
|
cursor_update_focus(server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
nr_entries(struct server *server)
|
||||||
|
{
|
||||||
|
struct wl_array views;
|
||||||
|
wl_array_init(&views);
|
||||||
|
view_array_append(server, &views,
|
||||||
|
LAB_VIEW_CRITERIA_CURRENT_WORKSPACE
|
||||||
|
| LAB_VIEW_CRITERIA_ROOT_TOPLEVEL
|
||||||
|
| LAB_VIEW_CRITERIA_NO_SKIP_WINDOW_SWITCHER);
|
||||||
|
int count = wl_array_len(&views);
|
||||||
|
wl_array_release(&views);
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
osd_update(struct server *server)
|
osd_update(struct server *server)
|
||||||
{
|
{
|
||||||
struct wl_list *node_list =
|
if (!nr_entries(server) || !server->osd_state.cycle_view) {
|
||||||
&server->workspace_current->tree->children;
|
|
||||||
|
|
||||||
if (wl_list_empty(node_list) || !server->osd_state.cycle_view) {
|
|
||||||
osd_finish(server);
|
osd_finish(server);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue