elementary / quick-settings

Access frequently used settings and system actions
GNU General Public License v3.0
2 stars 0 forks source link

Font size slider resizes the UI immediately #62

Closed RedNeath closed 2 weeks ago

RedNeath commented 2 weeks ago

What Happened?

When I tried to move the slider around, my UI started changing immediately, and the slider moved vertically.

The vertical distance between my cursor and the slider increased, and it became hard to know which side I should drag the cursor to increase or reduce the font size.

In case I'm not clear, here is a short video (11s) showing the behaviour I am experiencing (no audio).

https://github.com/user-attachments/assets/e7fb6c06-e0db-4307-8faa-aa1f820c046b

Steps to Reproduce

  1. Click on the quick settings button in the wingpanel
  2. Grab the font size slider selector
  3. Try to drag it to a specific point while the UI is resizing :flushed::sweat_drops:

Expected Behavior

I do not think there is a fixed behaviour expected yet, so I am just going to detail propositions below:

  1. Resize on release: you can drag the selector around as much as you want, and your modifications will take effect only when you release the mouse button.
Pros Cons
- Rather easy to make (just a change in the event listened?) - You can't preview your changes, so you will most likely need to hold and drag more than once before you get to a satisfying font size
  1. Add more steps: the slider becomes a discrete slider, you can only place the selector on one of those steps, but the UI keeps refreshing immediately (you could potentially just click on the step you want the selector to be instead of dragging it)
Pros Cons
- Real time refresh is still possible
- It is also possible to reach the target size with one click
- Size is no longer 100% customizable (at least in the quick options, but I think some people could get confused?)
  1. Keep the default font size for the quick settings menu while the slider selector is not released. The UI would keep updating in real time, except for this menu
Pros Cons
- No customization loss
- Real time refresh
- Possible synchronisation problems (and globally a more complex maintenance)
  1. Make the slider flying: this is probably not possible, but maybe we could dissociate the slider from the menu, so that it would fly in front of it and not change in size and vertical position while all the UI resizes. The flying version would disappear when the mouse button is released, and reappear with the appropriate size in the menu.
    This may be hard to imagine, don't hesitate to ask about it ^^'
Pros Cons
- No customization loss
- Real time refresh
- Probably the most stylish approach imho ^^
- Probably quite unnecessarily hard to make, especially for a setting that will most likely only be modified once or twice

I don't know if we can create polls through github issues, but you can react with :one:, :two:, :three: or :four: to indicate which option is the one you prefer

NOTE:
I have no clue how complex the propositions may be to implement concretely, some may not be viable at all. I'm only making assumptions when I say that a proposition is "easy" to develop or complex to maintain.

OS Version

8.x (Early Access)

Session Type

Classic Session (X11, This is the default)

Software Version

Latest release (I have run all updates)

Log Output

No response

Hardware Info

No response

alainm23 commented 2 weeks ago

As another solution, a debounce time could be added, so that when the user stops changing, it is updated.