İf use icons option was activated icons make an indent on LibreOffice menu entries.
I have tested this situation with Ubuntu 18.04 / Ubuntu 18.10 and other Linux derivates forcing vcl to gtk3 and kde5.
But they are in a perfect shape on vcl=win, gtk and gen.
I prepared a visual comparison list/image between gtk and gtk3 for Writer menus.
Created attachment 146293 [details]
Menu comparison for Writer Full
Created attachment 146294 [details]
Alternative - Menu comparison for Writer First Part
Created attachment 146295 [details]
Alternative - Menu comparison for Writer Second Part
Build ID: 2cef68a605494bcef0388201b1058c95788c45a8
CPU threads: 8; OS: Linux 4.15; UI render: default; VCL: gtk3;
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:master, Time: 2018-11-03_00:54:52
Locale: tr-TR (en_GB.UTF-8); Calc: threaded
It does seem the width is calculated too wide when Tools -> Options -> View: Icons in Menus is enabled. Thopugh I would expect some increase in width, bcz showing both a checkbox/radio button and the icon when enabled with gtk3, kde5
In Windows builds, the checkbox/radio button is merged and shows as a selected/unselected state--menu width is kept close to the same when enabled.
Under gtk3 libreoffice does not render the menus itself. It uses a GMenuModel (https://developer.gnome.org/gio//2.54/GMenuModel.html) to present the contents of the menu hierarchy to gtk (https://developer.gnome.org/gtk3/stable/GtkMenuBar.html#gtk-menu-bar-new-from-model) and gtk does the rendering.
AFAIKS its not so much that there is too much indent, its that there's a column reserved for the stateful cases, checkbox/radiobutton indicator, which is separate for the rest of the entry which may or may not have an icon. While LibreOffice's own menu rendered bundles statefulness into the icon when present.
Anyhow, as far as I tell, there's no ability on the libreoffice side of things to control that while using a GMenuModel and such change would have to happen in gtk instead
(In reply to Caolán McNamara from comment #6)
> AFAIKS its not so much that there is too much indent, its that there's a
> column reserved for the stateful cases, checkbox/radiobutton indicator,
> which is separate for the rest of the entry which may or may not have an
> icon. While LibreOffice's own menu rendered bundles statefulness into the
> icon when present.
> Anyhow, as far as I tell, there's no ability on the libreoffice side of
> things to control that while using a GMenuModel and such change would have
> to happen in gtk instead
OK, if we have no control over it...
Looking at attachment 146295 [details], it seemed that with the extra entry, the spacing between the label and the shortcut entry--if any--increased; as if the width of the label attribute is increasing with additon of a second icon attribute.
If we're now talking about on the right hand side, the distance from the ends of the labels to the start of the short-cut then I imagine the native gtk3 menu is putting all the entries effectively into columns of "checkbutton", "image + label", "short cuts". So that a long text for a short-cut of say, ctrl+alt+e for extension manager, is factored into the spacing for all entries in that menu. While the built-in libreoffice menu, themed to look like a gtk2 menu, is laying out each line separately, so ctrl+f12 in "insert table" overlaps, in a column sense, with the labels of following lines.
But anyway, we're not doing the layout in the native gtk3 menus, gtk is.