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.
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” .
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.