Skip to content

feat: add seek_handle_border options#662

Merged
Samillion merged 7 commits intoSamillion:mainfrom
Keith94:seek_handle_border
Apr 16, 2026
Merged

feat: add seek_handle_border options#662
Samillion merged 7 commits intoSamillion:mainfrom
Keith94:seek_handle_border

Conversation

@Keith94
Copy link
Copy Markdown
Contributor

@Keith94 Keith94 commented Apr 10, 2026

Adds a border to seekbar handle with related options for color, thickness, and hover thickness expressed as a ratio.

Changed slider_hover_size default value to 100 with toggle removed. Slightly increased handle sizes.

If accepted, will update docs later.

@Samillion

This comment was marked as resolved.

@Keith94

This comment was marked as resolved.

@Samillion
Copy link
Copy Markdown
Owner

Don't know if there's a more elegant way.

Initially I thought just editing bord value and adding color would do it, but I don't think that would work, since for it to work the handle would need to be its own element, not tied to seekbar.... I think.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 10, 2026

Hmm, if you draw a border like that on a shape would it cause any artifacts or blurriness though?

@Samillion
Copy link
Copy Markdown
Owner

I genuinely have no idea. In theory, it should be fine, since it works on ass drawn elements (icons, indicators and such)

Like I said though, I have never done something like this, so my information is basically all theory.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 10, 2026

Making the handle its own element would be a huge refactor since the handle depends on the slider's state and has to move in sync every frame.

Probably not worth it to go that route.

@Samillion

This comment was marked as resolved.

@Keith94

This comment was marked as resolved.

@Samillion

This comment was marked as resolved.

@Keith94

This comment was marked as resolved.

@Samillion

This comment was marked as resolved.

@Samillion

This comment was marked as resolved.

refactor: add seek_handle_border_color to colors
chore: add various comments
@Keith94 Keith94 force-pushed the seek_handle_border branch from 9f6d3fe to 2b2a4d3 Compare April 11, 2026 01:34
@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 11, 2026

I added a few comments to clarify a bit, and updated docs. Hopefully should be good to go.

@Samillion
Copy link
Copy Markdown
Owner

Beautiful, thank you so much for your effort.

If you don't mind:

  • Can we test this thoroughly before merging? As in, delay a fast merge for a bit.
  • The color of the border (and border size, maybe?) still feel a bit off. I LOVE the idea, just the aesthetics of it looks strange
image

