Bug 353216

Summary: qtcurve-qt5 is missing the qtcurve window decoration in Plasma 5
Product: [Frameworks and Libraries] QtCurve Reporter: Roman Bysh <rb03884>
Component: qt5Assignee: Yichao Yu <yyc1992>
Status: CONFIRMED ---    
Severity: wishlist CC: beojan, bugseforuns, hein, pip.kde, qvm, rb03884, xenoidaltu
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: qtcurve window decoration from kde4

Description Roman Bysh 2015-09-26 18:37:00 UTC
The qtcurve window decoration is missing in Plasma 5. This cripples the ability of the user to 
use all of the qtcurve features including the import of my qtcurve designs from KDE4.

Reproducible: Always

Steps to Reproduce:
1. Select QtCurve
2. Navigate to window decorations
3. The QtCurve window decoration is missing

Actual Results:  
The QtCurve window decoration is missing from the window decorations. The user cannot customize without the QtCurve window decoration in openSUSE Leap 42.1 Beta 1.


Expected Results:  
The QtCurve window decoration is available for selection.

The QtCurve window decoration is available for selection in KDE4. The user can customize their entire window decoration.
We really need this as it is still missing in openSUSE Leap 42.1 Beta 1.
Comment 1 Roman Bysh 2015-10-07 00:33:51 UTC
Status please
Comment 2 Roman Bysh 2015-10-12 21:23:36 UTC
Created attachment 94973 [details]
qtcurve window decoration from kde4

This is a screenshot of the missing qtcruve window decoration that appears in KDE4.
Comment 3 Paul 2015-10-14 09:52:20 UTC
@Roman Bysh

I'm not sure if this is being actively developed anymore...

Might be worth raising an issue on Github ?
https://github.com/QtCurve/qtcurve

Although that now indicates it's hosted on the KDE infrastructure...
https://projects.kde.org/projects/playground/base/qtcurve
... which appears to have no activity

Hopefully a developer will offer a response.
Comment 4 Roman Bysh 2015-10-16 21:56:46 UTC
The person that this bug report was assigned to is one of two project maintainers.
Comment 5 Roman Bysh 2015-11-14 02:39:26 UTC
It looks like Yichao Yu is the sole maintainer. However, it sounds like he could use some help considering that he has not yet responded to this bug report.
Comment 6 Yichao Yu 2015-11-14 03:31:37 UTC
> However, it sounds like he could use some help considering that he has not yet responded to this bug report.

As I replied to Roman's private email, I've switched to kf5 myself a few month ago and have just started to look at the kwin part recently. I'd definitely love some help (or pull request ;-p) but I should be able to get something ready in hopefully not too long time..
Comment 7 beojan 2016-05-03 17:01:32 UTC
Any updates on progress?
Comment 8 Roman Bysh 2016-06-15 20:56:50 UTC
Follow Up

Status please. I would encourage others to download the master to see if it was fixed.
Ref: https://quickgit.kde.org/?p=qtcurve.git
Comment 9 beojan 2016-06-15 20:58:32 UTC
No, it hasn't been fixed yet.
Comment 10 Yichao Yu 2016-06-15 21:17:17 UTC
> Status please

The status is that I was told the API change should be sane and therefore expecting relatively straightforward upgrade path and thought I could finish it relatively quickly. However, I've made a few attempt to do the upgrade but all of them failed since I couldn't really find any document (as of a few month ago at least) about the API change or the upgrade (in particular, there are a few component in the kwin4 decoration that I couldn't easily find a replacement in the new API). It would be helpful if anyone with the knowledge about the new API or the upgrade path to provide some document on those.
Comment 11 Roman Bysh 2016-06-16 13:56:21 UTC
I will ask around on our openSUSE mail list. 
There must be a number of people that can help you out regarding the new API and upgrade path.
Comment 12 Roman Bysh 2016-06-16 14:42:43 UTC
On 06/15/2016 05:17 PM, Yichao Yu via KDE Bugzilla wrote:
> https://bugs.kde.org/show_bug.cgi?id=353216
>
> --- Comment #10 from Yichao Yu <yyc1992@gmail.com> ---
> > Status please
>
> The status is that I was told the API change should be sane and therefore
> expecting relatively straightforward upgrade path and thought I could finish it
> relatively quickly. However, I've made a few attempt to do the upgrade but all
> of them failed since I couldn't really find any document (as of a few month ago
> at least) about the API change or the upgrade (in particular, there are a few
> component in the kwin4 decoration that I couldn't easily find a replacement in
> the new API). It would be helpful if anyone with the knowledge about the new
> API or the upgrade path to provide some document on those.
>
I was told that you write upstream to plasma-devel@kde.org
That is where you will likely find the best help.

Cheers!

