arbtt 0.4.3 → 0.4.4
raw patch · 8 files changed
+36/−7 lines, 8 files
Files
- README +3/−0
- arbtt.cabal +1/−1
- categorize.cfg +2/−0
- doc/arbtt.xml +13/−0
- src/Capture.hs +12/−2
- src/Stats.hs +3/−3
- src/capture-main.hs +1/−0
- src/stats-main.hs +1/−1
README view
@@ -56,6 +56,9 @@ would allow the user to catch the idle times more exactly. * Rules based on day of time, to create tags for worktime, weekend, late at night. (Partially done)+ * Storing the current timezone in the tags, for the prevoius entry to be+ more to be more useful.+ * Storing the hostname, in case a user has several. * Statistics based on time, to visualize trends. * Possibly more data sources?
arbtt.cabal view
@@ -1,5 +1,5 @@ name: arbtt-version: 0.4.3+version: 0.4.4 license: GPL license-file: LICENSE category: Desktop
categorize.cfg view
@@ -32,6 +32,8 @@ ==> tag Project:DA, current window $title =~ m!Diplomarbeit.pdf! ==> tag Project:DA,+current window $title =~ m!LoopSubgroupPaper.pdf!+ ==> tag Project:DA, -- Out of curiosity: what percentage of my time am I actually coding Haskell? current window ($program == "gvim" && $title =~ /^[^ ]+\.hs \(/ )
doc/arbtt.xml view
@@ -815,6 +815,19 @@ </para> <sect2>+ <title>Version 0.4.4</title>+ <itemizedlist>+ <listitem>+ <para>Bugfix: Correctly parse a tag name containing a colon when passed to <command>arbtt-stats</command> <option>--exclude</option>.</para>+ </listitem>+ <listitem>+ <para>Bugfix: Only warn once when the <token>_NET_CLIENT_LIST</token> X property is not set for the root window.</para>+ </listitem>+ </itemizedlist>+ </sect2>+++ <sect2> <title>Version 0.4.3</title> <itemizedlist> <listitem>
src/Capture.hs view
@@ -11,6 +11,17 @@ import Data.Time.Clock import System.IO +setupChecks :: IO ()+setupChecks = do+ dpy <- openDisplay ""+ xSetErrorHandler+ let rwin = defaultRootWindow dpy+ a <- internAtom dpy "_NET_CLIENT_LIST" False+ p <- getWindowProperty32 dpy a rwin+ when (isNothing p) $ do+ hPutStrLn stderr "arbtt: ERROR: No _NET_CLIENT_LIST set for the root window"+ closeDisplay dpy+ captureData :: IO CaptureData captureData = do dpy <- openDisplay ""@@ -22,8 +33,7 @@ wins <- case p of Just wins -> return (map fromIntegral wins)- Nothing -> do hPutStrLn stderr "arbtt: ERROR: No _NET_CLIENT_LIST set for the root window"- return []+ Nothing -> return [] (fsubwin,_) <- getInputFocus dpy fwin <- followTreeUntil dpy (`elem` wins) fsubwin
src/Stats.hs view
@@ -14,13 +14,13 @@ data Report = GeneralInfos | TotalTime | Category String | EachCategory- deriving Eq+ deriving (Show, Eq) data Filter = Exclude Activity | Only Activity | AlsoInactive | GeneralCond String- deriving Eq+ deriving (Show, Eq) data ReportOption = MinPercentage Double- deriving Eq+ deriving (Show, Eq) -- Data format semantically representing the result of a report, including the -- title
src/capture-main.hs view
@@ -78,4 +78,5 @@ let captureFile = dir </> "capture.log" lockFile captureFile upgradeLogFile1 captureFile+ setupChecks runLogger captureFile (sampleRate * 1000) captureData
src/stats-main.hs view
@@ -44,7 +44,7 @@ "show the version number" -- , Option ['g'] ["graphical"] (NoArg Graphical) "render the reports as graphical charts" , Option "x" ["exclude"]- (ReqArg (Filter . Exclude . Activity Nothing) "TAG")+ (ReqArg (Filter . Exclude . read) "TAG") "ignore samples containing this tag" , Option "o" ["only"] (ReqArg (Filter . Only . read) "TAG")