Skip to content

Windows 10/11 dark mode #2604

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

59de44955ebd
Copy link

Hi, I hacked Windows 10/11 dark mode support into ConEmu, it's not perfect yet, but maybe you want to check it out.

@Maximus5
Copy link
Owner

Maximus5 commented Apr 7, 2025

I'm excited to see this PR. In the past, I tried to add dark mode but didn't finish.

I would be happy to merge your PR, but I'd like to keep compatibility with older Windows versions.
Do you have time to work on the PR to address my comments?

return FALSE;

case WM_CTLCOLORDLG:
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a copy/paste added to several dialog classes.
It's better to move this processing into a separate function, e.g. CSetPgBase::ProcessCtlColors and call the function from here.
The signature might be

bool CSetPgApps::ProcessCtlColors(HWND hDlg, UINT messg, WPARAM wParam, LPARAM lParam, INT_PTR& lResult)

when ProcessCtlColors returns true, pageOpProc will return lResult. So we don't need to implement case's in pageOp.

@@ -1,90 +1,16 @@
## About ConEmu
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add changes into the original readme, instead of making a copy.

</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141_xp</PlatformToolset>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep PlatformToolset unchanged. if you don't have v141_xp installed, you may use v141 for your local tests. But please don't add this change to the PR.

In case you need you need some new Win11 API, you may add/call functions using DwmHelper.

@@ -185,7 +186,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;Dwmapi.lib;UxTheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to add this libs. They are loaded automatically on demand. Please remove to keep compatibility with older windows versions

@@ -0,0 +1,93 @@
// This file contains code from
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you explain why do we need this?

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.

2 participants