nyxt icon indicating copy to clipboard operation
nyxt copied to clipboard

mode/auto: Give user feedback when mode get disabled or enabled.

Open Ambrevar opened this issue 1 year ago • 5 comments

Description

Simply echo when auto-mode does its job. Otherwise it can be jarring when a mode gets disabled (invisibly to the user).

Discussion

I've added the echo to buffer-load-hook. But this seems too "local" of a hack.

Can we be more generic? Maybe we could queue the messages and have echo display them all with a timer, e.g. 0.5s per message, unless there are too many. Still not ideal if there are too many messages.

Maybe show a tooltip instead?

Or increase the height of the message buffer to display multiple messages at once?

Or... Have a notification icon in the status area that shows the number of unread warnings (as per echo-warning)?

Checklist:

Everything in this checklist is required for each PR. Please do not approve a PR that does not have all of these items.

  • [x] I have pulled from master before submitting this PR
  • [x] My code follows the style guidelines for Common Lisp code
  • [x] I have performed a self-review of my own code
  • [ ] My code has been reviewed by at least one peer (the peer review to approve a PR counts. The reviewer must download and test the code)
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [x] I have made corresponding changes to the documentation
  • [x] My changes generate no new warnings
  • [ ] I have added tests that prove my fix is effective or that my feature works
  • [ ] New and existing unit tests pass locally with my changes
  • [x] There are no merge conflicts

Ambrevar avatar Jul 08 '22 08:07 Ambrevar

CC @aartaka

Ambrevar avatar Jul 08 '22 08:07 Ambrevar

I see you like once-on :P

What I'd do is rather reporting those immediately, without waiting for a hook...

aartaka avatar Jul 08 '22 08:07 aartaka

The idea with a notification button is a sane one, we can even make a message-panel for that :D

aartaka avatar Jul 08 '22 08:07 aartaka

What I'd do is rather reporting those immediately, without waiting for a hook...

To clarify, the reason I did this is because if we report immediately, the user won't see anything because the message is immediately overwritten by "https:... loaded".

Ambrevar avatar Jul 08 '22 08:07 Ambrevar

Yes, makes sense (҂⌣̀_⌣́)

aartaka avatar Jul 08 '22 08:07 aartaka

@lansingthomas Would you have any suggestion on how to improve the feedback when modes get enabled / disabled on a page load? The message area is clearly too limited for this purpose.

Ambrevar avatar Feb 28 '23 11:02 Ambrevar

Well, actually the fact that things get overwritten in the message area is probably a generic problem with our message area. Probably we should have a queue and each message is displayed for at least 3 seconds or something, with a configurable amount of time.

jmercouris avatar Mar 02 '23 06:03 jmercouris

the fact that things get overwritten in the message area is probably a generic problem with our message area. Probably we should have a queue and each message is displayed for at least 3 seconds or something, with a configurable amount of time.

I think it's too premature to think about this. What we have right now in place is, in my view, good enough.

I think this PR does improve things considerably since it's important to have a distinctive message that disambiguates mode toggling by the user or by auto-mode.

aadcg avatar Mar 02 '23 07:03 aadcg

Agreed. Just because it is not the perfect solution does not mean it is not a good in-between-step!

jmercouris avatar Mar 02 '23 07:03 jmercouris

I would love to see this get merged. I think the echo is better than nothing and there are some other priorities before the modes system gets the attention it deserves. <3

lansingthomas avatar Jul 28 '23 19:07 lansingthomas

@lansingthomas Would you have any suggestion on how to improve the feedback when modes get enabled / disabled on a page load? The message area is clearly too limited for this purpose.

Aaaaaaaw Yeeeaaah

spec for some checkboxes: https://github.com/atlas-engineer/nyxt/issues/3134

lansingthomas avatar Aug 22 '23 19:08 lansingthomas

@lansingthomas, @Ambrevar kindly asked:

@lansingthomas Would you have any suggestion on how to improve the feedback when modes get enabled / disabled on a page load? The message area is clearly too limited for this purpose.

Unfortunately, the issue wasn't properly explained to you. Auto mode automatically toggles modes based on certain rules. In other words, instead of the user manually setting modes, the system does it for them. This should explain why #3134 doesn't quite address the topic. The goal is to come up with a UI that notifies the user of such a change of state. It needs to be discrete while informative. Take a look at the Discussion heading at the top of this page.

Maybe @jmercouris can give you a demo of auto demo so that it will become clearer.

aadcg avatar Aug 22 '23 20:08 aadcg

Please reopen when ready.

jmercouris avatar Oct 28 '23 22:10 jmercouris