Lightly icon indicating copy to clipboard operation
Lightly copied to clipboard

Add support for plasma 6

Open chicco-carone opened this issue 2 years ago • 113 comments

I just finished updating to plasma 6 beta 1 and this style is not present anymore in the settings since it has to be ported to qt6.

chicco-carone avatar Dec 03 '23 18:12 chicco-carone

To be honest, it would be a good idea to rebase this style on upstream Breeze, because that has been getting a lot of love recently and rewriting this to Qt6 in this state doesn't seem like a great idea.

DexterHaxxor avatar Jan 06 '24 11:01 DexterHaxxor

#2

boehs avatar Jan 07 '24 12:01 boehs

I made a port to QT6 4 months ago. https://github.com/Luwx/Lightly/issues/200#issuecomment-1725074052 Still have no major issue after plasma rc1 update , but I keep trying to clean up the code.

edpil02 avatar Jan 21 '24 10:01 edpil02

@edpil02 if you open source it or email me a patch (my email is evan (the at goes here) boehs.org) I’m more than happy to merge it here

boehs avatar Jan 21 '24 14:01 boehs

I planned to send you a patch since my port is based on your repository and I wanted a code review cause I'm not a programmer , after dealing with some qt6 depredications.

At the same time klassy developer: https://github.com/paulmcauley/klassy is ready to add lighty options in his code and I think he will accept help. I wonder if this would be a better solution rather than lightly which is no longer maintained. At my modest level I will try to start with “transparent dolphin view.”

edpil02 avatar Jan 22 '24 10:01 edpil02

@edpil02 Could you please publish the source code, or even just a lightly.so? I'd really love to check it out

Also I don't see how klassy could be an alternative, as that doesnt currently support qt6 either

alba4k avatar Feb 16 '24 15:02 alba4k

I’m considering the possibility of placing a bounty on this. What would people be willing to contribute?

boehs avatar Feb 17 '24 01:02 boehs

Not that much, but I could consider putting 5$ into it

alba4k avatar Feb 17 '24 09:02 alba4k

I'm still spending time reviewing the code because there are still changes in qt6 With qt6.5 I had no problem. With qt.6.6 I noticed while doing tests after my last post that the opacity had disappeared in the dolphin sidebar. A sent two bugs report : https://bugreports.qt.io/browse/QTBUG-122290 It was only yesterday that I realized that it was not a problem of apacity but that it was necessary to change a Boolean function in lightly. I repeat, I am a beginner learning Qt... My distro will move to qt6.6.2 if there is no change I will send the code to Boehs.

edpil02 avatar Feb 17 '24 09:02 edpil02

Good news, I managed to get my opacity slider to work again. I hope not to have new changes in a few days when my distro is on Qt6.6.2 screen

edpil02 avatar Feb 17 '24 10:02 edpil02

@edpil02 that is looking great

Would you be able to test whether qt6ct is able to see the theme? Also, when can we hope for your work to become publicly avaiable?

alba4k avatar Feb 17 '24 13:02 alba4k

See the screenshot , qt6ct (i dont use it) seems to see the theme. As I said my distro will upgrade to the new version of qt6 in 3 days and if that goes well I will send a patch to Boehs for review and a merge. qt6ct

edpil02 avatar Feb 17 '24 15:02 edpil02

That's awesome!

btw, qt6ct just exists to make qt handling easier outside of plasma, so it would make sense for you not to be using it

alba4k avatar Feb 17 '24 16:02 alba4k

@alba4k . Done . I sent a tarball to Boehs for a merge if it's possible.

edpil02 avatar Feb 20 '24 15:02 edpil02

I can confirm that I have received the patched tarball, I will review it shortly.

boehs avatar Feb 21 '24 13:02 boehs

I was wondering

Do you know if it would be possible to get control on the AUR package?

https://aur.archlinux.org/packages/lightly-qt

alba4k avatar Feb 24 '24 12:02 alba4k

I was wondering

Do you know if it would be possible to get control on the AUR package?

https://aur.archlinux.org/packages/lightly-qt

There is already the lightly-boehs-git package on the aur

chicco-carone avatar Feb 24 '24 13:02 chicco-carone

As the former maintainer of that package, no, there isn't, I've deleted it because the lightly-git package points to this repo.

DexterHaxxor avatar Feb 24 '24 17:02 DexterHaxxor

I see, thanks!

Also, why does the -git version have so many extra dependencies? immagine

alba4k avatar Feb 24 '24 22:02 alba4k

As the former maintainer of that package, no, there isn't, I've deleted it because the lightly-git package points to this repo.

That's why i couldn't find it. I thought that the lightly-git was the git version of the original version

chicco-carone avatar Feb 28 '24 10:02 chicco-carone

@boehs did you manage to start taking a look at their code? sorry to bother 😅

alba4k avatar Feb 28 '24 21:02 alba4k

Briefly. My Linux machine is inaccessible right now so I intend to setup a VM to test, but I likely won't have anything before next week.

Message ID: @.***>

boehs avatar Feb 28 '24 21:02 boehs

I have opened a PR at #16 so, if you should wish, you can test the code yourself. Aside from testing, I have asked for edpil02's preferred name and email for the commit

boehs avatar Feb 28 '24 22:02 boehs

I see, thanks!

Also, why does the -git version have so many extra dependencies? immagine

I do not maintain the AUR package.

Edit: And at this time I am not interested in doing so.

boehs avatar Feb 28 '24 22:02 boehs

One question I especially need to answer is if this code is still functional on KDE 5.27. If it's not, a decision needs to be made:

  • Fully switch to Qt 6 only
    • If so, when? Now?
  • Maintain two separate branches and request packages include code to switch to the correct brach for the build
  • Annotate the incompatible code with ifdefs of some sort

