Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

User Image
Adrian Ambrożewicz77492
3 discussion posts
When application request action (new message on IM, new mail etc) it blinks the icon on taskbar.

When I have fullscreen application (eg RDP connection) i don't see that kind of notifications..

Is it possible for DisplayFusion to 'hook' on that event and perform some action? The simples feature I would expect would be to overlay taskbar on top on running fulscreen app.
Jan 24, 2020  • #1
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Is it the taskbar on the Primary monitor or second monitor that you're referring to here?
Jan 27, 2020  • #2
User Image
Adrian Ambrożewicz77492
3 discussion posts
I could adapt no problem (move app to designated screen) so thats not a blocker for me. I just would like to know if there is such feature buried somewherw
Jan 27, 2020  • #3
User Image
Adrian Ambrożewicz77492
3 discussion posts
I've solved the problem with AutoIt. I've prepared a script which shows simple blinking tooltip at the bottom of the screen for as long as some application is 'blinking' orange.

Code

#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>

Global $bHook = 1

;GUI stuff:
Global $hGui = GUICreate("", 1, 1, -100, -100)

;Notification timeout:
Global $iTimeout = 1000
Global $iBlinkCount = 0
Global $iExpireCount = 0

;ToolTip data
Global $iTooltipIcon = 0
Global $iTooltipX = @DesktopWidth - 400
Global $iTooltipY = @DesktopHeight - 40

;Hook stuff:
GUIRegisterMsg(_WinAPI_RegisterWindowMessage("SHELLHOOK"), "HShellWndProc")
ShellHookWindow($hGui, $bHook)

; Perform action on 
Func HShellWndProc($hWnd, $Msg, $wParam, $lParam)
    Switch $wParam
        Case $HSHELL_FLASH
            $iTooltipIcon = Mod($iTooltipIcon + 1, 2) + 1
            $iBlinkCount = $iBlinkCount + 1
            ToolTip(WinGetTitle($lParam), $iTooltipX, $iTooltipY, "Notification:",  $iTooltipIcon, $TIP_FORCEVISIBLE)
            AdlibRegister(NotificationTimeout, $iTimeout)
    EndSwitch
EndFunc

Func NotificationTimeout()
    $iExpireCount = $iExpireCount + 1    
    If $iExpireCount == $iBlinkCount Then
        ToolTip("")
        AdlibUnRegister(NotificationTimeout)
    EndIf
EndFunc

Func ShellHookWindow($hWnd, $bFlag)
    Local $sFunc = 'DeregisterShellHookWindow'
    If $bFlag Then $sFunc = 'RegisterShellHookWindow'
    Local $aRet = DllCall('user32.dll', 'int', $sFunc, 'hwnd', $hWnd)
    ;MsgPrint($sFunc & ' = ' & $aRet[0])
    Return $aRet[0]
EndFunc

While 1
    Sleep(1000)
WEnd
Jan 28, 2020  • #4
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Nice workaround, thanks for sharing that!
Jan 28, 2020  • #5
Subscribe to this discussion topic using RSS
Was this helpful?  Login to Vote(-)  Login to Vote(-)