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

Problems with plasma 6 #62

Closed
magnouvean opened this issue Jan 24, 2024 · 28 comments
Closed

Problems with plasma 6 #62

magnouvean opened this issue Jan 24, 2024 · 28 comments

Comments

@magnouvean
Copy link
Collaborator

This is a tracker issue for things not working in plasma-manager on the upcoming kde plasma 6 version. If there are any bugs/configuration-problems in plasma-manager, feel free to post them here. At the moment kde plasma isn't available for nixos, but it is available for other distributions to test some of the tools/configurations plasma-manager to find potential problems. As already noted in #59 @mlyxshi, the way we generate panels may be broken (hopefully this is just a problem with the qdbus command we send in and hence it hopefully is an easy fix).

@magnouvean
Copy link
Collaborator Author

I set up my own virtual machine with kde neon and tested some things. It appears that the panel-approach works just fine without changes on kde plasma 6 (as far as I saw), that is after installing some package (I believe it was called qtchooser) so that qdbus was available (this wasn't installed by default unlike in nix). I also tested that the various plasma command-line tools we use (like plasma-apply-colorscheme) are included and continue to work in this kde plasma version. Overall I think we should for the most part be good with little change in plasma-manager needed (though we will perhaps need to adjust the name of some keys or some values written to config-files, although this does look very similar, and I haven't seen anything so far that needs adjustment).

Other than that I will say that plasma 6 does look very good at first look, so this is something to look forward to!

@mlyxshi
Copy link
Contributor

mlyxshi commented Feb 29, 2024

kde6 is available in nixos-unstable. The only problem is the new default floating panel style (I prefer the old non-floating style). Could you please support this boolean option?

@magnouvean
Copy link
Collaborator Author

Yeah, we'll have to look into that. Hopefully this capability has been added to plasma desktop scripts as well, although I'm not seeing anything obvious in the documentation for it yet. I also see that the maxwidth stuff doesn't work either. On a positive note it appears that the panels at least are created on the correct screen, which was always a bit irritating when using multi-monitors :).

@jilinoleg
Copy link

Plasma6 added some new global shortcuts for Spectacle, so it would be appreciated if new options in spectacle.nix were added.

And also, it seems like on machines that updated shortcuts and updated to plasma 6 at the same time (like happened with me on my less used device) the plasma-manager cannot set shortcut values that overlaps new shortcuts set by plasma update (for example, plasma-manager tried to set shortcut to "Meta+R" right after update, but shortcut with that key combo was added by plasma between rebuild and applying the config). This is kind of a rare edge case, because plasma updates do not override shortcut values already set by users so this only happens if key combination was unused by both user-set and plasma-manager-set shortcuts until that exact rebuild, but I decided to mention it anyway.

@magnouvean
Copy link
Collaborator Author

These shortcuts should now be supported. Nice knowing about the shortcut potentially being overwritten, that might make it easier for troubleshooting, though I don't think there is much that can be done to fix this.

@Svenum
Copy link

Svenum commented Mar 8, 2024

Can you add the option for the panels to dodge the Windoes?

@magnouvean
Copy link
Collaborator Author

I see that is broken indeed. I'll see if I can find out what the new keys are over the weekend

@magnouvean
Copy link
Collaborator Author

This is now available as per #80. You can use set the hiding option to dodgewindows for a panel to achieve the desired results. There also appear to be two other supported hiding methods, namely always show and windows go below, but they both seem to be using hiding = "none". I'll see if there are any more tweaks needed for these

@magnouvean
Copy link
Collaborator Author

I figured these out. To get the "Always visible" panel it seems like normalpanel is the correct value for the hiding, while for "Windows go Below" the correct value is windowsgobelow. None of these are added yet, but I'll add them as soon as possible so that these options are available as well. Both of these are plasma 6 only I believe.

@magnouvean
Copy link
Collaborator Author

These are now implemented, and min/maxLength should also work now. I would imagine there still are some things in the panels module which still doesn't fully work on plasma 6, but it at least now works on my whole config

@Svenum
Copy link

Svenum commented Mar 9, 2024

On my config too.

@fr33zing
Copy link

fr33zing commented Mar 9, 2024

Not sure if this is related to plasma6 but I have a feeling it is. I'm not able to set hotkeys at all. This is my config:

home-manager.users.${userName} = { ... }: {
  imports = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
  programs.plasma = {
    enable = true;
    hotkeys.commands = {
      "Launch terminal" = {
        key = "Meta+E";
        command = "foot";
      };
    };
  };
};

There are no errors but it doesn't set any hotkeys and there is no indication that it's doing anything when I check the relevant settings page.

@magnouvean
Copy link
Collaborator Author

I seem to remember that there was some hotkeys implementation changes in plasma 6 (or some old standard was dropped or something). It probably needs updating, we'll add it to the list. I think though for most tasks though (probably the above included) the shortcuts module should be able to do the job, though I haven't really tested it as I don't really use it in my config.

@magnouvean
Copy link
Collaborator Author

The hotkeys should be fixed now after #24 was merged :)

@Svenum
Copy link

Svenum commented Apr 13, 2024

I found something:
KDE changed the "path" of applet options to be:
[Containments][604][Applets][611][Configuration][org][kde][ksysguard][piechart][General]
insted of how it in Plasma 5 was:
[Containments][604][Applets][611][Configuration][org.kde.ksysguard.piechart][General]

