And i have non-transparent icon (there is a white square at background) under Linux/gtk1 and Linux/gtk2.
To solve this problem, rebuild Lazarus LCL with option -dUseStatusIcon, to use transparency in trayicon.
But after that i have no icon in tray at all. I spent some time with tests and learned that
fEmbedded property in
lcl/interfaces/gtk2/gtk2trayicon.inc is always False (in my case), when LCL compiled with UseStatusIcon option...
So i have wrote little workaround. Maybe it's not correct (I'm newbie in programming
), but it works for me - icon in tray is transparent now.
*** gtk2trayicon.inc 2009-04-19 06:59:22.000000000 +1300
--- gtk2trayicon.inc.1 2009-11-07 04:13:37.000000000 +1200
***************
*** 479,488 ****
--- 479,492 ----
* Now shows the GtkPlug
*******************************************************************}
TrayIconHandle.Show;
+ {$ifdef UseStatusIcon}
+ Result := True;
+ {$else}
if TrayIconHandle.fEmbedded then
Result := True
else
Hide(ATrayIcon);
+ {$endif}
end;
{*******************************************************************