Skip to content

An intentionally simple, extensible systray email notifier. Geared for Linux. Designed to work with any email client, currently supporting Thunderbird.

License

Notifications You must be signed in to change notification settings

pablos-here/nbiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nbiff logo

Table of contents

nbiff

nbiff, good new dawgy!, is an intentionally simple, extensible systray email notifier. Geared for Linux. Designed to work with any email client, currently supporting Thunderbird.

Features

nbiff has the following features:

  • It self-adjusts when accounts and/or folders are created/deleted.
  • It is designed to be light-weight and scalable.
  • Largely it is immune from Thunderbird's API changes.
  • Supports both x11 and wayland.
  • The systray icon displays a status when there are unread messages.
  • Further details are available by clicking on the icon and when supported, as a tool tip.
  • Use mouse-clicks to iconify/activate Thunderbird windows with smart (Virtual) desktop swapping.
  • User customizable systray icons.

Software requirements

Python

python3 is required along with some additional modules. Choose the desired method to install them:

Method Information
pip
pip3 install PyQt5 psutil
Packages
  • pythonX-psutil
  • pythonX-qt5
where X matches the installed version of Python.

Note: Depending on your system, additional modules may be required. When nbiff is run, there must be no errors.

Additional packages

Distro Packages
Fedora
libX11-xcb libxcb xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm
Others
ibxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 libxcb-xinerama0

Optionally install xdotool for window iconifying/activation.

xdotool

Wayland support on GNOME

Some GNOME versions require the KStatusNotifierItem/AppIndicator Support extension for Wayland support.

Install it as follows:

  1. Go to the extension's webpage.
  2. Enable the extension by moving the slider to the On position.

Installing / upgrading

The installation script handles installs and upgrades.

Below is how to install/upgrade:

  1. Get the latest the release, uncompress the file and switch to the newly created directory.

  2. Run the installer for your email client and follow the on-screen instructions:

    • Thunderbird
      ./Install_latest.tbird

Uninstalling

  1. Click on the systray icon and select the menu item quit.
  2. Delete the code:
rm -rf ~/.nbiff

Mouse-clicks

If the necessary package is installed, mouse-clicks on the systray nbiff icon have actions.

The systray icon has at least one context-menu which display nbiff data. Typically it is accessed by a right-click or left-click.

In the table below, window activation is mentioned. In this documentation it means the following:

  1. If needed, switch the desktop to where the main Thunderbird window is located.
  2. If needed, de-iconify all of the Thunderbird windows. Any children windows on the main desktop are de-iconified last so they stack above the parent.

Using KDE as the gold standard, the following is supported:

Mouse action Result
click
  • If not on the main Thunderbird window, activate it.
  • Otherwise, return to the original desktop.
middle-click
  • if not on main, activate. Save the current desktop in case of click.
  • Otherwise, activate/iconify Thunderbird window(s).

Desktop Environments

As each Desktop Environment seems to implement mouse-clicks differently, it is best to try the different mouse-click combinations and see what happens ... :p

  • left-click
  • right-click
  • double-click
  • middle-click

Xfce

The default Status Tray Plugin setting is to present an Xfce configuration menu on one of the clicks. Only middle-click is enabled and it behaves like KDE's click (see above).

To enable proper (opinion) mouse clicks, uncheck the Menu is primary action:

  • Right-click on the nbiff systray icon to obtain the Status Tray Plugin menu.
  • Select Properties.
  • In the Status Tray Items window, under Features, uncheck Menu is primary action.

To revert the setting:

  • Right-click on the systray panel and click on Panel -> Panel preferences ....
  • Select the Items tab.
  • Select the Status Tray Plugin (external) and
  • Click the gear at the bottom of the list.
  • Check Menu is primary action.

Swap mouse-click actions

To accommodate different tastes, it is possible to swap the mouse-click actions. For example, with KDE, click and middle-click actions can be exchanged.

Before making any changes, view the current setting:

fgrep SWAP_MOUSE_ACTION= ~/.nbiff/local/conf/nbiff.conf

A commented line is preceded with a #.

To swap mouse-click actions, remove the #:

sed -i 's/^#SWAP_MOUSE_ACTION=/SWAP_MOUSE_ACTION=/' ~/.nbiff/local/conf/nbiff.conf

To restore the system default:

sed -i 's/^SWAP_MOUSE_ACTION=/#SWAP_MOUSE_ACTION=/' ~/.nbiff/local/conf/nbiff.conf

After making the above changes, restart nbiff.

Customizing

The following can be customized:

  • The systray icons.
  • Always ignore unread messages from a folder tree/name.

Details can be found here.

Troubleshooting

Problems? Head over to the Troubleshooting document.

Development

If you are interested in contributing, see the Development document.

About

An intentionally simple, extensible systray email notifier. Geared for Linux. Designed to work with any email client, currently supporting Thunderbird.

Resources

License

Stars

Watchers

Forks

Packages

No packages published