[Gambas-user] gb.desktop.x11

Benoît Minisini gambas at ...1...
Mon Jun 2 02:47:56 CEST 2014


Le 31/05/2014 03:56, Benoît Minisini a écrit :
> Le 31/05/2014 01:07, herberth guzman a écrit :
>> Hi Benoit
>>
>> Thanks Benoit for Gambas3 , gb.desktop.x11
>> Thanks to Fabien for his lib DesktopApps.
>>
>> My project is possible thanks to Benoit and Fabien.
>>
>>
>> Panel Innova Desktop (Desktop developed Gambas3)
>>
>> is a desktop panel, written in Gambas3
>> is funsional through Desktop.X11 and DesktopWatcher
>> easy to configure (change solid color, change image panel and adapted to
>> desktop theme)
>> launcher of applications on the panel
>> system date
>> system tray or task bar Embedder (Stalonetray)
>>
>> I have the following consultation:
>>
>> 1 - How can I work with system tray and not rely on Embedder and
>> Stalonetray (nm-applet, gnome-sound-applet, system-config-printer-applet)
>> in mypanel.
>>
>
> No way at the moment. I will look at stalonetray source code to see if I
> can integrate it into gb.desktop.x11.
>

This is done in revision #6299. To use it, use a DrawingArea, and calls 
X11Systray.Show(MyDrawingArea.Handle).

Then create a static public method named 'X11Systray_Arrange' in your 
startup class.

That method is called each time icons must be arranged. Here is an 
simple arrangement routine example:

Static Public Sub X11Systray_Arrange()

   Dim I As Integer
   Dim X As Integer

   X = 2
   For I = 0 To X11Systray.Count - 1
     With X11Systray[I]
       .Move(X, 2, .IconW, .IconH)
       X += .IconW + 2
     End With
   Next

End

For a really complete system tray, you should put your DrawingArea 
inside a ScrollView, and resize your DrawingArea according to the number 
of icons and the way you want to display them.

Another point: at the moment, only a static color can be used as 
background in the DrawingArea. Otherwise you will get artifacts, because 
system tray icons are non-transparent X11 windows.

Remember that this system tray is based on the stalonetray source code, 
and that now there is a new system tray protocol implemented in the KDE 
panel. Apparently that new protocol is not supported by stalonetray. But 
maybe I'm wrong, I don't know.

>>
>> 2 - DesktopWatcher with gb.gtk3 component does not update the windows
>> closed or open a new windows.
>>
>
> Does it work with gb.gtk or gb.qt4? Please provide your source code.
>

There were fixes about that too. Please check and report!

Regards,

-- 
Benoît Minisini




More information about the User mailing list