[arbtt.xml: cpedit based on reading live version http://arbtt.nomeata.de/doc/users_guide/effective-use.html gwern@gwern.net**20140926025547 Ignore-this: 2e51c35bad9cca4cd735a151b02e179b ] hunk ./doc/arbtt.xml 333
The formal grammar of <filename>categorize.cfg</filename> - - - - - - Rules - - - - [ ] - - ( (, - - )* | ( ; - - )* ) - - - - + + + Rules + + [ ] + ( (, + )* | ( ; + )* ) + + AliasSpec hunk ./doc/arbtt.xml 356 Literal -> Literal - - - - Rule - - { + + Rule + { } hunk ./doc/arbtt.xml 371 tag - - + hunk ./doc/arbtt.xml 373 - - - - Cond - - ( + + Cond + ( ) ! | hunk ./doc/arbtt.xml 384 || - - $active + $active hunk ./doc/arbtt.xml 386 - - + hunk ./doc/arbtt.xml 388 - - [ + [ ] =~ hunk ./doc/arbtt.xml 392 - - + =~ hunk ./doc/arbtt.xml 394 - - [ + [ ] hunk ./doc/arbtt.xml 398 - - + hunk ./doc/arbtt.xml 400 - - + hunk ./doc/arbtt.xml 402 - - + current window any window hunk ./doc/arbtt.xml 405 - - + hunk ./doc/arbtt.xml 407 - - - - String - - $title - - $program - - $desktop - - format - - " string literal " - - + + String + $title + $program + $desktop + format + " string literal " + hunk ./doc/arbtt.xml 416 - - - - ListOfString - - " string literal " - - " string literal " , - - + + ListOfString + " string literal " + " string literal " , + hunk ./doc/arbtt.xml 422 - - - - Number - - $idle - - day of week - - day of month - - month - - year - - number literal - - + + Number + $idle + day of week + day of month + month + year + number literal + hunk ./doc/arbtt.xml 432 - - - - Date - - $date - - - - + + Date + $date + + hunk ./doc/arbtt.xml 438 - - - - TimeDiff - - $time - - $sampleage - - + + TimeDiff + $time + $sampleage + ( Digit )* Digit : Digit Digit hunk ./doc/arbtt.xml 444 - - + Tag hunk ./doc/arbtt.xml 460 character. - - - - ListOfRegex - - " " - - " " , - - + + ListOfRegex + " " + " " , + CmpOp hunk ./doc/arbtt.xml 472 | > | >= - - +
A String refers to a double-quoted string of hunk ./doc/arbtt.xml 515 Effective Use of Arbtt - - Now that the syntax has been describedand the toolbox laid out, + Now that the syntax has been described and the toolbox laid out, how do you practically go about using and configuring arbtt? hunk ./doc/arbtt.xml 531 ~/.xinitrc or similar. - - Another trick is ad dit as a cron job. To do so, edit your crontab file (crontab -e) and add a line like this: hunk ./doc/arbtt.xml 544 At boot, arbtt-capture will be run in the background and will capture a snapshot of the X metadata for active windows every 60 seconds (the default). If you want more - - fine-grained time data at the expense of doubling storage use - - you could increase the sampling rate with a command like + fine-grained time data at the expense of doubling storage use, + you could increase the sampling rate with an option like --sample-rate=30. To be resilient to any errors or segfaults, you could also wrap it in an infinite loop to restart the daemon should it ever crash, with a command like hunk ./doc/arbtt.xml 558 Checking data availability - - arbtt tracks X properties like window title, class, and running - - program, and you write rules to classify the strings as + arbtt tracks X properties like window title, class, and running + program, and you write rules to classify those strings as you wish; but this assumes that the necessary data is present in those properties. hunk ./doc/arbtt.xml 567 For some programs, this is the case. For example, web browsers like Firefox typically set the X title to the - - <title> of the web page in the + HTML <title> element of the web page in the currently-focused tab, which is enough for classification. hunk ./doc/arbtt.xml 572 Some programs do not set titles or class, and all arbtt sees is - - empty strings like ""; or they may set the title/class - - to a constant like "Liferea", which may be acceptable if + empty strings like ""; or they may set the title/class + to a constant like "Liferea", which may be acceptable if that program is used for only one purpose, but if it is used for many purposes, then you cannot write a rule matching it without producing highly-misleading time analyses. (For example, a web hunk ./doc/arbtt.xml 579 browser may be used for countless purposes, ranging from work to research to music to writing to programming; but if the web - - browser's title/class were always just "Web browser", + browser's title/class were always just "Web browser", how would you classify 5 hours spent using the web browser? If the 5 hours are classified as any or all of those purposes, then the results will be misleading garbage - you probably did not spend 5 hunk ./doc/arbtt.xml 590 You should check for such problematic programs upon starting using arbtt. It would be unfortunate if you were to log for a few months, go back for a detailed report for some reason, and - - discover that the necessary data was never actually available for + discover that the necessary data was never available for arbtt to log! hunk ./doc/arbtt.xml 650 With this, we can usefully classify all such time samples as - - being “writing”. + being “writing”: hunk ./doc/arbtt.xml 652 + +current window $title == "/home/gwern/arbtt.page" ==> tag Writing, + Another common gap is terminals/shells: they often do not include information in the title like the current working hunk ./doc/arbtt.xml 685 _NET_WM_NAME(UTF8_STRING) = "/home/gwern/wiki; 2014-09-03 13:39:32 arbtt-stats --help" - - Some distributions (e.g. Debian) already provide the relevant - - configuration for this to happen. If it does not work for you, you can try to add - - . /etc/profile.d/vte.sh - - to your ~/.bashrc. + Some distributions (e.g. Debian) already provide the relevant + configuration for this to happen. If it does not work for you, you can try to add + . /etc/profile.d/vte.sh + to your ~/.bashrc. A rule could classify based on the directory you are working in, hunk ./doc/arbtt.xml 943 - - - - Avoid large and microscopic tags - - - - - - If a tag takes up more than a third or so of your time, it is - - probably too large, masks variation, and can be broken down into more - - meaningful tags. Conversely, a tag too narrow to show up regularly in - - reports (because it is below the default 1% filter) may not be - - helpful because it is usually tiny, and can be combined with the most - - similar tag to yield more compact and easily interpreted reports. - - + + Avoid large and microscopic tags + + + If a tag takes up more than a third or so of your time, it is + probably too large, masks variation, and can be broken down into more + meaningful tags. Conversely, a tag too narrow to show up regularly in + reports (because it is below the default 1% filter) may not be + helpful because it is usually tiny, and can be combined with the most + similar tag to yield more compact and easily interpreted reports. + hunk ./doc/arbtt.xml 1411 shows the version number, and exists. - - + FILE FILE hunk ./doc/arbtt.xml 1421 FORMAT FORMAT dumping format to use, where FORMAT is one of human (the default), show or JSON. Case in-sensitive. - - + NUMBER NUMBER hunk ./doc/arbtt.xml 1543 shows the version number, and exists. - - + FILE FILE hunk ./doc/arbtt.xml 1609 shows the version number, and exists. - - + hunk ./doc/arbtt.xml 1696 Version 0.9 (unreleased) - - + The option of arbtt-stats now supports grouping results by minute or hour. hunk ./doc/arbtt.xml 1700 - - + hunk ./doc/arbtt.xml 1703 - - - - Gwern Branwen contributed the . - - + + Gwern Branwen contributed the . + hunk ./doc/arbtt.xml 1714 Version 0.8.1 - - - - The syntax now allows for time differences larger than 99:99. + + The syntax now allows for time differences larger than 99:99. (issue #14) hunk ./doc/arbtt.xml 1717 - - + hunk ./doc/arbtt.xml 1726 Version 0.8 - - - - arbtt-dump can now show the data in other formats - - as well, as suggested by Waldir Pimenta (option - - ). This includes a human-readale output and - - JSON. - - + + arbtt-dump can now show the data in other formats + as well, as suggested by Waldir Pimenta (option + ). This includes a human-readale output and + JSON. + New option of arbtt-dump. hunk ./doc/arbtt.xml 1788 Version 0.6.4.1 - - - - Added missing module to the packages. - - + + Added missing module to the packages. + hunk ./doc/arbtt.xml 1873 Version 0.5 (The ZuriHac-Release) - - New command arbtt-import, which imports the output from arbtt-dump. + New command arbtt-import, which imports the output from arbtt-dump. hunk ./doc/arbtt.xml 1892 - - Unicode is handled correctly in regular expressions. - - + Unicode is handled correctly in regular expressions. + hunk ./doc/arbtt.xml 1897 - - Improved date-handling functions for categorize.cfg. + Improved date-handling functions for categorize.cfg. () hunk ./doc/arbtt.xml 1899 - - + hunk ./doc/arbtt.xml 1909 Bugfix: Added missing modules to the cabal file. - - + hunk ./doc/arbtt.xml 1919 Implement a custom compression method greatly reduce the file size of the log file. Run arbtt-capture to compress the previous samples as well. - - + hunk ./doc/arbtt.xml 1954 arbtt-dump. - - New command arbtt-recover to rescue data from - - a proken data log file. + New command arbtt-recover to rescue data from + a proken data log file. hunk ./doc/arbtt.xml 1958 - - Actually include this documentation in the released tarball. + Actually include this documentation in the released tarball.