Screenshot: Move filesystem I/O to a thread

Writting the screenshot to a file can take a relativly long time
in which we block the compositor, so do that part in a separate
thread to avoid the hang.

https://bugzilla.gnome.org/show_bug.cgi?id=652952
This commit is contained in:
Adel Gadllah
2012-01-22 10:57:42 +01:00
parent 90a691ed25
commit 882fe48d80
4 changed files with 80 additions and 46 deletions

View File

@ -141,8 +141,13 @@ const GnomeShell = new Lang.Class({
* indicating whether the operation was successful or not.
*
*/
ScreenshotWindow : function (include_frame, filename) {
return global.screenshot_window (include_frame, filename);
ScreenshotWindowAsync : function (params, invocation) {
let [include_frame, filename] = params;
global.screenshot_window (include_frame, filename,
function (obj, result) {
let retval = GLib.Variant.new('(b)', [result]);
invocation.return_value(retval);
});
},
/**