Toggle mutter's unredirect features on/off depending on the situation

We disable it when in the overview or when recording a video and otherwise
leave it enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=618497
This commit is contained in:
Adel Gadllah 2011-08-29 23:55:42 +02:00
parent 352fb7b833
commit 1dee10c575
2 changed files with 8 additions and 0 deletions

View File

@ -108,6 +108,7 @@ function _initRecorder() {
if (recorder.is_recording()) { if (recorder.is_recording()) {
recorder.pause(); recorder.pause();
Meta.enable_unredirect_for_screen(global.screen);
} else { } else {
// read the parameters from GSettings always in case they have changed // read the parameters from GSettings always in case they have changed
recorder.set_framerate(recorderSettings.get_int('framerate')); recorder.set_framerate(recorderSettings.get_int('framerate'));
@ -119,6 +120,7 @@ function _initRecorder() {
else else
recorder.set_pipeline(null); recorder.set_pipeline(null);
Meta.disable_unredirect_for_screen(global.screen);
recorder.record(); recorder.record();
} }
}); });

View File

@ -574,6 +574,9 @@ Overview.prototype = {
// //
// If we switched to displaying the actors in the Overview rather than // If we switched to displaying the actors in the Overview rather than
// clones of them, this would obviously no longer be necessary. // clones of them, this would obviously no longer be necessary.
//
// Disable unredirection while in the overview
Meta.disable_unredirect_for_screen(global.screen);
global.window_group.hide(); global.window_group.hide();
this._group.show(); this._group.show();
this._background.show(); this._background.show();
@ -767,6 +770,9 @@ Overview.prototype = {
}, },
_hideDone: function() { _hideDone: function() {
// Re-enable unredirection
Meta.enable_unredirect_for_screen(global.screen);
global.window_group.show(); global.window_group.show();
this.workspaces.destroy(); this.workspaces.destroy();