Roman
Comment 13 Roman Bysh 2016-06-16 15:47:39 UTC
On 06/16/2016 10:42 AM, Roman Bysh wrote:
> On 06/15/2016 05:17 PM, Yichao Yu via KDE Bugzilla wrote:
> > https://bugs.kde.org/show_bug.cgi?id=353216
> >
> > --- Comment #10 from Yichao Yu <yyc1992@gmail.com> ---
> >> Status please
> >
> > The status is that I was told the API change should be sane and therefore
> > expecting relatively straightforward upgrade path and thought I could finish it
> > relatively quickly. However, I've made a few attempt to do the upgrade but all
> > of them failed since I couldn't really find any document (as of a few month ago
> > at least) about the API change or the upgrade (in particular, there are a few
> > component in the kwin4 decoration that I couldn't easily find a replacement in
> > the new API). It would be helpful if anyone with the knowledge about the new
> > API or the upgrade path to provide some document on those.
> >
> I was told that you write upstream to plasma-devel@kde.org
> That is where you will likely find the best help.
>
> Cheers!
>
> Roman
>
Have a look at this. The qml file will describe the qtcurve window.

http://doc.qt.io/qt-5/qmlapplications.html
Comment 14 Dustin 2017-05-24 09:48:00 UTC
I've tried running Qtcurve on Plasma 5 but I also ran into this problem:
Is Qtcurve still under development to get it working with Plasma 5 ?
any update regarding this issue would be highly appreciated.
Comment 15 beojan 2017-05-24 09:51:50 UTC
Yes, it's still under development. No one seems to care about the deco right now though.

Once you've customized your QtCurve config, you could just make an Aurorae style to go with it.
Comment 16 Roman Bysh 2017-05-24 19:05:31 UTC
The person maintaining QtCurve is rewriting the kwin code in the qtcurve source code. So he couldn't give me a date for it this year. This is taking a very long time to finish and port the Window decoration to Plasma 5.10

Anybody out there that knows C++ really well. We just may need some one to help out the maintainer.
Another option would be to create a fork for qtcurve=qt5 and finish it this year.
Comment 17 Dustin 2017-05-27 02:28:45 UTC
Thanks for the quick update.
Hope you guys find somebody & be able to fix this.
Would be nice to see Qtcurve working again :D
Comment 18 Christoph Feck 2017-06-05 22:29:14 UTC
All I can offer is this skeleton decoration: http://skulpture.maxiom.de/playground/skeleton-0.1.tar.xz

This was used to port the Smaragd decoration to the new API in a single day.

If there are specfic questions, I can give specific answers.
Comment 19 Roman Bysh 2018-02-22 21:40:27 UTC
When are we going to see the finished qtcurve window decoration so that we can begin to design window decorations for Plasma 5.

Will this happen in 2018? We've been waiting for four years.
Comment 20 beojan 2018-11-22 13:21:44 UTC
Is the background colour still exported as a property so the decoration can pick it up?

I'd at least like to modify Breeze so it can pick up the QtCurve background colour.
Comment 21 Roman Bysh 2019-04-01 22:38:24 UTC
Yichao Yu

