Re: Turning off the screen shield in gnome-shell 3.8



On 25 April 2013 23:35, Florian Müllner <fmuellner gnome org> wrote:
On Fri, Apr 26, 2013 at 12:18 AM, Reuben Thomas <rrt sc3d org> wrote:
> Thanks very much, that looks good. But is there no way to write this as a
> shell extension?

Of course:

const ScreenShield = imports.ui.screenShield;

let _onUserBecameActiveOrig;

function _onUserBecameActiveInjected() {
    this.idleMonitor.remove_watch(this._becameActiveId);
    this._becameActiveId = 0;

    let lightboxWasShown = this._lightbox.shown;
    this._lightbox.hide();

    // Shortcircuit in case the mouse was moved before the fade completed
    // or the screen is not locked
    if (!lightboxWasShown || !this._isLocked) {
        this.deactivate(false);
        return;
    }
}

function init() {
}

function enable() {
    _onUserBecameActiveOrig =
ScreenShield.ScreenShield.prototype._onUserBecameActive;
    ScreenShield.ScreenShield.prototype._onUserBecameActive =
_onUserBecameActiveInjected;
}

function disable() {
    ScreenShield.ScreenShield.prototype._onUserBecameActive =
_onUserBecameActiveOrig;
}

This code is now available in an extension on extensions.gnome.org (actually, as two identical extensions, but that's another matter, about which I've filed a bug report!):

https://extensions.gnome.org/extension/672/disable-screen-shield/

I've been using it just for a few days, since I finally have a) upgraded to GNOME 3.8 and b) managed to stop using xscreensaver.

Unfortunately, the code appears to have a problem: often when I come back to my computer and press a key or waggle the mouse, the screen switches on and the cursor appears (as it should, and normally does), but when I then press another key or waggle the mouse some more, the display is not restored: I am instead left looking at a black screen with just a mouse cursor.

If I disable the extension, then the screen shield comes back, of course, but works entirely reliably. (It's just a PITA that the display doesn't come back straight away, hence my desire to have the extension in the first place).

I am writing back to you, rather than filing a bug report against the extension, because as the extension's author admits, he just used your code verbatim.

I am conscious that I'm not using the latest GNOME release, but this looks likely to be the case for a long time for many users, as Ubuntu Trusty (the next Long-Term Support Release, due next April and supported until 2017) will also use GNOME 3.8. Hence, bug-fixing extensions for 3.8 is, I suggest, a valuable thing!

If you have any pointers as to how I might go about finding out what goes wrong, I'd be happy to look into the problem further.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]