[GB.DBUS.TRAYICON]

* NEW: Deleting a TrayIcon now unregisters it when Unity-like indicator protocol is in use.
* NEW: Support for Cinnamon. Note that the Cinnamon system tray does not send the click events specified by the protocol. Consequently, you get no Click, MiddleClick and Scroll events!


git-svn-id: svn://localhost/gambas/trunk@7775 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
Benoît Minisini 2016-05-14 11:15:35 +00:00
parent c50a343534
commit 673dd259e8

View file

@ -39,7 +39,7 @@ Public Sub _new()
$hObject = New DBusStatusIcon As "StatusIcon"
$bAppIndicator = LCase(Env["XDG_CURRENT_DESKTOP"]) = "unity"
$bAppIndicator = ["unity", "cinnamon", "x-cinnamon"].Exist(Env["XDG_CURRENT_DESKTOP"], gb.IgnoreCase)
Inc $iCount
$iId = $iCount
@ -126,6 +126,11 @@ Public Sub Delete()
Hide
$hMenu = Null
If $bAppIndicator Then
DBus.UnRegister($hMenu) ', "/org/kde/statusnotifieritem" &/ CStr($iId) &/ "menu", ["com.canonical.dbusmenu"])
DBus.Unregister($hObject) ', "/org/kde/statusnotifieritem" &/ CStr($iId), ["org.kde.StatusNotifierItem"])
Endif
iIndex = TrayIcons._All.FindByRef(Me)
If iIndex < 0 Then Return