
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
。
currentTag
String
に関連するパラメータを指定すると、 は と評価されます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)