[Gambas-user] Help SystemTray gb-qt5 64 bits
herberth guzman
herberthguzman at gmail.com
Tue Apr 7 03:26:18 CEST 2020
El vie., 3 abr. 2020 a las 7:31, Jussi Lahtinen (<jussi.lahtinen at gmail.com>)
escribió:
> >I think the answer to this question can be found easier from
> https://www.freedesktop.org/wiki/ or similar.
> >I don't see how this is gambas related question per se, but of course
> people here can help implement things in gambas, when you figure out what
> exactly to >do.
>
> Thanks so much for the help, I've already read about freedesktop, but it's
> something different.
>
> Jussi
>
> On Thu, Apr 2, 2020 at 9:12 PM herberth guzman <herberthguzman at gmail.com>
> wrote:
>
>> I honestly have no idea how to make a new system tray.
>>
>> I need help please.
>>
>> I need help creating a new system tray that supports 64-bit gb-qt5.
>>
>> El mié., 1 abr. 2020 1:29 p. m., herberth guzman <
>> herberthguzman at gmail.com> escribió:
>>
>>> but there's no desktop! i mean we want to create a new systray area! how
>>> to do?
>>>
>>>
>>>
>>>> XDG_CURRENT_DESKTOP environment variable.
>>>>
>>> set to a custom openbox in my case! no panel or systray area was starte
>>> i want to start by myselft!
>>>
>>> El mié., 1 abr. 2020 a las 13:24, herberth guzman (<
>>> herberthguzman at gmail.com>) escribió:
>>>
>>>>
>>>>
>>>> El mié., 1 abr. 2020 a las 13:23, herberth guzman (<
>>>> herberthguzman at gmail.com>) escribió:
>>>>
>>>>> New Systray
>>>>> Fabien helped me with this example
>>>>> but I'm still in trouble.
>>>>>
>>>>> Private $hTrayIcons As New TrayIcon[]
>>>>>
>>>>> Public Sub Form_Open()
>>>>>
>>>>> Dim a As String[]
>>>>> Dim s As String
>>>>> Dim sIcon As String
>>>>> Dim hTray As TrayIcon
>>>>> Dim vIconPixmap As Variant
>>>>> Dim i As Integer
>>>>> Dim ii As Integer
>>>>> Dim hbut As New Button(Me)
>>>>> DBus.Debug = True
>>>>>
>>>>> a = DBus["org.kde.StatusNotifierWatcher"]["/StatusNotifierWatcher",
>>>>> "org.kde.StatusNotifierWatcher"].RegisteredStatusNotifierItems
>>>>>
>>>>> For Each s In a
>>>>>
>>>>> 'sIcon = DBus[File.Dir(s)]["/" & File.Name(s),
>>>>> "org.kde.StatusNotifierItem"].IconThemePath
>>>>> hTray = New TrayIcon
>>>>> hTray.Name = s
>>>>> hbut.Text = s
>>>>> 'Print DBus[File.Dir(s)]["/" & File.Name(s),
>>>>> "org.kde.StatusNotifierItem"].OverlayIconName
>>>>> sIcon = DBus[File.Dir(s)]["/" & File.Name(s),
>>>>> "org.kde.StatusNotifierItem"].IconName
>>>>> hTray.IconName = sIcon
>>>>>
>>>>> ' Print sIcon
>>>>> ' Print hTray.IconName
>>>>> vIconPixmap = DBus[File.Dir(s)]["/" & File.Name(s),
>>>>> "org.kde.StatusNotifierItem"].IconPixmap
>>>>> If vIconPixmap Then
>>>>> Try hTray.Icon = GetPictureFromAVariant(vIconPixmap)
>>>>> Endif
>>>>>
>>>>> $hTrayIcons.Add(hTray)
>>>>>
>>>>> For ii = 0 To $hTrayIcons.Max
>>>>> hbut.H = 48
>>>>> hbut.w = 48
>>>>> hbut.Picture = $hTrayIcons[i].GetIcon(32)
>>>>>
>>>>> Next
>>>>> ' Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5)
>>>>>
>>>>>
>>>>> Next
>>>>>
>>>>> DrawingArea1.Refresh
>>>>>
>>>>> 'Me.Picture = hDBusPixmap.GetPicture()
>>>>> End
>>>>>
>>>>> Private Sub GetPictureFromAVariant(hValue As Variant[]) As Picture
>>>>>
>>>>> Dim H, W As Integer
>>>>> Dim hData As Byte[]
>>>>> Dim hFile As File
>>>>> Dim hPic As Image
>>>>>
>>>>> W = hValue[0][0]
>>>>> H = hValue[0][1]
>>>>> hData = hValue[0][2]
>>>>>
>>>>> hPic = New Image(W, H, Color.Transparent)
>>>>> hPic.Format = "ARGB"
>>>>> hFile = Memory hPic.Data For Write
>>>>> hData.Write(hFile)
>>>>> hFile.Close
>>>>> Return hPic.picture
>>>>>
>>>>> End
>>>>>
>>>>> Public Sub DrawingArea1_Draw()
>>>>>
>>>>> Dim i As Integer
>>>>>
>>>>> For i = 0 To $hTrayIcons.Max
>>>>> Paint.DrawPicture($hTrayIcons[i].GetIcon(32), i * 32, 5)
>>>>> Next
>>>>>
>>>>> End
>>>>>
>>>>> [System]
>>>>> Gambas=3.14.90 0714bf7 (master)
>>>>> OperatingSystem=Linux
>>>>> Kernel=5.4.0-18-generic
>>>>> Architecture=x86_64
>>>>> Distribution=Ubuntu Focal Fossa (development branch)
>>>>> Desktop=INNOVA
>>>>> Theme=Fusion
>>>>> Language=es_GT.UTF-8
>>>>> Memory=3735M
>>>>>
>>>>> [Libraries]
>>>>> Cairo=libcairo.so.2.11600.0
>>>>> Curl=libcurl.so.4.6.0
>>>>> DBus=libdbus-1.so.3.19.11
>>>>> GStreamer=libgstreamer-1.0.so.0.1602.0
>>>>> GTK+2=libgtk-x11-2.0.so.0.2400.32
>>>>> GTK+3=libgtk-3.so.0.2404.10
>>>>> OpenGL=libGL.so.1.7.0
>>>>> Poppler=libpoppler.so.95.0.0
>>>>> Poppler=libpoppler.so.97.0.0
>>>>> QT5=libQt5Core.so.5.12.5
>>>>> SDL=libSDL-1.2.so.0.11.4
>>>>> SQLite=libsqlite3.so.0.8.6
>>>>>
>>>>> [Environment]
>>>>> CLUTTER_IM_MODULE=ibus
>>>>> DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
>>>>> DESKTOP_SESSION=Innova
>>>>> DISPLAY=:0
>>>>> GB_GUI=gb.qt5
>>>>> GDMSESSION=Innova
>>>>> GNOME_DESKTOP_SESSION_ID=this-is-deprecated
>>>>> GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
>>>>> GTK_IM_MODULE=ibus
>>>>> GTK_MODULES=gail:atk-bridge
>>>>> HOME=<home>
>>>>> LANG=es_GT.UTF-8
>>>>> LANGUAGE=es_GT.UTF-8
>>>>> LOGNAME=<user>
>>>>>
>>>>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
>>>>> PWD=<home>
>>>>> QT4_IM_MODULE=ibus
>>>>> QT_ACCESSIBILITY=1
>>>>> QT_IM_MODULE=ibus
>>>>> QT_LOGGING_RULES=*.debug=false
>>>>>
>>>>> SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1740,unix/<hostname>:/tmp/.ICE-unix/1740
>>>>> SHELL=/bin/bash
>>>>> SHLVL=1
>>>>> SSH_AGENT_PID=1692
>>>>> SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
>>>>> TZ=:/etc/localtime
>>>>> USER=<user>
>>>>> USERNAME=<user>
>>>>> WINDOWPATH=2
>>>>> XAUTHORITY=/run/user/1000/gdm/Xauthority
>>>>> XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg/xdg-Innova:/etc/xdg
>>>>> XDG_CONFIG_HOME=<home>/.config
>>>>> XDG_CURRENT_DESKTOP=Innova
>>>>>
>>>>> XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu-xdg/
>>>>> XDG_MENU_PREFIX=innova-
>>>>> XDG_RUNTIME_DIR=/run/user/1000
>>>>> XDG_SEAT=seat0
>>>>> XDG_SESSION_CLASS=user
>>>>> XDG_SESSION_DESKTOP=Innova
>>>>> XDG_SESSION_ID=10
>>>>> XDG_SESSION_TYPE=x11
>>>>> XDG_VTNR=2
>>>>> XMODIFIERS=@im=ibus
>>>>>
>>>>> El mié., 1 abr. 2020 a las 13:21, herberth guzman (<
>>>>> herberthguzman at gmail.com>) escribió:
>>>>>
>>>>>> X11 Classic
>>>>>> gb-qt5 BAD
>>>>>> gb-qt4 OK
>>>>>>
>>>>>> Public Sub _new()
>>>>>>
>>>>>> Shell "vlc"
>>>>>> Shell "nm-applet"
>>>>>>
>>>>>> End
>>>>>>
>>>>>> Public Sub Form_Open()
>>>>>>
>>>>>> X11Systray.Show(dwgSystemTray.Handle)
>>>>>>
>>>>>> End
>>>>>>
>>>>>> Static Public Sub X11Systray_Arrange()
>>>>>>
>>>>>> FMain.ArrangeTray
>>>>>>
>>>>>> End
>>>>>>
>>>>>> Public Sub ArrangeTray()
>>>>>>
>>>>>> Dim I As Integer
>>>>>> Dim X, Y, H As Integer
>>>>>>
>>>>>> Debug
>>>>>> X = 2
>>>>>> Y = 2
>>>>>> For I = 0 To X11Systray.Count - 1
>>>>>> With X11Systray[I]
>>>>>> Debug I;; .IconW;; .IconH
>>>>>> If (X + .IconW) >= (Me.ClientW - 2) Then
>>>>>> X = 2
>>>>>> Y += H + 2
>>>>>> H = 0
>>>>>> Endif
>>>>>> .Move(X, Y, .IconW, .IconH)
>>>>>> H = Max(H, .IconH)
>>>>>> X += .IconW + 2
>>>>>> End With
>>>>>> Next
>>>>>>
>>>>>> End
>>>>>>
>>>>>> Public Sub Form_Resize()
>>>>>>
>>>>>> ArrangeTray
>>>>>>
>>>>>> End
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> El mié., 1 abr. 2020 a las 13:13, Benoît Minisini (<g4mba5 at gmail.com>)
>>>>>> escribió:
>>>>>>
>>>>>>> Le 01/04/2020 à 21:05, herberth guzman a écrit :
>>>>>>> >
>>>>>>> >>>What does not work exactly?
>>>>>>> >
>>>>>>> > I have a classic system tray (x11)
>>>>>>> > with ubuntu 32 bits and gb-qt4 it works fine for me
>>>>>>> >
>>>>>>> > with ubuntu 64 bit and gb-qt5 it doesn't work
>>>>>>> > does not show anything in the system tray
>>>>>>> >
>>>>>>> > Error:
>>>>>>> > qt.qpa.xcb: Unhandled client message: "_NET_WM_DESKTOP"
>>>>>>> > FMain.ArrangeTray.28:
>>>>>>> >
>>>>>>>
>>>>>>> If you don't give more details, I can't help. Which system? Which
>>>>>>> desktop? How do you implement the system tray? Did you implement X11
>>>>>>> protocol, DBus protocol, both? And so on...
>>>>>>>
>>>>>>> --
>>>>>>> Benoît Minisini
>>>>>>>
>>>>>>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>>>>>>
>>>>>>
>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20200406/b2ea33c9/attachment.html>
More information about the User
mailing list