Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plasma 6 migration #48

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft

Conversation

Gigas002
Copy link

@Gigas002 Gigas002 commented Sep 27, 2024

Hello, @EliverLara! Hope you're doing well!

Also calling for @dr460nf1r3 (hope you're not too busy!) as a fellow maintaner for this discussion :)

I've spent some time to help with KDE Plasma 6 theme migration, as this was stale for last several months.

This PR is arguable and contains a lot of breaking changes and propositions and I hope we can discuss it here. I can revert any changes you don't like so don't mind to tell me I'm wrong.

Will close #259, #47 (if I understood it correctly, needs migration to .json format for that), maybe more

So, as I said, I've changed lots of things. Here's a brief review of changes:

Proposition: repo refactoring

As a package maintaner, I find it a bit confusing, that Plasma stuff is incorporated into mostly GNOME/GTK repo. Each time repo update comes, all KDE users recieve it, but 90% of a time it's in fact a gtk theme updates. That's why I propose to rebase all KDE Plasma stuff completely into Sweet-kde.

As it is a breaking change, I think it should be merged into plasma6 branch. nova branch in Sweet repo and master in Sweet-kde will stay unchanged for KDE Plasma 5 users.

Going further into repo refactoring, for the same package maintaining reasons I'd like to propose separating kde/cursors, kde/sddm, kde/Kvantum and kde/konsole each into a separate repo. These projects can be installed and used without dependency on KDE Plasma and pther theme components, so we don't need to force users to keep a track on a whole Sweet-kde theme project. It's a fairly easy change, but will help maintainers and users a lot.

Proposition: theme paths and naming changes

As for minor repo refactoring details, I'd like to address this issue and change paths layout and some naming changes to reflect theme better:

  • kde/aurorae/Sweet-Dark -> kde/aurorae/themes/Sweet -- there's no light variant of Sweet theme, so explicitly stating Dark feels redundant. Accordingly changed the names in metadata.desktop and Sweet-Darkrc -> Sweetrc
  • kde/aurorae/Sweet-Dark-transparent -> kde/aurorae/themes/Sweet-transparent -- same as above
  • kde/colorschemes -> kde/color-schemes
  • kde/look-and-feel -> kde/plasma/look-and-feel/Sweet
  • kde/sddm -> kde/sddm/themes/Sweet

As for Sweet-kde repo:

  • dialogs -> plasma/desktoptheme/Sweet/dialogs
  • icons -> plasma/desktoptheme/Sweet/icons
  • preview -> plasma/desktoptheme/Sweet/preview
  • widgets -> plasma/desktoptheme/Sweet/widgets
  • colors -> plasma/desktoptheme/Sweet/colors
  • metadata.desktop -> plasma/desktoptheme/Sweet/metadata.json

look-and-feel

  • kde/look-and-feel/metadata.desktop -> migrated into new format kde/plasma/look-and-feel/Sweet/metadata.json
  • changed defaults to enable splash screen, use kvantum-dark and Sweet-transparent
  • updated splash for plasma 6 migration
  • added systemdialog (dunno if we need it, copied straight from breeze theme)
  • updated osd accordingly to same breeze component
  • updated layouts/: seemed pretty default-ish, so replaced with breeze one
  • updated logout/timer.js from breeze
  • removed lockscreen, it's not configurable as theme anymore, can only change bg in plasma settings

cursors

  • removed binary blobs (build/, Sweet-cursors/cursors) as these are buildable
  • fixed transparent background cursor creation (see pr)
  • added SVG cursors (will be usable with Plasma 6.2.0+ release)

SDDM

  • merged changes from dark-plasma-6 branch
  • changed name in metadata.desktop from sweet to Sweet to follow overall theme naming rule
  • minor changes in import directives

Sweet-kde repo

  • metadata.desktop -> migrated into new format plasma/desktoptheme/Sweet/metadata.json
  • added plasma/desktoptheme/Sweet/plasmarc as part of plasma 6 migration

Proposition: change Sweet-kde license to GPLv3

In order to have same license as with GNOME/GTK repo, plus some moved components are licensed under GPLv2/GPLv3 license already

TODO

  • maybe we need to migrate left .desktop files? I'm not sure if KDE migrates all of theme-related .desktop files into .json or not looks good for now, at least judging by breeze state
  • SVG cursors (implemented, but need actual testing with Plasma 6.2.0+)
  • update look-and-feel/logout and look-and-feel/components
  • maybe update need to update more SDDM components looks good
  • lockscreen? While, as I noted above, I didn't find a way to change it's theme, the migration article notes it as something possible, maybe worth looking at
  • I have also implemented hyprcursors generation, but that might be better to merge if we'll be able to separate above mentioned components into different repos

Useful tips for migration

@Gigas002
Copy link
Author

Ouch, didn't think it'd be THAT big. I can separate this on several PRs in different places, just wanted to have some communication first

@dr460nf1r3
Copy link

Am currently very busy, but will try to review the changes in detail soon.
@EliverLara from a superficial look it seems to be a really good enhancement from a maintainers point of view. Would love to have something like this take place. Extracting the KDE theme from the nova branch is of course possible, but it would indeed fit better here.

@Gigas002 Gigas002 marked this pull request as draft September 30, 2024 09:42
@EliverLara
Copy link
Owner

Hi, I really appreciate your contribution and I think it could be a good enhancement for the project to get it separate from gtk-related repo. So trying to give you some feedback:

I find it a bit confusing, that Plasma stuff is incorporated into mostly GNOME/GTK repo

It was done in that way because everything exceptplasma-desktop themeis released under GPL license, the plasma-desktop theme is a fork of a project licenced under CC BY-SA 4.0

I agree with most of the changes you proposed, it is a change that I had been thinking for a long time ago, and as you said it's a movement that could break anything(since kde theming is easily breakable) furthermore there is a lot of files to review so I'd like to do it carefully and if you don't mind I'll try to make the movement this week.

@Gigas002
Copy link
Author

Gigas002 commented Oct 1, 2024

Thank you for the feedback!

the plasma-desktop theme is a fork of a project licenced under CC BY-SA 4.0

Ah, I understand your reasoning now. I think that it's compatible with GPLv3, so I suppose there shouldn't be any breakage in case of re-licensing, if you decide to accept this change ofc

I'd like to do it carefully and if you don't mind I'll try to make the movement this week

Take your time, we're not rushing for these changes and it's perfectly fine to do it step by step. If I can somehow simplify this process for you - please, let me know 🙂

@Gigas002
Copy link
Author

Tried out svg cursors with plasma 6.2.0, seems to work correctly.
For the reference: https://blog.vladzahorodnii.com/2024/10/06/svg-cursors-everything-that-you-need-to-know-about-them/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port KDE theme to KDE 6
3 participants