Experiement with stack in travis
[darcs-mirror-arbtt.git] / categorize.cfg
index 6b20427..732a789 100644 (file)
@@ -1,19 +1,40 @@
+-- -*- mode: haskell; -*-
+-- Comments in this file use the Haskell syntax:
+-- A "--" comments the rest of the line.
+-- A set of {- ... -} comments out a group of lines.
+
 -- This defines some aliases, to make the reports look nicer:
 aliases (
        "sun-awt-X11-XFramePeer"  -> "java",
        "sun-awt-X11-XDialogPeer" -> "java",
        "sun-awt-X11-XWindowPeer" -> "java",
-        "gramps.py"               -> "gramps",
-       "___nforschung"           -> "ahnenforschung"
+       "gramps.py"               -> "gramps",
+       "___nforschung"           -> "ahnenforschung",
+       "Pidgin"                  -> "pidgin"
        )
 
 -- A rule that probably everybody wants. Being inactive for over a minute
 -- causes this sample to be ignored by default.
 $idle > 60 ==> tag inactive,
 
+-- A rule that matches on a list of strings
+current window $program == ["Navigator","galeon"] ==> tag Web,
+
+current window $program == "sun-awt-X11-XFramePeer" &&
+current window $title == "I3P"
+  ==> tag Program:I3P,
+
+current window $program == "sun-awt-X11-XDialogPeer" &&
+current window $title == " " &&
+any window $title == "I3P"
+  ==> tag Program:I3P,
+
 -- Simple rule that just tags the current program
 tag Program:$current.program,
 
+-- Another simple rule, just tags the current desktop (a.k.a. workspace)
+tag Desktop:$desktop,
+
 -- I'd like to know what evolution folders I'm working in. But when sending a
 -- mail, the window title only contains the (not very helpful) subject. So I do
 -- not tag necessarily by the active window title, but the title that contains
@@ -36,17 +57,37 @@ any window ($title =~ /nforschung/)
 
 
 -- My diploma thesis is in a different directory
-current window $title =~ m!(?:~|home/jojo)/dokumente/Uni/DA!
-  ==> tag Project:DA,
-current window $title =~ m!Diplomarbeit.pdf!
-  ==> tag Project:DA,
-current window $title =~ m!LoopSubgroupPaper.pdf!
+current window $title =~ [ m!(?:~|home/jojo)/dokumente/Uni/DA!
+                         , m!Diplomarbeit.pdf!
+                         , m!LoopSubgroupPaper.pdf! ]
   ==> tag Project:DA,
 
+current window $title =~ m!TDM!
+  ==> tag Project:TDM,
+
+( $date >= 2010-08-01 &&
+  $date <= 2010-12-01 &&
+  ( current window $program == "sun-awt-X11-XFramePeer" &&
+      current window $title == "I3P" ||
+    current window $program == "sun-awt-X11-XDialogPeer" &&
+      current window $title == " " &&
+      any window $title == "I3P" ||
+    current window $title =~ m!(?:~|home/jojo)/dokumente/Uni/SA! ||
+    current window $title =~ m!Isabelle200! ||
+    current window $title =~ m!isar-ref.pdf! ||
+    current window $title =~ m!document.pdf! ||
+    current window $title =~ m!outline.pdf! ||
+    current window $title =~ m!Studienarbeit.pdf! )
+) ==> tag Project:SA,
+
+
 -- Out of curiosity: what percentage of my time am I actually coding Haskell?
 current window ($program == "gvim" && $title =~ /^[^ ]+\.hs \(/ )
   ==> tag Editing-Haskell,
 
+{-
+-- Example of time-related rules. I do not use these myself.
+
 -- To be able to match on the time of day, I introduce tags for that as well.
 -- $time evaluates to local time.
 $time >=  2:00 && $time <  8:00 ==> tag time-of-day:night,
@@ -64,10 +105,16 @@ $sampleage <= 24:00 ==> tag last-day,
 -- evaluate dates in local time. Set TZ environment variable if you need
 -- statistics in a different time zone.
 
+-- You can compare dates:
+$date >= 2001-01-01 ==> tag this_century,
+-- You have to write them in YYYY-MM-DD format, else they will not be recognized.
+
 -- “format $date” produces a string with the date in ISO 8601 format
 -- (YYYY-MM-DD), it may be compared with strings. For example, to match
 -- everything on and after a particular date I can use
-format $date >= "2010-03-19"  ==> tag period:after_a_special_day,
+format $date =~ ".*-03-19"  ==> tag period:on_a_special_day,
+-- but note that this is a rather expensive operation and will slow down your
+-- data processing considerably.
 
 -- “day of month $date” gives the day of month (1..31),
 -- “day of week $date” gives a sequence number of the day of week
@@ -78,3 +125,6 @@ format $date >= "2010-03-19"  ==> tag period:after_a_special_day,
 month $date == 1 ==> tag month:January,
 month $date == 2 ==> tag month:February,
 year $date == 2010 ==> tag year:2010,
+-}
+
+}