#time #graph #plot #tracker #logger #time-tracking

app timeplot

Personal activity tracker & graph plotter

20 releases

0.8.4 Mar 16, 2023
0.8.3 Sep 25, 2022
0.8.2 Nov 26, 2021
0.8.1 Jul 21, 2020
0.7.10 Nov 14, 2018

#51 in Visualization

Download history 6/week @ 2024-02-22 4/week @ 2024-02-29 6/week @ 2024-03-07 2/week @ 2024-03-14 4/week @ 2024-03-28 4/week @ 2024-04-04 47/week @ 2024-04-11

56 downloads per month


709 lines

TimePlot Build Status crates.io

Log your activity, visualize and analyze it.

Visualizing your performance can help you understand how certain things impact your computer work, properly bill customers for freelance tasks and potentially fight procrastination. Or maybe just get new cool graphs.:)


  • Run "timeplot"
  • Each 3 minutes your currently active window name is logged. Open the log to see if timeplot has categorized your activity correctly. It looks like this:
2018-10-01_14:00 skip 0 Desktop
2018-10-01_15:03 work 9 #rust @ irc.mozilla.org
2018-10-01_19:11 fun 18 The Battle for Wesnoth
2018-10-01_20:38 skip 0 Desktop
2018-10-01_21:31 personal 13 vasya@vn971think:~
  • If the category is wrong, fix the category right in the log.
  • Edit rules to auto-categorize this window name in the future
  • Wait for timeplot to re-draw the image in your Pictures directory if it exists, or otherwise in project data directory
  • Whenever you want to check the text log, or see if it can be improved, return 3 steps back.


  • You can set the image as your Desktop background image if you like.
  • You can configure the app:
    • plot a different number of days
    • colors, statistics display
    • run configured subcommands whenever a particular category is encountered


  1. Make sure dependencies are installed:
    • On Debian/Ubuntu, sudo apt install gnuplot xprintidle xdotool
    • On ArchLinux, pacman -S --needed gnuplot xprintidle xdotool
    • On macOS, brew install gnuplot
  1. Build the project:
    • On all platforms, if you're familiar with Rust+cargo, install via cargo install timeplot.
    • On all platforms, clone/download this repository, install cargo, build project with cargo build --release, observe the executable on "target/release/timeplot".
  1. Consider adding timeplot to autostart, making it run when you log in. If you use macOS or Windows, you must create said autostart hook manually (help on allowing to automate it appreciated). For Linux, there's a configuration setting that, if enabled, will create XDG autostart entry for you.


The application only does what it says in this description. It never sends anything anywhere, never logs any kind of data except the one specified above.

The app is shared under GPLv3+. Sources can be found here https://github.com/vn971/timeplot and here https://gitlab.com/vn971/timeplot


~169K SLoC