[gnome-shell] keyboard: Initialize the FocusTrackers current window correctly



commit 3acf840c998db5e788169d962dbe5634535ae3b6
Author: Jonas Dreßler <verdre v0yd nl>
Date:   Fri Feb 26 15:52:06 2021 +0100

    keyboard: Initialize the FocusTrackers current window correctly
    
    The FocusTracker keeps track of the currently focused window using its
    internal this._currentWindow property. It will only pick up the focused
    window though when receiving a "notify::focus-window" signal, so the
    focused window that's set when the FocusTracker is created won't be
    picked up.
    
    Fix that by setting the _currentWindow during creation of the
    FocusTracker.
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1728>

 js/ui/keyboard.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index d7c07c0c6d..0f01589fdd 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -550,7 +550,6 @@ var KeyboardModel = class {
 
 var FocusTracker = class {
     constructor() {
-        this._currentWindow = null;
         this._rect = null;
 
         this._notifyFocusId = global.display.connect('notify::focus-window', () => {
@@ -558,6 +557,8 @@ var FocusTracker = class {
             this.emit('window-changed', this._currentWindow);
         });
 
+        this._setCurrentWindow(global.display.focus_window);
+
         this._grabOpBeginId = global.display.connect('grab-op-begin', (display, window, op) => {
             if (window == this._currentWindow &&
                 (op == Meta.GrabOp.MOVING || op == Meta.GrabOp.KEYBOARD_MOVING))


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