Use idle handler for overlay key binding

Running into odd problems with the overlay/windows key breaking, hopefully
this will work around those.

svn path=/trunk/; revision=121
This commit is contained in:
Colin Walters 2008-12-05 21:50:09 +00:00
parent b1da771d32
commit bd53366247

View File

@ -3,6 +3,7 @@
const Clutter = imports.gi.Clutter;
const Shell = imports.gi.Shell;
const Signals = imports.signals;
const Mainloop = imports.mainloop;
const Tweener = imports.tweener.tweener;
const Panel = imports.ui.panel;
@ -123,11 +124,16 @@ function start() {
let display = global.screen.get_display();
display.connect('overlay-key', function(display) {
if (overlay.visible) {
hide_overlay();
} else {
show_overlay();
}
// Queue an idle for this, because we're getting called
// out of a metacity event handler, and doing a lot of
// work from inside there is...iffy.
Mainloop.idle_add(function () {
if (overlay.visible) {
hide_overlay();
} else {
show_overlay();
}
});
});
}