Bug 286013 - Windows can not be maximized after disconnecting display
Summary: Windows can not be maximized after disconnecting display
Status: RESOLVED DUPLICATE of bug 281185
Alias: None
Product: plasma4
Classification: Plasma
Component: containment-panel (show other bugs)
Version: 4.7.3
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-07 15:47 UTC by StEndres
Modified: 2012-06-02 22:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot after deactivating the second display (136.64 KB, image/jpeg)
2011-11-07 15:47 UTC, StEndres
Details
Can't move windows below a second line (105.34 KB, image/jpeg)
2011-11-08 17:52 UTC, StEndres
Details

Note You need to log in before you can comment on or make changes to this bug.
Description StEndres 2011-11-07 15:47:14 UTC
Created attachment 65349 [details]
Screenshot after deactivating the second display

Version:           4.7.3 (using KDE 4.7.3) 
OS:                Linux

I'm using a second display with my netbook. Deactivating or disconnecting this display results in a "virtual line" at half of the heigh. 
In the attachment you can see that even the menu is moved to this line.

I'm using OpenSuse 11.4 on a Samsung NC10 Plus

linux netbook.fritz.box 3.1.0-1.1-desktop #1 SMP PREEMPT Tue Oct 25 17:33:27 UTC 2011 (68289aa) x86_64 x86_64 x86_64 GNU/Linux

1. display: 1024*600 
2. display: 1440*900


Reproducible: Always

Steps to Reproduce:
Connect and disconnect a display by using "display setting"


Expected Results:  
I'd like to be able to maximize my windows again!

netbook:/home/stefan # hwinfo --display                                                                                                                                                                    
09: PCI 02.0: 0300 VGA compatible controller (VGA)                                                                                                                                                         
  [Created at pci.319]                                                                                                                                                                                     
  Unique ID: _Znp.Hyw3bkX4fI5                                                                                                                                                                              
  SysFS ID: /devices/pci0000:00/0000:00:02.0                                                                                                                                                               
  SysFS BusID: 0000:00:02.0                                                                                                                                                                                
  Hardware Class: graphics card                                                                                                                                                                            
  Model: "Intel Pineview Integrated Graphics Controller"                                                                                                                                                   
  Vendor: pci 0x8086 "Intel Corporation"                                                                                                                                                                   
  Device: pci 0xa011 "Pineview Integrated Graphics Controller"                                                                                                                                             
  SubVendor: pci 0x144d "Samsung Electronics Co Ltd"                                                                                                                                                       
  SubDevice: pci 0xc072                                                                                                                                                                                    
  Driver: "i915"                                                                                                                                                                                           
  Driver Modules: "drm"                                                                                                                                                                                    
  Memory Range: 0xf0300000-0xf037ffff (rw,non-prefetchable)                                                                                                                                                
  I/O Ports: 0x18d0-0x18d7 (rw)                                                                                                                                                                            
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)                                                                                                                                                
  Memory Range: 0xf0000000-0xf00fffff (rw,non-prefetchable)                                                                                                                                                
  IRQ: 45 (29851 events)                                                                                                                                                                                   
  I/O Ports: 0x3c0-0x3df (rw)                                                                                                                                                                              
  Module Alias: "pci:v00008086d0000A011sv0000144Dsd0000C072bc03sc00i00"                                                                                                                                    
  Driver Info #0:                                                                                                                                                                                          
    Driver Status: i915 is active                                                                                                                                                                          
    Driver Activation Cmd: "modprobe i915"                                                                                                                                                                 
  Config Status: cfg=new, avail=yes, need=no, active=unknown                                                                                                                                               
                                                                                                                                                                                                           
10: PCI 02.1: 0380 Display controller                                                                                                                                                                      
  [Created at pci.319]                                                                                                                                                                                     
  Unique ID: ruGf.oOIiUaqkwvA                                                                                                                                                                              
  SysFS ID: /devices/pci0000:00/0000:00:02.1                                                                                                                                                               
  SysFS BusID: 0000:00:02.1                                                                                                                                                                                
  Hardware Class: graphics card                                                                                                                                                                            
  Model: "Intel Pineview Integrated Graphics Controller"                                                                                                                                                   
  Vendor: pci 0x8086 "Intel Corporation"                                                                                                                                                                   
  Device: pci 0xa012 "Pineview Integrated Graphics Controller"                                                                                                                                             
  SubVendor: pci 0x144d "Samsung Electronics Co Ltd"                                                                                                                                                       
  SubDevice: pci 0xc072                                                                                                                                                                                    
  Memory Range: 0xf0380000-0xf03fffff (rw,non-prefetchable)                                                                                                                                                
  Module Alias: "pci:v00008086d0000A012sv0000144Dsd0000C072bc03sc80i00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Primary display adapter: #9
Comment 1 Thomas Lübking 2011-11-07 19:07:35 UTC
Please open konsole and run "kquitapp plasma-desktop" (this is gonna remove the desktop)
-> does maximizing work again?

Restart "plasma-desktop", still everything fine?

