qqc2-breeze-style

Nate Graham nate at kde.org
Mon Apr 12 21:20:51 BST 2021


[explicitly CCing Noah]


On 3/10/21 8:52 AM, Marco Martin wrote:
> On Wed, Mar 10, 2021 at 4:09 PM Nate Graham <nate at kde.org> wrote:
>>
>> People go off an do their own thing in an un-coordinated manner when
>> there is a significant problem that's not being solved, that problem has
>> existed for a while without being addressed, and there is no clear
>> direction or centrally coordinated plan for solving it.
> 
> yes, that's exactly what happened and is a good warning for the future.
> Also a good signal that we should start thinking and actually doing something
> wrt a good theming story, which we clearly don't have.
> To me, the most promising approach was the quick prototype Arjen did
> back at akademy
> https://invent.kde.org/ahiemstra/qtunifiedstyle
> whether is something realistic to turn is something actually useful or
> not remains to be seen.
> We do have a ton of things to do otherwise, so is not easy to find
> time for this, but is becoming
> more and more important
> 

Based on other random conversations since this email thread petered out, 
it seems like we're going to end up considering qqc2-breeze-style to be 
a successful yet temporary stopgap solution from PlaMo, and continue 
using the qqc2-desktop-style theme bridge we currently have--fixing bugs 
and improving performance as needed--until we re-do and unify our whole 
theming system.

On that subject, have we done any further brainstorming? I remember 
being fairly impressed with Arjen's prototype as well. I love the idea 
of finally being able to theme everything consistently, and also the 
possibility of using CSS which is simple, easily writable, and easily 
readable in a diff view without losing your mind :)

As I understand it, here's the latest proposal:

1. We make a universal theme of some sort (using CSS, QML, or something
    else; exact format TBD)
2. We make a QStyle that is essentially a Kvantum-style theming engine
    that consumes the universal theme and applies it to Widgets-based
    apps
3. We make a QQC2 style that consumes the universal theme and applies it
    to QtQuick software, including (optionally) Plasma, without going
    through QPainter or the QStyle at all
4. We keep the existing Plasma QQC2 style that knows how to consume
    existing SVG-based Plasma themes, for compatibility's sake
5. We add a user-facing setting for apps to allow people to choose
    whether to have:
    - Their apps use the universal theme
    - Their apps use a different QStyle, such as Lightly or Kvantum
6. We add a user-facing setting for Plasma to allow people to choose
    whether to have:
    - Plasma use the same universal style as their apps
    - Plasma use a different universal style from the one being used for
      their apps
    - Plasma use an SVG-based Plasma 5 theme, which we deprecate in
      Plasma 6 but continue to support
6. In Plasma 7, we sunset support for SVG-based Plasma themes as well as
    generic QStyles (including Kvantum!) and only support the new
    universal theme--whatever it is we come up with


Am I representing everything accurately, to the best of everyone else's 
memory?

Nate


More information about the Plasma-devel mailing list