diff options
-rw-r--r-- | desktop-pager.cabal (renamed from pager.cabal) | 6 | ||||
-rw-r--r-- | src/pager.hs | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/pager.cabal b/desktop-pager.cabal index ee8267e..083da70 100644 --- a/pager.cabal +++ b/desktop-pager.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 -name: pager +name: desktop-pager version: 1.0.0 license: MIT author: tv <tv@krebsco.de> @@ -26,7 +26,7 @@ executable desktops , aeson , bytestring , containers - , pager + , desktop-pager executable pager main-is: pager.hs @@ -39,9 +39,9 @@ executable pager , bytestring , containers , data-default + , desktop-pager , hack , optparse-applicative - , pager , probability , scanner , speculate diff --git a/src/pager.hs b/src/pager.hs index dbfc6b0..2af362a 100644 --- a/src/pager.hs +++ b/src/pager.hs @@ -83,7 +83,14 @@ getWorkspaces display screenGeometry focusWindows = do geometry <- getGeometry display w wm_hints <- X11.getWMHints display w - let urgent = testBit (X11.wmh_flags wm_hints) X11.urgencyHintBit + + wm_state <- + maybe [] (map fromIntegral) <$> + X11.getWindowProperty32 display X11._NET_WM_STATE w + + let urgent = + testBit (X11.wmh_flags wm_hints) X11.urgencyHintBit || + elem X11._NET_WM_STATE_DEMANDS_ATTENTION wm_state let window = |