
Я хочу получить текущий активный тег в xmonad как строку. Я импортировал stackset с помощью
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)