メニューにXDGMenuを表示させるには、Readコマンドで.XDGMenuを読み込ませる。
+ I Read $[FVWM_USERDIR]/.XDGMenu
この.XDGMenuには、第一段階目のXDGMenuという名前のメニューが設定されている。それを変更するために。追加になるんだが。
AddToMenu XDGMenu "XDGMenu_kai" Title + "OOOOOOOO" Nop
XDGMenuにタイトルとテストのメニュー名を追加するとする。これをFvwmの設定ファイルにReadコマンドの後に記載すると。これが動作しないのである。困ったものである。どうしたものかと考えて、Readで読ませた設定にはReadで対抗できるのではないかと、推定した。
.XDGMenu_Addというファイルを作り
#DestroyMenu "XDGMenu" AddToMenu XDGMenu "XDGMenu_kai" Title + "OOOOOOOO" Nop
の内容で書き込み。
+ I Read $[FVWM_USERDIR]/.XDGMenu + I Read $[FVWM_USERDIR]/.XDGMenu_Add
としたら、思ったように動作して、.XDGMenu_Addの内容がメニューに表示された。DestroyMenu “XDGMenu”を記載すると、.XDGMenuの内容は、消され.XDGMenu_Addの内容のみが表示された。このダブルReadテクニックによって、いろいろできそう。
例えば
#DestroyMenu "XDGMenu" AddToMenu XDGMenu "XDGMenu_kai" Title + "OOOOOOOO" Nop DestroyMenuStyle menu_xdg MenuStyle menu_xdg MenuColorset 14 MenuStyle menu_xdg Font "xft:NotoSerifCJK-Light:size=12" ChangeMenuStyle menu_xdg XDGMenu
XDGMenuのMenuStyleを変えられる。でもこれXDGMenuの一段目だけなんだよね。二段目以降はメニュー名が日本語だし、たくさんあるし、どうするの?
DestroyMenuStyle * MenuStyle * Mwm MenuStyle * MenuColorset 1 MenuStyle * Font "xft:NotoSerifCJK-Light:size=18"
.XDGMenu_Addにアスタリスクのメニュスタイルを設定すると、XDGMenuでない他のメニューのスタイルも変わってしまう。そりゃそうだけど。アスタリスクに関しては、全部影響するという訳だった。じゃどうする?宿題だな。