我一直在尝试找到一种在工作时重命名工作区的方法。我目前最多使用 4 个工作区,我想根据需要为工作区分配新名称。
我遇到了XMonad.Actions.DynamicWorkspaces
,我能够创建和删除工作区,但不能重命名。我有当前的绑定
((modM .|. shiftMask, xK_r), renameWorkspace defaultXPConfig)
然而,当我在defaultXPConfig中输入某些内容时,什么也没有发生(我的意思是,工作区的名称在我的xmobar中没有改变)。我能够创建和删除工作区,这些更改会显示在我的 xmobar 中。
renameWorkspaceByName 方法按预期工作,因此我相信我使用的 xpconfig 错误?
我已经发布了我的 xmonad.hs这里
答案1
确保您使用的是 xmonad-contrib 中的“配置”https://hackage.haskell.org/package/xmonad-contrib-0.13/docs/XMonad-Config-Desktop.html。
本质上,从您发布的最小配置开始,您需要替换xmonad $ defaultConfig {
为xmonad $ desktopConfig {
.确保您还导入了所需的模块:
import XMonad.Config.Desktop
。
这是工作的最低配置:
import XMonad
import XMonad.Config.Desktop
import XMonad.Util.EZConfig
import XMonad.Actions.DynamicWorkspaces
modM = mod4Mask
myWorkspaces = ["1:Surf", "2:Web", "3:Dev", "4:Term","5:Pdf"]
myKeys = [((modM .|. shiftMask, xK_r), renameWorkspace def)]
main = do
xmonad $ desktopConfig {
workspaces = myWorkspaces
, modMask = modM
}
`additionalKeys` myKeys