DynamicWorkspacesを使用してワークスペース名をインタラクティブに変更することは機能しません。

DynamicWorkspacesを使用してワークスペース名をインタラクティブに変更することは機能しません。

作業中にワークスペースの名前を変更する方法を見つけようとしました。現在、最大4つのワークスペースを使用しており、必要に応じてワークスペースに新しい名前を割り当てたいと思います。

XMonad.Actions.DynamicWorkspacesワークスペースを作成して削除できますが、名前を変更することはできないことがわかりました。現在、バインディングがあります。

((modM .|. shiftMask, xK_r), renameWorkspace defaultXPConfig)

ただし、defaultXPConfigに何かを入力しても何も起こりません(つまり、ワークスペース名はxmobarでは変更されません)。ワークスペースを作成して削除することができ、変更はxmobarに表示されます。

renameWorkspaceByName メソッドが期待どおりに機能するため、xpconfig を誤って使用しているようです。

私はxmonad.hsを投稿しました。ここ

答え1

xmonad-contribで「configure」を使用していることを確認してください。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

関連情報