aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrea Rossato <andrea.rossato@unibz.it>2007-07-06 15:06:44 +0200
committerAndrea Rossato <andrea.rossato@unibz.it>2007-07-06 15:06:44 +0200
commita804380514ef29f5145f0cc0b368f85dc7e3b322 (patch)
treedb077ccc03626ea3ba1608613d4bb9e767151062
parent031a3feb87bd66d181fb118f6459d815330e3e5a (diff)
downloadXMonadContrib-a804380514ef29f5145f0cc0b368f85dc7e3b322.tar.gz
XMonadContrib-a804380514ef29f5145f0cc0b368f85dc7e3b322.tar.xz
XMonadContrib-a804380514ef29f5145f0cc0b368f85dc7e3b322.zip
NamedWindows: if fetchName returns Nothing sets the name to resName ClassHint
fetchName may return a Nothing if the window's name contains multi byte characters. In such a case the resName string of the ClassHints of that window will be used instead. darcs-hash:20070706130644-32816-eb31c905767927e90b6a8010db2c50334b3e63c4.gz
-rw-r--r--NamedWindows.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/NamedWindows.hs b/NamedWindows.hs
index d807a0c..790fe1a 100644
--- a/NamedWindows.hs
+++ b/NamedWindows.hs
@@ -28,7 +28,7 @@ import Control.Monad.State ( gets )
import qualified StackSet as W ( peek )
import Graphics.X11.Xlib
-import Graphics.X11.Xlib.Extras ( fetchName )
+import Graphics.X11.Xlib.Extras
import XMonad
@@ -45,7 +45,8 @@ instance Show NamedWindow where
show (NW n _) = n
getName :: Window -> X NamedWindow
-getName w = asks display >>= \d -> do n <- maybe "" id `fmap` io (fetchName d w)
+getName w = asks display >>= \d -> do s <- io $ getClassHint d w
+ n <- maybe (resName s) id `fmap` io (fetchName d w)
return $ NW n w
unName :: NamedWindow -> Window