I thought, the QSystemTrayIcon is in the notification area, automatically. Because we have this area activated and it only appears within this area.
Here ist the output of dbus-monitor:
QT4 app:
method call time=1530618711.195260 sender=:1.901 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1530618711.195277 sender=org.freedesktop.DBus -> destination=:1.901 serial=1 reply_serial=1 string ":1.901" signal time=1530618711.195283 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.901" string "" string ":1.901" signal time=1530618711.195291 sender=org.freedesktop.DBus -> destination=:1.901 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.901" method call time=1530618711.195759 sender=:1.901 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',member='NameOwnerChanged',arg0='org.gnome.GConf'" method call time=1530618711.199344 sender=:1.901 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='method_call',interface='org.gnome.GConf.Database',member='Notify'" method call time=1530618711.199795 sender=:1.901 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',interface='org.gnome.GConf.Server',member='Bye'" method call time=1530618711.200079 sender=:1.901 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',member='Disconnected'" method call time=1530618711.200335 sender=:1.901 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName string "org.gnome.GConf" uint32 0 method return time=1530618711.200347 sender=org.freedesktop.DBus -> destination=:1.901 serial=3 reply_serial=6 uint32 2 method call time=1530618711.200694 sender=:1.901 -> destination=org.gnome.GConf serial=7 path=/org/gnome/GConf/Server; interface=org.gnome.GConf.Server; member=GetDefaultDatabase method return time=1530618711.200704 sender=:1.79 -> destination=:1.901 serial=217 reply_serial=7 object path "/org/gnome/GConf/Database/0" method call time=1530618711.200822 sender=:1.901 -> destination=org.gnome.GConf serial=8 path=/org/gnome/GConf/Database/0; interface=org.gnome.GConf.Database; member=LookupExtended string "/desktop/gnome/interface/menus_have_icons" string "en_US.UTF-8" boolean true method return time=1530618711.200836 sender=:1.79 -> destination=:1.901 serial=218 reply_serial=8 struct { string "/desktop/gnome/interface/menus_have_icons" struct { int32 4 boolean false } boolean true string "/schemas/desktop/gnome/interface/menus_have_icons" boolean true boolean true } signal time=1530618711.211488 sender=:1.793 -> destination=(null destination) serial=282 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=ClientAdded object path "/org/gnome/SessionManager/Client50" method call time=1530618711.230086 sender=:1.902 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1530618711.230106 sender=org.freedesktop.DBus -> destination=:1.902 serial=1 reply_serial=1 string ":1.902" signal time=1530618711.230114 sender=org.freedesktop.DBus -> destination=(null destination) serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.902" string "" string ":1.902" signal time=1530618711.230122 sender=org.freedesktop.DBus -> destination=:1.902 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.902" method call time=1530618711.232693 sender=:1.902 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',interface='ca.desrt.dconf.Writer',path='/ca/desrt/dconf/Writer/user',arg0path='/com/canonical/desktop/interface/'" method return time=1530618711.232715 sender=org.freedesktop.DBus -> destination=:1.902 serial=3 reply_serial=2
QT5 app (I removed the menu, there):
signal time=1530618674.574963 sender=:1.793 -> destination=(null destination) serial=280 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=ClientAdded object path "/org/gnome/SessionManager/Client49" method call time=1530618674.580873 sender=:1.899 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello method return time=1530618674.580889 sender=org.freedesktop.DBus -> destination=:1.899 serial=1 reply_serial=1 string ":1.899" signal time=1530618674.580895 sender=org.freedesktop.DBus -> destination=(null destination) serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged string ":1.899" string "" string ":1.899" signal time=1530618674.580902 sender=org.freedesktop.DBus -> destination=:1.899 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.899" method call time=1530618674.584173 sender=:1.899 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher',arg1=''" method call time=1530618674.584828 sender=:1.899 -> destination=org.kde.StatusNotifierWatcher serial=3 path=/StatusNotifierWatcher; interface=org.freedesktop.DBus.Introspectable; member=Introspect error time=1530618674.584840 sender=org.freedesktop.DBus -> destination=:1.899 error_name=org.freedesktop.DBus.Error.ServiceUnknown reply_serial=3 string "The name org.kde.StatusNotifierWatcher was not provided by any .service files" method call time=1530618674.585247 sender=:1.899 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher'" method call time=1530618674.585467 sender=:1.899 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner string "org.kde.StatusNotifierWatcher" error time=1530618674.585479 sender=org.freedesktop.DBus -> destination=:1.899 error_name=org.freedesktop.DBus.Error.NameHasNoOwner reply_serial=5 string "Could not get owner of name 'org.kde.StatusNotifierWatcher': no such name" method call time=1530618674.585848 sender=:1.899 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher'" method call time=1530618674.586185 sender=:1.899 -> destination=org.freedesktop.DBus serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.DBus'" error time=1530618674.586203 sender=org.freedesktop.DBus -> destination=:1.899 error_name=org.freedesktop.DBus.Error.MatchRuleNotFound reply_serial=7 string "The given match rule wasn't found and can't be removed" method call time=1530618674.586718 sender=:1.899 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.StatusNotifierWatcher',arg1=''" method call time=1530618674.616023 sender=:1.899 -> destination=org.freedesktop.DBus serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.a11y.Bus',arg1=''" method call time=1530618674.616979 sender=:1.899 -> destination=org.freedesktop.DBus serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner string "org.a11y.Bus" method return time=1530618674.616995 sender=org.freedesktop.DBus -> destination=:1.899 serial=6 reply_serial=10 boolean true method call time=1530618674.617356 sender=:1.899 -> destination=org.freedesktop.DBus serial=11 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.a11y.Bus'" method call time=1530618674.617706 sender=:1.899 -> destination=org.freedesktop.DBus serial=12 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner string "org.a11y.Bus" method return time=1530618674.617717 sender=org.freedesktop.DBus -> destination=:1.899 serial=7 reply_serial=12 string ":1.7" method call time=1530618674.618272 sender=:1.899 -> destination=org.a11y.Bus serial=13 path=/org/a11y/bus; interface=org.freedesktop.DBus.Properties; member=Get string "org.a11y.Status" string "ScreenReaderEnabled" method return time=1530618674.618362 sender=:1.7 -> destination=:1.899 serial=245 reply_serial=13 variant boolean false
I thought, the QSystemTrayIcon is in the notification area, automatically. Because we have this area activated and it only appears within this area.
Here ist the output of dbus-monitor:
QT4 app:
method call time=1530618711 .195260 sender=:1.901 -> destination= org.freedesktop .DBus serial=1 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=Hello .195277 sender= org.freedesktop .DBus -> destination=:1.901 serial=1 reply_serial=1 .195283 sender= org.freedesktop .DBus -> destination=(null destination) serial=5 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member= NameOwnerChange d .195291 sender= org.freedesktop .DBus -> destination=:1.901 serial=2 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=NameAcquired .195759 sender=:1.901 -> destination= org.freedesktop .DBus serial=2 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,member= 'NameOwnerChang ed',arg0= 'org.gnome. GConf'" .199344 sender=:1.901 -> destination= org.freedesktop .DBus serial=3 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch method_ call',interface ='org.gnome. GConf.Database' ,member= 'Notify' " .199795 sender=:1.901 -> destination= org.freedesktop .DBus serial=4 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,interface= 'org.gnome. GConf.Server' ,member= 'Bye'" .200079 sender=:1.901 -> destination= org.freedesktop .DBus serial=5 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,member= 'Disconnected' " .200335 sender=:1.901 -> destination= org.freedesktop .DBus serial=6 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member= StartServiceByN ame .200347 sender= org.freedesktop .DBus -> destination=:1.901 serial=3 reply_serial=6 .200694 sender=:1.901 -> destination= org.gnome. GConf serial=7 path=/org/ gnome/GConf/ Server; interface= org.gnome. GConf.Server; member= GetDefaultDatab ase .200704 sender=:1.79 -> destination=:1.901 serial=217 reply_serial=7 GConf/Database/ 0" .200822 sender=:1.901 -> destination= org.gnome. GConf serial=8 path=/org/ gnome/GConf/ Database/ 0; interface= org.gnome. GConf.Database; member= LookupExtended gnome/interface /menus_ have_icons" .200836 sender=:1.79 -> destination=:1.901 serial=218 reply_serial=8 gnome/interface /menus_ have_icons" desktop/ gnome/interface /menus_ have_icons" .211488 sender=:1.793 -> destination=(null destination) serial=282 path=/org/ gnome/SessionMa nager; interface= org.gnome. SessionManager; member=ClientAdded SessionManager/ Client50" .230086 sender=:1.902 -> destination= org.freedesktop .DBus serial=1 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=Hello .230106 sender= org.freedesktop .DBus -> destination=:1.902 serial=1 reply_serial=1 .230114 sender= org.freedesktop .DBus -> destination=(null destination) serial=6 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member= NameOwnerChange d .230122 sender= org.freedesktop .DBus -> destination=:1.902 serial=2 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=NameAcquired .232693 sender=:1.902 -> destination= org.freedesktop .DBus serial=2 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,interface= 'ca.desrt. dconf.Writer' ,path=' /ca/desrt/ dconf/Writer/ user',arg0path= '/com/canonical /desktop/ interface/ '" .232715 sender= org.freedesktop .DBus -> destination=:1.902 serial=3 reply_serial=2
method return time=1530618711
string ":1.901"
signal time=1530618711
string ":1.901"
string ""
string ":1.901"
signal time=1530618711
string ":1.901"
method call time=1530618711
string "type='
method call time=1530618711
string "type='
method call time=1530618711
string "type='
method call time=1530618711
string "type='
method call time=1530618711
string "org.gnome.GConf"
uint32 0
method return time=1530618711
uint32 2
method call time=1530618711
method return time=1530618711
object path "/org/gnome/
method call time=1530618711
string "/desktop/
string "en_US.UTF-8"
boolean true
method return time=1530618711
struct {
string "/desktop/
struct {
int32 4
boolean false
}
boolean true
string "/schemas/
boolean true
boolean true
}
signal time=1530618711
object path "/org/gnome/
method call time=1530618711
method return time=1530618711
string ":1.902"
signal time=1530618711
string ":1.902"
string ""
string ":1.902"
signal time=1530618711
string ":1.902"
method call time=1530618711
string "type='
method return time=1530618711
QT5 app (I removed the menu, there):
signal time=1530618674 .574963 sender=:1.793 -> destination=(null destination) serial=280 path=/org/ gnome/SessionMa nager; interface= org.gnome. SessionManager; member=ClientAdded SessionManager/ Client49" .580873 sender=:1.899 -> destination= org.freedesktop .DBus serial=1 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=Hello .580889 sender= org.freedesktop .DBus -> destination=:1.899 serial=1 reply_serial=1 .580895 sender= org.freedesktop .DBus -> destination=(null destination) serial=7 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member= NameOwnerChange d .580902 sender= org.freedesktop .DBus -> destination=:1.899 serial=2 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=NameAcquired .584173 sender=:1.899 -> destination= org.freedesktop .DBus serial=2 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.kde. StatusNotifierW atcher' ,arg1=' '" .584828 sender=:1.899 -> destination= org.kde. StatusNotifierW atcher serial=3 path=/StatusNot ifierWatcher; interface= org.freedesktop .DBus.Introspec table; member=Introspect .584840 sender= org.freedesktop .DBus -> destination=:1.899 error_name= org.freedesktop .DBus.Error. ServiceUnknown reply_serial=3 StatusNotifierW atcher was not provided by any .service files" .585247 sender=:1.899 -> destination= org.freedesktop .DBus serial=4 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.kde. StatusNotifierW atcher' " .585467 sender=:1.899 -> destination= org.freedesktop .DBus serial=5 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=GetNameOwner StatusNotifierW atcher" .585479 sender= org.freedesktop .DBus -> destination=:1.899 error_name= org.freedesktop .DBus.Error. NameHasNoOwner reply_serial=5 StatusNotifierW atcher' : no such name" .585848 sender=:1.899 -> destination= org.freedesktop .DBus serial=6 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=RemoveMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.kde. StatusNotifierW atcher' " .586185 sender=:1.899 -> destination= org.freedesktop .DBus serial=7 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=RemoveMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.freedeskto p.DBus' " .586203 sender= org.freedesktop .DBus -> destination=:1.899 error_name= org.freedesktop .DBus.Error. MatchRuleNotFou nd reply_serial=7 .586718 sender=:1.899 -> destination= org.freedesktop .DBus serial=8 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=RemoveMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.kde. StatusNotifierW atcher' ,arg1=' '" .616023 sender=:1.899 -> destination= org.freedesktop .DBus serial=9 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.a11y. Bus',arg1= ''" .616979 sender=:1.899 -> destination= org.freedesktop .DBus serial=10 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=NameHasOwner .616995 sender= org.freedesktop .DBus -> destination=:1.899 serial=6 reply_serial=10 .617356 sender=:1.899 -> destination= org.freedesktop .DBus serial=11 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,sender= 'org.freedeskto p.DBus' ,interface= 'org.freedeskto p.DBus' ,member= 'NameOwnerChang ed',arg0= 'org.a11y. Bus'" .617706 sender=:1.899 -> destination= org.freedesktop .DBus serial=12 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=GetNameOwner .617717 sender= org.freedesktop .DBus -> destination=:1.899 serial=7 reply_serial=12 .618272 sender=:1.899 -> destination= org.a11y. Bus serial=13 path=/org/a11y/bus; interface= org.freedesktop .DBus.Propertie s; member=Get abled" .618362 sender=:1.7 -> destination=:1.899 serial=245 reply_serial=13
object path "/org/gnome/
method call time=1530618674
method return time=1530618674
string ":1.899"
signal time=1530618674
string ":1.899"
string ""
string ":1.899"
signal time=1530618674
string ":1.899"
method call time=1530618674
string "type='
method call time=1530618674
error time=1530618674
string "The name org.kde.
method call time=1530618674
string "type='
method call time=1530618674
string "org.kde.
error time=1530618674
string "Could not get owner of name 'org.kde.
method call time=1530618674
string "type='
method call time=1530618674
string "type='
error time=1530618674
string "The given match rule wasn't found and can't be removed"
method call time=1530618674
string "type='
method call time=1530618674
string "type='
method call time=1530618674
string "org.a11y.Bus"
method return time=1530618674
boolean true
method call time=1530618674
string "type='
method call time=1530618674
string "org.a11y.Bus"
method return time=1530618674
string ":1.7"
method call time=1530618674
string "org.a11y.Status"
string "ScreenReaderEn
method return time=1530618674
variant boolean false