2014-11-24 71 views
0

Ubuntu中的鸚鵡螺具有動態圖標,這意味着它在運行時會發生變化,然後再變回。它會在Unity條等中發生變化,例如在複製文件時我們會看到一個進度圖標。動態圖標 - Ubuntu - 鸚鵡螺

我想知道這是如何完成的?我想讓我的應用程序圖標變成動態的,例如在一個過程中,我想用另一個圖標(我創建的圖標在左上角有一個罐子的迷你圖標)替換我的圖標。

https://code.launchpad.net/~3v1n0/ubuntu/oneiric/nautilus/unity-launcher-support/+merge/70685

,我發現這個在這裏:

https://www.mail-archive.com/[email protected]&q=subject:%22[Bug+821598]+Re%3A+Show+progress+bar+in+nautilus+icon+on+launcher+when+the+user+copy+file%22

如果任何人都可以用我的API函數調用共享,我試圖將其轉換爲ctypes的。

動態圖標是體現在這個YouTube視頻:http://www.youtube.com/watch?v=kpXlKM-9mIA

+0

Unity圖標是由_NET_WM_ICON窗口屬性控制的普通X11圖標。他們更像發射器圖標。沒有常用的X11 API來改變它們。您需要使用Unity特定的API。 – 2014-11-24 21:35:24

+1

@ n.m。這是我原先的想法,但並不完全正確:圖標設置在.desktop文件中,然後您需要通過設置_NET_WM_DESKTOP_FILE屬性將.desktop文件與窗口關聯 - 請參閱我的問題和答案 - http://askubuntu.com/questions/530376/association-window-desktop-file-launcher-entry。 Unity以非EWMH的方式做了很多事情 – 2014-11-24 23:21:08

+1

_NET_WM_DESKTOP_FILE不是標準的,它是一個Unity的東西。 – 2014-11-25 03:31:38

回答

3

不,鸚鵡螺沒有改變圖標。相反,它會告訴啓動器「嗨,請設置進度到X%並標記爲xyz」。你可以找到一些文件here。據我所知統一發射器不尊重圖標通過ewmh(_NET_WM_ICON &朋友)的動態變化,所有的工作解決方案都非常黑客:編輯.desktop文件併發送一些信號通知它已更改(看起來像你已經看到的related answer

+0

謝謝安德烈!也感謝您的評論中的鏈接,我認爲用我的圖標創建一個新的桌面文件,然後發送消息(_NET_WM_DESKTOP_FILE路徑是什麼)我需要做的! – Noitidart 2014-11-25 01:17:35

+0

你實際上是在嘗試改變圖標還是需要重疊進度/標籤,就像鏈接的YouTube視頻一樣? – 2014-11-25 02:39:56

+0

嗯,我需要改變圖標,我認爲他們能夠在那裏覆蓋徽章元素。基本上我的插件爲Firefox它允許多個配置文件,並且人們想要在圖標的下角設置一個迷你16x16或8x8徽章,所以在Windows和Mac中,我只是創建一個新圖標並將其替換(運行時)。我以爲那是鸚鵡螺做的,但它不那麼不好,不得不使用黑客方法,這是可以的,它的完美插件:) – Noitidart 2014-11-25 05:39:56

相關問題