The panel should be ported from dbus-glib to GDbus as part of the transitions for 4.14.
Port is ready to be tested: https://git.xfce.org/users/ali/xfce4-panel Please also have a look at this commit. https://git.xfce.org/users/ali/xfce4-panel/commit/?h=gdbus-port&id=ffa50bd0bb2c4f40bb2e8adeaf7fe67c4665e896 It look me a while to figure it out, I hope that the commit message is clear. I'm really not sure how this has worked with xfconf < 4.13.0, if you have a better explanation, please let me know.
I'd like to test this out but I'm running into the following issue configuring the gdbus-port branch of users/ali/xfce4-panel: checking for libxfce4ui-2 >= 4.13.2... found, but 4.13.1git-e27efec *** The required package libxfce4ui-2 was found on your system, *** but the installed version (4.13.1git-e27efec) is too old. I'm building all components directly from the git tree including libxfce4ui, but its not reporting version 4.13.2. Is there another branch/repo of libxfce4ui that I should be using?
In my opinion that's a mistake, it should be xfconf 4.13.2.
For convenience I have rebased Ali's branch on top of master (and fixed the depend on xfconf) https://git.xfce.org/users/ochosi/xfce4-panel/log/?h=gdbus-rebased
Thanks. Built successfully and am testing now. First issue3 encountered (--plugin-event and --add sigfault): xfce4-panel --plugin-event=genmon-3:refresh:bool:true (xfce4-panel:20424): GLib-ERROR **: g_variant_new: expected GVariant of type 'v' but received value has type 'b' Trace/breakpoint trap (core dumped) xfce4-panel --add xfce4-whiskermenu-plugin (xfce4-panel:23874): GLib-CRITICAL **: g_variant_new_strv: assertion 'length == 0 || strv != NULL' failed Segmentation fault (core dumped) And -p generates a Critical message but does start up: xfce4-panel -p (xfce4-panel:24882): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed
Created attachment 7200 image Another issue: for panel plugins that are not part of the xfce4-panel code base (e.g. genmon, datetime, pulseaudio, power-manager), they stop displaying their plugin menu options and only show the panel menu. Please see attached image or: [url=http://en.zimagez.com/zimage/dt18.php][img]http://en.zimagez.com/miniature/dt18.png[/img][/url] Here is log with panel starting in debug mode: xfce4-panel(main): version 4.13.0git-07544ebe on gtk+ 3.22.16 (3.22.16), glib 2.52.2 (2.52.2) xfce4-panel(module-factory): reading /usr/share/xfce4/panel/plugins xfce4-panel(module-factory): reading /usr/share/xfce4/panel-plugins xfce4-panel(application): found window manager after 1 tries xfce4-panel(base-window): 0xffa770: rgba visual=0xf7a4f0, compositing=true xfce4-panel(base-window): 0xffa770: rgba visual=0xf7a4f0, compositing=true xfce4-panel(display-layout): 0xffa770: display=:0.0{comp=true}, screen-0[0xf74020]=[2966,900] (LVDS-1=[0,0;1366,768], DP-2=[1366,0;1600,900]) xfce4-panel(positioning): 0xffa770: screen=0xf74020, monitors=2, output-name=(null), span-monitors=false, base=683,13 xfce4-panel(positioning): 0xffa770: working-area: screen=0xf74020, x=0, y=0, w=1366, h=768 xfce4-panel(struts): 0xffa770: top=25, start_x=0, end_x=1365 xfce4-panel(module): new item (type=object-type, name=launcher, id=15) xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/17 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=17) xfce4-panel(external): genmon-17: child spawned; pid=2189, argc=8 xfce4-panel(module): new item (type=object-type, name=separator, id=16) xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/11 xfce4-panel(module): new item (type=external-wrapper, name=datetime, id=11) xfce4-panel(external): datetime-11: child spawned; pid=2190, argc=8 xfce4-panel(module): new item (type=object-type, name=separator, id=13) xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/3 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=3) xfce4-panel(external): genmon-3: child spawned; pid=2191, argc=8 xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/2 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=2) xfce4-panel(external): genmon-2: child spawned; pid=2192, argc=8 xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/6 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=6) xfce4-panel(external): genmon-6: child spawned; pid=2193, argc=8 xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/4 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=4) xfce4-panel(external): genmon-4: child spawned; pid=2194, argc=8 xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/7 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=7) xfce4-panel(external): genmon-7: child spawned; pid=2198, argc=8 xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/5 xfce4-panel(module): new item (type=external-wrapper, name=pulseaudio, id=5) xfce4-panel(external): pulseaudio-5: child spawned; pid=2206, argc=8 xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/1 xfce4-panel(module): new item (type=external-wrapper, name=power-manager-plugin, id=1) xfce4-panel(external): power-manager-plugin-1: child spawned; pid=2207, argc=8 xfce4-panel(base-window): 0x106ce80: rgba visual=0xf7a4f0, compositing=true xfce4-panel(base-window): 0x106ce80: rgba visual=0xf7a4f0, compositing=true xfce4-panel(base-window): 0x123c450: rgba visual=0xf7a4f0, compositing=true xfce4-panel(display-layout): 0x106ce80: display=:0.0{comp=true}, screen-0[0xf74020]=[2966,900] (LVDS-1=[0,0;1366,768], DP-2=[1366,0;1600,900]) xfce4-panel(positioning): 0x106ce80: screen=0xf74020, monitors=2, output-name=Primary, span-monitors=false, base=25,375 xfce4-panel(positioning): 0x106ce80: unset struts edge; between monitors xfce4-panel(positioning): 0x106ce80: working-area: screen=0xf74020, x=0, y=0, w=1366, h=768 xfce4-panel(module): new item (type=object-type, name=tasklist, id=9) xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/10 xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=10) xfce4-panel(external): genmon-10: child spawned; pid=2218, argc=8 (xfce4-panel:2185): Gtk-WARNING **: Allocating size to panel-tasklist-arrow 0x1235b50 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate? xfce4-panel(external): genmon-17: child is embedded; 5 properties in queue (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed (wrapper-2.0:2191): Gtk-WARNING **: Theme parsing error: <data>:1:21: Expected a string. xfce4-panel(external): genmon-3: child is embedded; 5 properties in queue xfce4-panel(external): datetime-11: child is embedded; 5 properties in queue xfce4-panel(external): genmon-6: child is embedded; 5 properties in queue xfce4-panel(external): genmon-2: child is embedded; 5 properties in queue xfce4-panel(external): pulseaudio-5: child is embedded; 5 properties in queue xfce4-panel(external): genmon-4: child is embedded; 5 properties in queue xfce4-panel(external): genmon-10: child is embedded; 5 properties in queue ** (wrapper-2.0:2206): WARNING **: Binding 'XF86AudioLowerVolume' failed! (wrapper-2.0:2206): pulseaudio-plugin-WARNING **: Could not have grabbed volume control keys. Is another volume control application (xfce4-volumed) running? (wrapper-2.0:2190): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner GtkToggleButton) xfce4-panel(external): genmon-7: child is embedded; 5 properties in queue xfce4-panel(external): power-manager-plugin-1: child is embedded; 5 properties in queue ** (wrapper-2.0:2207): WARNING **: No outputs have backlight property (wrapper-2.0:2206): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PulseaudioButton) (wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:55: The style property GtkWidget:focus-padding is deprecated and shouldn't be used anymore. It will be removed in a future version (wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:86: The style property GtkWidget:focus-line-width is deprecated and shouldn't be used anymore. It will be removed in a future version (wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:115: The style property GtkButton:default-border is deprecated and shouldn't be used anymore. It will be removed in a future version (wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:142: The style property GtkButton:inner-border is deprecated and shouldn't be used anymore. It will be removed in a future version (wrapper-2.0:2207): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PowerManagerButton) (wrapper-2.0:2193): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node box, owner GtkBox) (wrapper-2.0:2218): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node button, owner GtkButton) (wrapper-2.0:2198): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node box, owner GtkBox)
Regarding my previous bugreport: https://bugzilla.xfce.org/show_bug.cgi?id=13626 I confirm, that the gdbus rebased branch works on my machine. Though playing with the panel settings (using the sliders to enlarge or shrink the panel) causes the panel to crash. A coredump can be found in the bugreport mentioned in this comment. Thanks for all the work... Things shaping up :)
(In reply to Ali Akcaagac from comment #7) > Regarding my previous bugreport: > > https://bugzilla.xfce.org/show_bug.cgi?id=13626 > > I confirm, that the gdbus rebased branch works on my machine. Though playing > with the panel settings (using the sliders to enlarge or shrink the panel) > causes the panel to crash. A coredump can be found in the bugreport > mentioned in this comment. > Can you please be more specific on how to reproduce the crash? I'm failing here to to make it crash using the sliders.
(In reply to Ali from comment #8) > Can you please be more specific on how to reproduce the crash? I'm failing > here to to make it crash using the sliders. This is quite easy to reproduce. 1) Right click on the panel and go to "Panel Preferences..." 2) Slide around with either "Row Size" "Number of rows" or "Length" In my case I just retried this and had a crash again when sliding Length from 100 back to (e.g. 37). But this works the other way around as well. I was able to capture a coredump with a full bt (though it didn't include the code parts) but it was refering to xfconf at the position #3 or #4 within the dump.
Created attachment 7202 coredump
Created attachment 7203 coredump-new.txt Now with debuginfo ...
(In reply to ToZ from comment #5) > Thanks. Built successfully and am testing now. First issue3 encountered > (--plugin-event and --add sigfault): > > xfce4-panel --plugin-event=genmon-3:refresh:bool:true > > (xfce4-panel:20424): GLib-ERROR **: g_variant_new: expected GVariant of type > 'v' but received value has type 'b' > Trace/breakpoint trap (core dumped) > > > xfce4-panel --add xfce4-whiskermenu-plugin > > (xfce4-panel:23874): GLib-CRITICAL **: g_variant_new_strv: assertion 'length > == 0 || strv != NULL' failed > Segmentation fault (core dumped) > > > And -p generates a Critical message but does start up: > > xfce4-panel -p > > (xfce4-panel:24882): GLib-CRITICAL **: g_variant_new_string: assertion > 'string != NULL' failed Thanks for the report. These issues has been address in the last commits, please test again and report back.
(In reply to Ali from comment #12) > Thanks for the report. These issues has been address in the last commits, > please test again and report back. I've rebuilt xfce4-panel from your repo instead of ochosi's rebase and yes, these issues are resolved. Please note that your repo has a build issue where the libxfce4ui version is incorrect. I had to use the following patch to correct it (similar to what ochosi had): diff --git a/configure.ac.in b/configure.ac.in index af7a2f81..9ad0a630 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -143,7 +143,7 @@ dnl *********************************** XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.9.0]) XDT_CHECK_PACKAGE([GARCON], [garcon-1], [0.5.0]) XDT_CHECK_PACKAGE([GARCON_GTK3], [garcon-gtk3-1], [0.5.0]) -XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.13.2]) +XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.13.0]) XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.13.2]) XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.16.0]) XDT_CHECK_PACKAGE([EXO], [exo-2], [0.11.2])
I would also like to note (not to open yet another report), that the "nm-applet" (Networkmanager) isn't showing up in the Notification Area. I only wanted to make a note here, in case it's missed.
Ok, so the gdbus-port branch has now been cherry-picked and merged from https://git.xfce.org/xfce/xfce4-panel/commit/?id=6778d620c5f9f1849ba5064903dd5433ce89600f to https://git.xfce.org/xfce/xfce4-panel/commit/?id=a4adbb4dd9ef259e5dce0a7307ae594a065aae08 and in general it seems to work (probably some stuff remaining to iron out). For every new finding from now on I would kindly ask you to open a new bugreport instead of adding a comment here.