<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<pre><font face="Iosevka Aile">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
</font></pre>
</body>
</html>