Add "SkipSwitcher" to API
ClosedPublic

Authored by sharvey on Apr 4 2018, 1:36 PM.

Details

Summary

Adding "SkipSwitcher" to API, stemming from discussion in
BUG 375921. Please see following comments for important information.

Depends on / related to D11925 and D11926.

Diff Detail

Repository
R278 KWindowSystem
Branch
skip-switcher (branched from master)
Lint
No Linters Available
Unit
No Unit Test Coverage
sharvey created this revision.Apr 4 2018, 1:36 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptApr 4 2018, 1:36 PM
Restricted Application added a subscriber: Frameworks. · View Herald Transcript
sharvey requested review of this revision.Apr 4 2018, 1:36 PM
NOTE: This is a junior job and a work in progress!

After discussion in BUG 375921, it was decided to add SkipSwitcher to the KWin API. It's a junior job and my first submission to the KWin/KWayland/KWindowSystem family. @hein has agreed to help me out, and I do in fact have a few issues.

  • Autotests 7, 8, and 10 are failing, and I'm unable to determine why. It appears to be somehow related to the addition of NET::SkipSwitcher to the list of NET::States, but I'm unclear why or how.
  • I know KWin/X11 is feature-frozen, so this may not be relevant any longer.

As Martin wrote in the bug report, this should be straightforward, and it seems that way. But clearly the results of the autotests are a problem, which I need help resolving.

sharvey edited the summary of this revision. (Show Details)Apr 4 2018, 2:18 PM
apol added a subscriber: apol.Apr 4 2018, 4:15 PM
apol added inline comments.
src/netwm_def.h
492

add @since 5.45?

sharvey added inline comments.Apr 4 2018, 4:18 PM
src/netwm_def.h
492

Will it be 5.45 for KWayland as well? There were @since tags in what I duplicated, but I wasn't certain which version.

apol added a comment.Apr 4 2018, 4:21 PM

5.44 was just released, so I'd assume it's 5.45 (or we can fix change it later if it takes us longer to merge).

In D11924#239922, @apol wrote:

5.44 was just released, so I'd assume it's 5.45 (or we can fix change it later if it takes us longer to merge).

I took a minute to think it through and came to the conclusion of 5.45 as well.

I'll update.

sharvey updated this revision to Diff 31307.Apr 4 2018, 4:34 PM
  • Add @since 5.45 to SkipSwitcher doxygen comments
sharvey marked an inline comment as done.Apr 4 2018, 4:35 PM
graesslin requested changes to this revision.Apr 4 2018, 7:42 PM
graesslin added a subscriber: graesslin.

I'm not sure whether we can add elements to the states.

autotests/netwininfotestwm.cpp
432 ↗(On Diff #31307)

This needs a KDE prefix as it's a KDE specific extension

src/netwm_def.h
502 ↗(On Diff #31307)

You cannot change enum values. Please add the new one afterwards

src/platforms/xcb/atoms_p.h
136 ↗(On Diff #31307)

Also a KDE prefix is needed

src/platforms/xcb/netwm.cpp
26 ↗(On Diff #31307)

Unrelated change

This revision now requires changes to proceed.Apr 4 2018, 7:42 PM

I'm not sure whether we can add elements to the states.

Just checked:

An implementation MAY add new atoms to this list. Implementations without extensions MUST ignore any unknown atoms, effectively removing them from the list. These extension atoms MUST NOT start with the prefix _NET.

So all is fine, but the prefix needs to change

I'm not sure whether we can add elements to the states.

An implementation MAY add new atoms to this list. Implementations without extensions MUST ignore any unknown atoms, effectively removing them from the list. These extension atoms MUST NOT start with the prefix _NET.

Thanks, Martin. That's very interesting. I'm in the process of making the changes. Does the invalid atom name mean KWin would not honor it? Or does it "just" mean it's out of compliance with a standard?

sharvey marked an inline comment as done.Apr 4 2018, 9:15 PM
sharvey added a subscriber: ngraham.
sharvey updated this revision to Diff 31330.Apr 4 2018, 9:19 PM
  • Add _KDE prefix to SkipSwitcher state; correct enum
sharvey marked 3 inline comments as done.Apr 4 2018, 9:20 PM
graesslin accepted this revision.Apr 5 2018, 4:25 AM
This revision is now accepted and ready to land.Apr 5 2018, 4:25 AM
sharvey retitled this revision from [WIP] Add "SkipSwitcher" to API to Add "SkipSwitcher" to API.Apr 5 2018, 4:27 AM

Thanks, @graesslin. I enjoyed this challenge.

I removed the [WIP] tag from the title.

Martin, @sharvey does not yet have commit access. Would you like to land this patch for him, or should I?

Martin, @sharvey does not yet have commit access. Would you like to land this patch for him, or should I?

Please push, I probably won't get to it the next two weeks.

Ok, doing it now.

This revision was automatically updated to reflect the committed changes.
sharvey added a subscriber: Plasma.Apr 19 2018, 9:44 PM
dfaure added a subscriber: dfaure.Aug 3 2018, 10:53 PM

The CI for kwindowsystem fails ever since this was committed, can somebody please take a look?

https://build.kde.org/view/Frameworks/job/Frameworks%20kwindowsystem%20kf5-qt5%20SUSEQt5.10/34/testReport/junit/(root)/TestSuite/kwindowsystem_kwindowinfox11test/

FAIL! : KWindowInfoX11Test::testState(skipSwitcher) Compared values are not the same

Loc: [/home/jenkins/workspace/Frameworks kwindowsystem kf5-qt5 SUSEQt5.10/autotests/kwindowinfox11test.cpp(230)]
Restricted Application edited subscribers, added: kde-frameworks-devel; removed: Frameworks. · View Herald TranscriptAug 3 2018, 10:53 PM
dfaure added a comment.Mar 2 2019, 1:09 PM

Ping? CI is still broken by this skipSwitcher stuff.

https://build.kde.org/job/Frameworks/view/Everything%20-%20kf5-qt5/job/kwindowsystem/job/kf5-qt5%20SUSEQt5.10/6/testReport/projectroot/autotests/kwindowsystem_kwindowinfox11test/

FAIL!  : KWindowInfoX11Test::testState(skipSwitcher) Compared values are not the same
   Actual   (int(info3.state())): 0
   Expected (int(state))        : 4096
   Loc: [/home/jenkins/workspace/Frameworks/kwindowsystem/kf5-qt5 SUSEQt5.10/autotests/kwindowinfox11test.cpp(230)]
zzag added a subscriber: zzag.Mar 4 2019, 10:16 AM

@dfaure I'll take a look into this issue.