shell/global: Don't force active workspace for launch context
Since the launch context may also be used to activate an action on an running application with an already existing window, which we don't necessarily want to move to a different workspace, don't set a workspace for the launch context. If no active window exists for an application then it will be place on the currently active workspace anyways. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3198>
This commit is contained in:
parent
54bc3aa4f5
commit
90e9f56f79
@ -1439,10 +1439,10 @@ shell_global_app_launched_cb (GAppLaunchContext *context,
|
||||
* shell_global_create_app_launch_context:
|
||||
* @global: A #ShellGlobal
|
||||
* @timestamp: the timestamp for the launch (or 0 for current time)
|
||||
* @workspace: a workspace index, or -1 to indicate the current one
|
||||
* @workspace: a workspace index, or -1 to indicate no specific one
|
||||
*
|
||||
* Create a #GAppLaunchContext set up with the correct timestamp, and
|
||||
* targeted to activate on the current workspace.
|
||||
* targeted to activate on @workspace.
|
||||
*
|
||||
* Return value: (transfer full): A new #GAppLaunchContext
|
||||
*/
|
||||
@ -1463,12 +1463,11 @@ shell_global_create_app_launch_context (ShellGlobal *global,
|
||||
timestamp = shell_global_get_current_time (global);
|
||||
meta_launch_context_set_timestamp (context, timestamp);
|
||||
|
||||
if (workspace < 0)
|
||||
ws = meta_workspace_manager_get_active_workspace (workspace_manager);
|
||||
else
|
||||
ws = meta_workspace_manager_get_workspace_by_index (workspace_manager, workspace);
|
||||
|
||||
meta_launch_context_set_workspace (context, ws);
|
||||
if (workspace > -1)
|
||||
{
|
||||
ws = meta_workspace_manager_get_workspace_by_index (workspace_manager, workspace);
|
||||
meta_launch_context_set_workspace (context, ws);
|
||||
}
|
||||
|
||||
g_signal_connect (context,
|
||||
"launched",
|
||||
|
Loading…
x
Reference in New Issue
Block a user