FreeBSD - デスクトップ環境構築 - 共通事項 - メニュー - 構成

 クラウディア
1. メニューの構成とは?
2. ディレクトリ・ファイル構成

1. メニューの構成とは?

 後述する Eclipse は、インストールしてもメニュー項目に表示されません。  メニューの構成ファイルを編集する必要があります。  メニューを編集するにはどうすればいいのか調べたことを書いていきます。

2. ディレクトリ・ファイル構成

 基本的なメニューにかんするディレクトリは以下のようになっています。

/usr/local/etc/xdg/menus/				←	メニューファイルを配置
/usr/local/share/desktop-directories/	←	メニュー項目に関するファイルを配置
/usr/local/share/applications/			←	メニュー内のプログラムを定義するファイルを配置
/usr/local/share/icons/					←	アイコンを配置
 主なデスクトップ環境のメニューファイルは、以下のようになっています。
デスクトップ環境  ファイル名 
LXDG lxde-applications.menu
MATE mate-applications.menu
xfce xfce-applications.menu

 メニューファイルの内容は、「XFCE」を例にとると、下記のように表示されているのですが・・・。

「XFCE」「メニュー表示例」


/usr/local/etc/xdg/menus/xfce-applications.menu
 は以下のようになっています。

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
  "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">

<Menu>
    <Name>Xfce</Name>

    <DefaultAppDirs/>
    <DefaultDirectoryDirs/>
    <DefaultMergeDirs/>

    <Include>
        <Category>X-Xfce-Toplevel</Category>
    </Include>

    <Layout>
        <Filename>xfce4-run.desktop</Filename>
        <Separator/>
        <Filename>exo-terminal-emulator.desktop</Filename>
        <Filename>exo-file-manager.desktop</Filename>
        <Filename>exo-mail-reader.desktop</Filename>
        <Filename>exo-web-browser.desktop</Filename>
        <Separator/>
        <Menuname>Settings</Menuname>
        <Separator/>
        <Merge type="all"/>
        <Separator/>
        <Filename>xfce4-about.desktop</Filename>
        <Filename>xfce4-session-logout.desktop</Filename>
    </Layout>

    <Menu>
        <Name>Settings</Name>
        <Directory>xfce-settings.directory</Directory>
        <Include>
            <Category>Settings</Category>
        </Include>

        <Layout>
            <Filename>xfce-settings-manager.desktop</Filename>
            <Separator/>
            <Merge type="all"/>
        </Layout>

        <Menu>
            <Name>Screensavers</Name>
            <Directory>xfce-screensavers.directory</Directory>
            <Include>
                <Category>Screensaver</Category>
            </Include>
        </Menu>
    </Menu>

    <Menu>
        <Name>Accessories</Name>
        <Directory>xfce-accessories.directory</Directory>
        <Include>
            <Or>
                <Category>Accessibility</Category>
                <Category>Core</Category>
                <Category>Legacy</Category>
                <Category>Utility</Category>
            </Or>
        </Include>
        <Exclude>
            <Or>
                <Filename>exo-file-manager.desktop</Filename>
                <Filename>exo-terminal-emulator.desktop</Filename>
                <Filename>xfce4-about.desktop</Filename>
                <Filename>xfce4-run.desktop</Filename>
            </Or>
        </Exclude>
    </Menu>

    <Menu>
        <Name>Development</Name>
        <Directory>xfce-development.directory</Directory>
        <Include>
            <Category>Development</Category>
        </Include>
    </Menu>

    <Menu>
        <Name>Education</Name>
        <Directory>xfce-education.directory</Directory>
        <Include>
            <Category>Education</Category>
        </Include>
    </Menu>

    <Menu>
        <Name>Games</Name>
        <Directory>xfce-games.directory</Directory>
        <Include>
            <Category>Game</Category>
        </Include>
    </Menu>

    <Menu>
        <Name>Graphics</Name>
        <Directory>xfce-graphics.directory</Directory>
        <Include>
            <Category>Graphics</Category>
        </Include>
    </Menu>

    <Menu>
        <Name>Multimedia</Name>
        <Directory>xfce-multimedia.directory</Directory>
        <Include>
            <Category>Audio</Category>
            <Category>Video</Category>
            <Category>AudioVideo</Category>
        </Include>
    </Menu>

    <Menu>
        <Name>Network</Name>
        <Directory>xfce-network.directory</Directory>
        <Include>
            <Category>Network</Category>
        </Include>
        <Exclude>
            <Or>
                <Filename>exo-mail-reader.desktop</Filename>
                <Filename>exo-web-browser.desktop</Filename>
            </Or>
        </Exclude>
    </Menu>

    <Menu>
        <Name>Office</Name>
        <Directory>xfce-office.directory</Directory>
        <Include>
            <Category>Office</Category>
        </Include>
    </Menu>

    <Menu>
        <Name>System</Name>
        <Directory>xfce-system.directory</Directory>
        <Include>
            <Or>
                <Category>Emulator</Category>
                <Category>System</Category>
            </Or>
        </Include>
        <Exclude>
            <Or>
                <Filename>xfce4-session-logout.desktop</Filename>
            </Or>
        </Exclude>
    </Menu>

    <Menu>
        <Name>Other</Name>
        <Directory>xfce-other.directory</Directory>
        <OnlyUnallocated/>
        <Include>
            <All/>
        </Include>
    </Menu>

</Menu>
 53~72行を注視すると Accessories の定義に xfce-accessories.directory を使用しています。

/usr/local/share/desktop-directories/xfce-accessories.directory
 の内容は

[Desktop Entry]
Version=1.0
Type=Directory
Icon=applications-accessories
Name=Accessories
Name[am]=ተጨማሪዎች

・・・他国語につき略

Name[ja]=アクセサリ

・・・他国語につき略

Name[zh_TW]=附屬應用
Comment=Common desktop tools and applications
Comment[am]=የ ተለመዱ የ ዴስክቶፕ መሳሪያዎች እና መተግበሪያዎች

・・・他国語につき略

Comment[ja]=一般的なデスクトップツールやアプリケーションです

・・・他国語につき略

Comment[zh_TW]=常見的桌面工具與應用程式
 となっており、メニュー内に「アクセサリ」として定義されているのがわかります。  「アクセサリ」内に Mousepad というプログラムがありますが

/usr/local/share/applications/mousepad.desktop
 というファイルがあり内容は

[Desktop Entry]
Name=Mousepad
Name[ar]=ماوس باد

・・・他国語につき略

Name[ja]=Mousepad

・・・他国語につき略

Comment=Simple Text Editor

・・・他国語につき略

Comment[ja]=シンプルなテキストエディターです

・・・他国語につき略

GenericName=Text Editor
GenericName[ar]=محرر نصوص

・・・他国語につき略

GenericName[ja]=テキストエディター

・・・他国語につき略

Exec=mousepad %F
Icon=accessories-text-editor
Terminal=false
StartupNotify=true
Type=Application
Categories=Utility;TextEditor;GTK;
MimeType=text/plain;
 となっており、クリック時に起動するロードモジュール名やアイコンファイル名・タイプ・カテゴリが定義されていることがわかります。
ハイスピードプランPoint anytime