使用 DynamicWorkspaces 以交互方式重命名工作区不起作用

使用 DynamicWorkspaces 以交互方式重命名工作区不起作用

我一直在尝试找到一种在工作时重命名工作区的方法。我目前最多使用 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

相关内容