workspaces: Add and use 'workspace' debug topic

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4005>
This commit is contained in:
Jonas Ådahl 2024-12-30 16:08:32 +01:00 committed by Marge Bot
parent cd48367c14
commit 5f75d18afb
4 changed files with 28 additions and 18 deletions

View File

@ -558,11 +558,12 @@ meta_workspace_manager_update_workspace_layout (MetaWorkspaceManager *workspace_
workspace_manager->rows_of_workspaces = n_rows; workspace_manager->rows_of_workspaces = n_rows;
workspace_manager->columns_of_workspaces = n_columns; workspace_manager->columns_of_workspaces = n_columns;
meta_verbose ("Workspace layout rows = %d cols = %d orientation = %d starting corner = %u", meta_topic (META_DEBUG_WORKSPACES,
workspace_manager->rows_of_workspaces, "Workspace layout rows = %d cols = %d orientation = %d starting corner = %u",
workspace_manager->columns_of_workspaces, workspace_manager->rows_of_workspaces,
workspace_manager->vertical_workspaces, workspace_manager->columns_of_workspaces,
workspace_manager->starting_corner); workspace_manager->vertical_workspaces,
workspace_manager->starting_corner);
g_object_notify (G_OBJECT (workspace_manager), "layout-columns"); g_object_notify (G_OBJECT (workspace_manager), "layout-columns");
g_object_notify (G_OBJECT (workspace_manager), "layout-rows"); g_object_notify (G_OBJECT (workspace_manager), "layout-rows");
} }
@ -650,11 +651,12 @@ meta_workspace_manager_calc_workspace_layout (MetaWorkspaceManager *workspace_ma
grid_area = rows * cols; grid_area = rows * cols;
meta_verbose ("Getting layout rows = %d cols = %d current = %d " meta_topic (META_DEBUG_WORKSPACES,
"num_spaces = %d vertical = %s corner = %s", "Getting layout rows = %d cols = %d current = %d "
rows, cols, current_space, num_workspaces, "num_spaces = %d vertical = %s corner = %s",
workspace_manager->vertical_workspaces ? "(true)" : "(false)", rows, cols, current_space, num_workspaces,
meta_workspace_manager_corner_to_string (workspace_manager->starting_corner)); workspace_manager->vertical_workspaces ? "(true)" : "(false)",
meta_workspace_manager_corner_to_string (workspace_manager->starting_corner));
/* ok, we want to setup the distances in the workspace array to go /* ok, we want to setup the distances in the workspace array to go
* in each direction. Remember, there are many ways that a workspace * in each direction. Remember, there are many ways that a workspace
@ -860,7 +862,7 @@ meta_workspace_manager_calc_workspace_layout (MetaWorkspaceManager *workspace_ma
layout->current_col = current_col; layout->current_col = current_col;
#ifdef WITH_VERBOSE_MODE #ifdef WITH_VERBOSE_MODE
if (meta_is_verbose ()) if (meta_is_topic_enabled (META_DEBUG_WORKSPACES))
{ {
g_autoptr (GString) str = NULL; g_autoptr (GString) str = NULL;
@ -887,7 +889,8 @@ meta_workspace_manager_calc_workspace_layout (MetaWorkspaceManager *workspace_ma
} }
++r; ++r;
} }
meta_verbose ("%s", str->str); meta_topic (META_DEBUG_WORKSPACES,
"%s", str->str);
} }
#endif /* WITH_VERBOSE_MODE */ #endif /* WITH_VERBOSE_MODE */
} }

View File

@ -69,6 +69,7 @@ static const GDebugKey meta_debug_keys[] = {
{ "kms-deadline", META_DEBUG_KMS_DEADLINE }, { "kms-deadline", META_DEBUG_KMS_DEADLINE },
{ "session-management", META_DEBUG_SESSION_MANAGEMENT }, { "session-management", META_DEBUG_SESSION_MANAGEMENT },
{ "x11", META_DEBUG_X11 }, { "x11", META_DEBUG_X11 },
{ "workspaces", META_DEBUG_WORKSPACES },
}; };
static gint verbose_topics = 0; static gint verbose_topics = 0;
@ -326,6 +327,8 @@ meta_topic_to_string (MetaDebugTopic topic)
return "SESSION_MANAGEMENT"; return "SESSION_MANAGEMENT";
case META_DEBUG_X11: case META_DEBUG_X11:
return "X11"; return "X11";
case META_DEBUG_WORKSPACES:
return "WORKSPACES";
} }
return "WM"; return "WM";

View File

@ -547,8 +547,9 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
g_return_if_fail (META_IS_WORKSPACE (workspace)); g_return_if_fail (META_IS_WORKSPACE (workspace));
g_return_if_fail (meta_workspace_index (workspace) != -1); g_return_if_fail (meta_workspace_index (workspace) != -1);
meta_verbose ("Activating workspace %d", meta_topic (META_DEBUG_WORKSPACES,
meta_workspace_index (workspace)); "Activating workspace %d",
meta_workspace_index (workspace));
if (workspace->manager->active_workspace == workspace) if (workspace->manager->active_workspace == workspace)
{ {
@ -1261,8 +1262,9 @@ meta_workspace_get_neighbor (MetaWorkspace *workspace,
meta_workspace_manager_calc_workspace_layout (workspace->manager, num_workspaces, meta_workspace_manager_calc_workspace_layout (workspace->manager, num_workspaces,
current_space, &layout); current_space, &layout);
meta_verbose ("Getting neighbor of %d in direction %s", meta_topic (META_DEBUG_WORKSPACES,
current_space, meta_motion_direction_to_string (direction)); "Getting neighbor of %d in direction %s",
current_space, meta_motion_direction_to_string (direction));
ltr = (clutter_get_text_direction () == CLUTTER_TEXT_DIRECTION_LTR); ltr = (clutter_get_text_direction () == CLUTTER_TEXT_DIRECTION_LTR);
@ -1301,8 +1303,9 @@ meta_workspace_get_neighbor (MetaWorkspace *workspace,
meta_bug ("calc_workspace_layout left an invalid (too-high) workspace number %d in the grid", meta_bug ("calc_workspace_layout left an invalid (too-high) workspace number %d in the grid",
i); i);
meta_verbose ("Neighbor workspace is %d at row %d col %d", meta_topic (META_DEBUG_WORKSPACES,
i, layout.current_row, layout.current_col); "Neighbor workspace is %d at row %d col %d",
i, layout.current_row, layout.current_col);
meta_workspace_manager_free_workspace_layout (&layout); meta_workspace_manager_free_workspace_layout (&layout);

View File

@ -83,6 +83,7 @@ typedef enum
META_DEBUG_KMS_DEADLINE = 1 << 26, META_DEBUG_KMS_DEADLINE = 1 << 26,
META_DEBUG_SESSION_MANAGEMENT = 1 << 27, META_DEBUG_SESSION_MANAGEMENT = 1 << 27,
META_DEBUG_X11 = 1 << 28, META_DEBUG_X11 = 1 << 28,
META_DEBUG_WORKSPACES = 1 << 29,
} MetaDebugTopic; } MetaDebugTopic;
META_EXPORT META_EXPORT