https://github.com/novoid/mailhours
Visualize the times of the day of emails sent by a certain person (maildir)
https://github.com/novoid/mailhours
email emails quantified-self shell
Last synced: 28 days ago
JSON representation
Visualize the times of the day of emails sent by a certain person (maildir)
- Host: GitHub
- URL: https://github.com/novoid/mailhours
- Owner: novoid
- License: gpl-3.0
- Created: 2013-04-02T16:22:04.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2017-02-26T15:28:44.000Z (over 9 years ago)
- Last Synced: 2025-11-08T07:16:39.530Z (9 months ago)
- Topics: email, emails, quantified-self, shell
- Language: Shell
- Size: 22.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: license.txt
Awesome Lists containing this project
README
## Time-stamp: <2026-06-06 17:44:15 vk>
## -*- coding: utf-8 -*-
## This file is best viewed with GNU Emacs Org-mode: http://orgmode.org/
* mailhours (shell script)
syntax: mailhours QUERYSTRING [DIRECTORY] [DESCRIPTION]
mailhours searches for emails in ~/home/USER/Maildir/.tmp/cur~ or
[DIRECTORY] with QUERYSTRING in the From-lines.
A graph will be generated that shows at what hours the correspondent
emails from this querystring were sent.
Then you know when this person is typically sending email answers.
Configuration is done in the files:
: ./mailhours
... general defaults
: /home/USER/.config/mailhoursrc
... to override general defaults
examples:
: mailhours Torvalds
... generates a graph when Linux Torvalds
sends emails in my DEFAULTDIR folder
: mailhours Gates ~/Maildir/.spam/cur
... generates a graph when Bill Gates
sends his emails that are stored in
the folder ~/Maildir/.spam/cur
** Why
People tend to answer emails following a certain pattern. One person
might answer emails after lunch, others do it in the morning.
If you want to visualize the pattern of a person, you can use emails
send by her/his using this script.
** Example result
#+CAPTION: This is an example result image of a mailhours query
[[Example.png]]
** Configuration file example
A ~/.config/mailhoursrc file might look like this:
: ## ===================================================
: ## purpose: analyze emails of communications partners
: ## to know, at what hours they usually send
: ## their emails
: ## author: Karl Voit
: ## see scriptfile mailhours (in your path) for details
: ## ===================================================
:
: ## view the result with this command
: VIEWPROGRAM=xview
:
: ## if par2 is missing, this is the default Maildir directory
: DEFAULTDIR="${HOME}/Maildir/.tmp/cur"
:
: ## end config
** Dependencies
[[http://www.gnuplot.info/][gnuplot]]
A tool for displaying PNG files. By default, =geeqie= is configured.
GNU-tools like: sed, awk, (e)grep, sort, uniq, head
* Contribute!
I am looking for your ideas!
If you want to contribute to this cool project, please fork and
contribute!
* How to Thank Me
# --- BEGIN SHARED: how_to_thank_me --- see https://github.com/novoid/screencasts/
I'm glad if you like my tool. I've got way more projects on:
- [[https://github.com/novoid/][GitHub]] (oldest projects),
- [[https://gitlab.com/publicvoit/][GitLab.com]] (older projects), and
- [[https://codeberg.org/publicvoit/][Codeberg]] (newest projects).
If you want to support me:
- [[https://karl-voit.at/2018/06/07/cardware/][Send old-fashioned *postcard* per snailmail]] - I love personal feedback!
- see [[http://tinyurl.com/j6w8hyo][my address]]
- Send feature wishes or improvements as an issue
- Create issues for bugs
- Contribute merge requests for bug fixes
- Check out my other cool projects on the platforms above
If you want to contribute to this cool project, please fork and
contribute!
I am using [[http://www.python.org/dev/peps/pep-0008/][Python PEP8]] and occasionally some ideas from [[http://en.wikipedia.org/wiki/Test-driven_development][Test Driven
Development (TDD)]]. I fancy Python3 with [[https://typing.python.org/en/latest/spec/annotations.html][type annotations]], although I'm
not using them everywhere at the moment. Starting with 2025, I began
to use help from Claude.ai which is a huge improvement, given my lack
of programming practice and knowledge.
After all, each of my tools was developed because I needed its
functionality and could not get it elsewhere - at least to my
knowledge or taste.
# --- END SHARED: how_to_thank_me --- see https://github.com/novoid/screencasts/
* Local Variables :noexport:
# Local Variables:
# mode: auto-fill
# mode: flyspell
# eval: (ispell-change-dictionary "en_US")
# End: