[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 categorize.cfg
- -
- -
- - 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 windowany 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.
- -
+
FILEFILE
hunk ./doc/arbtt.xml 1421
FORMATFORMATdumping format to use, where FORMAT is one of human (the default), show or JSON. Case in-sensitive.
- -
+
NUMBERNUMBER
hunk ./doc/arbtt.xml 1543
shows the version number, and exists.
- -
+
FILEFILE
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.