Created attachment 7962 Improve spacing The attached patch applies the standard 6/12/18 spacing to the Whisker Menu plugin preferences. The changes are pretty minimal, but should make the dialog feel closer to other Xfce projects. A screenshot of the differences will also be attached.
Created attachment 7963 Screenshot Left: Before, Right: After
Created attachment 7966 Keep xfce_gtk_frame_box_new_with_content It looks like most of your patch was replacing xfce_gtk_frame_box_new_with_content() with its own frame creation code, which seemed odd to me. What about this patch? Does it match the correct spacing?
The default spacing applied to the alignment from xfce_gtk_frame_box_new_with_content was: top 6 left 18 This patch adjusts this to: top 6 left 12 It also adjusts the spacing between frames to 18px. These changes are based on the suggestions from https://developer.gnome.org/hig-book/2.32/design-window.html.en "Indent group members 12 pixels to denote hierarchy and association." "For vertical spacing between groups of components, 18 pixels is adequate." We've been using the GNOME 2 HIG as the basis for our own HIG for quite some time, and I've spent the last week applying similar patches to other components (Settings Manager, Xfwm4, panel plugins, Thunar, Thunar Plugins). Elsewhere, I have replaced xfce_gtk_frame_box_new_with_content with xfce_gtk_frame_box_new to directly manipulate the alignment, but wanted to keep the deprecation-avoiding code to a minimal.
I see. I assume at some point you will also patch xfce_gtk_frame_box_new in libxfceui, too, because that is where the left 18 came from (line 152 of xfce-gtk-extensions.c right now). But since not everybody will be using the latest libxfceui, I guess it makes sense to replace xfce_gtk_frame_box_new_with_content with direct manipulation. I've merged your patch (with some slight tweaks to match my coding style, but not touching the spacing values). If libxfceui gets updated I will just add an #ifdef for future versions to define make_aligned_frame as xfce_gtk_frame_box_new_with_content, so that everybody will have the correct spacing.