Make the panel autohiding or allow windows to go above, can you retrigger the issue?
Comment 2 StEndres 2011-11-08 06:17:24 UTC
(In reply to comment #1)
> Please open konsole and run "kquitapp plasma-desktop" (this is gonna remove the
> desktop)
> -> does maximizing work again?

Quiting plasma helps 
 
> Restart "plasma-desktop", still everything fine?

Still works fine. Could be an option, but is not a "must have" feature

> Make the panel autohiding or allow windows to go above, can you retrigger the
> issue?


Using autohiding or allowing windows to go above or even if windows are allowed to hide behind the panel, fixs surprisingly the issue, too. 

Ok, I have now several possibilities to avoid my problem. But it would be nice, if I could use my desktop in the old fashioned way ;-)
Comment 3 Thomas Lübking 2011-11-08 09:20:02 UTC
Please run konsole, trigger the issues, run "xprop | grep -iA5 strut" and click the panel when the pointer turns a cross.
Post the printout. Thanks.
Comment 4 StEndres 2011-11-08 17:18:31 UTC
xprop | grep -iA5 strut
_NET_WM_STRUT(CARDINAL) = 0, 0, 0, 324
_NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 1023
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 0, 0, 0, 0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
_NET_WM_STATE(ATOM) = 
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 41944127



_KDE_OXYGEN_BACKGROUND_PIXMAP(CARDINAL) = 0
_KDE_OXYGEN_BACKGROUND_GRADIENT(CARDINAL) = 1
Comment 5 Thomas Lübking 2011-11-08 17:40:15 UTC
The panel "forgot" to update it's struts or missed the desktop resize altogether (but it does itself resize correctly, does it?)
Comment 6 StEndres 2011-11-08 17:48:49 UTC
I hope I got your message right:

Yes, the panel is the only window which is resized and moved to the right position. The above output is the same, if every thing works fine. 

I realized that I even can't move any window below a second "virtual" line which lies about 50px lower than the first mentioned line. 

I don't know what you mean with "struts". But if you need more testing just tell it.
Comment 7 StEndres 2011-11-08 17:52:25 UTC
Created attachment 65404 [details]
Can't move windows below a second line
Comment 8 StEndres 2011-11-08 17:56:41 UTC
I' added an attachement to detail my description in #6

Both terminals can't be moved further to bottom. This is independent of the window height
Comment 9 Thomas Lübking 2011-11-08 20:06:30 UTC
That's fine. If there really was a panel, and one could move the titlebar below it, one would require some nerd knowledge to get it back.

This however makes me wander if there actually _is_ a panel (but fully transparent, megashadow or whatever)

can you please call "xprop | grep -iA3 size" and then
a) click the visible panel
b) click the region between the visible panel and the maximization area?

Thank you for testing and providing all this information.
Comment 10 StEndres 2011-11-08 20:30:20 UTC
netbook:/home/stefan # xprop | grep -iA3 size
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified size: 1024 by 24
                program specified size: 1024 by 24
                window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "netbook.fritz.box"
WM_COMMAND(STRING) = { "/usr/bin/plasma-desktop" }
netbook:/home/stefan # xprop | grep -iA3 size
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified location: 0, 0
                program specified location: 0, 0
                user specified size: 1024 by 600
                program specified size: 1024 by 600
                window gravity: Static
WM_CLIENT_MACHINE(STRING) = "netbook.fritz.box"
WM_COMMAND(STRING) = { "/usr/bin/plasma-desktop" }

Right now, I clicked on the yellow "bean" for configuring my panel. A grey bar poped up, where you can change the width of the panel. But not next to the panel, but rather at the top of the screen. Then I draged the panel to another edge of the screen and back again. After that everything was fine again. You seem to be on the right way.
Comment 11 Myriam Schweingruber 2012-06-02 10:16:20 UTC
Thomas: is this still valid?
Comment 12 Thomas Lübking 2012-06-02 11:56:38 UTC
(In reply to comment #11)
> Thomas: is this still valid?
I didn't observe the issue.

The problem here is that the panel keeps saying "please dear WM, keep windows 324px away from the bottom of the desktop/screen", ie. this line:
_NET_WM_STRUT(CARDINAL) = 0, 0, 0, 324
should read
_NET_WM_STRUT(CARDINAL) = 0, 0, 0, 24
(the panel is 24px high and the gap is precisely the difference between the former and actual screen height)

My guess is that the panel sets the strut from it's global y coordinate while being at the "wrong" position and fixes it's position afterwards (but not the strut), ie.
- screen size changes
-> panel is moved to 0,600-24
-> panel updates struts but thinks 600-24 is 324px away from the bottom (ie. at this point calculates with a screen height of 900px)

The correct width in the partial strut line is auto-generated from the KWindowSystem function, so i am pretty sure that only the panel has and uses an outdated screen geometry.

What causes or caused this, i however don't know.

The secondary issue from comment #7 is none. It's just not permitted to move the titlebar into the strut area (but when using alt+lmb, ie. free move/resize oc.) to protect "simple" users from shooting themselves .
Comment 13 Thomas Lübking 2012-06-02 11:58:43 UTC
ps: it's *very* likely bug #281185, resp. #190371
Comment 14 Myriam Schweingruber 2012-06-02 22:13:48 UTC

*** This bug has been marked as a duplicate of bug 281185 ***