Because I suppose I am now the benevolent dictator, I'm inclined to opt for option A, but I am open to other opinions

boehs avatar Feb 28 '24 22:02 boehs

How about C? a cmake flag like -DUSE_QT6=OFF/ON could be used (this is what adwaita seems to do)

alba4k avatar Feb 28 '24 23:02 alba4k

@alba4k I thought about using this flag for compatibility with plasma5. But just to make a code compilable with Qt6 I believe that there are at least fifty lines to change without counting that it will certainly be necessary to rewrite certain parts that Qt declares obsolete. And even when the code compiled, the configs did not appear in Plasma 6. I had to look in the Breeze code to find a solution. I don't think it was worth it.

But I think Boehs is better than me to decide on the right solution and improve the code.

edpil02 avatar Feb 29 '24 08:02 edpil02

image With lastest commit it doesn't seem to compile

SakiKarened avatar Feb 29 '24 08:02 SakiKarened

This is what I said above, I added 1 files lightlystyleconfig.json

I Buils fine for me .

 DESTDIR=/builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64
+ /usr/bin/cmake --install redhat-linux-build
-- Install configuration: "Debug"
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/color-schemes/Lightly.colors
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/qt6/plugins/styles/lightly6.so
-- Set non-toolchain portion of runtime path of "/builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/qt6/plugins/styles/lightly6.so" to ""
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/kstyle/themes/lightly.themerc
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/qt6/plugins/kstyle_config/lightlystyleconfig.so
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/applications/lightlystyleconfig.desktop
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/bin/lightly-settings6
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/icons/hicolor/scalable/apps/lightly-settings.svgz
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/liblightlycommon6.so.6.80
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/liblightlycommon6.so.6
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/qt6/plugins/org.kde.kdecoration2/org.kde.lightly.so
-- Set non-toolchain portion of runtime path of "/builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/qt6/plugins/org.kde.kdecoration2/org.kde.lightly.so" to ""
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/kservices6/lightlydecorationconfig.desktop
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/qt6/plugins/org.kde.kdecoration2.kcm/kcm_lightlydecoration.so
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/applications/kcm_lightlydecoration.desktop
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/cmake/Lightly/LightlyConfig.cmake
-- Installing: /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/lib64/cmake/Lightly/LightlyConfigVersion.cmake
Processing files: lightly-qt6-0.4.1-5.fc41.x86_64
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.KrqGMd
+ umask 022
+ cd /builddir/build/BUILD
+ cd Lightly-0.4.1
+ DOCDIR=/builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/doc/lightly-qt6
+ export LC_ALL=
+ LC_ALL=
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/doc/lightly-qt6
+ cp -pr /builddir/build/BUILD/Lightly-0.4.1/AUTHORS /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/doc/lightly-qt6
+ cp -pr /builddir/build/BUILD/Lightly-0.4.1/README.md /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/doc/lightly-qt6
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.FhE7ip
+ umask 022
+ cd /builddir/build/BUILD
+ cd Lightly-0.4.1
+ LICENSEDIR=/builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/licenses/lightly-qt6
+ export LC_ALL=
+ LC_ALL=
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/licenses/lightly-qt6
+ cp -pr /builddir/build/BUILD/Lightly-0.4.1/COPYING /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64/usr/share/licenses/lightly-qt6
+ RPM_EC=0
++ jobs -p
+ exit 0
Provides: application() application(kcm_lightlydecoration.desktop) application(lightlystyleconfig.desktop) cmake(Lightly) = 6.80 cmake(lightly) = 6.80 liblightlycommon6.so.6()(64bit) lightly-qt6 = 0.4.1-5.fc41 lightly-qt6(x86-64) = 0.4.1-5.fc41
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: cmake-filesystem(x86-64) libKF6ColorScheme.so.6()(64bit) libKF6ConfigCore.so.6()(64bit) libKF6ConfigGui.so.6()(64bit) libKF6CoreAddons.so.6()(64bit) libKF6GuiAddons.so.6()(64bit) libKF6I18n.so.6()(64bit) libKF6IconThemes.so.6()(64bit) libKF6KCMUtils.so.6()(64bit) libKF6KCMUtilsCore.so.6()(64bit) libKF6Style.so.6()(64bit) libKF6WidgetsAddons.so.6()(64bit) libKF6WindowSystem.so.6()(64bit) libQt6Core.so.6()(64bit) libQt6Core.so.6(Qt_6)(64bit) libQt6Core.so.6(Qt_6.6)(64bit) libQt6DBus.so.6()(64bit) libQt6DBus.so.6(Qt_6)(64bit) libQt6Gui.so.6()(64bit) libQt6Gui.so.6(Qt_6)(64bit) libQt6Quick.so.6()(64bit) libQt6Quick.so.6(Qt_6)(64bit) libQt6Widgets.so.6()(64bit) libQt6Widgets.so.6(Qt_6)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_ABI_DT_RELR)(64bit) libkdecorations2.so.6()(64bit) liblightlycommon6.so.6()(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.30)(64bit) rtld(GNU_HASH)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/lightly-qt6-0.4.1-5.fc41.x86_64

Wrote: /builddir/build/RPMS/lightly-qt6-0.4.1-5.fc41.x86_64.rpm

edpil02 avatar Feb 29 '24 08:02 edpil02

Thanks ! What about CMake Error at kdecoration/CMakeLists.txt:50 (add_subdirectory): The source directory

/home/gainsbarre/Lightly/kdecoration/config

does not contain a CMakeLists.txt file.

I don't see the CMakeList anywhere

SakiKarened avatar Feb 29 '24 08:02 SakiKarened