SmartSystemMenu icon indicating copy to clipboard operation
SmartSystemMenu copied to clipboard

[Request] Window color inversion(Forced dark mode)

Open superuser7777 opened this issue 3 years ago • 4 comments

Thank you for the great software! I changed from "Dialog Mate 2". There are two Requests.

1: Window color inversion(Forced dark mode) 2: Window dimmer

There are some applications that don't support dark mode. I think there is a great demand for being able to switch to dark mode on a window-by-window basis. Maybe, just the window dimmer is fine.

superuser7777 avatar Mar 15 '22 08:03 superuser7777

Could you send a link to "Dialog Mate 2" or such like software with dark mode on a window-by-window basis?

AlexanderPro avatar Mar 20 '22 06:03 AlexanderPro

Thanks for the reply. Sorry, I've been using it for years and didn't realize the name had changed.. ・performant-software/dm-2: Digital Mappa (DM for short)  https://github.com/performant-software/dm-2

such like software with dark mode on a window-by-window basis?

Yes, that's right. I looked on progsoft.net and alternativeto.net but could not find any software. If we can make it happen, it may be a first.

superuser7777 avatar Mar 20 '22 06:03 superuser7777

An interesting discussion about this subject to take notes is this issue opened here https://github.com/mlaily/NegativeScreen/issues/5 .It may be helpfull.

JungleJango avatar Jun 07 '22 19:06 JungleJango

I found a Window dimmer using AHK. It works as expected.


; Name: Dimmer box ; Description: Dim selected windows with an overlay box ; credits: Speedmaster, Skwire ; Topic: https://www.autohotkey.com/boards/viewtopic.php?f=6&t=78587 ; Sript version: 1.0 ; AHK Version: 1.1.24.03 (A32/U32/U64)

Dimmer_box_On:
winid:=""
	WinGetPos, X, Y, W, H, A
WinGet, winid,, A

if instr(idlist, winid) {
	for k, v in strsplit(idlist, "_") {
		if (v) {
				WinGetPos, X, Y, W, H, % "ahk_id " . v
				if w
				Gui, dim_%k% : Show, % "x" . x . "y" . y . "w" . w . "h" . h, Overlay
				else
				Gui, dim_%k% : Destroy
		}
	}
return
}

if instr(excludelist, winid)
return

if !winid
return

dimcount++

if winid
	idlist .= winid "_"

; thx Skwire
Gui, dim_%dimcount% : +Toolwindow -Caption +Lastfound +AlwaysOnTop
Gui, dim_%dimcount% : Color, black ; Change overlay colour here.
Gui, dim_%dimcount% : Show, % "x" . x . "y" . y . "w" . w . "h" . h, Overlay
GUI_ID := WinExist()

excludelist .= gui_id

WinSet, Transparent, 50       , % "ahk_id " . GUI_ID ; Change the numerical value for opaqueness amount.
WinSet, ExStyle    , +0x00000020, % "ahk_id " . GUI_ID ; Leave this value alone
Return

Dimmer_box_Off:
loop, % dimcount
Gui, dim_%a_index% : Destroy

idlist:=excludelist:=dimcount:=winid:=""

return

superuser7777 avatar Jul 11 '22 13:07 superuser7777