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:
parent
96a2747e0b
commit
a71ae65f8b
@ -14,6 +14,7 @@ const Mainloop = imports.mainloop;
|
|||||||
const AppInfo = imports.misc.appInfo;
|
const AppInfo = imports.misc.appInfo;
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const GenericDisplay = imports.ui.genericDisplay;
|
const GenericDisplay = imports.ui.genericDisplay;
|
||||||
|
const Workspaces = imports.ui.workspaces;
|
||||||
|
|
||||||
const ENTERED_MENU_COLOR = new Clutter.Color();
|
const ENTERED_MENU_COLOR = new Clutter.Color();
|
||||||
ENTERED_MENU_COLOR.from_pixel(0x00ff0022);
|
ENTERED_MENU_COLOR.from_pixel(0x00ff0022);
|
||||||
@ -574,6 +575,11 @@ WellArea.prototype = {
|
|||||||
id = source.appInfo.appId;
|
id = source.appInfo.appId;
|
||||||
} else if (source instanceof AppDisplayItem) {
|
} else if (source instanceof AppDisplayItem) {
|
||||||
id = source.getId();
|
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 {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -544,6 +544,19 @@ shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor,
|
|||||||
return list;
|
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:
|
* shell_app_monitor_get_running_app_ids:
|
||||||
*
|
*
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
#include "window.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This object provides monitoring of system application directories (.desktop files)
|
* This object provides monitoring of system application directories (.desktop files)
|
||||||
* and activity-based statistics about applications usage
|
* 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);
|
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 */
|
/* Get the most popular applications for a given activity */
|
||||||
GSList *shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor,
|
GSList *shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor,
|
||||||
int activity,
|
int activity,
|
||||||
|
Loading…
Reference in New Issue
Block a user