Bug 259704 - Plasma desktop covers windows/panels after reducing number of screens in between plasma runs
Summary: Plasma desktop covers windows/panels after reducing number of screens in betw...
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: desktop (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-13 11:53 UTC by Wouter Haffmans
Modified: 2012-02-20 20:03 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
plasma-desktop conf file (11.67 KB, text/plain)
2010-12-15 10:27 UTC, Jan Kaspar
Details
plasma-desktop output with single screen attached (57.69 KB, text/plain)
2011-01-03 11:02 UTC, Wouter Haffmans
Details
plasma-desktop output with two screens attached (57.96 KB, text/plain)
2011-01-03 11:04 UTC, Wouter Haffmans
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wouter Haffmans 2010-12-13 11:53:25 UTC
Version:           unspecified (using KDE 4.5.85) 
OS:                Linux

I have an HP Elitebook laptop with nVidia Quadro graphics card, using binary nVidia drivers in OpenSuse 11.3 and Qt 4.7.1. I regularly, but not always, have an external monitor attached in Twinview mode. Screen 1, the laptop display, is the primary display at 1680x1050. The external (VGA) monitor is running at 1280x1024.

If I restart plasma after disabling the external monitor (through nvidia-settings), the plasma desktop container covers all application windows and regular panels. I can see the background and all widgets of the container that is normally on the laptop panel.

Auto-hide panels still pop-up. The space of the regular panel is still used, as plasma notifications do not appear right at the bottom of the screen, but a little bit higher (giving enough space for a panel to be there). Yakuake behaves similarly, in that it does show up, but leaves some room for the invisible panel. Windows which have the "Keep above others" setting ticked, also appear as expected.

All windows show up in the present windows effect (or Alt+tab), but switching to them will keep them hidden behind the plasma desktop. This goes for both windows which are already open when starting plasma and newly opened applications.

I have tried shutting down plasma with different active activities - checking the plasma-desktop-appletsrc showed that (based on the "geometry" of the containments) some had the laptop panel container left of the monitor's, others had them the other way around. This did not make a difference. Some of the activities I have tested with use Folder View, others use the Desktop as main container.

The only way to get things working again is:
1. kquitapp plasma-desktop
2. Re-enable the secondary monitor
3. restart plasma-desktop
4. Optionally disable the secondary monitor again, while plasma is still running.

(First enabling the secondary monitor and then restarting plasma-desktop does not solve the problem!).

Note that if plasma is running while the secondary monitor is disabled in nvidia-settings, the changes are discovered properly. However, after restarting plasma, the problem is back.

I have removed all plasma* files in $HOME/.kde4/share/config. The problem reappeared after a couple of restarts of plasma (see Steps to Reproduce). This semi-fresh configuration is attached as well as two screenshots in the tar.gz file. Note that plasmarc was not recreated.

Reproducible: Always

Steps to Reproduce:
1. Quit plasma
2. Remove ~/.kde4/share/config/plasma*
3. Enable the secondary monitor using nvidia-settings, in TwinView mode. Apply the settings. it's useful to keep nvidia-settings open, in its window menu also tick Advanced > Keep Above Others.
4. Start plasma
5. Add a new default panel, move this to the secondary monitor (not sure if this is actually necessary).
6. Quit plasma (kquitapp plasma-desktop)
7. Disable the secondary monitor in nvidia-settings, apply the settings.
8. Restart plasma.
    -> The primary display (1680x1050) now shows an activity that resembles 1280x1024, notifications appear both in the visible panel and at top. See screenshot 1 in the archive.
9. Quit and restart plasma again.
10. You should now observe the behavior as described above, see screenshot 2.

Actual Results:  
The primary screen's (screen 0) desktop container is shown (with all widgets), on top of any "Always visible" panels and windows. Auto-hide panels and "Keep above others" windows do appear on top of the container.

Expected Results:  
The desktop does not cover windows and panels.

Used both oxywin-dark and Air as desktop theme. For some reason, Oxygen is not available?
Comment 1 Jan Kaspar 2010-12-14 10:13:04 UTC
Hello,

I can confirm, I have a similar problem with Lenovo R500/Intel graphics card/ArchLinux.

The problem started around the time when KDE 4.5 was introduced.

As described in the previous posting, the only way to recover is to enable a secondary monitor (I do it with xrandr), shut plasma down (I do killall plasma-desktop), run it again (plasma-desktop). Then, I get a functional workspace on two screens, just some panels have wrong sizes. If I disable the secondary monitor, the workspace remains functional.

The problem is independent of Desktop Effects/direct rendering settings.

Cheers,

Jan.
Comment 2 Marco Martin 2010-12-14 23:10:08 UTC
uhm, an issue like that could be caused from instance by the association of view id -> containment id being lost in plasma-desktoprc
Comment 3 Jan Kaspar 2010-12-15 10:27:37 UTC
Created attachment 54568 [details]
plasma-desktop conf file
Comment 4 Jan Kaspar 2010-12-15 10:28:35 UTC
Here's my plasma-desktoprc, I hope it helps...
Comment 5 Wouter Haffmans 2010-12-18 13:22:38 UTC
Looks like the archive I mentioned in the original report never got uploaded - it's probably too big? I've put it at http://www.simply-life.net/plasma-bug-259704.tar.gz . It has two screenshots and two plasma configuration files in it.
Comment 6 Wouter Haffmans 2011-01-03 11:02:48 UTC
Created attachment 55506 [details]
plasma-desktop output with single screen attached

I have attached the output of plasma-desktop with the second screen disabled. The bug is still present with KDESC 4.6 RC1 (4.5.90). plasma-desktop --version now shows:

Qt: 4.7.1                                                                                                                                                                                 
KDE Development Platform: 4.5.90 (4.6 RC1)
Plasma Desktop Shell: 0.4

In the execution of plasma-desktop which generated the attached output, the main problem (desktop on top of windows) occurs.

I'll also attach the output of plasma-desktop with the secondary screen attached in a moment.
Comment 7 Wouter Haffmans 2011-01-03 11:04:59 UTC
Created attachment 55507 [details]
plasma-desktop output with two screens attached

As said in the previous comment, this is the output of plasma-desktop when I have two screens attached. In this execution, the plasma desktop does not cover windows, but everything appears as expected.
Comment 8 Wouter Haffmans 2011-01-03 12:27:09 UTC
I only just came across https://bugs.kde.org/show_bug.cgi?id=259183 - it looks like this report may be a duplicate of that one? I indeed do have a panel on the second screen (bottom, full width, with Kickoff, task manager and digital clock applets). The primary screen also has a bottom, full-width panel with some widgets (Kickoff, Show Desktop, Task manager, System tray, Digital Clock).

Marco (or anybody else working on Plasma): can you please confirm if this is a duplicate and mark it as such if so? Thanks.
Comment 9 Jack Gurulian 2011-03-14 22:18:00 UTC
To fix that issue just delete ~/.kde4/ folder. You will lose all your KDE settings but at least it fixes the problem. I guess there must be a more specific file/folder that will fix the problem if deleted, but since I came from a fresh install I did not bother finding it. :)
Comment 10 Evgeny Brazgin 2011-04-07 15:40:58 UTC
I have the same problem, but I don't want to delete ~/.kde/.
There must be a better solution
Comment 11 Evgeny Brazgin 2011-04-28 19:43:37 UTC
I found a temporary solution for this problem.
If you have this problem, you can right-click desktop, choose Settings, wait some time for the window to open.
Probably you won't see the window under the desktop. Press Alt-F3 (if necessary, use Alt-Tab to find the Desktop Properties window) and choose "Always on top".
Change desktop type for example from Folder View to Desktop View or use some other variant. Plasma will become ok. And no need to restart Plasma.
Comment 12 J.D. 2011-06-23 14:02:28 UTC
Check out 260360, this seems to be related.

