Some elements in LibreOffice UI are drawn via native renderer, though GTK style is supposed to be used. This includes:
- Arrows and separators in menus and toolbars
- Checkboxes in toolbars
- Headers and borders of multiple-column lists (e.g. Tools->Customize->Events)
This would actually be an interesting Easy Hack for somebody who has a bit of Gtk+ experience (not too much), and willingness to play with pixels :-)
Whoever interested, please contact me on the #libreoffice channel on irc.freenode.net (kendy) if you are interested in details.
Here're some more elements.
- listview selection rectangles
- (?) page scale slider in Writer
- shadows of document view
- formula entry in Calc
- splitters (the ones which are used to resize toolbars by dragging)
> - Checkboxes in toolbars
I meant menus
Some dump for archive from IRC:
the gtk+ native widget code lives in vcl/unx/gtk/source/*
it is easy to find: just do 'g grep gtk_' in the toplevel ;-)
you really need to read the salnativewidgets-gtk.cxx module, and the API that that uses.
the menu stuff (eg.) is quite simple - vcl/source/window/menu.cxx (probably) in there somewhere - and renders the spaces in quite a silly way no doubt at the moment :-)
I -think- the tooltips are tied into this "QuickHelp" concept in vcl/source/window/toolbox.cxx as in 'RequestHelp' eg.
If you badly want to get native (curved) tooltip windows (and so on)
Perhaps the best way to get truly native menus/toolbars [ which would be cool ] would be to hack the 'framework/' code - that implements UNO interfaces for these - to create gtk+ widgets instead natively I suspect. But that is quite some work, and will need rather some re-factoring to share code [ which would be fun anyway ]
Created attachment 45419 [details]
Implement menu separators
Attached patch gtk-natively draws menu separators.
Thanks, pushed to master.
Ah, was that patch just for a part of what is listed in the initial comment? Should this be re-opened?
Yes, just one issue, bug needs to stay open.
(In reply to comment #2)
> Here're some more elements.
Another element which does not follow GTK+ style: the combo boxes for Menu/Save In in tools->customize->menus and Toolbar/Save In in tools->customize->toolbars. Note that the combo boxes/option menus for Menu/Toolbar and Modify seem to more closely resemble the GTK+ style.
FWIW I am currently looking into drawing the headers of multiple-column lists via native renderer (almost done actually) and will look into listview selection rectangles after that.
(In reply to comment #9)
> Another element which does not follow GTK+ style: the combo boxes for Menu/Save
> In in tools->customize->menus and Toolbar/Save In in
Do you (or anyone else) know where is the source code for the "Customize" window? I'd like to try something on this but I can't locate a starting point. Maybe the framework/ directory, but where exactly?
(In reply to comment #11)
> Do you (or anyone else) know where is the source code for the "Customize"
> window? I'd like to try something on this but I can't locate a starting point.
> Maybe the framework/ directory, but where exactly?
There are some other issues:
- Popup menus are drawn wrong (wrong size of items in menu)
- Rulers look very bad (see: http://luxperpetua.net/lo-screenshot.jpg). It seems it uses frame widget code, because frames in options dialog are bad too.
- Outline around button labels (no widget toolkit seems to be using that). See http://luxperpetua.net/lo-buttons.jpg
Except from that I can't see anything that would disrupt user from work. Does anyone know where is the GTK menu code and ruler/frame code?
Maybe instead of custom dialogs Libreoffice could offer toolkit-specific dialog? GtkMessageDialog for instance for GTK?
Another element which looks quite alien is the "More buttons" button of toolbars (see this screenshot: http://i.imgur.com/wrIdl.png ).
I'm not sure how this could be themed, since there's no such widget in GTK, but there needs to be a way for the theme engine to detect this widget and draw it as it should. I'd suggest using g_object_set_data() with data set to a string which would easily identify this button, and key set to somthing like "LibreOffice.GTKStyle".
Michael's patch got merged (or something like it), plenty more to do there though - pwrt. gtk3 :-)
Deleted "Easyhack" from summary.
Comment on attachment 45419 [details]
Implement menu separators
patch found pushed as 8311743913982b775e4791bd6ee3e5670cab1c16,
removing "patch" flag so it doesn't turn up in bugzilla searches.
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility.
see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
As this bug’s scope isn’t narrow, I’m turning it into a metabug, adding more specific tasks to its “Depends on” field.
Please read this message in its entirety before responding.
Your bug was confirmed at least 1 year ago and has not had any activity on it for over a year. Your bug is still set to NEW which means that it is open and confirmed. It would be nice to have the bug confirmed on a newer version than the version reported in the original report to know that the bug is still present -- sometimes a bug is inadvertently fixed over time and just never closed.
If you have time please do the following:
1) Test to see if the bug is still present on a currently supported version of LibreOffice (preferably 4.2 or newer).
2) If it is present please leave a comment telling us what version of LibreOffice and your operating system.
3) If it is NOT present please set the bug to RESOLVED-WORKSFORME and leave a short comment telling us your version and Operating System
Please DO NOT
1) Update the version field
2) Reply via email (please reply directly on the bug tracker)
3) Set the bug to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LibreOffice is powered by a team of volunteers, every bug is confirmed (triaged) by human beings who mostly give their time for free. We invite you to join our triaging by checking out this link:
There are also other ways to get involved including with marketing, UX, documentation, and of course developing - http://www.libreoffice.org/get-help/mailing-lists/.
Lastly, good bug reports help tremendously in making the process go smoother, please always provide reproducible steps (even if it seems easy) and attach any and all relevant material
Dear QA bot: this bug is obviously still relevant ;-)
Yes - I'm an idiot, wrong query - SOB....apologies
Migrating Whiteboard tags to Keywords: (easyHack, topicUI)
removing skillLinux keyword. There is no such thing at https://wiki.documentfoundation.org/Development/Easy_Hacks/lists/by_Required_Skill and having a "skill*" keyword makes the easyHack not even appear on that page even in "uncategorized".
removing EasyHack keywords as per comment 20.