Menus inaccessible in dark mode
Moderators: Hacker, petermad, Stefan2, white
Menus inaccessible in dark mode
When I switch on dark mode in TC9.5, the main menu does not expand any more (neither via mouse nor via keyboard) and I cannot execute any menu command. [Windows 10, 1809]
(I can expand context menus, and they appear in light mode.)
Considering my other two bug reports with crashes, I suspect that my system has a some very strange configuration causing all these problems.
(I can expand context menus, and they appear in light mode.)
Considering my other two bug reports with crashes, I suspect that my system has a some very strange configuration causing all these problems.
- sqa_wizard
- Power Member
- Posts: 3893
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
Re: Menus inaccessible in dark mode
Looks like a damaged TC installation.
You may re-download TC and install it once again.
You may re-download TC and install it once again.
#5767 Personal license
Re: Menus inaccessible in dark mode
There may be also some problems with configuration (ini) files or with graphic card drivers…
Andrzej P. Wozniak
Polish subforum moderator
Polish subforum moderator
Re: Menus inaccessible in dark mode
I did downloaded TC 9.5 once again, installed it again and I tried it with a fresh wincmd.ini (/i option):
The menu is inaccessible in the dark mode of TC 9.5 64 bit. TC 9.5 32 bit version works fine.
BTW: my graphics card driver is up-to-date.
The menu is inaccessible in the dark mode of TC 9.5 64 bit. TC 9.5 32 bit version works fine.
BTW: my graphics card driver is up-to-date.
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Menus inaccessible in dark mode
It sounds more like a broken Windows 10 to me. Try following the repair procedure in my other reply:
https://www.ghisler.ch/board/viewtopic.php?f=32&t=57605&p=369869#p369869
https://www.ghisler.ch/board/viewtopic.php?f=32&t=57605&p=369869#p369869
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: Menus inaccessible in dark mode
Some drivers certificated by MS are buggy, yet Windows 10 reinstall them on every Windows Update. Some newest drivers may be also buggy or designated for newest hardware only.
There may be also other bugs caused by Windows Update or some 3rd party internet security suite, for example missing or broken entries in Windows registry.
It's really hard to guess…
Andrzej P. Wozniak
Polish subforum moderator
Polish subforum moderator
Re: Menus inaccessible in dark mode
I agree, it's hard to track down "from the outside".
Using Spy++, I can see that in dark mode there's a WM_UNINITMENUPOPUP message immediately after WM_INITMENUPOPUP when clicking on the menu. In light mode WM_INITMENUPOPUP is followed by typical drawing messages like WM_MEASUREITEM, WM_DRAWITEM, etc
Using Spy++, I can see that in dark mode there's a WM_UNINITMENUPOPUP message immediately after WM_INITMENUPOPUP when clicking on the menu. In light mode WM_INITMENUPOPUP is followed by typical drawing messages like WM_MEASUREITEM, WM_DRAWITEM, etc
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Menus inaccessible in dark mode
You could try to switch to emulated dark mode:
wincmd.ini under section [Configuration] please add:
ForceDarkModeOptions=1
You can edit the wincmd.ini via Configuration - Change settings files directly.
wincmd.ini under section [Configuration] please add:
ForceDarkModeOptions=1
You can edit the wincmd.ini via Configuration - Change settings files directly.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: Menus inaccessible in dark mode
Actually emulated dark mode should be enabled with value 2 or 3:ghisler(Author) wrote: 2020-02-14, 14:34 UTC You could try to switch to emulated dark mode:
wincmd.ini under section [Configuration] please add:
ForceDarkModeOptions=1
HISTORY.TXT wrote:07.01.20 Added: wincmd.ini [Configuration] ForceDarkModeOptions=2: Same as 3, but use dark title bar (32/64)
07.01.20 Added: wincmd.ini [Configuration] ForceDarkModeOptions=3 disables Windows 10-specific dark mode functions and uses compatibility mode from older versions (32/64)
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Re: Menus inaccessible in dark mode
That's what I would think too.DrShark wrote: 2020-02-14, 14:41 UTC Actually emulated dark mode should be enabled with value 2 or 3:HISTORY.TXT wrote:07.01.20 Added: wincmd.ini [Configuration] ForceDarkModeOptions=2: Same as 3, but use dark title bar (32/64)
07.01.20 Added: wincmd.ini [Configuration] ForceDarkModeOptions=3 disables Windows 10-specific dark mode functions and uses compatibility mode from older versions (32/64)
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Menus inaccessible in dark mode
Yes, sorry, I meant ForceDarkModeOptions=2.
If this doesn't help, please try with Total Commander 9.50 RC1, it uses a different (but more flickering) method to draw the main menu border:
32-bit: https://www.totalcommander.ch/beta/tc950x32_rc1.exe
64-bit: https://www.totalcommander.ch/beta/tc950x64_rc1.exe
combined: https://www.totalcommander.ch/beta/tc950x32_64_rc1.exe
If this doesn't help, please try with Total Commander 9.50 RC1, it uses a different (but more flickering) method to draw the main menu border:
32-bit: https://www.totalcommander.ch/beta/tc950x32_rc1.exe
64-bit: https://www.totalcommander.ch/beta/tc950x64_rc1.exe
combined: https://www.totalcommander.ch/beta/tc950x32_64_rc1.exe
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: Menus inaccessible in dark mode
ForceDarkModeOptions did not help, I tried options 1, 2 and 3 and neither one showed the menu in dark mode. (As the title bar changed, the setting was read.)
With TC 960x64 RC1 the menu is shown, but then after about 1 second I get a different crash:
Event viewer report:
[...]
Faulting module name: uxtheme.dll, version: 10.0.17763.831, time stamp: 0x607fb06a
Exception code: 0xc0000005
Fault offset: 0x00000000000015d4
[...]
Faulting module path: C:\WINDOWS\system32\uxtheme.dll
I executed scf /scannow, and it did not report any problem.
So far I did not test 9.5RC1x32 as the released 9.50x32 version works fine on my PC (no dark mode menu nor folder tabs problem).
With TC 960x64 RC1 the menu is shown, but then after about 1 second I get a different crash:
Code: Select all
uxtheme.dll!CThemeMenu::OnInit(HWND__ * hwnd, unsigned __int64 lParam, __int64 plRet, __int64 *) Line 1272 C++
[Inline Frame] uxtheme.dll!CThemeWnd::_PreDefWindowProc(HWND__ *) Line 7830 C++
uxtheme.dll!_ThemeDefWindowProc(HWND__ * hwnd, unsigned int uMsg, unsigned __int64 wParam, __int64 lParam, int bUnicode) Line 1028 C++
uxtheme.dll!ThemeDefWindowProcW(HWND__ * hwnd, unsigned int uMsg, unsigned __int64 wParam, __int64 lParam) Line 1109 C++
user32.dll!DefWindowProcW() Unknown
user32.dll!MenuWndProcWorker(struct HWND__ *,unsigned int,unsigned __int64,__int64,int) Unknown
user32.dll!MenuWndProcW(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!CallWindowProcW() Unknown
TOTALCMD64.EXE!000000000049b3dd() Unknown
[...]
Faulting module name: uxtheme.dll, version: 10.0.17763.831, time stamp: 0x607fb06a
Exception code: 0xc0000005
Fault offset: 0x00000000000015d4
[...]
Faulting module path: C:\WINDOWS\system32\uxtheme.dll
I executed scf /scannow, and it did not report any problem.
So far I did not test 9.5RC1x32 as the released 9.50x32 version works fine on my PC (no dark mode menu nor folder tabs problem).
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Menus inaccessible in dark mode
I see - apparently the subclassing of the main window menu to draw the borders dark is causing your problem. Unfortunately I have no idea why only you are affected so far - maybe some other software is also trying to subclass the same window. Anyway, I will add an option to RC2 to turn off the subclassing. This will give you main menus with a white border, though.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Menus inaccessible in dark mode
I found something: In one of the subclass calls, I was using longint instead of LPARAM to convert the pointer, which dropped the upper 32 bits. Total Commander is set to launch in the lower 4GB of the address room, but this can be overridden. Do you use some tool which does this?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Re: Menus inaccessible in dark mode
My PC has 32 GB. I am not aware of any setting or tool enforcing the application to run above 4 GB.
Using VMMAP, I did not notice any difference in the memory layout of TC 9.22a (x64) and TC 9.50 (x64). The TOTALCMD64.exe image is at 0x400000, while the system DLLs are at higher adresses:
0x61470000: c:\windows\system32\sysfer.dll
0x7FF8ACA50000 (and larger): other Windows DLLs
The dark mode is not that important for me, I am ok with light mode or dark mode with white borders.
But the non-working folder tabs would be a severe limitation for me.
I am looking forward to testing a fixed version. Thank you for continuing to investigate my crash reports.
Using VMMAP, I did not notice any difference in the memory layout of TC 9.22a (x64) and TC 9.50 (x64). The TOTALCMD64.exe image is at 0x400000, while the system DLLs are at higher adresses:
0x61470000: c:\windows\system32\sysfer.dll
0x7FF8ACA50000 (and larger): other Windows DLLs
The dark mode is not that important for me, I am ok with light mode or dark mode with white borders.
But the non-working folder tabs would be a severe limitation for me.
I am looking forward to testing a fixed version. Thank you for continuing to investigate my crash reports.