https://bugs.kde.org/show_bug.cgi?id=353975
--- Comment #195 from Trent M <twilightinz...@gmail.com> ---
Hi there. I actually have managed to fix my version of the issue, and even
though it is different from what the rest of you are experiencing, what I
discovered may provide a hint for fixing it, so I thought I would stop by and
share my findings in hope that they will be helpful, at least for the Xorg
case.

I had an idea that maybe the window that represents the Plasma desktop had
somehow managed to get itself stuck on a specific workspace, and in order to
confirm my findings, I used `xwininfo` instead of `xprop` on the black screen
and received this output:

```
xwininfo: Window id: 0x979 (the root window) (has no name)

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1920
  Height: 2160
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1920x2160+0+0
```

That black screen is actually the root window! Plasma's desktop has a different
output:

```
xwininfo: Window id: 0x2400013 "Desktop — Plasma"

  Absolute upper-left X:  0
  Absolute upper-left Y:  1080
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1920
  Height: 1080
  Depth: 32
  Visual: 0x28a
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x2400012 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+1080  -0+1080  -0-0  +0-0
  -geometry 1920x1080+0-0
```

And then, I decided to run `xprop` again, but this time, on the desktop.

```
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP
_NET_WM_DESKTOP(CARDINAL) = 1
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_USER_TIME(CARDINAL) = 43952
_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 44930
_NET_WM_STATE(ATOM) = _NET_WM_STATE_BELOW
_KDE_NET_WM_DESKTOP_FILE(UTF8_STRING) = "org.kde.plasmashell"
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) = "Desktop"
_NET_WM_NAME(UTF8_STRING) = "Desktop — Plasma"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x1, 0x0, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DESKTOP
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x2400015
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                window id # of group leader: 0x2400015
WM_CLIENT_MACHINE(STRING) = "Stealth"
_NET_WM_PID(CARDINAL) = 2116
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 37748756
WM_CLASS(STRING) = "plasmashell", "plasmashell"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING,
_NET_WM_SYNC_REQUEST
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified location: 0, 1080
                user specified size: 1920 by 1080
                window gravity: Static
```

The second line is the one most of interest: the desktop is assigned to a
specific virtual desktop. That's not supposed to happen! I created a KWin rule
that takes windows of class plasmashell and type desktop, and forces them to be
visible on all desktops. That caused my version of this issue to be resolved!

So what I can state with almost certainty is that the black window that people
can't interact with is the root window. The desktop is supposed to cover up
that window while being beneath everything else, and for some reason, that is
not happening. It is possible that the state of the window representing the
Plasma desktop is being mangled in such a way that the window manager is
representing it correctly according to its internal state, but incorrectly
according to user expectations.

I have a multi monitor setup as well. The desktop is represented by a different
window on each monitor; `xwininfo` shows different ids for clicking the desktop
on each one. And `wmctrl` actually shows the same thing, as shown here. I threw
in the G switch in order to get the geometry information; both position and
size.

```
❯ wmctrl -lG
0x04a0000c  0 40   1080 1880 1080 Stealth 353975 – Black screen on second
display (no wallpaper, can't get a context menu on right-click) — Mozilla
Firefox
0x05a00003 -1 0    0    1920 1080 Stealth Spotify
0x03400014  0 40   1080 1880 1080 Stealth Inbox (30 unread) — Evolution
0x07e00003 -1 0    0    1920 1080 Stealth Ferdium - Discord - Discord
0x06a00002  0 40   1080 1880 1080 Stealth Joplin
0x04200013 -1 0    1080 1920 1080 Stealth Desktop — Plasma
0x04200019 -1 0    0    1920 1080 Stealth Desktop — Plasma
0x04200035 -1 0    1080 40   1080 Stealth Plasma
0x09600013  1 842  1117 1078 1043 Stealth black-screen-xwininfo.txt - CudaText
0x09800007  1 40   1117 802  506  Stealth hOI!!! im termmie!!! — Konsole
```

So I think everyone experiencing this issue on Xorg will be able to provide
more information by using `wmctrl -lG`. What I suspect might be happening, for
those experiencing this on a second monitor rather than my weird case, is that
the desktop windows are getting placed in the same location somehow. But only
one of you will be able to confirm that. And if that's the case, hopefully
that's a clue to fixing this bug.

I hope this comment proves helpful. :)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to