INTRODUCTION ------------ This is an absolute barebones 'get off the computer' montior. It consists of two parts, a small C application which monitors computer use and an optional JavaFX application which displays a full-screen graphical alert. COMPILING --------- Java 11+ and an OpenJFX SDK are required for a full build. See the top of the makefile for some options, it wan't written to be particularly portable or flexible. See src/busymon.c and java/*/*.java for run-time parameters. $ make Compiles everything. $ make install Installs everything. By default to /usr/local. The prefix can be changed by adding prefix=/blah. DESTDIR is supported. $ make bin/busymon Compiles just the C monitor. USAGE ----- Run manually or from ~/.xinitrc or equivalent. $ busymon /usr/local/share/notzed.busymon/busyalert Runs the monitor with the bundled alert program. By default the monitor will run the alert if you've been busy for 55 minutes straight. The default alert will display a countdown of 5 minutes that covers the entire screen (of the primary monitor). If you're busy for more than 2 minutes you're assumed to be AFK and it will reset the busy counter when you return. It should work correctly if you suspend the computer. The various times are hardcoded at the top of the .c and .java files (in seconds). The heuristics (particularly for AFK) might need tuning. Note that the fullscreen window can be reduced to a normal window if you press ESCAPE and it can then be closed. But if you close it before the busymonitor has detected an AFK period it will simply be restarted. LICENSE ------- The XScreenSaver query code is from a perl module by Adam Wendt, although it isn't really recognisable anymore. That is licensed "same as perl" and from what I can tell the perl license is either Artistic or GNU GPL. See COPYING. Copyright (C) 2003-2008 Adam Wendt Copyright (C) 2019 Michael Zucchi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see .