Summary: | "Switch to Screen" shortcuts are broken when using three or more monitors. | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | goo |
Component: | xinerama | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mat69 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-workspace/5bfa461ffa1357e1d3f9af5066b78604aad86898 | Version Fixed In: | 4.9.4 |
Sentry Crash Report: | |||
Attachments: | "kwin --replace" full debug output |
Description
goo
2011-01-23 08:29:46 UTC
Unfortunately I do not have that many monitors so I can't reproduce this issue. Do you have applications open on all screens? Is there a way you could try a patch that would add some debugging output? It sounds as if only 2 screens are registered, esp. because of the behaviour of the "Switch to Screen 1" shortcut. @goo: please run "kdebugdialog" and activate "1212 kwin", then run kwin from konsole: "kwin --replace &" and watch the output for the debug line containing "screens" - in doubt try to grep it ;-) Ensure there are actually 3 screens reported. I'm very very sorry for being away so much time!! Anyway, time goes on and the misbehaviour continues to be reproduceable also with 4.9.3. Yes, I have windows all over the 3 screens and here is the debug you requested so long ago: kwin(14356) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "b" fixes: 0x "60" non_native_pixmaps: true kwin(14356) KDecorationPlugins::canLoad: kwin : path "/usr/lib/kde4/kwin3_oxygen.so" for "kwin3_oxygen" kwin(14356) KWin::Workspace::updateClientArea: screens: 3 desktops: 4 kwin(14356) KWin::Workspace::updateClientArea: Done. kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 24336506 kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 41943740 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : 24336506 kwin(14356) KWin::Workspace::allowClientActivation: Activation: No client active, allowing kwin(14356) KWin::Workspace::updateClientArea: screens: 3 desktops: 4 kwin(14356) KWin::Workspace::updateClientArea: Done. kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 98087643 kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 41943758 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : 98087643 kwin(14356) KWin::Workspace::allowClientActivation: Activation: No client active, allowing kwin(14356) KWin::Workspace::updateClientArea: screens: 3 desktops: 4 kwin(14356) KWin::Workspace::updateClientArea: Done. kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 99949161 kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 41943749 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : 99949161 kwin(14356) KWin::Workspace::allowClientActivation: Activation: No client active, allowing kwin(14356) KWin::Workspace::updateClientArea: screens: 3 desktops: 4 Meanwhile I managed to find a workaround by binding "xdotool" command to custom shortcuts: Screen0 (Meta+F1): xdotool mousemove 960 540 Screen1 (Meta+F2): xdotool mousemove 720 1530 Screen2 (Meta+F3): xdotool mousemove 2445 1350 Anyway, it does not work as the original feature would have worked because the focus goes to the window that is found under the pointer and not to the last focused window of the new focused monitor. That is still annoying, though. (In reply to comment #3) > I'm very very sorry for being away so much time!! Well, pressure drives action =) > kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: > 'ID: 41943740 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : > 24336506 > kwin(14356) KWin::Workspace::allowClientActivation: Activation: No client > active, allowing > kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: > 'ID: 41943758 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : > 98087643 > kwin(14356) KWin::Workspace::allowClientActivation: Activation: No client > active, allowing > kwin(14356) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: > 'ID: 41943749 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : > 99949161 > kwin(14356) KWin::Workspace::allowClientActivation: Activation: No client > active, allowing This says: there are at least 3 plasma-desktop windows and they were activated one after another. This output corresponds to your failed approach to alter the current screen? > custom shortcuts: > Screen0 (Meta+F1): xdotool mousemove 960 540 > > Anyway, it does not work as the original feature would have worked because > the focus goes to the window that is found under the pointer errmmm... what focus policy do you use? Focus follows mouse? Quick test: does it work with "click to focus"? Created attachment 75419 [details]
"kwin --replace" full debug output
(In reply to comment #4) > This says: there are at least 3 plasma-desktop windows and they were > activated one after another. > This output corresponds to your failed approach to alter the current screen? The output corresponds to a snipset of the start of "kwin --replace &". I don't get any other significant debug output while switching screens either via standard KDE or modified shortcuts. > > > custom shortcuts: > > Screen0 (Meta+F1): xdotool mousemove 960 540 > > > > Anyway, it does not work as the original feature would have worked because > > the focus goes to the window that is found under the pointer > > errmmm... what focus policy do you use? Focus follows mouse? > Quick test: does it work with "click to focus"? Yes, indeed, I usually use "Focus follow mouse". "Focus follow mouse" and "click to focus" behave the same, letting the user to only switch between screen0 and the most recent focused screen of the other two ( =screen0 and screen1 OR screen0 and screen2). "Focus under mouse" and "focus strictly under mouse" forbid focus switching to other screens, as expected, I suppose. Obviously I'm speaking about KDE's screen switching, not the workaround I am used to. =) I checked the sources *closely* and found the reason. The bug is there ever since the feature was introduced. Consider it fixed in 4.10, 4.9.4 if i switch back to the 4.9 branch interim ;-) (In reply to comment #7) > =) > I checked the sources *closely* and found the reason. > The bug is there ever since the feature was introduced. > > Consider it fixed in 4.10, 4.9.4 if i switch back to the 4.9 branch interim > ;-) These are really good news :-) Git commit 217895fb13cf7498841a288a777f575cdd249efc by Thomas Lübking. Committed on 23/11/2012 at 02:15. Pushed by luebking into branch 'master'. fix screen switching for more than two screens FIXED-IN: 4.10 M +4 -4 kwin/activation.cpp http://commits.kde.org/kde-workspace/217895fb13cf7498841a288a777f575cdd249efc Git commit 5bfa461ffa1357e1d3f9af5066b78604aad86898 by Thomas Lübking. Committed on 23/11/2012 at 02:15. Pushed by luebking into branch 'KDE/4.9'. fix screen switching for more than two screens FIXED-IN: 4.9.4 (cherry picked from commit 217895fb13cf7498841a288a777f575cdd249efc) M +4 -4 kwin/activation.cpp http://commits.kde.org/kde-workspace/5bfa461ffa1357e1d3f9af5066b78604aad86898 |