Tampermonkey / tampermonkey

Tampermonkey is the most popular userscript manager, with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.
GNU General Public License v3.0
4.26k stars 422 forks source link

hard to notice that Tampermonkey is self-disabled #860

Open filbo opened 4 years ago

filbo commented 4 years ago

(Please fill out the issue template with your details)

Expected Behavior

Unambiguously obvious indicator when TM is self-disabled

Actual Behavior

Obvious 'to the initiated', but not unambiguously obvious indicator

Specifications

Script

Not relevant

Issue:

Tampermonkey has an internal self-disable switch, accessible from the browser toolbar icon > Enabled.

When in the normal (Enabled) state, it presents as:

[green checkmark] Enabled [rest of TM menu follows]

-- also, when the menu is not opened, the TM icon is bright and has a '1' on if (if a script applies to the current page).

In the disabled state, several things change:

[red 'x'] Enabled ['Enabled' is greyed out] [rest of TM menu follows, but the section about running scripts is omitted]

-- and when the menu is not opened, the TM icon is dimmed and does not have a number on it.

Each of those changes is obvious on reflection, but not necessarily obvious to a new user. In particular, the word 'Enabled' still says 'Enabled', and all of the other cues are relatively subtle except when contrasted with the normal enabled state, which the new user is not necessarily familiar with.

I am asking you to change it to read 'Disabled' when in the disabled state. I think it would then be impossible for even the most naive user to fail to recognize that the reason their TM scripts are not running is that TM itself is disabled.

My example image adds one further subtle cue: 'Disabled' is written in a greyed-out red (rather than black) color.

Possible further enhancements: use the 'left-right toggle switch' image, as seen on individual scripts, rather than 'green checkmark' / 'red x'; further colorize that switch ('red off-switch' / 'green on-switch', rather than black / green); and use 'Tampermonkey is [Enabled / Disabled]' rather than just the bare word '[Enabled / Disabled]'. See bottom right section of image. This has the added benefit of adding the name of the extension to its menu; otherwise it relies entirely on the user's recognition of the icon.

I know it's a pain because of Internationalization. But would have saved a lengthy thread on our support forum, and issue #859 here (as well as this one...) tmp2

filbo commented 4 years ago

I've just had another go-around on this issue with a user. Which made me realize another 2 aspects of what's wrong with this part of Tampermonkey. I started with this:

  1. the square-monkey-head browser extension bar menu should say 'Disabled' when disabled

  2. even better, it should use the red/green and left/right slider switch mechanism with Enabled/Disabled words

I now add:

  1. A big part of the problem is that users can get into and operate the TM Settings menu / dashboard while it is disabled. So of course they do not intuit that it's disabled!

  2. The fix for that is not to disable the UI while TM is self-disabled; rather, ADD THE ENABLE/DISABLE SWITCH to the top of the TM Settings page. In all three config modes (Novice/Beginner/Advanced). I think it should be the very first setting, just above 'Config mode'. The entire Dashboard, including Settings but really all tabs, should also have appearance changes to reinforce the 'I am disabled' concept. Grey out the green titlebar; add relevant text. Like so:

tm-disabled

filbo commented 3 years ago

grump. 18mo later, nothing has changed. The only indications that TM is internally disabled are in the pulldown from the browser toolbar monkey-head. The toolbar icon doesn't show it; the TM config interface shows nothing. The only hints are whether the word 'Enabled' is shaded or not, and whether it has a green checkmark or a red 'x' -- all in a place where you have to actively seek it out. :(

One of the differences I mentioned in the original report is false. I said the TM icon (on the browser toolbar) is dimmed if it's disabled. This is true; but it is also dimmed if enabled, if TM isn't running any scripts on that tab. Dim icon = 'no scripts on this tab', not 'disabled'.

dnknn commented 3 years ago

@filbo

chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/options.html#nav=settings#:~:text=CSS

you can customize the CSS , for example: ^_^

actionregion.ar_top .at_enabled {height:150px;font-size:0}
.actionregion.ar_top .green {font-size:33px !important}
.actionregion.ar_top .red   {font-size:49px!important}
.actionregion.ar_top .at_enabled:active {opacity:.6;transform:translateY(3px)}

.actionregion.ar_top .at_enabled i.far  {min-width:44px;max-width:44px}
filbo commented 3 years ago

Thanks, but I'm supporting naive users. The set of users who can install a CSS tweak like that intersects very little with the set of users who are likely to be confused by the existing menu.

I'm not trying to get my menu fixed, I'm trying to get to where next time one of my users has this problem, they figure it out themselves because the issue is obvious.

mattjson commented 1 year ago

I ran into this and only figured out what was going today thanks to reading through this issue, after my scripts had not been running for several weeks.

filbo commented 1 year ago

This works well. But again, not trying to fix my own setup, trying to make it so other users don't have to discover this themselves.

.greyed::before {
    content:"Tampermonkey is DISABLED";
    color:red!important;
    outline:2px solid orange;
    padding:3px;
}
.greyed { color:white!important; }

tmp

filbo commented 1 year ago

(and by 'works well' I mean 'works well for a 2s test' ... does not work at all well on the main TM dashboard, if you have any disabled scripts...)