Or is that just me? (Be honest, I'm often wrong)

For example, Firefox: (from ontop in top bar PR)

image

Their method is "make the seekhandle match the seekbar's left and right side" ie: ranges/cache

I'm not saying we should absolutely do it like that, but it's a thought to process.

Then again, I remember when nekoxuee showed us Screenbox player:
https://github.com/huynhsontung/Screenbox/blob/main/assets/images/docs/PC-HeroPlayerPageVideo_Dark.png

Which follows what you applied (Windows' UI)

I have no idea to be honest lol.

Other possible references:

I honestly couldn't find any other references, because 90% of what I found is exactly what we're using now. It was surprising the lack of variety in slider styles (pre 2015 there is A LOT, but look ancient)

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 11, 2026

The Firefox look is perfectly suitable (used to be a fan of the browser for many years) and I don't mind applying it at all.

What you're asking should be feasible with what we have now, right? Can you send me your desired colors etc. and I can apply it.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 11, 2026

Also you can delay the merge for as long as you need.

@Samillion
Copy link
Copy Markdown
Owner

Don't apply, because I have no idea if this is a better default or not.

seek_handle_border_color=#FB8C00
seek_handle_color=#a85607
seek_handle_size=0.8
seek_handle_border_size=0.35
image

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 11, 2026

It does tie very nicely into the orange theme. Let me sleep on it and try a few options.

@Samillion
Copy link
Copy Markdown
Owner

I genuinely trust your sense of aesthetic, it was you that suggested the orange palette in the first place. Can't wait.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 11, 2026

The difference I'm seeing is that Firefox uses a fully opaque seekbar background whereas ModernZ uses 50% opacity.

In order to mimic their appearance, we could make the seekbar_bg opaque so the handle color is always consistent with it. This appears to be a common approach with those sliders.

image

Want me to apply the fix?

@Samillion
Copy link
Copy Markdown
Owner

Sounds good, consistency always wins.

Slider backgrounds always renders fully opaque. Seekbar stays opaque when disabled.

Cache ranges now render over the bg portion only.
@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 12, 2026

The cache rendering over the foreground seemed unusual and affected the color, so I made it render over background only. I'm not sure if we still want seekrangealpha in this case or we could make it opaque in the future.

Let me know if that's okay

@Samillion
Copy link
Copy Markdown
Owner

I don't mind at all, I think the original idea was to give a visual hint of back cache, hence the transparency.

Though it's not that important, as long as forward cache is visible like before.

@Samillion
Copy link
Copy Markdown
Owner

Samillion commented Apr 12, 2026

Before you do more work, I have to ask, is all this worth the effort just for a slider handle border?

Genuinely asking, not rejecting. It seems like such a huge refactor for a small visual outcome. It's probably why most don't add border.

Edit:
Again, to be crystal clear, I'm not rejecting, just asking genuinely.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 12, 2026

I think it's worth it. Unlike other players, we can produce some nice color combinations now. Here's my personal one.

image

Ultimately, you have the final say whether you want it or not.

@Samillion
Copy link
Copy Markdown
Owner

I think it's worth it. Unlike other players, we can produce some nice color combinations now.

Agreed, customization is always nice.

Here's my personal one.

Beautiful.


I will not hinder progress on this anymore as I honestly doubt my own opinion when it comes to aesthetics.

cc @nekoxuee @clivedc Apologies for the bother. Could you help us decide on default color option for this new slider look please? Only if it's not a bother.

@Samillion
Copy link
Copy Markdown
Owner

@Keith94 to not delay anything further, by all means make all the changes you think will be good. I trust your instinct.

Once it's merge ready, let me know. Take all the time you need. If you need any help, don't hesitate to let me know.

@Keith94 Keith94 force-pushed the seek_handle_border branch from ce675dd to fe361d7 Compare April 13, 2026 10:48
@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 13, 2026

I made default colors a bit darker and changed alpha to 75%. Seems good enough.

@nekoxuee
Copy link
Copy Markdown
Contributor

Handle is fine. The main problem is the warm background and orange accent are too close in temperature, and the played/unplayed lacks contrast. seekbarbg_color should be a cool neutral colour.


image

Keith personal colours fix this exact problem

@Samillion
Copy link
Copy Markdown
Owner

Samillion commented Apr 13, 2026

Indeed, his pick (personal setup) looks very nice.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 13, 2026

Ah, should I apply that here?

Not sure if you want specific parts or whole thing exactly. The new orange shade is from Windows Media Player.

@Samillion
Copy link
Copy Markdown
Owner

Like I said, I trust your instinct.

If they turn out to be good, yay, if not, we'll make you feel bad about it. It's a win win for us.

Joking aside, it really does look nice, we can adjust whatever if need be.

@Keith94 Keith94 force-pushed the seek_handle_border branch from fe361d7 to a024057 Compare April 14, 2026 01:28
@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 14, 2026

Pushed another adjustment.

For some reason, picking the default colors is way too stressful for me. >.<

@Keith94 Keith94 force-pushed the seek_handle_border branch from a024057 to 583b889 Compare April 14, 2026 02:34
@Samillion
Copy link
Copy Markdown
Owner

Samillion commented Apr 14, 2026

I love the seekbar colors. The thing is, the second I see the handle my brain screams "this is not right"

handle_colors_02

handle_colors_01

However, I promised I won't hinder progress, so I merely ask, the dark gray border/circle with orange circle inside looks ok to you guys? @Keith94 @nekoxuee

@Samillion
Copy link
Copy Markdown
Owner

For reference, not to impose an opinion:

seek_handle_border_color=#FF8232
seek_handle_color=#a85607

handle_colors_01

handle_colors_02

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 14, 2026

I like both! Your example seems like a safer option. Stands out against all backgrounds. Will change in a bit.

@Samillion
Copy link
Copy Markdown
Owner

Like I said, I didn't mean to impose an opinion. Which do you think would be the best default? Ignore my suggestion, my opinion is just there to brainstorm, not to decide over others.

Or if you have an alternative to both suggestions.

As you pointed out, the reason I "feel" it's not right is because the border disappears a lot, making the middle circle seem out of place.

Unfortunately, we don't get direct feedback a lot, only passive indicators (ie: stars count) So the burden of deciding what would be good is entirely on us.

@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 14, 2026

I prefer yours for the reason I mentioned. It's always visible even with a dark video. I don't forsee many complaints because it's all customizable.

@Samillion
Copy link
Copy Markdown
Owner

Alright. When you make the change, let me know when it's merge ready please or if you'd like me to wait. There is no rush at all.

Thanks for all your efforts and indulging me through my annoying process.

@Keith94 Keith94 force-pushed the seek_handle_border branch from 583b889 to 0402d91 Compare April 15, 2026 23:29
@Keith94
Copy link
Copy Markdown
Contributor Author

Keith94 commented Apr 15, 2026

Rebased and updated colors. Seems good on my end.

@Samillion
Copy link
Copy Markdown
Owner

Samillion commented Apr 16, 2026

Much appreciated. ❤️

Merging.

@Samillion Samillion merged commit 5e5e763 into Samillion:main Apr 16, 2026
@Keith94 Keith94 deleted the seek_handle_border branch April 16, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants