xmonad で現在のワークスペース名を文字列として取得する

xmonad で現在のワークスペース名を文字列として取得する

xmonadで現在アクティブなタグを文字列として取得したい。スタックセットをインポートした。

import qualified XMonad.StackSet as W

現在フォーカスされているワークスペースのタグは で取得できますW.currentTagが、そのタイプはStackSet i0 l0 a0 s0 sd0 -> i0

これを文字列に変換するにはどうすればいいでしょうか?

答え1

iタイプはhttp://hackage.haskell.org/package/xmonad-0.15/docs/XMonad-Core.html#t:WindowSetこれは の型エイリアスですString

currentTagStringに関連するパラメータを指定すると、 は と評価されますStackSet

http://hackage.haskell.org/package/xmonad-0.15/docs/XMonad-Core.html#v:withWindowSet使えるものですね。

withWindowSet (pure . currentTag)だから、次のようにできると思います。これは、X String


こちらからも入手可能です:https://hackage.haskell.org/package/xmonad-contrib-0.15/docs/XMonad-Util-Loggers.html#v:logCurrent

import XMonad.Util.Loggers
logCurrent :: X (Maybe String)

関連情報