nls1729 / acme-code

Gnome Shell Extensions etc...
https://nls1729.github.io
GNU General Public License v2.0
66 stars 25 forks source link

Activities Configurator shows "Activities" on new GNOME 3.36 lock screen #71

Closed bmreading closed 4 years ago

bmreading commented 4 years ago

Not sure if this occurred prior to GNOME 3.36, but I used the Activities Configurator shell extension to add an icon next to my Activities menu after updating to Fedora 32, and now it shows "Activities" on the lock screen. It doesn't do anything when I click it, but I'd imagine the extension needs updating to not allow visibility.

I currently have version 84 installed as downloaded from the GNOME Extensions website.

nls1729 commented 4 years ago

Do you see the icon? If not it is not the extension. To be absolutely sure change the text with the New Text extension preference and then lock the screen. If you continue to see Activities it is definitely not the extension. What linux distro are you using?

bmreading commented 4 years ago

I'm running Fedora 32. I went ahead, and changed it as you asked, and yeah, it shows "Activities" not my "Activities Test" text that I temporarily changed it to with the extension. So, if you are certain that this is not a bug from the extension, I'll talk to the Fedora team instead. Thanks for your quick response.

nls1729 commented 4 years ago

I out smarted myself. There appears to be a connection to the extension. The extension creates a button that replaces the Activities Button. It hides the Activities Button and then show the Activities Configurator Button. There appears to be something in the 3.36 shell that is showing the Activities Button when the screen is locked. If you disable the Activities Configurator and then lock the screen the Activities Button is not displayed. I will look at what changed in the shell and see if I can fix this. I have an idea that instead of checking the shell to see if the Activities Button the Gnome developer simply did a toggle based on the visible state, ie. he set it to not what it is.

nls1729 commented 4 years ago

Please see contents of attached file. Let me know what you think.

Issue71.txt

bmreading commented 4 years ago

This worked for me! Thanks for re-evaluating.

ghost commented 4 years ago

Hello @nls1729 sorry for bumping this issue but as said the following comment in GNOME website:

Activities button is now hidden on lock screen! However, I noticed that when I unlock the screen, the default activities button shows up on my desktop for about 2 seconds then gets modified. Is this fixable so that I don't see it at all, ever?

I have the same problem, like everybody else I guess.

nls1729 commented 4 years ago

What version of the extension do you have installed?

ghost commented 4 years ago

v85 GS 3.36

nls1729 commented 4 years ago

@DarthWound @RootHouston

Please disregard my previous comment. It was about 1:30 AM when I woke up in front of my computer and did not do a good job of reading my email.

When the screen is locked all enabled extensions are disabled. When the screen is unlocked the extensions which were disabled by the screen lock are re-enabled. Version GS 3.36 made changes to the screen lock/unlock code. Issue #71 reported the Activities label was displayed when screen was locked. The conflict between the extension and 3.36 screen locking change was resolved in version 85 of the extension. There is a small intentional delay in the extension to prevent any other extension from displacing the Activities Configurator from the Activities corner. The placement of the extension on the panel is determined by its order of enable. To be placed in the Activities corner the Activities Configurator must be the last enabled extension placed in the left panel area. The delay is 1.5 seconds. Without the delay the Activities Configurator is displaced to different positions. I tested the lock/unlock sequence in GS 3.34 and 3.36 and found no noticeable difference in the time before the Activities Configurator and it effects are displayed. To quote the Talking Heads, "Same as it ever was". Given the delay is required for the proper position of the extension, issue 71 will remain closed. If I could fix it I would.

ghost commented 4 years ago

Thanks for your input!

However, just a suggestion, maybe add an option to force instant loading of AC for people like me that don't use any other extension in the left area (or at all... AC is the only one I enable nowadays).

Or, maybe you could look at how ARGOS works, because this extension allows us to choose the position, for example "l1" is the first at left, "c2" is the second at the center, etc. But it requires much more work I guess.

Of course, this delay isn't a major issue, it's just that I (and the guy I've quoted) probably have OCDs :laughing:

nls1729 commented 4 years ago

@DarthWound @RootHouston

After some thought I decided to look really hard for a solution. I try to leave no syndrome un-accommodated if at all possible.

I have spent the day reviewing the extension's code and the shell's code. I found in fact the reasons for needing to always be in the Activities corner no longer apply. Also some of the extensions that in the past displaced the Activities Configurator have been changed to honor the Activities position. Applications Menu and Places Status Indicator, both are Gnome provided extensions. Applications Menu was the reason the delay was added to the AC a few years ago. For the near term you can disable the delay by making the following change to the extension.js file in ~/.local/share/gnome-shell/extensions.

Change line 1044: From: this._timeoutId = Mainloop.timeout_add(1500, this._delayedEnable.bind(this)); To: this._timeoutId = Mainloop.timeout_add(5, this._delayedEnable.bind(this));

The 5 milliseconds will not be long enough to be visible.

If you want to keep the AC extension in the corner you can enable the Enable Conflict Detection preference. If an extension displaces the AC the AC will be disabled and then enabled which will displace the conflicting extension. It looks messy when it happens but in earlier times it insured some AC extension features would function properly.

If all goes well for you with the above code change I will add a preference that will disable the delay.

This might be of interest. Version 1 of the extension was reviewed and accepted on June 24, 2012. It had 285 lines in extension.js. Today version 85 has 1143 lines. Also most all of what it does now has nothing to do with the Activities corner.

Be safe.

ghost commented 4 years ago

Great news, thank you for your time and your work.

The modification is ok for me, instant change and no glitches/bugs. Will report related issues if any.

nls1729 commented 4 years ago

Version 86 Disable Enable Delay clears this issue.