diff options
Diffstat (limited to 'lib/Graphics')
-rw-r--r-- | lib/Graphics/X11/EWMH.hs | 19 | ||||
-rw-r--r-- | lib/Graphics/X11/Xlib/Extras/Extra.hs | 13 |
2 files changed, 14 insertions, 18 deletions
diff --git a/lib/Graphics/X11/EWMH.hs b/lib/Graphics/X11/EWMH.hs index 4f539ad..210d1bf 100644 --- a/lib/Graphics/X11/EWMH.hs +++ b/lib/Graphics/X11/EWMH.hs @@ -4,16 +4,15 @@ module Graphics.X11.EWMH ) where import Control.Applicative ((<|>)) -import Data.Text (Text) +import Data.List.Extra (split) import Foreign.C.Types (CLong) import Graphics.X11.EWMH.Atom import Graphics.X11.Types (Window) import Graphics.X11.Xlib.Atom.Extra import Graphics.X11.Xlib.Display (defaultRootWindow) import Graphics.X11.Xlib.Extras (getWindowProperty32) -import Graphics.X11.Xlib.Extras.Extra (getWindowPropertyText) +import Graphics.X11.Xlib.Extras.Extra (getWindowPropertyString) import Graphics.X11.Xlib.Types (Display) -import qualified Data.Text as Text getActiveWindow :: Display -> IO (Maybe Window) @@ -29,11 +28,11 @@ getCurrentDesktop dpy = getWindowProperty32 dpy _WIN_WORKSPACE w where w = defaultRootWindow dpy -getDesktopNames :: Display -> IO (Maybe [Text]) +getDesktopNames :: Display -> IO (Maybe [String]) getDesktopNames dpy = do - (fmap (init . Text.split (=='\NUL')) <$>) $ - getWindowPropertyText dpy _NET_DESKTOP_NAMES w <|> - getWindowPropertyText dpy _WIN_WORKSPACE_NAMES w + (fmap (init . split (=='\NUL')) <$>) $ + getWindowPropertyString dpy _NET_DESKTOP_NAMES w <|> + getWindowPropertyString dpy _WIN_WORKSPACE_NAMES w where w = defaultRootWindow dpy getWindowDesktop :: Display -> Window -> IO (Maybe CLong) @@ -42,7 +41,7 @@ getWindowDesktop dpy w = getWindowProperty32 dpy _NET_WM_DESKTOP w <|> getWindowProperty32 dpy _WIN_WORKSPACE w -getWindowTitle :: Display -> Window -> IO (Maybe Text) +getWindowTitle :: Display -> Window -> IO (Maybe String) getWindowTitle dpy w = - getWindowPropertyText dpy _NET_WM_NAME w <|> - getWindowPropertyText dpy _WM_NAME w + getWindowPropertyString dpy _NET_WM_NAME w <|> + getWindowPropertyString dpy _WM_NAME w diff --git a/lib/Graphics/X11/Xlib/Extras/Extra.hs b/lib/Graphics/X11/Xlib/Extras/Extra.hs index d88bf9d..7633f8d 100644 --- a/lib/Graphics/X11/Xlib/Extras/Extra.hs +++ b/lib/Graphics/X11/Xlib/Extras/Extra.hs @@ -1,14 +1,11 @@ module Graphics.X11.Xlib.Extras.Extra where -import Data.Text (Text) +import Codec.Binary.UTF8.String (decode) import Foreign.C.String.Extra (castCCharToWord8) -import qualified Data.ByteString as ByteString -import qualified Data.Text.Encoding.Extra as Text +import Graphics.X11.Xlib.Extras (getWindowProperty8) import qualified Graphics.X11 as X11 -import qualified Graphics.X11.Xlib.Extras as X11 -getWindowPropertyText :: X11.Display -> X11.Atom -> X11.Window -> IO (Maybe Text) -getWindowPropertyText d a w = - fmap (Text.decodeUtf8Lenient . ByteString.pack . map castCCharToWord8) <$> - X11.getWindowProperty8 d a w +getWindowPropertyString :: X11.Display -> X11.Atom -> X11.Window -> IO (Maybe String) +getWindowPropertyString d a w = + fmap (decode . map castCCharToWord8) <$> getWindowProperty8 d a w |