Fix Name conflict between plasma.desktop and plasmawayland.desktop
ClosedPublic

Authored by asturmlechner on Jul 2 2019, 8:57 AM.

Details

Summary

SDDM until 0.18.1 appends " (Wayland)" to the name of any session file it
finds in wayland-sessions dir, and Plasma is relying on that behaviour to
distinguish between its X11 and Wayland sessions. This leads to duplicate
"Plasma" entries on any other DM not applying the same hack, e.g. lightdm,
and users are lost without downstream patching.

SDDM in 0.19 only appends " (Wayland)" in case the session name does
not already end with this, to avoid duplicating it.

CCBUG: https://bugs.kde.org/show_bug.cgi?id=368409
See also: https://github.com/sddm/sddm/pull/997

Diff Detail

Repository
R120 Plasma Workspace
Branch
session-rename
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 14197
Build 14215: arc lint + arc unit
asturmlechner created this revision.Jul 2 2019, 8:57 AM
Restricted Application added a project: Plasma. · View Herald TranscriptJul 2 2019, 8:57 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
asturmlechner requested review of this revision.Jul 2 2019, 8:57 AM
davidedmundson requested changes to this revision.Jul 2 2019, 9:46 AM
davidedmundson added a subscriber: davidedmundson.

This means most our normal users in an office who don't know/care if they're running X11 or wayland have some extra tech-garbage after the name.

This revision now requires changes to proceed.Jul 2 2019, 9:46 AM

Well, what's the current situation - SDDM have made the decision on their part to append that tech-garbage for Wayland sessions, users end up with:

  • Plasma
  • Plasma (Wayland)

Per linked issue it is not going to be like that forever; on every(?) other DM, like lightdm, users can choose between:

  • Plasma
  • Plasma

...unless whatever downstream patching has been done to alleviate that issue. That's a real problem, not only because it relies on downstreams to do something, maybe not the right thing, and for users who do not know what to report when they have a problem entering a session (and frustration to decide which is which). Both choices will remain available in the foreseeable future.

I'd like to get us to a situation where the session naming is consistent on all DMs, the SDDM hack can be dropped and no one needs to patch anything. Plasma (Wayland) would eventually become the default choice anyway, then be displayed just as Plasma if we don't do anything on our side and only fix SDDM.

fvogt added a comment.Jul 2 2019, 1:59 PM

This is a necessary step to avoid having two indistinguishable "Plasma" options in SDDM with the linked PR merged and all other DMs , the other option is to have a "Plasma (Wayland) (Wayland)" in sddm only.

AFAICT the translations for Name need to be removed though as they're wrong now.

In openSUSE downstream we could do it the other way as we can change sddm and plasma-workspace simultaneously, so we have "Plasma" and "Plasma (Wayland)" in the desktop files with sddm not adding any suffix.

rdieter added a subscriber: rdieter.Jul 2 2019, 6:39 PM

Yeah, I understand the situation.


LightDM (when I worked on it at least) used to support the Icon property in the .desktop file.
That'd be a quick and easy way to add an extra clarification on which one is wayland in the short term.


Unless you get an SDDM release exactly in sync with the Plasma change, you still have "(wayland)" twice or potentially never.

This patch only helps with the case where SDDM is updated first, but the UX is messy as the additional qualifier moves, which is very confusing. And it'll end up staying there forever just to solve a few weeks of hypothetics crossover.

Given we need to do something horrific, the other option is we patch our .desktop file right now and then just manipulate the text to remove one "(wayland)" if needed. That's at least atomic, and then we can patch SDDM at our leisure later.

fvogt added a comment.Jul 3 2019, 7:10 AM

This patch only helps with the case where SDDM is updated first,

No, it solves all cases. Patched SDDM and therefore also GDM and LightDM show "Plasma (X11)" and "Plasma", while unpatched SDDM shows "Plasma (X11)" and "Plasma (Wayland)".

I'll have to do this downstream, anyway...

FWIW, Gnome appear to be calling theirs 'Gnome on Xorg' (and likewise, just 'Gnome' for the wayland session).

drop translations, rename to 'Plasma on Xorg'

fvogt added a comment.Jul 21 2019, 7:58 AM

drop translations, rename to 'Plasma on Xorg'

That would not be symmetric to "Plasma (Wayland)" though as produced by sddm.

pino added a subscriber: pino.Jul 21 2019, 8:01 AM

