slint-ui / slint

Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
https://slint.dev
Other
17.48k stars 599 forks source link

MacOS Widget issues #5844

Open NigelBreslaw opened 2 months ago

NigelBreslaw commented 2 months ago

Placeholder mega issue for various MacOS inconsistency issues in look and behaviour. This is based on MacOS Sonoma on a HDR HiDPI screen (P3 color space). MacOS Sequoia comes out in the next couple of months and may change some things. XScope is used to create those zoomed views. It's a UX tool for placing grid lines on screen, zooming, colour picking, etc.

General

Screenshot 2024-08-14 at 13 36 52
Hairline pixel line support
image

Text

image

Switch issues:

Screenshot 2024-08-14 at 13 29 33

Progress spinner

https://github.com/user-attachments/assets/aee1fbdb-40f3-4e94-be64-b225a569dfe6

Combo box

https://github.com/user-attachments/assets/8544f213-b69c-4acf-906f-a77d8b58763a

image

Slider

Screenshot 2024-08-14 at 23 21 59

https://github.com/user-attachments/assets/2f739319-a6b2-40a3-ad3d-8682853679a5

Nice example of a slider with microanimations on the speakers. Apple have been doing some work with the SwfitUI API to help here https://x.com/sucodeee/status/1821516860728225820

Promotion support

Screenshot 2024-08-14 at 23 18 25
ogoffart commented 2 months ago

unfocussed' look

We have this concept in Slint and this is used by the Qt style. We'd need to make that available for other styles, but that's doable. (Same trick as the dark style)

primary tint

We talked about that before. This concept also exist on windows and android. We just need to make this available same as dark style. Might need some platform specific native code got query it

border or line is a single device pixel regardless of DPI.

That's why we have the phx unit: border-width: 1phx;

Text

This and other aliasing/rendering issues may be caused by the renderer. Here there is a slight difference between Skia and Femtovg. Might be worth investigating if we can fix them in both, but I'd think Skia will always give better result, but is not the default because it is harder to build.

Enyium commented 1 month ago

Switch issues:

If you used the FemtoVG renderer for your screenshot, this has to do with #4831.