
--- TimeTracker - version 1.1 ---

	TimeTracker will track the amount of time that you have paid attention to different programs.
	You can also create alarms to notify how much time has passed.

	TimeTracker is provided for free.
	Do not trust anyone who tries to sell TimeTracker.
	See https://sundee.neocities.org/ for updates and other programs.

	This program is for Windows only. Tested on Windows 7 only.


--- Using Setting.txt ---

	The settings file uses C-style line comments: everything from // up to new line is a comment.
	
	Timers: can be used to play sounds and flash the program in the taskbar, to let you know when
	you have spent some amount of time doing something. Timers can optionally be linked to groups
	and/or programs.
	!timer  "Something"        // Name of the timer (required)
		interval  1:00:00      // How often to play an alarm (hours:minutes:seconds) (required)
		sound     "sound.wav"  // Sound file to play. File must be in 'sounds' folder
		volume    20.5         // Sound volume, percentage (0 - 200)
		invert    true         // Activate this timer when it should be inactive, and deactivate it when it should be active
		groups    "Art"        // Groups that, when active, will cause this timer to become active
		programs  "krita.exe" "terraria.exe"  // Same as above, except programs
		inactivity_timeout  5:00              // Disable trackers if you have been inactive for this amount of time (no keyboard or mouse input)
		taskbar_attention   true              // Flash TimeTracker in the taskbar when this alarm goes off
		pause_when_no_active_tracker  true    // When no programs or groups are active (or an ignored program is active), this timer will be paused

	Programs: if you define a program, it will show up in the list by default. You can also hide
	programs that you don't want to see, the settings file has some garbage programs in it by
	default.
	!program  "something.exe"  // Name of the program (required)
		ignore true            // This program will not show up in the list, and won't count towards time percentages
		disable_inactivity_counter  true  // Will prevent 'inactivity_timeout' from disabling your trackers

	Groups: it is easier to track your activities by adding programs into a group.
	!group  "Art"                            // Name of the group (required)
		programs  "krita.exe" "mspaint.exe"  // List of programs which, when active, will also make this group active
		disable_inactivity_counter  true     // Will prevent 'inactivity_timeout' from disabling your trackers


--- Other notes/trivia ---

	Use mouse scroll wheel, PageUp/PageDown keys, or arrow keys to scroll up/down the list.

	To copy the tracker times to clipboard, press Ctrl+C, or Ctrl+D to copy in CSV format.

	Default programs in the settings file:
	- UNKNOWN_EXE -> this isn't a real program, it shows up when TimeTracker can't find the
		currently active window for whatever reason. It is possible that some programs cannot be
		captured by TimeTracker, you can remove UNKNOWN_EXE from the settings to kind-of track
		them.
	- TimeTracker.exe -> by setting this to 'ignore', you can pause all timers with
		'pause_when_no_active_tracker' set simply by focusing the TimeTracker window.
	- dwm.exe -> this is a Windows program called "Desktop Window Manager" that shows up briefly
		in some situations, you can enable it to slightly improve timer accuracies, but in my
		opinion it just clutters the program list.

	The default timer sound is "Melodical flute music notification" from
	https://mixkit.co/free-sound-effects/

	This program was written in plain C with the following libraries:
	- stb_truetype - load and render fonts
		https://github.com/nothings/stb


--- Future plans ---

	Button to reset timers. I am too unmotivated to add them for now.

	Button to "lock" programs/groups so they will always stay active. Same as above.

	Ability to sort the lists by time.

	An ability to create "sessions" that store your timings, and can view them later to see what
	you've been doing recently, and ability to export the information in various different
	formats.

	Maybe Linux port. I don't know how hard it would be. This program was easy to make because
	Windows has a function called GetForegroundWindow() which just gives you the currently active
	window, and you can get the executable name based on it.
