Old 28th September 2020, 17:21   #1
Pawel
Moderator
 
Pawel's Avatar
 
Join Date: Aug 2004
Location: Poland
Posts: 525
Send a message via ICQ to Pawel
NSIS - Dark Mode Interface

@NSIS Devs

Windows 10 supports Light and Dark Mode. User can set interface he likes.

Is there any plan to add possibility to NSIS to create installers with Dark Mode interface?
Internall functionality, that user can define in script if he want to use Dark Mode or Light Mode. Is this very hard? Is this possible?

There is a plugin for NSIS (https://theroadtodelphi.com/2014/01/...yles-for-nsis/) that theoretically allow NSIS installer to use so called VCL styles (introduced in Embarcadero products). Unfortunatelly, it is not working correctly. There are plenty issues that are not resolved. Project seems to be not developed actively...

It would be great if user could run NSIS installer in system style. I like Dark Mode. But NSIS installer is always in light style.

How do you think?

Ps: I wonder how NSIS users think... Do you guys want such functionality?
Pawel is offline   Reply With Quote
Old 29th September 2020, 10:32   #2
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,316
The last time I looked at this, dark mode for desktop applications was not documented by Microsoft.

Dark mode is also in conflict with the MUI style.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 30th September 2020, 01:45   #3
Nutzzz
Member
 
Join Date: May 2007
Location: Orange County, CA, U.S.A.
Posts: 73
Yeah, it looks like what Microsoft did with the File Explorer is a bit of a hack-job and not an extensible solution.

Maybe it's not the best solution, but you could check the value in "AppsUseLightTheme" in regkey "HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize" and then use SkinnedControls (or UltraModernUI which includes it) with defines for both possibilities. However, I'm not sure whether those defines can be changed at runtime [though I haven't yet tried very hard]. In any case, it's really easy to make a flat Win10 look (and I've already done it for UMUI, both dark and light versions, if anyone doesn't want to re-invent those wheels).

Somewhat apropos: I've been slowly working on some new UIs inspired by the Visual Studio installer using UMUI as a base that would definitely benefit from dark/light awareness.
Nutzzz is offline   Reply With Quote
Old 30th September 2020, 09:05   #4
Pawel
Moderator
 
Pawel's Avatar
 
Join Date: Aug 2004
Location: Poland
Posts: 525
Send a message via ICQ to Pawel
All those NSIS plugins can not fully "skin" installer window...
I was asking for system based, simple solution.

Unfortunatelly, as Anders wrote, Windows 10 doesn't support any official api to do this in proper way. Yes, there is some unofficial, undocumented api (thanks dro) that is probably used to skin File Explorer (https://github.com/ysc3839/win32-darkmode). Microsoft seems to support only UWP applications. No Dark Mode for win32 apps... I hope it will change.

So... I hope some of NSIS users will create a plugin that will fully skin installer window.
I guess NSIS devs will do this only when there is a proper way, with proper api.

Maybe @RRUZ will fix problems with VCL Styles for NSIS?
From my test this is the best solution for now, but it can not be used in big installer because of many visual issues that can not be presented to end user (and this is a skin - and I think the best would be just ligt or dark mode, system based)...
Pawel is offline   Reply With Quote
Old 30th September 2020, 18:33   #5
Nutzzz
Member
 
Join Date: May 2007
Location: Orange County, CA, U.S.A.
Posts: 73
@Pawel: Indeed. There's also the implementation that TortoiseGit/SVN uses. See "DarkModeHelper" in their code; I see a few other projects have lifted that.
Nutzzz is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump