[Gambas-user] Help SystemTray gb-qt5 64 bits
herberth guzman
herberthguzman at gmail.com
Thu Apr 2 20:11:35 CEST 2020
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 ]----
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20200402/97fca4ca/attachment-0001.html>
More information about the User
mailing list