<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/111171/">http://git.reviewboard.kde.org/r/111171/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On June 22nd, 2013, 12:58 p.m. CEST, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="http://git.reviewboard.kde.org/r/111171/diff/1/?file=165092#file165092line308" style="color: black; font-weight: bold; text-decoration: underline;">kdeui/util/kglobalsettings.cpp</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">KGlobalSettings::Completion KGlobalSettings::completionMode()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#ebb1ba" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">308</font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">return</span> <span class="n">g</span><span class="p">.</span><span class="n">readEntry</span><span class="p">(</span> <span class="s">"activeBackground"</span><span class="p">,</span> <span class="n">QColor</span><span class="p">(</span><span class="mi">48</span><span class="p">,</span><span class="mi">174</span><span class="p">,</span><span class="mi">232</span><span class="p">));</span></pre></td>
<th bgcolor="#ebb1ba" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">These are the colors for the window titlbar (with ambiguous function names, though), the default for activeTitleColor used to be #30AEE8 - that is blue!
Now you want to return the active window background (ie. usually gray) - iow: enforce the color alignment that once caused the former KWin maintainer to for the oxygen deco into the new default ozone?
I mean, decorations can still keep their internal color settings (what was somehow required because the titlebar color was initially happily removed from the color kcm - instead one could define the button color in listviews...), but the implication of this change is that the titlbar can no more be individually configured and *has* to align to the window background.
-> The RR should clearly state that central color configuration for titlebars will ultimately be unsupported.
Until then, the change can imo not go in before KF5 anyway, because it's a very visible behavioral change for users of Laptop, Plastik, BII and some legacy decorations (you still /can/ compile Quartz and Keramik and what they all were called) and pot. some distro specific decorations.</pre>
</blockquote>
<p>On June 22nd, 2013, 1:25 p.m. CEST, <b>Aleix Pol Gonzalez</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Are you sure these are being used? because I searched for uses of this API and I didn't see such uses.</pre>
</blockquote>
<p>On June 22nd, 2013, 1:41 p.m. CEST, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">KWin reads the setting values by hand in libkdecorations/kdecoration_p.cpp - so actually I was wrong in that aspect: the change in KGlobalSettings will not have a visible impact here - no guarantee for 3rd party decos beyond bespin (esp. on custom config dialogs)
Not sure whether this makes the change better, since now KWin will no longer reflect what KGlobalSettings reports.
I'm not sure how important it is to export those values via KGlobalSettings (i guess they existed to use the colors on MDI windows from KStyle), but even while deprecated, their behavior should not change.
And unless the conclusion is that titlebars shall align to the window content color, the advice should also not be to query that instead. It's better to state "information not avialable" than to give a false information.</pre>
</blockquote>
<p>On June 22nd, 2013, 1:45 p.m. CEST, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">It's worse - KWin does not just read the values by itself, it reads them from kwinrc instead of kdeglobals. So whatever is set in KGlobalSettings: KWin ignores it.</pre>
</blockquote>
<p>On June 22nd, 2013, 2:47 p.m. CEST, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">No ;-)
Welcome to the magics of KConfig.
I for one have no [WM] entry in kwinrc, it's only in kdeglobal - try grepping it =)
However, KConfig resolves to kdeglobal for *every* rc unless explicitly told do do not, so <advert>
kconfig kdeglobal/WM list
and
kconfig kwinrc/WM list
</advert>
will print the same value (read from kdeglobal) unless you explicitly add a configuration to kwinrc (what's afaics not done anywhere - hopefully ;-)</pre>
</blockquote>
<p>On June 22nd, 2013, 3:02 p.m. CEST, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">wtf?!? I hate magic functionality</pre>
</blockquote>
<p>On June 22nd, 2013, 3:12 p.m. CEST, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Well, yes. The "magic" function here is the open flag:
http://api.kde.org/4.10-api/kdelibs-apidocs/kdecore/html/classKConfig.html#ad1f23964bbf8c11449e92a2596d15f7e
One can either omit cascading (system wide files) or globals (kdeglobals)
Since the color and some WM settings were/are attractive from many points, it was/is reasonable to store them globally.</pre>
</blockquote>
<p>On June 22nd, 2013, 4:27 p.m. CEST, <b>Aleix Pol Gonzalez</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">In any case, this seems broken to me.
If you're really serious about this, we probably should just deprecate the function and advise users to just read the file directly if they want to access this data and move on.</pre>
</blockquote>
<p>On June 22nd, 2013, 4:41 p.m. CEST, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">No, it's not broken at all - normal KConfig behavior, ever has been.
If this shall be deprecated (can't say - i don't need them and don't care) your conclusion is however right:
the current behavior shall be preserved and the clients be advised to query the setting directly (as kwin does atm) for KF5.
The "serious" part is that you were about to alter functionality in even frozen kdelibs and esp. imply a wider reaching change: fixed "titlebar == window background" assumption, ie. no titlebar colors - which, given the little war on oxygen back then, probably needs to be openly discussed before.
Personally, i'd be fine moving the setting to kwin only - as MDI is a bug to begin with and the setting unlikely required by applications then.
I simply didn't want KWin to receive bugreports "plastik: colors no more supported" (what, as now figured, would however only happen by withdrawing the color kcm setting on top of mentioned implication) and i *seriously* do not want to see such war as on ozone ./. oxygen ever again (so the idea to deprecate those color config triggered a button ;-)
/my2¢</pre>
</blockquote>
<p>On June 24th, 2013, 9:58 a.m. CEST, <b>Aaron J. Seigo</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">"I hate magic functionality"
... any sufficiently advanced technology *cough*
As noted, this is documented behaviour and it serves a very real and very useful purpose: to allow global settings to be transparently available to (yet still be overridden by!) each application. It's a very simple and elegant way to allow for global behaviours to be configured without requiring such code in every application.</pre>
</blockquote>
<p>On June 24th, 2013, 10:15 a.m. CEST, <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Aaron is completely right. But of course the case of WM colors is a really bad one for kdeglobals. Having them there pollutes the KConfig (= eats more memory) in each application, which typically doesn't care for these settings.</pre>
</blockquote>
<p>On June 24th, 2013, 3:12 p.m. CEST, <b>Kevin Ottens</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Exactly, having KConfig also look in kdeglobals is definitely a magic we want to keep. Now in the case of those particular colors it's likely a kind of abuse, I'd like to see them moved to be kwin only. It looks like the best way forward.</pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I see the point of having cross-app configuration files, I assume classes from kdelibs for example can use it to store settings. What I don't understand is in which situation it is useful to have all configuration file inherit from cross-app configuration keys, compared to having cross-app code explicitly call KSharedConfig::openConfig("kdeglobals"). Can someone provide an example?
To me it feels dangerous because application developers may not be aware of this feature and may inherit values for keys they expect to be application specific if they are unlucky to pick a group used in kdeglobals or if a group they used in the past is now used by a component which writes in kdeglobals.
</pre>
<br />
<p>- Aurélien</p>
<br />
<p>On June 22nd, 2013, 12:25 p.m. CEST, Àlex Fiestas wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KDE Frameworks and kdelibs.</div>
<div>By Àlex Fiestas.</div>
<p style="color: grey;"><i>Updated June 22, 2013, 12:25 p.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Deprecate: inactiveTitleColor, inactiveTextColor, activeTitleColor, activeTextColor in favor of KColorScheme and replace the implementation of those methods with it.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I have compared the colors returned by the methods before and after this patch, they are close enough.
Additionally used some apps like filelight with the change, and it seems to work for them as well.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kdeui/util/kglobalsettings.h <span style="color: grey">(4b77ed5)</span></li>
<li>kdeui/util/kglobalsettings.cpp <span style="color: grey">(3e60632)</span></li>
<li>khtml/misc/helper.cpp <span style="color: grey">(dccb9bf)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/111171/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>