WinMerge / winmerge

WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
https://winmerge.org/
GNU General Public License v2.0
6.05k stars 773 forks source link

Feature: Dark mode #396

Open ShamblerBishop opened 3 years ago

ShamblerBishop commented 3 years ago

Working with WinMerge on a 32" 4K monitor, alt-tabbing between dark-mode Visual Studio, and a full screen WinMerge - is pretty jarring/searing on my eyes - be nice to have a dark mode, like VS!

ShamblerBishop commented 3 years ago

Ah, duplicate.

ikappas commented 3 years ago

@ShamblerBishop I don't think this should be a duplicate of Dark theme since Dark mode is NOT Dark theme.

As implemented in latest Windows 10, Dark mode refers to adjusting the whole application look an feel to be presented in dark colors including main window, menus, icons instead of just theming the content area.

@sdottaka Perhaps this should be re-opened/re-considered?

Neustradamus commented 2 years ago

Any news about it?

sdottaka commented 2 years ago

So far I haven't done anything about dark mode.

I expected to improve Dark Mode support for Win32 applications on Windows 11, but I haven't seen any improvement.

Currently, I'm not very enthusiastic because dark mode can only be achieved using an undocumented API. Pull Requests are welcome.

PwrSrg commented 2 years ago

+1 This is desperately needed. The "dark" theme (which is hideous btw) is not the same thing as dark MODE.

But for the PRICE, I cannot complain! 😊 Though I am about to switch to Beyond Compare which is rolling out Dark Mode in the upcoming v5 release. 🌑

andresbnd commented 1 year ago

+1 Please we need that! It will be amazing

rigiddesign commented 1 year ago

Considering WinMerge is free software, perhaps it would be worth the author offering up a crowdfunding option to try and fund the development of this.

bamtang-dev commented 9 months ago

Hi, I guess the undocumented API calls are these? https://github.com/ysc3839/win32-darkmode/tree/master I tested this on my PC and it didn't work, and my Windows 10 is in theory "updated" Since the program uses MFC that doesn't support dark mode at all I guess supporting it is out of the question, isn't it?

flappysquirrel commented 8 months ago

I just went down this rabbithole.

Free alternatives with an actual dark UI:

Meld (meldmerge.org)

P4Merge (perforce.com)

Actually, the perforce website gives off strong Oracle vibes, so I'm not too sure about the 'free' part.

oeloo commented 8 months ago

I like WinMerge, but the lack of dark mode makes it unusable for me: when WIndows OS is in dark mode, using WinMerge makes white flashes in your eyes each time you open its window, which is killing the eyes. WinMerge definitely needs a dark mode. Almost all applications, now end 2023, have a light/dark mode automatically switching with Windows OS light/dark mode.

Tamarindo94 commented 5 months ago

This is a much needed feature!

teub commented 4 months ago

hello there, fellow dark-mode users, I've been through the rabbit hole too

kursad-k commented 3 months ago

I just went down this rabbithole.

Free alternatives with an actual dark UI:

Meld (meldmerge.org)

Meld does not look good on win 11 with Dark Mode.

image

luckyluc74 commented 3 months ago

for some code inspiration, notepad++ implemented dark mode, maybe this helps

bamtang-dev commented 3 months ago

for some code inspiration, notepad++ implemented dark mode, maybe this helps

interesting, but do they use MFC? I quickly checked their source code and I can't find if they are using MFC that is the main blocker.

Pysis868 commented 3 months ago

Microsoft Foundation Class (MFC) Library

https://learn.microsoft.com/en-us/cpp/mfc/reference/creating-a-forms-based-mfc-application?view=msvc-170 https://learn.microsoft.com/en-us/cpp/mfc/reference/creating-an-mfc-application?view=msvc-170 https://learn.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications?view=msvc-170

https://learn.microsoft.com/en-us/cpp/mfc/mfc-library-versions?view=msvc-170

Static library files named (N)(U)AFX#(D).LIB. Shared library files named MFC#(U)(D).DLL.

Found an example:

https://learn.microsoft.com/en-us/cpp/windows/redistributing-the-mfc-library?view=msvc-170

mfc140.dll

.../WinMerge/WinMergeU.exe https://www.virustotal.com/gui/file/975a092a2249ecb74e641fde94e51b01c304886a44c9114c35fd956131c47592/summary

Based on the VT report, it is probably a Win32 App, before MFC? Based on those several *32.dll files implementing parts of the complete API.

Reduce Win32API type usage in code

https://github.com/WinMerge/winmerge/blob/master/Src/Merge.vcxproj Link sections, DelayLoadDLLs entries have comdlg32.dll. That may be the main one.

Unrelated: https://malwaretips.com/blogs/vcomp140-dll-what-it-is-how-to-fix-errors/

AutumnGamer commented 3 months ago

+1 I also wanted to ask for dark mode that includes the whole UI! I would much prefer a dark mode that goes with the default darkmode native to windows 10, which is mostly black, instead of the colors currently offered in the limited dark themes. For example, Notepad3 added that as an option called 'Windows Dark Mode' and it works really well and is much calmer to the eyes!

MkazemAkhgary commented 1 month ago

I hope the developers can prioritize this issue. Overall, I think this app is great, and having the proper dark theme with black borders would make it even better. right now dark theme has very sharp white borders which makes it pretty much unusable

luckyluc74 commented 1 month ago

Maybe this is also helpful Win32-darkmode example