drop translations

No need to do that, scripty will take care of it.

fvogt requested changes to this revision.Sep 30 2019, 2:45 PM

drop translations, rename to 'Plasma on Xorg'

That would not be symmetric to "Plasma (Wayland)" though as produced by sddm.

This revision now requires changes to proceed.Sep 30 2019, 2:45 PM

FWIW to me https://github.com/sddm/sddm/pull/997 seems correct, and then we would rename the sessions upstream here. My preference would be to make the Wayland session say "Plasma (Wayland)" rather than renaming the X11 session ("Plasma on Xorg" sounds pretty awkward IMO)

fvogt added a comment.Oct 15 2019, 2:51 PM

FWIW to me https://github.com/sddm/sddm/pull/997 seems correct, and then we would rename the sessions upstream here. My preference would be to make the Wayland session say "Plasma (Wayland)" rather than renaming the X11 session ("Plasma on Xorg" sounds pretty awkward IMO)

Which then results in "Plasma (Wayland) (Wayland)" on distros with old sddm. That's why this patch does it the other way around.

I thought this change was introduced with 0.18.1 though? Aren't distros with an old SDDM using something older than that?

fvogt added a comment.Oct 15 2019, 2:58 PM

I thought this change was introduced with 0.18.1 though? Aren't distros with an old SDDM using something older than that?

That pull request hasn't been merged yet, so all distros which haven't applied it manually would be affected.

Got it.

My very strong preference is to append the session name for Wayland, not X11. "Plasma on Xorg" is a yucky string to display to users. IMO it would be preferable to display "Plasma on Wayland (Wayland) for a limited period of time while the Plasma and SDDM versions aren't yet aligned. This redundancy would then have a built-in expiration date.

"Plasma on Xorg" is a yucky string to display to users.

well, it is what Gnome apparently does, so at least it would have lead to some uniformity. But no strong opinion here.

IMO it would be preferable to display "Plasma on Wayland (Wayland) for a limited period of time while the Plasma and SDDM versions aren't yet aligned.

...except I wasn't sure if you could call Plasma running "on" Wayland in the same sense as it is running "on" Xorg.

Ok, so there are exactly 3 outcomes of events.

  1. A period where both X and wayland say "Plasma".
  2. A period where we see Plasma (X11) and Plasma
  3. A period where we see Plasma (wayland) (wayland)

(a combo of 2 & 3 is also possible, but that seems pointless)

1 is super super bad. Which means we need to patch one of the Plasma entries first. I would block this happening.

2 (this patch) I don't like. It's not comparable with gnome because they have their wayland session by default. We currently do not.
I really don't like this, but if group concensus from Plasma is this...then ok.

3 not great, obviously looks super stupid, but it affects the fewest users. My preference.

Hopefully it's mostly a non issue and we're overthinking it as all the really good distros can patch in sync if we send an email upfront.

Ok, so there are exactly 3 outcomes of events.

  1. A period where both X and wayland say "Plasma".
  2. A period where we see Plasma (X11) and Plasma
  3. A period where we see Plasma (wayland) (wayland) (a combo of 2 & 3 is also possible, but that seems pointless)

1 is super super bad. Which means we need to patch one of the Plasma entries first. I would block this happening.

2 (this patch) I don't like. It's not comparable with gnome because they have their wayland session by default. We currently do not.
I really don't like this, but if group concensus from Plasma is this...then ok.

3 not great, obviously looks super stupid, but it affects the fewest users. My preference.

Hopefully it's mostly a non issue and we're overthinking it as all the really good distros can patch in sync if we send an email upfront.

My thoughts exactly.

Switch back to Plasma (Wayland)

davidedmundson accepted this revision.Oct 15 2019, 3:34 PM

+1
but wait for fvogt and whoever else to ack.

  1. A period where both X and wayland say "Plasma".

    1 is super super bad. Which means we need to patch one of the Plasma entries first. I would block this happening.

It is the status quo for everyone using a DM other than SDDM on <unaware-distro>, so any decision here is going to be an improvement.

ngraham accepted this revision.Oct 15 2019, 3:50 PM
asturmlechner edited the summary of this revision. (Show Details)Oct 15 2019, 4:28 PM
fvogt accepted this revision.Oct 16 2019, 12:26 PM
This revision is now accepted and ready to land.Oct 16 2019, 12:26 PM