解決Wine QQ圖標的一個Bug

以前寫過一篇文章說在Linux下面使用deepin的wine QQ和微信, 雖然這個版本挺好用,可是一直以來有個bug困擾我:QQ和微信的圖標都是wine的小圖標,如出一轍不說,還重疊在一塊兒,當你使用 ctrl+tab 切換應用的時候很頭疼,用過的人應該生有感覺!git

有段時間我網上查了好久都沒有找到答案,起初覺得是圖標問題!在Linux下面桌面圖標快捷方式是由一個desktop文件配置,好比微信的內容基本上以下:github

#!/usr/bin/env xdg-open

[Desktop Entry]
Encoding=UTF-8
Type=Application
X-Created-By=Deepin WINE Team
Categories=chat;
Icon=deepin.com.wechat
Exec="/opt/deepinwine/apps/Deepin-WeChat/run.sh" -u %u
Name=WeChat
Name[zh_CN]=微信
Comment=Tencent WeChat Client on Deepin Wine
StartupWMClass=WeChat.exe
MimeType=
複製代碼

其中有幾個比較關鍵的地方,一個是Icon,一個是Exec,還有Name,有一天我看到這個 StartupWMClass 突發奇想,雖然我不懂是啥意思,可是感受這個有問題。ubuntu

因而百度了一下,基本上找不到任何內容,只有一篇文章,點進去竟然是404...還好有百度快照!bash

終於找到問題所在了,默認狀況下,Linux是根據可執行文件的名稱斷定是屬於哪一個desktop文件配置的,大部分desktop文件的Exec配置的可執行文件恰好就是實際執行的文件名,因此不少沒有StartupWMClass配置項。微信

可是這個配置項很重要,好比說在上面的微信的配置裏面這個值是」WeChat.exe「,可是爲何仍是不行呢?app

根據文章的說法,能夠經過xprop WM_CLASS獲取窗口的屬性值,在命令行下執行這個命令,鼠標會變成+,而後點擊要QQ或微信的窗口:spa

jwang@jwang:~$ xprop WM_CLASS
WM_CLASS(STRING) = "wechat.exe", "Wine"
複製代碼

不知道這個值是否是不一樣的電腦不同,反正在個人電腦上面這個值是」wechat.exe「,竟然是小寫!命令行

這樣的話,咱們只需把desktop配置文件裏面的StartupWMClass改爲小寫的就好了,問題解決!code

相關文章
相關標籤/搜索