Allow dragging a Workspace.WindowClone into favorites well

It's a natural thing to do, though in the future we may want
to split the WindowClone into js/misc/window.js or the like.
This commit is contained in:
Colin Walters 2009-07-02 05:04:33 -04:00
parent 96a2747e0b
commit a71ae65f8b
3 changed files with 23 additions and 0 deletions

View File

@ -14,6 +14,7 @@ const Mainloop = imports.mainloop;
const AppInfo = imports.misc.appInfo;
const DND = imports.ui.dnd;
const GenericDisplay = imports.ui.genericDisplay;
const Workspaces = imports.ui.workspaces;
const ENTERED_MENU_COLOR = new Clutter.Color();
ENTERED_MENU_COLOR.from_pixel(0x00ff0022);
@ -574,6 +575,11 @@ WellArea.prototype = {
id = source.appInfo.appId;
} else if (source instanceof AppDisplayItem) {
id = source.getId();
} else if (source instanceof Workspaces.WindowClone) {
let appMonitor = Shell.AppMonitor.get_default();
id = appMonitor.get_window_id(source.metaWindow);
if (id === null)
return false;
} else {
return false;
}

View File

@ -544,6 +544,19 @@ shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor,
return list;
}
/**
* shell_app_monitor_get_window_id
* @monitor: An app monitor instance
* @metawin: A #MetaWindow
*
* Returns: (transfer full): Desktop file id associated with window
*/
char *
shell_app_monitor_get_window_id (ShellAppMonitor *monitor, MetaWindow *metawin)
{
return g_hash_table_lookup (monitor->window_to_appid, metawin);
}
/**
* shell_app_monitor_get_running_app_ids:
*

View File

@ -5,6 +5,8 @@
#include <glib-object.h>
#include <glib.h>
#include "window.h"
/*
* This object provides monitoring of system application directories (.desktop files)
* and activity-based statistics about applications usage
@ -35,6 +37,8 @@ GType shell_app_monitor_get_type (void) G_GNUC_CONST;
ShellAppMonitor* shell_app_monitor_get_default(void);
char *shell_app_monitor_get_window_id (ShellAppMonitor *monitor, MetaWindow *metawin);
/* Get the most popular applications for a given activity */
GSList *shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor,
int activity,