mirror of
https://github.com/peter-tanner/Vivado-Dark-Mode-Windows-demo.git
synced 2024-11-30 09:00:31 +08:00
Add demo image to README and warning.
This commit is contained in:
parent
829486994b
commit
c97fd82d34
4
Form1.cs
4
Form1.cs
|
@ -184,10 +184,10 @@ namespace WindowOverlayApp
|
|||
|
||||
private void ForegroundEventProc(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
|
||||
{
|
||||
if (hwnd == notepadHandle)
|
||||
if (IsAnyParentMatching(hwnd, notepadHandle))
|
||||
{
|
||||
UpdateOverlayWindow();
|
||||
} else if (!IsAnyParentMatching(hwnd,notepadHandle) && !IsWindowClass(hwnd, "ForegroundStaging") && !IsWindowClass(hwnd, "MultitaskingViewFrame"))
|
||||
} else if (!IsWindowClass(hwnd, "ForegroundStaging") && !IsWindowClass(hwnd, "MultitaskingViewFrame"))
|
||||
{
|
||||
SetWindowPos(this.Handle, 1, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
|
||||
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
# Vivado Dark Mode
|
||||
|
||||
![Vivado dark mode](example_dark_mode.png)
|
||||
|
||||
> [!WARNING]
|
||||
> This is demo code to show dark mode for any light mode application on Windows is possible, the code is not polished for a final product and the current code does not handle all edge cases.
|
||||
|
||||
This will eventually become a program to make any windows application dark mode, stay tuned.
|
||||
|
||||
This demo uses the Windows magnification API to invert a window and make it dark mode.
|
||||
|
@ -7,6 +12,8 @@ This demo uses the Windows magnification API to invert a window and make it dark
|
|||
## Bugs/Notes
|
||||
|
||||
- When switching windows, it will momentarily flash. This is because of some latency in handling the window foreground event, I am not sure if it is possible to improve on this to make it less noticeable.
|
||||
- Window title is hardcoded, meaning if the dark mode program was started after the window title does not match "Vivado 24.1" (for example after opening a project) it will fail.
|
||||
- Currently it just inverts the program, but the magnification API supports transformation matrices so it is possible to use a different color mapping that might be better.
|
||||
- Currently this handles sub-windows (such as save dialogs) by making the magnification window have the maximum Z order. This simplifies things, but also means if another window is over the active window it too will be inverted
|
||||
- Creating magnification lenses for each window with the Z height 1 above the relavant window would fix this issue.
|
||||
|
||||
|
|
BIN
example_dark_mode.png
Normal file
BIN
example_dark_mode.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 160 KiB |
Loading…
Reference in New Issue
Block a user