I'm following up on this bug from 2015. When are you going to provide the qtcurve window? Are you going to provide it by 2020?
Comment 22 Roman Bysh 2019-04-01 22:39:06 UTC
(In reply to beojan from comment #20)
> Is the background colour still exported as a property so the decoration can
> pick it up?
> 
> I'd at least like to modify Breeze so it can pick up the QtCurve background
> colour.

Yes.
Comment 23 Roman Bysh 2020-02-05 18:24:31 UTC
@ Yichao Yu

Are you going to finish the window decoration?????? 

And when can we see it provided in an update?
Comment 24 Christoph Feck 2020-03-03 21:38:08 UTC
Unassigning due to lack of activity. We lack a contributor who wants to work on this.
Comment 25 Christoph Feck 2020-03-03 21:40:37 UTC
Changing severity given that there are several other decorations on store.kde.org to choose from.
Comment 26 Christoph Feck 2020-04-01 10:59:35 UTC
*** Bug 418404 has been marked as a duplicate of this bug. ***
Comment 27 Roman Bysh 2020-04-08 18:27:00 UTC
It would be nice if someone out there could create a fork of qtcurve-qt5. I can help with testing.
Comment 28 Yichao Yu 2020-04-08 20:56:16 UTC
As I said, pull requests are more than welcome.
Comment 29 Roman Bysh 2020-04-08 21:13:39 UTC
Why didn't you finish the window decoration? You had over six years to finish it.
Comment 30 Yichao Yu 2020-04-09 00:13:26 UTC
> Why didn't you finish the window decoration? You had over six years to finish it.

I'm not sure what you are trying to suggest by "six years".
If it was easy it would have happened a long time ago. AFAICT, it was significantly harder than porting the widget style.
Comment 31 Roman Bysh 2020-04-15 21:50:59 UTC
What is the status of qtcurve-qt? Are you going to finish it this year?
Comment 32 Yichao Yu 2020-04-15 22:22:49 UTC
I don't know what you meant by qtcurve-qt.
Comment 33 Roman Bysh 2020-04-15 22:50:58 UTC
Sorry. The qtcurve-qt5.
Comment 34 Yichao Yu 2020-04-15 23:08:58 UTC
Err, assuming you are still talking about the kwin support (you changed how you talked about it so I assumed you were talking about something else), I've already mentioned above that I've given it my fair try and I don't think it's something that is possible to have a clear timeline for due to the complexity.

It's a fairly low priority wishlist item. I'm not planning to work on it any time soon but pull requests are and has always been welcome.
Comment 35 Roman Bysh 2020-04-15 23:32:16 UTC
I give up. There are a number of people that would have helped you when I first mentioned this to you four years ago. It's a shame. I won't comment on this anymore.

Do you want to close this bug report and mark it as WONTFIX?
Comment 36 Yichao Yu 2020-04-16 00:19:32 UTC
> I give up. There are a number of people that would have helped you when I first mentioned this to you four years ago. It's a shame. I won't comment on this anymore.

Since you are making it sound like I intentionally did nothing and asked for no help I'll make it clear even though I think I'm not really obligated to give an explaination otherwise.

First, there are times (ok, twice maybe) that I was offered help privately in terms of actually contributing code but then didn't hear back. I see this both as a missing opportunity to get it ported and a sign of maybe it is not as trivial as I thought it was.

Secondly, I've also looked at the help in terms of documentation and the issue, as mentioned above, is that the complexity from the qtcurve side. I can see that if one know the qtcurve side of things well, the port shouldn't be very hard. (In case it is not clear, I did not write the qt4 version of the kwin theme.) It is trivial to use the template implementation to get something working while throwing away everything qtcurve currently have. The difficulty is in large part to figure out what the code in qtcurve is doing and I assume none of the help are in that area. Note that this is very different from the widget theme, where basically everything has a 1-1 mapping, the porting is much more mechanical and fixes afterwards can be done mostly incrementally.

Now those are my accessments, most if not all of the conclusions are actually scattering among the few comments I've already made above. They may or may not be accurate but that's what I find and why I determined it is harder than I want to spend much time on any time soon. If any of the assumptions/findings I had above are not accurate making this easier than what I thought, I'm certainly open to constructive suggestions.

> Do you want to close this bug report and mark it as WONTFIX?

No, I've left this open as an acknowledgement that this is a nice to have feature. This can be close if it doesn't make sense to have, which is not the case.
Comment 37 Roman Bysh 2020-04-27 18:35:45 UTC
Some times when I type out my comments they appear much too harsh than I intend them to be. This is something that I'm working on ;-).  For this I apologize and would like to clear the slate on this topic. I know that you have spent a great deal of your personal time on this project including several other projects.

I understand that this window decoration is more complex than the average widget. Too bad that Qt doesn't provide better examples for help. Any comments from the KDE people on their board?

I wish you the best of luck in finding a coder with time on their hands to help you finish this great project. Too bad KDE couldn't integrate qtcurve-qt5 into their code (just a thought). 

I'll put the word out for people that have time to code using C++ with openSUSE.
Can you post on your GIT site that you're looking for help. Bye.
Comment 38 Christoph Feck 2020-04-27 19:03:10 UTC
> Too bad that Qt doesn't provide better examples for help. Any comments from the KDE people on their board?

Qt is not related to KWin window decorations.

> Too bad KDE couldn't integrate qtcurve-qt5 into their code (just a thought).

That wouldn't have helped. There are several other KWin 4 window decorations that were not ported to KWin 5 because of lack of man power.

Anyway, let me add that Yichao's findings about the complexity of the QtCurve code are spot on. It requires a really patient/dedicated developer to read through it.
Comment 39 Roman Bysh 2020-04-27 19:35:10 UTC
+1
Comment 40 Yichao Yu 2020-04-27 19:59:16 UTC
> Some times when I type out my comments they appear much too harsh than I intend them to be. This is something that I'm working on ;-).  For this I apologize and would like to clear the slate on this topic. I know that you have spent a great deal of your personal time on this project including several other projects.

No problem. Thanks for understanding.

> I understand that this window decoration is more complex than the average widget.

Now this isn't necessarily the case. (I would even say window decorator is simpler since there's a single program (kwin) that it interacts with.) However, I never claimed that I fully understand all the options in the widget style either. It's just that the qt4->qt5 transition has virtually no API change so the porting doesn't need any understanding. As I fixed a few bugs over the years I am getting a better understanding of it, but I won't even say I've touched/used more than 20% of it = = .......

> Can you post on your GIT site that you're looking for help. Bye.

The best reference is https://community.kde.org/Infrastructure/Git . It's the kde:qtcurve git repo (using the alias on that page) and that probably won't change. There seems to be quite a bit change on the infrastructure in the past few years (gitlab (invent.kde.org)?) so I honestly don't know what's the lastest way to access all the KDE git repos at this point, let along in another 2 years = = ... (I'm just keep using the URL I've been using until someone tells me I'm using another one....)