← All examples

JavaScript Productivity slack.com

Slack: shortcut for unread channels

With Alt+Shift+R it opens the context menu of every unread channel so you can quickly mark them read.

Code to copy

// Press Alt+Shift+R to open the context menu of every unread channel
function markAllRead(e) {
  if (e.altKey && e.shiftKey && (e.key === 'r' || e.key === 'R')) {
    e.preventDefault();
    const unread = document.querySelectorAll('.p-channel_sidebar__channel--unread');
    unread.forEach(function (ch) {
      ch.dispatchEvent(new MouseEvent('contextmenu', { bubbles: true }));
    });
    console.log('[Slack] opened menu on ' + unread.length + ' unread channels; choose "Mark as read"');
  }
}
document.addEventListener('keydown', markAllRead, true);

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases