XDGMenuとReadとAddToMenuの関係

メニューに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でない他のメニューのスタイルも変わってしまう。そりゃそうだけど。アスタリスクに関しては、全部影響するという訳だった。じゃどうする?宿題だな。

コメントを残す

作者にコメントします。

掲載には承認判定があります。