arbtt 0.1.2 → 0.1.3
raw patch · 2 files changed
+5/−16 lines, 2 files
Files
- arbtt.cabal +1/−1
- src/Capture.hs +4/−15
arbtt.cabal view
@@ -1,5 +1,5 @@ name: arbtt-version: 0.1.2+version: 0.1.3 license: GPL license-file: LICENSE category: Desktop
src/Capture.hs view
@@ -14,9 +14,11 @@ dpy <- openDisplay ":0" xSetErrorHandler let rwin = defaultRootWindow dpy- (_,_,cwins) <- queryTree dpy rwin - cwins <- filterM (isInterestingWindow dpy) cwins+ a <- internAtom dpy "_NET_CLIENT_LIST" False+ p <- getWindowProperty32 dpy a rwin+ let cwins = maybe [] (map fromIntegral) p+ (fwin,_) <- getInputFocus dpy winData <- mapM (\w -> (,,) (w == fwin) <$> getWindowTitle dpy w <*> getProgramName dpy w) cwins @@ -24,19 +26,6 @@ closeDisplay dpy return $ CaptureData winData it---- copied from XMonad/Main.hs, where function "ok" from "scan"-isInterestingWindow :: Display -> Window -> IO Bool-isInterestingWindow dpy w = do- wa <- getWindowAttributes dpy w- a <- internAtom dpy "WM_STATE" False- p <- getWindowProperty32 dpy a w- let ic = case p of- Just (3:_) -> True -- 3 for iconified- _ -> False- return $ not (wa_override_redirect wa)- && (wa_map_state wa == waIsViewable || ic)- getWindowTitle :: Display -> Window -> IO String getWindowTitle dpy w = fmap (fromMaybe "") $ fetchName dpy w