---
# System prepended metadata

title: Winapps 安裝筆記（理解 KDE 選單的邏輯）

---

# Winapps 安裝筆記（理解 KDE 選單的邏輯）
 
KDE Neon 在依照官方教學安裝 WinApps 後
Desktop Entry 沒有直接出現在 App 清單中（只能用搜尋的）
確認 .desktop 檔案存在，後來發現是檔案中 Category 導致
（系統不認得 WinApps 這個類別，導致直接忽略 .desktop 檔）

此外，搜尋後 icon 顯示不正常（與 .desktop 檔中定義不符）

在經歷一番波折後，搞懂正常在應用清單中顯示 Apps 還有其圖標
並且嘗試要如何在安裝後新增一個 WinApps 專屬 Submenu

（過程盡量不依靠 `kmenuedit` 選單編輯器軟體，因為發現會造成滿多問題的，包括新增很多重複但不需要的檔案，以及前述提到的問題幾乎都與此軟體建立的 config 檔有很大的關係，此 config 檔混雜且紀錄許多不必要資訊，導致不知名的問題發生。所以希望不依賴此軟體的情況下讓應用程式選單正常顯示）

## System Path
Submenu Config：
* `/usr/share/desktop-directories/<XXX>.directory`
* `/etc/xdg/menus/applications-merged/<XXX>.menu`

App Entry：
* `/usr/share/applications/<APP>.desktop`

## User Path
Submenu Config：
* `~/.local/share/desktop-directories/<XXX>.directory`
* `~/.config/menus/applications-merged/<XXX>.menu`

App Entry：
* `~/.local/share/applications/<APP>.desktop`


## 新增選單中的 Submenu

![圖片](https://hackmd.io/_uploads/rySIxJfcgg.png)

XXX.directory 的內容（請自行替換 XXX 成想要的名字）：
```
[Desktop Entry]
Icon=<Icon_Path>
Name=XXX
Type=Directory
```

XXX.menu 的內容（請自行替換 XXX 成想要的名字）
```xml=
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
	<Name>Applications</Name>
	<Menu>
		<Name>XXX</Name>
		<Directory>XXX.directory</Directory>
        <Include>
            <Filename><APP>.desktop</Filename>
            <Filename><APP>.desktop</Filename>
            <Filename><APP>.desktop</Filename>
            ......
        </Include>
	</Menu>
</Menu>
```

## KDE 選單沒有更新？？？

如果 .desktop 已存在，但沒有顯示在所有應用程式清單
或是已經新增以上檔案，但 Submenu 沒有出現

請刪除 `~/.config/menus/applications-kmenuedit.menu`
此為 `kmenuedit` 產生的檔案
如果曾經編輯選單，可能會先以此檔案優先
導致新建立的 Entry 沒有出現在清單中）

並執行（更新桌面組態 Cache）：
```
kbuildsycoca5 --noincremental
kbuildsycoca6 --noincremental
```

## Icon 問題？？？

為什麼指定了某路徑下的 icon 圖片，但沒顯示出來？

應該是個 Bug，Plasma 在有套 icon-theme 的情況下似乎不會完全尊重使用者設定
而是會被圖片檔名影響......
如果該 Icon 圖片檔名叫做 icon.png，預設會跑出一個空白的 App 圖示
所以只要加上個前綴（例如：msppt_icon.png）即可正常顯示

（也許之後會寫個 Script 來處理這些安裝後的步驟......）