that causes that we dont have enouogh subsets (if I understand this correctly.

warning: Git tree '/home/sven/GitHub/NixOS-Config' is dirty
error:
       … while checking flake output 'nixosConfigurations'

         at /nix/store/5rhk70jn2123ic2wc5c7jf9i4nlc3sjm-source/flake.nix:9:5:

            8|   {
            9|     nixosConfigurations = {
             |     ^
           10|       Yon = lib.nixosSystem {

       … while checking the NixOS configuration 'nixosConfigurations.Yon'

         at /nix/store/5rhk70jn2123ic2wc5c7jf9i4nlc3sjm-source/flake.nix:10:7:

            9|     nixosConfigurations = {
           10|       Yon = lib.nixosSystem {
             |       ^
           11|         specialArgs = {

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: A definition for option `home-manager.users.sven.programs.plasma.panels."[definition 1-entry 2]".widgets."[definition 1-entry 7]".config.org.kde' is not of type `string or list of string'. Definition values:
       - In `/nix/store/5rhk70jn2123ic2wc5c7jf9i4nlc3sjm-source/users/sven/plasma.nix':
           {
             ksysguard = {
               piechart = {
                 General = {
                   rangeAuto = "false";
           ...

@magnouvean
Copy link
Collaborator Author

You might be correct there. Could you post more of the panel configuration so it becomes easier to debug (my panel configs work fine, but they are simpler)?

@Svenum
Copy link

Svenum commented Apr 13, 2024

@magnouvean
Copy link
Collaborator Author

I'm pretty sure the problem is then that you are using declaring org.kde.ksysguard.piechart.General without quotes anymore. I do see the problem here though and I don't think as per now what you want to achieve is properly supported by plasma-manager a.t.m., but we probably should be somewhat easily be able to add it so that you can set the configuration to "org/kde/ksysguard/piechart".General and get what you want. I'll keep it in mind :)

@Svenum
Copy link

Svenum commented Apr 13, 2024

I tryed with quotes "org"."kde"."ksysguard"."piechart"."General" and like you sad "org/kde/ksysguard/piechart".General with still the same error.

warning: Git tree '/home/sven/GitHub/NixOS-Config' is dirty
error:
       … while checking flake output 'nixosConfigurations'

         at /nix/store/4xl8ij1l8q9lhgkzyxlvz3vpj9z8bn1n-source/flake.nix:9:5:

            8|   {
            9|     nixosConfigurations = {
             |     ^
           10|       Yon = lib.nixosSystem {

       … while checking the NixOS configuration 'nixosConfigurations.Yon'

         at /nix/store/4xl8ij1l8q9lhgkzyxlvz3vpj9z8bn1n-source/flake.nix:10:7:

            9|     nixosConfigurations = {
           10|       Yon = lib.nixosSystem {
             |       ^
           11|         specialArgs = {

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: A definition for option `home-manager.users.sven.programs.plasma.panels."[definition 1-entry 2]".widgets."[definition 1-entry 7]".config."org/kde/ksysguard/piechart".General' is not of type `string or list of string'. Definition values:
       - In `/nix/store/4xl8ij1l8q9lhgkzyxlvz3vpj9z8bn1n-source/users/sven/plasma.nix':
           {
             rangeAuto = "false";
             rangeTo = "1600";
           }

@magnouvean
Copy link
Collaborator Author

Yeah I meant quotes around the whole thing, but that obviously won't give the desired result (but would build). It will need some tweaks

@magnouvean
Copy link
Collaborator Author

After looking into this I am pretty sure it already was supported, you just needed to include everything as one string, i.e. "org.kde.ksysguard.piechart.General" (we use fixed-size attrsOfAttrs in this project). Nice you brought this up though as it was using "." to separate groups, which is inconsistent with the rest of plasma-manager. Using "org/kde/ksysguard/piechart/General" as the group is therefore the new solution. This should now generate the config wanted above :).

@Svenum
Copy link

Svenum commented Apr 14, 2024

Worked great, thanks

@VictorGamerLOL
Copy link

The flake downloads plasma5 even if I am using plasma 6. I think it is because of the demo package.

@magnouvean
Copy link
Collaborator Author

I guess the solution to that would just be to update it the demo to plasma 6 from plasma 5. That does give the same problem for plasma 5 users though, but I guess that is better maybe. We can't really check in the flake which of the two the user is currently running.

@VictorGamerLOL
Copy link

I guess the solution to that would just be to update it the demo to plasma 6 from plasma 5. That does give the same problem for plasma 5 users though, but I guess that is better maybe. We can't really check in the flake which of the two the user is currently running.

Maybe split the flake into 2 different branches and the user chooses based on whether they are running plasma5 or 6?

@magnouvean
Copy link
Collaborator Author

Yeah, we've been thinking about doing that for some time. Sounds like a good solution

@magnouvean
Copy link
Collaborator Author

plasma-manager now doesn't pull in plasma 5 in the flake for the trunk branch, and I have created a new branch specifically for plasma 5 called plasma-5.

@magnouvean
Copy link
Collaborator Author

Also some news on my end is that I will not in the near future be able to co-maintain or contribute much to plasma-manager anymore because I will be switching distributions for various reasons (mostly software and a little bit hardware complications regarding quite specialized use-cases, which while probably solvable in nixos would take too much time for what I am willing to use, at least in the near future). I really wouldn't rule out that I at some time will come back to the distro though (I have done so a couple times before), and if/when that happens I'll certainly be back here making contributions. Hopefully the project will continue fine though, it's seen good progress even besides my contributions, and I'd say it's in a good state a.t.m. although some bugs are present (some of which are probably not even plasma-manager bugs).

I will close this issue now, I think the transition to plasma 6 has gone pretty smoothly and if there are any new discoveries from now on I think those belong in separate issues :)

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

No branches or pull requests

6 participants