I can confirm this bug with KDE 4.6.0. Booting the laptop computer into a single screen Xorg configuration without previously used Nvidia Twinview will cause plasma-desktop to cover all other windows. This, together with the fact that plasma apparently cannot handle a switch in number of screens without loosing or resizing/moving plasmoids, makes KDE unusable on my working laptop where I must switch between stationary (docking station with external screen) and mobile (presentations) mode.

As there seems to be so much evindence, I think this bug should really be confirmed...
Comment 13 Andreas Kohlbecker 2011-07-02 20:30:29 UTC
I can confirm this bug on a Lenovo T400.
My workaround is to:

kquitapp plasma-desktop
plasma-desktop
Comment 14 Andreas Kohlbecker 2011-07-02 20:30:45 UTC
*** This bug has been confirmed by popular vote. ***
Comment 15 Aaron J. Seigo 2011-12-02 16:06:56 UTC
Git commit e2108edef7847f0ad98008f1904c59a7651f0088 by Aaron Seigo.
Committed on 02/12/2011 at 17:00.
Pushed by aseigo into branch 'KDE/4.7'.

containmentType() .. NOT type()!

and now we know the source of the "panel covers the entire screen" bug

BUG:259704

M  +2    -2    plasma/view.cpp

http://commits.kde.org/kdelibs/e2108edef7847f0ad98008f1904c59a7651f0088
Comment 16 Aaron J. Seigo 2011-12-02 20:53:24 UTC
Git commit 20037a9bd6066c0b324003574ff998412b1917b0 by Aaron Seigo.
Committed on 02/12/2011 at 17:00.
Pushed by aseigo into branch 'frameworks'.

containmentType() .. NOT type()!

and now we know the source of the "panel covers the entire screen" bug

BUG:259704

M  +2    -2    plasma/view.cpp

http://commits.kde.org/kdelibs/20037a9bd6066c0b324003574ff998412b1917b0
Comment 17 Carsten Schlipf 2012-01-11 16:30:27 UTC
I have the same problem - but I am using KDE 4.7.3. Has this bug been re-introduced?
Comment 18 Pelladi Gabor 2012-02-20 20:03:32 UTC
This is not fixed even in 4.7.4 according to the git history. It would be fixed in 4.7.5, but it was not released. So the first released KDE with the fix is 4.8.0.