GSoC: Libreoffice Theme (week - 0 update)

Printf Debugging printfdebugging at gmail.com
Tue May 14 08:33:46 UTC 2024


Hi, I am Printf from India, and I will be working on the "Libreoffice 
Theme" project this summer. First of all, many many thanks to Heiko and 
Rafael for mentoring the project, and to the community for being so 
welcoming! This week, I have been wrapping up some patches that I had 
assigned myself, along with some hunting and exploration in the VCL. I 
found that there are functions like `bool 
GtkSalGraphics::updateSettings(AllSettings& rSettings)` which extract 
the colors from the widget systems and save those in a local copy via 
the `Set.....Color()` functions. The transaction seemed to be one way 
though, meaning that I didn't see any calls putting the updated colors 
back into the widget system, to modify the UI. For the colors like 
accent-color etc, I think all the getting/setting happens on the local 
copy after extraction. So I have been trying to understand how GTK does 
colors. Found that styling in GTK is built around `GtkStyleContext` to 
which we add StyleProviders, which have the styling information. There 
are a lot of GtkStyleContext pointers in `gtkgdi.hxx` for each major 
component. These are created at startup... (survey in progress) I will 
come up with a prototype patch to change the menubar colors probably in 
this week (counting the start of week 1 from today) or at max next week. 
The idea is to get a thumbs up from the mentors, community and the devs 
on the approach/roadmap for the project, like shall we create a separate 
dialog for themes, or shall we repurpose the `Tools > Options > 
Application Colors/Personas` area. If we go the dialog route, then what 
should be the layout, considering that this project might extend beyond 
just plain colors during or even after the GSoC project. Is my styling 
approach scalable, meaning should I create a separate class etc etc. 
This is my first project where I am working under time constraint. So 
there might be some hiccups here and there, but I will converse the 
situation(s)/updates on time, and I hope we can find the solutions 
together. Again, thanks for being such a warm and community. Always 
Debugging on Terminal Printf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20240514/7e2b3b6e/attachment.htm>


More information about the LibreOffice mailing list