[panel] Only show starting applications for current workspace

Add the workspace we started on to ShellApp.  Use it inside panel.js
to filter the list.
https://bugzilla.gnome.org/show_bug.cgi?id=623688
This commit is contained in:
Maxim Ermilov
2010-10-07 01:31:22 +04:00
parent 6925a82204
commit 4456954d30
2 changed files with 30 additions and 12 deletions

View File

@@ -43,6 +43,8 @@ struct _ShellApp
{
GObject parent;
int started_on_workspace;
ShellAppState state;
ShellAppInfo *info;
@@ -573,6 +575,14 @@ shell_app_is_on_workspace (ShellApp *app,
{
GSList *iter;
if (shell_app_get_state (app) == SHELL_APP_STATE_STARTING)
{
if (meta_workspace_index (workspace) == app->started_on_workspace)
return TRUE;
else
return FALSE;
}
if (app->running_state == NULL)
return FALSE;
@@ -815,6 +825,7 @@ _shell_app_handle_startup_sequence (ShellApp *app,
shell_app_state_transition (app, SHELL_APP_STATE_STARTING);
meta_display_focus_the_no_focus_window (display, screen,
sn_startup_sequence_get_timestamp (sequence));
app->started_on_workspace = sn_startup_sequence_get_workspace (sequence);
}
if (!starting)