         # maybe trigger OS notification
         return if !text or quietIf(c, chat_id)
 
-        if viewstate.showPopUpNotifications
+        if viewstate.showPopUpNotifications and not remote.getCurrentWindow().isVisible()
             isNotificationCenter = notifier.constructor.name == 'NotificationCenter'
             #
             icon = path.join __dirname, '..', '..', 'icons', 'icon@8.png'

                audioEl.play()
        # And we hope we don't get another 'currentWindow' ;)
        mainWindow = remote.getCurrentWindow()
        mainWindow.flashFrame(true)

textMessage = (cont, proxied) ->

    {conv, notify, entity, viewstate} = models
    tonot = notify.popToNotify()

    quietIf = (c, chat_id) -> (remote.getCurrentWindow().isVisible() and remote.getCurrentWindow().isFocused()) or conv.isQuiet(c) or entity.isSelf(chat_id)

    tonot.forEach (msg) ->
        conv_id = msg?.conversation_id?.id
