{"id":27233837,"url":"https://github.com/mdgrs-mei/outlook-taskbar-notifier","last_synced_at":"2025-04-10T15:20:30.014Z","repository":{"id":43890532,"uuid":"367923353","full_name":"mdgrs-mei/outlook-taskbar-notifier","owner":"mdgrs-mei","description":"A Windows taskbar application that notifies you of unread emails in an Outlook folder. ","archived":false,"fork":false,"pushed_at":"2023-03-28T12:46:55.000Z","size":949,"stargazers_count":40,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-04-25T15:37:56.056Z","etag":null,"topics":["badges","notifications","outlook","powershell","taskbar","windows"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdgrs-mei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-16T15:47:37.000Z","updated_at":"2023-04-11T14:37:40.000Z","dependencies_parsed_at":"2023-01-29T17:15:48.842Z","dependency_job_id":null,"html_url":"https://github.com/mdgrs-mei/outlook-taskbar-notifier","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdgrs-mei%2Foutlook-taskbar-notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdgrs-mei%2Foutlook-taskbar-notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdgrs-mei%2Foutlook-taskbar-notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdgrs-mei%2Foutlook-taskbar-notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdgrs-mei","download_url":"https://codeload.github.com/mdgrs-mei/outlook-taskbar-notifier/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248243230,"owners_count":21071054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["badges","notifications","outlook","powershell","taskbar","windows"],"created_at":"2025-04-10T15:20:29.195Z","updated_at":"2025-04-10T15:20:29.996Z","avatar_url":"https://github.com/mdgrs-mei.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\r\n# Outlook Taskbar Notifier\r\n\r\n[![GitHub license](https://img.shields.io/github/license/mdgrs-mei/outlook-taskbar-notifier)](https://github.com/mdgrs-mei/outlook-taskbar-notifier/blob/main/LICENSE)\r\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/mdgrs-mei/outlook-taskbar-notifier?label=latest%20release)](https://github.com/mdgrs-mei/outlook-taskbar-notifier/releases/latest)\r\n[![GitHub all releases](https://img.shields.io/github/downloads/mdgrs-mei/outlook-taskbar-notifier/total)](https://github.com/mdgrs-mei/outlook-taskbar-notifier/releases/latest)\r\n\r\n[![Hashnode](https://img.shields.io/badge/Hashnode-2962FF?style=for-the-badge\u0026logo=hashnode\u0026logoColor=white)](https://mdgrs.hashnode.dev/how-i-customized-outlook-notifications-with-powershell)\r\n\r\nOutlook Taskbar Notifier is a Windows taskbar application that notifies you of unread emails in an Outlook folder by showing an overlay badge.\r\n\r\n![capture](https://user-images.githubusercontent.com/81177095/208241237-dd284990-7296-4966-b896-7b873255d09f.gif)\r\n\r\n\u003c/div\u003e\r\n\r\nCompared to Outlook's default desktop notifications you are less likely to miss unread emails even after leaving your seat. If you use folders to receive notifications from some web services (Jira, GitHub, GitLab etc.) you can make a dedicated notifier for each, assign the icons you like and add thumb buttons to quickly access the sites. They will work like small desktop apps for the services.\r\n\r\n## Features\r\n- Notifies unread email count for an Outlook folder\r\n- Customizable icons and badge colors\r\n- Customizable actions performed when the notifier is clicked\r\n- Thumb buttons with customizable actions\r\n\r\n## Requirements\r\n- Tested on Windows 10/11 and Powershell 5.1\r\n- Outlook desktop app needs to be installed\r\n\r\n## Installation\r\n1. Download and extract the [zip](https://github.com/mdgrs-mei/outlook-taskbar-notifier/releases/latest/download/outlook-taskbar-notifier.zip) or clone this repository anywhere you like\r\n1. Copy and edit [sample/settings.ps1](./sample/settings.ps1) (You have to edit `folderPath` at least. See [Settings](#Settings).)\r\n1. Run [`tools/create_shortcut.bat`](#toolscreate_shortcutbat), select your settings file and save the shortcut\r\n1. Run the shortcut\r\n\r\n# Settings\r\nYou can customize the behavior by a settings file. A sample settings file is placed at [sample/settings.ps1](./sample/settings.ps1).\r\n\r\n## Outlook settings\r\n\r\n```powershell\r\noutlook = @{\r\n    folderPath = \"\\\\your-email-address@sample.com\\folder-name\"\r\n}\r\n```\r\n`folderPath` is a path of the outlook folder that the notifier monitors. You can list all your folder paths by running [`tools/list_outlook_folders.bat`](#toolslist_outlook_foldersbat).\r\n\r\n## Icon image\r\n\r\n```powershell\r\niconPath = \".\\icon.png\"\r\n```\r\nAn icon file used for the title bar. The image is converted to `.ico` file during the shortcut creation and also used as a shortcut icon. `.bmp`, `.png`, `.tif`, `.gif` and `.jpg` with single resolution are supported.\r\n\r\n## Overlay icon\r\n\r\n![overlay_icon](https://user-images.githubusercontent.com/81177095/208241259-5ae70ed9-8cb0-4fa8-9179-791e28274a4e.png)\r\n\r\n``` powershell\r\noverlayIcon = @{\r\n    size = 20.0\r\n    lineWidth = 1.0\r\n    backgroundColor = \"DeepPink\"\r\n    textColor = \"White\"\r\n}\r\n```\r\n\r\nYou can change the unread badge size and color. Available WPF color names are listed here:\r\nhttps://docs.microsoft.com/en-us/dotnet/api/system.windows.media.colors?view=net-5.0\r\n\r\nIf you want to hide the unread number, set `textColor` to `\"Transparent\"`.\r\n\r\n## Taskbar icon flashing\r\n\r\n![taskbar](https://user-images.githubusercontent.com/81177095/208241272-2ea71711-bbee-4de9-898c-e919f1dd3446.png)\r\n\r\n``` powershell\r\nflashTaskbar = @{\r\n    enable = $true\r\n    rateInMillisecond = 300\r\n    count = 2\r\n}\r\n```\r\nYou can change the flash rate and count or you can completely disable this feature.\r\n\r\n## Do Not Disturb\r\n\r\n![do_not_disturb](https://user-images.githubusercontent.com/81177095/208241277-9019164f-6720-4e3f-b96f-7a9d89770855.png)\r\n\r\n``` powershell\r\ndoNotDisturb = @{\r\n    globalMode = $true\r\n}\r\n```\r\n\r\nDo Not Disturb mode can be turned on by `ToggleDoNotDisturb` click [action](#actions). In Do Not Disturb mode, unread count update and icon flashing are paused and it's indicated by `\"D\"` badge. If `globalMode` is `$true`, Do Not Disturb status is shared between all the notifier instances. If `globalMode` is `$false`, the notifier ignores the global Do Not Disturb status and you can control it independently. \r\n\r\n## Click actions\r\n\r\n``` powershell\r\nclickActions = @(\r\n    ,@(\"FocusOnFolder\")\r\n)\r\n```\r\n\r\nWhen the notifier is clicked, actions you specify here are executed sequentially. If an action fails, the subsequent actions will not be executed.\r\n\r\n### Actions\r\n|Action Name|Description|When does it succeed?|\r\n|---|---|---|\r\n|FocusOnFolder|Opens the Outlook folder that the notifier is monitoring.|Always.|\r\n|OpenNewestUnread|Opens the newest unread email.|When the mail is opened.|\r\n|OpenOldestUnread|Opens the oldest unread email.|When the mail is opened.|\r\n|OpenUnreadIfOnlyOne|Opens an unread email if there is only one.|When the unread count is 1 and the mail is opened.|\r\n|MarkAllAsRead|Marks all emails in the folder as read.|Always.|\r\n|ToggleDoNotDisturb|Toggles [Do Not Disturb mode](#do-not-disturb).|Always.|\r\n|FocusOnApp|Focuses on the specified app window. An app name is specified by an argument which is a process name that Get-Process PowerShell command returns. Normally it's an executable file name without `\".exe\"` (e.g. `\"outlook\"`, `\"chrome\"`, `\"firefox\"`).|When the app exists.|\r\n|SendKeysToAppInFocus|Sends keyboard inputs to the app in focus. The key string format follows Windows.Forms.SendKeys format: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys?view=net-5.0|Always.|\r\n|SleepMilliseconds|Waits for specified milliseconds to tweak the timing for SendKeys.|Always.|\r\n|RunCommand|Runs any executable with arguments.|Always.|\r\n|RunCommandAndWait|Runs any executable with arguments and waits until the process finishes.|Always.|\r\n|RunCommandWithNewWindow|Runs any executable in a new window with arguments.|Always.|\r\n|RunCommandAndWaitWithNewWindow|Runs any executable in a new window with arguments and waits until the process finishes.|Always.|\r\n|Or|Executes actions specified as arguments sequentially and returns when an action succeeds.|When one of the actions succeeds.|\r\n\r\n### More complex examples\r\n1. Marks all as read and opens a web page. Recommended for web services that have notifications pages but don't support desktop notifications.\r\n\r\n    ``` powershell\r\n    # Opens GitHub notifications page.\r\n    clickActions = @(\r\n        ,@(\"MarkAllAsRead\")\r\n        ,@(\"RunCommand\", '\"C:\\Program Files\\Mozilla Firefox\\firefox.exe\"', \"-url\", \"https://github.com/notifications\")\r\n    )\r\n    ```\r\n\r\n1. Marks all as read and sends keys to an app. Recommended for services that have shortcut commands to their notifications page.\r\n\r\n    ``` powershell\r\n    # Opens GitHub notifications page by sending shortcut keys to a pinned tab in Chrome.\r\n    clickActions = @(\r\n        ,@(\"MarkAllAsRead\")\r\n        ,@(\"FocusOnApp\", \"chrome\")\r\n        ,@(\"SendKeysToAppInFocus\", \"^1\")\r\n        ,@(\"SleepMilliseconds\", 100)\r\n        ,@(\"SendKeysToAppInFocus\", \"gn\")\r\n    )\r\n    ```\r\n\r\n1. Opens an unread mail if there is only one. Otherwise opens the folder.\r\n    ``` powershell\r\n    clickActions = @(\r\n        ,@(\"Or\", @(\"OpenUnreadIfOnlyOne\"), @(\"FocusOnFolder\"))\r\n    )\r\n    ```\r\n\r\n## Thumb buttons\r\n\r\n\u003cimg src=\"https://user-images.githubusercontent.com/81177095/208241294-b822aedb-e283-4693-97c5-c01566913ee8.png\" width=260\u003e\r\n\r\n``` powershell\r\nthumbButtons = @(\r\n    ,@{\r\n        description = \"Mark all as read\"\r\n        iconPath = \".\\mark_read.png\"\r\n        clickActions = @(\r\n            ,@(\"MarkAllAsRead\")\r\n        )\r\n    }\r\n)\r\n```\r\nYou can add maximum 7 thumb buttons and define actions performed when they are clicked. The formats of `iconPath` and `clickActions` are the same as before.\r\n\r\n## Unread items summary\r\n\r\n\u003cimg src=\"https://user-images.githubusercontent.com/81177095/208241321-6a1b683e-0d21-4d04-b745-649151bbdb51.png\" width=260\u003e\r\n\r\n``` powershell\r\nunreadItemsSummary = @{\r\n    enable = $true\r\n    maxItemCount = 10\r\n    maxItemCharacterCount = 32\r\n}\r\n```\r\n\r\nTitles of unread emails are displayed on top of the thumbnail window.\r\n\r\n## Treat all as unread\r\n\r\n``` powershell\r\ntreatAllAsUnread = $false\r\n```\r\n\r\nIf this is set to `$true`, all of the emails in the folder are treated as unread. The badge count indicates the number of emails, not the actual unread count. This is useful for Follow up Search Folders.\r\n\r\n# Tools\r\n\r\n## [tools/list_outlook_folders.bat](./tools/list_outlook_folders.bat)\r\n\r\nLists all the Outlook folder paths that the notifier can monitor. Copy one of the folder paths and paste it in your settings file.\r\n\r\n## [tools/create_shortcut.bat](./tools/create_shortcut.bat)\r\n\r\nThis tool takes a settings file and creates a shortcut to run the notifier. If you want to create another notifier that monitors another Outlook folder, you just need to create a settings file and run this tool again.\r\n\r\n## [tools/convert_image_to_ico.bat](./tools/convert_image_to_ico.bat)\r\n\r\nConverts an image to `.ico` file. When you want to update the icon of the shortcut, run this tool.\r\n\r\n# Reporting Issues\r\n\r\nIf the notifier cannot connect to Outlook, `\"E\"` badge is shown to indicate the erorr. When this or any other issues happen, right click the notifier icon and press `Run with debug console`. The messages on the console might help you find the cause of the issue. If it doesn't help, please create an issue on [GitHub](https://github.com/mdgrs-mei/outlook-taskbar-notifier/issues).\r\n\r\n\u003cimg src=\"https://user-images.githubusercontent.com/81177095/208241366-0da053fb-108d-4733-99fd-ce16dc92c312.png\" width=320\u003e\r\n\r\n# Sample Icons\r\n\r\nThe sample icons except [icon.png](./sample/icons/icon.png) were downloaded from [Google Material Icons](https://fonts.google.com/icons) which are distributed under [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdgrs-mei%2Foutlook-taskbar-notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdgrs-mei%2Foutlook-taskbar-notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdgrs-mei%2Foutlook-taskbar-notifier/lists"}