Feature request: Toolbar Option to toggle Read/Unread

Provide a quick access toolbar option to toggle the Read/Unread status of an email with a single click

You can click “Mark as Read or Mark as Unread” via the “Mark” toolbar buttons along the top.

To enable that, “Right click” in the blank area at the end of the toolbar and click “Customize”. Then add the Mark as Read and Mark as Unread to the right window in whichever order you like. Then click Ok.

image

image

image

You can also click / toggle Read or Unread by clicking the “Small Round Dot” just to the left of each Subject. The Solid Filled Circle is “Unread” . The Unfilled Circle is “Read” .

image

Thanks for the input. I have used the customised toolbar options previously, but I find it clumsy when a single button could be used to toggle the state.

The tip about the orange Read status button is useful and does work as a toggle but I tend to prefer the toolbar

Same here: I’d like a single button that toggles between read and unread, and I’d LOVE to have a shortcut to make it happen!

Do you perchance know/use AutoHotkey?

I made an AutoHotkey script that allows me to use the middle click to mark as read or unread.

Short middle click: mark as read
Long middle click: mark as unread

#Persistent
#SingleInstance, force
; #NoTrayIcon ; uncomment this line if you want to hide the tray icon
SetTitleMatchMode, RegEx

; This script provides custom functionality for eM Client, a mail client software
; It introduces a feature where a middle-click (MButton) on an eM Client window will perform different actions based on click type: short or long

#IfWinExist ahk_exe MailClient.exe  ; Only execute if eM Client window exists

    ~$MButton::  ; Middle mouse button (MButton) hotkey block

        ; Retrieve the unique ID of the eM Client window
        WinGet, emClientId, ID, eM Client 

        ; Retrieve the unique ID of the window currently under the mouse cursor
        MouseGetPos, , , currentId 

        ; This checks if the active window is eM Client
        if WinActive("ahk_exe MailClient.exe") {
            shortLongDoubleForEmClient()  ; Execute custom function if true
            return
        }

        ; This checks if mouse is over the eM Client window and it's not a message window
        if (%emClientId% = %currentId%) && !WinActive("Message") {
            WinActivate, eMClient  ; Bring eM Client window to front
            shortLongDoubleForEmClient()  ; Execute custom function 
            return
        }

    Return  ; Ends the hotkey block

#IfWinExist  ; Ends the conditional directives block

shortLongDoubleForEmClient() {
    ; Check if eM Client is the active window
    if (not WinActive("ahk_exe MailClient.exe")) {
        return
    }

    ; Wait for MButton to be released or for 0.2 seconds to pass
    KeyWait, MButton, T0.2  ; feel free to play with the value to make it comfortable

    ; LONG CLICK
    if (ErrorLevel) {  ; If MButton was not released within 0.2s (considered as a long click)
        click  ; Simulate a mouse click
        Send, ^u  ; Send keyboard shortcut CTRL + U to mark email as unread 
    }
    ;  SHORT CLICK
    else {  ; If MButton was released within 0.2s (considered as a short click)
        click  ; Simulate a mouse click
        Send, ^q  ; Send keyboard shortcut CTRL + Q to mark email as read
    }

    KeyWait, MButton  ; Wait for MButton to be released before executing further commands

}

return

Hopefully it can help you or someone else.

Thanks for the script. I don’t use AutoHotkey, but others might benefit from it.