Review Request 120584: Don't position the panel until it's about to be displayed

Aleix Pol Gonzalez aleixpol at kde.org
Wed Oct 15 13:54:14 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120584/
-----------------------------------------------------------

(Updated Oct. 15, 2014, 1:54 p.m.)


Review request for Plasma.


Changes
-------

I took another go at the problem because I realized that this patch only fixed the issue if I had the panel laid out horizontally.
Reasoning:Consider 2 screens laid out horizontally, we want to have the panel at the right screen, vertically at the right. (1280x800 and 1920x1080)
The problem is probably on KWin (or somewhere outside plasma anyway) because we would put the panel at 0x0, then set the window to the geometry and screen. What QtXcb was receiving was:

0: QRect(0,0 12x12)
1: QRect(3146,0 53x1080) << which is taking the wrong window width
2: QRect(1226,0 53x1080)

0 is the initial window size, 1 happened when reparenting the containment into the panel. Then given that 1 wasn't considered to be on any screen (note that 3146-1920-1280=-54, and we needed 53), then the window was moved to the primaryScreen. Because Qt knows best <3.
Now this patch makes sure we're initializing the window in the correct place, so that Qt needs to do less magic, by positioning the panel before reparenting the containment QQuickItem into the panel, which is when things started to move around.

Also I saw that we were initializing the position considering the 12x12 instead of the panel thickness, which was causing also this window kicking. Use the proper size.


Bugs: 339672
    https://bugs.kde.org/show_bug.cgi?id=339672


Repository: plasma-workspace


Description
-------

I was getting the Panels wrongly positioned because Qt would reset the position at some point while initializing the class. This patch disables any position while the panel is not shown and makes sure it's placed when it's set to be shown.


Diffs (updated)
-----

  shell/panelview.cpp 9260c18 
  shell/shellcorona.cpp ba66d46 

Diff: https://git.reviewboard.kde.org/r/120584/diff/


Testing
-------

Both my installations initialize properly now.


Thanks,

Aleix Pol Gonzalez

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20141015/5c9ee103/attachment-0001.html>


More information about the Plasma-devel mailing list