NofyHist Help

NofyHist is a Linux GUI - program, written in Python and using the wxWidgets cross-platform Gui-library.
With NofyHist you can collect and show recent notifications, set exclude filters to suppress unwanted
senders, search for entries in the notifications history and write all notifications to a
log file.
You should place NofyHist in your startup folder.
My computers run Linux Mint with the XFCE desktop. The motivation to write NofyHist was the fact, that I often
missed notifications. In XFCE notifications pop up for a while on the screen and then vanish away.
I have not found a way to get back and look at recent notifications.
To help me in this situation, I wrote this little program.
Contents
Preliminaries
To run NofyHist, you need Python >= 2.7.0 (not 3.x) and
wxPython >= 3.0.x.x (package python-wxgtk3.0 on Mint, Ubuntu) or better installed on your computer.
NofyHist is compatible with Python 3.x. But if you want to run
the program with the Python 3.x interpreter, you have to make sure, that the used libraries
(wxPython, dbus, ...) have Python 3 compatible code too.
NofyHist assumes that the following software packages are installed on your system:
- configobj: package python-configobj (Mint, Ubuntu)
- dbus: package python-dbus (Mint, Ubuntu)
- gobject: package python-gobject (Mint, Ubuntu)
If they are not installed, please install them before running NofyHist.
NofyHist has been tested on computers running Mint 17.2 XFCE, 18.1 XFCE
...back to Contents
Introduction
At the very first start of NofyHist, two files will be created in your
home directory:
- NofyHist.ini, which holds all program setting information (i.e.
window size and position, column widths, defined exclude masks and so on) and
- NofyHist-Action.log, which is a protocol of all actions (create exclude masks,
problems with directories and notification messages) performed by the program
Later you can decide to store these files elsewhere on your computer (see Misc).
...back to Contents
The GUI
The NofyHist GUI has a main window with thre columns: Sender, Header and Message body.

The main window includes a menu- and statusbar. With a right click in the notifications list window
you can activate a context subwindow (see screenshot below) for the selected enty. The newest entry is
always at the top of the list.

And finally, the main window contains the mentioned statusbar, divided into 3
fields. From left to right they are:
- quick help
- Status
- Exclude filter list
The status is in the form M: xx | F: xx. M: is the number of entries not suppressed by the
exclude filter and F: is the number of entries found by the search sub(string).
...back to Contents
Add / Edit exclude masks
In the Add / Edit exclude sender masks dialog you enter all information needed for
an exclude string. The combobox contains useful suggestions.
...back to Contents
Preferences
Common program setup is done via the Preferences menu. To get to the
menu, use 'Options', 'Preferences', type CTRL-F or use the context menu.
The Preferences notebook dialog has 2 tabs.
Gui:
- With grid: when checked, the notification list window will have light
horizontal and vertical lines between the rows and columns.
Default: checked
- Font family: you can select from a list of all fonts, installed
on your machine. Default: your selected system font
- Font size: you can select sizes from 6 to 12 points. Default: 9
points
- Language: you currently can select Default, English or German. Default: English
- Highlight colour: you can select a highlight colour with a colour chooser for the
searched / found notifications. Default: kind of green
- Button align: if checked, buttons are aligned as it is default in XFCE, GNOME or KDE. If
unchecked they are centered und streched to fill the width of the dialog. Default: checked
...back to Contents
Misc:

- NofyHist ini path (read only control): Preferences are stored in a readable file called
NofyHist.ini. Ini-file default directory is the users homepath, i.e. /home/your_username
on Linux. You can change this location by starting the application with the command line
switch -i.
Example: encfsman.pyw -i=/tmp. Now the ini file is stored as '/tmp/NofyHist.ini'.
- History limit: You can limit the number of notification lines in the list control. The
range goes from 1 to 99. Default: 25 entries
- Delete after: Here you can define how long a notification is displayed.
Selections are possible from 1 to 240 hours. Default: 24 hours
- Start minimized: if checked, the application won't start with
a popping up main window. There will be a small icon in the system tray
instead. This Icon has a context menu, where you can restore the
application and so on. Default: not checked
- Stay in systray: If checked, NofyHist will minimize to the system tray when the close button
is pressed. In this configuration, exiting the application is possible by selecting
'File', 'Exit' or by pressing the shortcut CTRL-X. Default: checked
- Update check: NofyHist can automatically check the website on startup
if a new program release is available. If so, you will be informed. Default: not checked
- Action log: If checked, all notifications and all program actions are written to the logfile. The logfile is placed in the users
homedir. The name of the logfile is NofyHist-Action.log. Default: checked (see Logfile remark below)
...back to Contents
Logfile remark:
Logfiles are written by a RotatingFileHandler with a maxBites size of 64 kB and a backupCount of 4 backups. Rollover occurs whenever the current
log file is nearly maxBytes in length. If backupCount is >= 1, the
system will successively create new files with the same pathname as the
base file, but with extensions ".1", ".2" etc. appended to it. For
example, with a backupCount of 4 and a base file name of "app.log", you
would get "app.log", "app.log.1", "app.log.2", ... through to
"app.log.4". The file being written to is always "app.log" - when it
gets filled up, it is closed and renamed to "app.log.1", and if files
"app.log.1", "app.log.2" etc. exist, then they are renamed to
"app.log.2", "app.log.3" etc. respectively. This is the same technique
as you might have seen in the /var/log dir of Linux systems.
The format of a logfile line is: date time -- message i.e.
2016-03-07 12:03:27 -- Sender: Seafile, Header: "Synced" is synchronized, Body: Added or modified "index.sqlite". Deleted "index.sqlite-journal" and 4 more files.
...back to Contents
Final note
Nearly all screenshots shown in this document are taken from NofyHist 0.10
running on Linux Mint (Rosa 17.3, Serena 18.1, XFCE).
If you like the software, use it (at your own risk). If you have
suggestions or encounter bugs - please send me an email. If you do not
like the software - throw it away.
Thanks go to
- Guido van Rossum for the great Python programming language
- the wxWidget team for their cross-platform GUI Library
- the wxPython team for their Python wx wrapper, used to create the GUI
of NofyHist
- Michael Foord and Nicola Larosa for their excellent configobj module,
used to read / write the program settings
NofyHist was designed and coded by Frank Mersmann (frank.mersmann@gmail.com).
Beta tests where conducted and hints were made by Wolfgang Bredow (bredow.w@googlemail.com).
0.27.20170410
... zurück zu Inhalt