When changing focus to different windows on my 4K non-scaled monitor, I'm finding that it's sometimes hard to follow the mouse cursor around the screen and keep track of which window I currently have focused. If we had an animation or something to indicate which window was becoming active, I think that would make window navigation much quicker and easier.
I do also think that we need to have a border around a window indicating that it is active, as it works in i3wm.
This is implemented in da05f6d914c284b0ce66e1545e59ec185a067772. Tell me what you think. It's disabled by default, but can be enabled in the appearance options.
I like it quite a bit, but the behavior seems a little buggy on this initial implementation. When I change to another window, the window that was previously active flashes orange before the border moves to the next window. Also if I change workspaces, it seems to stop working completely and it starts outputting these errors in the console:
pop-shell: [INFO] focused Window(5,0) {
name: Firefox Web Browser,
rect: Rect(1924,4,1912,1074),
wm_class: "Firefox",
fork: (4,0),
}
../../../gobject/gsignal.c:2735: instance '0x55dae5ef6ae0' has no handler with id '35569'
../../../gobject/gsignal.c:2735: instance '0x55dae5ef6ae0' has no handler with id '35570'
== Stack trace for context 0x55dae24bc380 ==
#0 55dae5f4e108 i /home/levi/.local/share/gnome-shell/extensions/[email protected]/active_hint.js:44 (7f8e12cf9b80 @ 130)
#1 55dae5f4e068 i /home/levi/.local/share/gnome-shell/extensions/[email protected]/active_hint.js:15 (7f8e12cf99d0 @ 30)
#2 55dae5f4dfe0 i /home/levi/.local/share/gnome-shell/extensions/[email protected]/extension.js:385 (7f8e12cdc700 @ 61)
== Stack trace for context 0x55dae24bc380 ==
#0 55dae5f4e108 i /home/levi/.local/share/gnome-shell/extensions/[email protected]/active_hint.js:44 (7f8e12cf9b80 @ 130)
#1 55dae5f4e068 i /home/levi/.local/share/gnome-shell/extensions/[email protected]/active_hint.js:15 (7f8e12cf99d0 @ 30)
#2 55dae5f4dfe0 i /home/levi/.local/share/gnome-shell/extensions/[email protected]/extension.js:385 (7f8e12cdc700 @ 61)
Object Clutter.Actor (0x55dae74ecd70), has been already deallocated — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Object St.BoxLayout (0x55dae5fe9cd0), has been already deallocated — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
JS ERROR: Error: Argument 'child' (type interface) may not be null
untrack@/home/levi/.local/share/gnome-shell/extensions/[email protected]/active_hint.js:44:13
track_window@/home/levi/.local/share/gnome-shell/extensions/[email protected]/active_hint.js:15:9
on_focused/<@/home/levi/.local/share/gnome-shell/extensions/[email protected]/extension.js:385:74
I also saw gnome shell crash once while I was using it, but I can't be certain it was because of this feature.
When I did have it running, it definitely made it faster and easier to traverse tiled windows.
This should be fixed now; besides the flashing
Seems something is occasionally destroying the box. Have yet to figure out what
Issues with workspace switching are now resolved.
I'm not sure if this is currently in-progress, but it looks like Active Hint has stopped working completely.
It should still be working. If it's not, something destroyed its St.BoxLayout. Perhaps I should recreate it whenever it gets destroyed.
I've discovered that Active Hint has only stopped working on my machine. I'll move to a clean install to continue testing, but it also seems odd that it only doesn't work on my install :thinking:
It looks like active hints sometimes to draw on top of their windows between workspace switches.
Tangentially related question: active hints disappeared forever some time ago. Even uninstalling the pop-shell extension and rebuilding didn't bring them back. Is there anything I could try to make them return? I do really like the feature.
It could be that the CSS for it is not being loaded. Is the focus highlighting working for the launcher?
Ah I think you're onto something. The blue highlight box appears, but I don't get the orange item highlight box inside of the launcher itself. Is there a way to force the CSS to reload?
Try the most recent commit
Woo, that did it! Thanks! It does still draw the orange hint box over the top of windows on workspace switching, but that's separate. I can file it as a separate issue if this one has become too chaotic.
See if the overlay is fixed now
Much better. It doesn't draw over windows anymore. It does persist on empty workspaces though.

Ah, I may have spoke too soon. It will draw on top of a window if I close an adjacent window. In this image I had the left terminal split in two, then closed the bottom one. The hint drew over the top of the one on that side that I didn't close.

This is implemented, so I'm going to close this issue. It's just getting crowded at this point.
Most helpful comment
I do also think that we need to have a border around a window indicating that it is active, as it works in i3wm.