[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: Review Request 127631: [ksmserver] We must be sure that kwin process is ended
From:       Thomas_Lübking <thomas.luebking () gmail ! com>
Date:       2016-04-15 16:39:13
Message-ID: 20160415163913.26068.46680 () mimi ! kde ! org
[Download RAW message or body]

--===============2583704461426026755==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit



> On April 11, 2016, 5:45 vorm., Martin Gräßlin wrote:
> > > otherwise kwindowsystem::self() is nullptr
> > 
> > how can KWindowSystem::self() be null? And why should that have anything to do \
> > with KWin? KWindowSystem does not depend on a window manager running.
> 
> Thomas Lübking wrote:
> The entire thing sounds as if the problem would be that the session restorage in \
> kwin overrides the placement for restored windows (with the restored position) 
> That's however not a bug (at least it's intended) and I've no idea why that's \
> relevant to the weird geometry handling of SNI items (which looks *faaaar* too \
> complex - the position of remapped windows is usually maintained by QWidget ...) 
> Anthony Fieroni wrote:
> I saw the code, it looks like KWindowSystem not depend on Kwin, but Kwin *must* be \
> started *before* use of kwindowsystem. Thomas may right, because setGeometry even \
> not work on sessions restored app. When session was finish if start apps with kmail \
> --session session-id everything wors fine. 
> Anthony Fieroni wrote:
> Now, after Thomas comment, i even think only widget->show() must works because \
> widget has internal frameGeometry and position. 
> Martin Gräßlin wrote:
> > but Kwin must be started before use of kwindowsystem
> 
> no, really there is no reason for that. KWindowSystem doesn't depend on a window \
> manager running. 
> Anthony Fieroni wrote:
> Then, correct KWin to kwindowsystem to start working. If there is no bug this will \
> works on all cases -> https://git.reviewboard.kde.org/r/127216/ but it's not. 
> Martin Gräßlin wrote:
> I don't know why you have problems, but it's impossible that KWindowSystem::self() \
> returns a nullptr. You can check the code to verify. Something is really broken on \
> your side, but I don't know what. Maybe missing plugins installed? 
> Thomas Lübking wrote:
> it's not a hard dependecy on the instace, the sni geometry handling is just plain \
> broken. the workaround operates on configure events on the mapped window which will \
> go nowhere if there's no running wm. 
> the client needs to handle the no-wm case, ie. configure the window correctly, but \
> to repeat myself: such requirement implies that either sni or qwidget/qwindow is \
> completely fucked up. 
> qwindow/qwidget::setGeometry should justwork(tm)
> 
> Anthony Fieroni wrote:
> setGeometry *not* works, i can confirm since i'm test it. Nothing works if Kwin is \
> started *after* usage of kwindowsystem::self(). Martin yeah nullprt is impossible.
> 
> Martin Gräßlin wrote:
> then this is a bug in Qt's xcb plugin and needs to be fixed there. Setting a \
> geometry without a window manager must be possible. 
> Anthony Fieroni wrote:
> Wait a little, the bug is not in xcb. I'm not clear or what. This *happend* only on \
> session restored apps, when kwindowsystem::self() is before kwin statup, only in \
> this case. If run a app after kwin is started *all* works fine setGeometry(), \
> move() - no problems. 
> Anthony Fieroni wrote:
> Thomas Lübking wrote:
> The entire thing sounds as if the problem would be that the session restorage in \
> kwin overrides the placement for restored windows (with the restored position) 
> For me, this is best explanation. Adn give you the easiest, no pain, working \
> solution - wait kwin to start completely. 
> Martin Gräßlin wrote:
> > Adn give you the easiest, no pain, working solution - wait kwin to start \
> > completely.
> 
> I disagree. Working around such problems in the session startup seems wrong. I \
> would say excluse the sni windows from session restore, which can be done from Qt \
> API. 
> Thomas Lübking wrote:
> Can we please get few things straight?
> 
> You say that ::setGeometry doesn't work, but \
> https://git.reviewboard.kde.org/r/127216/diff/5#index_header makes use of it (uses \
> the propsed internally saved position and restores it with QWidget::move what's \
> basically a ::setGeometry special case) 
> => Does this work (leaving aside session restorage), yes or no?
> 
> Assuming it *does* work (except for session restorage) the claims to require a WM \
> for operative KWindowSystem invocation are gladfully, since you're not using \
> KWindowSystem at all. 
> 
> 
> Now onto session restorage:
> ---------------------------
> What exactly is the problem here?
> a) the windows are *not* visible when the session restarts. Showing them show them \
> in wrong position b) the windows *are* visible when the session restarts, but in \
> wrong position? 
> In either case, the session restored geometry and the SNI internal geometry should \
> *not* differ. 
> If they do there're two possible problems:
> 1. The window gets stored with the session, but the stored position is wrong (check \
> the kwin session file in ~/.config/session on whether it contains such window and \
> what position is saved) 2. The window does not get saved with the session and picks \
> its new position in a different way 
> (2) has alternative failure points:
> a) the window isn't positioned at all
> b) the window gets a QWidget::move call from the SNI code, but that's ineffective \
> (ie. QWidget::move fails if there's no WM) 
> 
> 
> I agree with Martin that waiting for the WM is ridiculous and only stashes the \
> actual bug. Either the wrong geometry is stored (and thus falsely restored) => we \
> need to fix that Or QWidget::move requires a running WM, what's simply a bug in Qt \
> and *must* be fixed there, despite I severely doubt it will, even if you bang them \
> with tons of patches... 
> 
> 
> Last hint:
> ----------
> if the affected SNI window(s) are modal (open a nested eventloop) the problems may \
> be an outflow of https://bugreports.qt.io/browse/QTBUG-40584 (the patch likely \
> won't apply anymore and there's obviously no interest in fixing Qt/Desktop, so cc.: \
> please get used to use fullscreen QML apps and forget about things like "windows") 
> Martin Gräßlin wrote:
> To answer what Qt does:
> const quint32 mask = XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | \
> XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT; const qint32 values[] = {
> qBound<qint32>(-XCOORD_MAX, wmGeometry.x(),      XCOORD_MAX),
> qBound<qint32>(-XCOORD_MAX, wmGeometry.y(),      XCOORD_MAX),
> qBound<qint32>(1,           wmGeometry.width(),  XCOORD_MAX),
> qBound<qint32>(1,           wmGeometry.height(), XCOORD_MAX),
> };
> Q_XCB_CALL(xcb_configure_window(xcb_connection(), m_window, mask, \
> reinterpret_cast<const quint32*>(values))); 
> That code looks correct to me and even if or if not a WM is running should not \
> matter. 
> Anthony Fieroni wrote:
> T: "=> Does this work (leaving aside session restorage), yes or no?"
> A: setGeometry *NOT* work
> T: "What exactly is the problem here?"
> A: a) the windows are not visible when the session restarts. Showing them show them \
> in wrong position Position is depend on "placement" -> \
> https://i.imgur.com/tzwJ1Lk.png "2. The window does not get saved with the session \
> and picks its new position in a different way" First show() always depend on \
> "placement" i.e. if widget was shown when leave session it will shown on right \
> place, if was hidden first show depend on "placement". But if Kwin is not started \
> *always* depend on "placement" "b) the window gets a QWidget::move call from the \
> SNI code, but that's ineffective (ie. QWidget::move fails if there's no WM)" 
> Thomas Lübking wrote:
> > A: setGeometry NOT work
> 
> In total? Ie. the other patch is *completely* dysfunctional?
> 
> Anthony Fieroni wrote:
> What you mean "in total"? setGeometry() and move() works when app is started \
> *after* kwin and not before it. I.e. i can't write in more clear words, my english \
> is till here, Kwin is stared before apps:
> 1. setGeometry(), move() always works
> Kwin not stated before apps:
> 1. setGeometry(), move() if new values are same as internal widget => placement
> 2. setGeometry(), move() differs internal widgets => works i.e. \
> move(geometry().topLeft()) causing the bug. 
> Anthony Fieroni wrote:
> I mean
> i.e. move(frameGeometry().topLeft()) causing the bug.
> move(geometry().topLeft()) => placement
> 
> Thomas Lübking wrote:
> > move() works when app is started after kwin and not before it
> 
> Means that the no-WM path in QWidget/QWindow doesn't set USPosition/PPosition
> Is or is related to QTBUG-40584.
> 
> You can check that by running xprop on such (placed) window, it should have some
> 
> user specified location: <x> <y>
> or
> program specified location: <x> <y>
> 
> If not, then the window doesn't signal the WM that it was explicitly positioned \
> (and will be placed on map requests) 
> Andreas Hartmetz wrote:
> Possibly the whole thing is moot. Due to a new bug in Qt 5.6 which has been \
> recently fixed (b77ef8a7e6e4104067d52824e29eadc8c66f5929 / "QtDBus: clean up signal \
> hooks and object tree in closeConnection"), applications got stuck when they were \
> supposed to terminate. This made session exit act strangely, essentially some \
> applications didn't shut down cleanly and were forcibly killed tens of seconds \
> later. ksmserver stuck around, too, waiting for them. I haven't done a real or \
> mental trace through ksmserver but such a situation *can* mess with session saving. \
>  Anthony Fieroni wrote:
> Andreas, i notice it, but this stays before Qt 5.5, it's works correct on Qt 5.4 or \
> 5.3 i can't remember when exactly was broken. Thomas, if you mean this -> \
> https://git.reviewboard.kde.org/r/120078/ i can test it without this patch, but bug \
> is removed, i don't know it's fixed :) 
> Thomas Lübking wrote:
> That patch only works around a bug in Qt (for KXMLGui windows, everything is still \
> affected) That bug *might* be related to your problems with positioning - reverting \
> the patch rather won't help you here. 
> What you want to know is whether the windows that fail to reposition during session \
> start have those WM_SIZE_HINTS set. For if not, it's no wonder that the WM \
> positions them and QWidget::move is simply broken for unmanaged \
> non-override-redirects. 
> Anthony Fieroni wrote:
> Can i set WM_SIZE_HINTS explicit?
> 
> Thomas Lübking wrote:
> Not w/o operating on X11 code, but one could try to cheat Qt into doing it likewise \
> (since i frankly doubt, there's any upstream interest in fixing deprecated things \
> like desktop functionality - rather on the contrary) 
> Ftr: they're not set?
> 
> Anthony Fieroni wrote:
> How can i test it, easy, i don't get it.
> 
> Martin Gräßlin wrote:
> xprop the window - it will have a section like
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> program specified minimum size: 300 by 166
> program specified maximum size: 32767 by 32767
> window gravity: NorthWest
> 
> Anthony Fieroni wrote:
> [toni@toni-sony ~]$ xprop 
> _KDE_NET_WM_FRAME_STRUT(CARDINAL) = 2, 2, 24, 4
> _NET_FRAME_EXTENTS(CARDINAL) = 2, 2, 24, 4
> _NET_WM_DESKTOP(CARDINAL) = 0
> WM_STATE(WM_STATE):
> window state: Normal
> icon window: 0x0
> _NET_WM_STATE(ATOM) = 
> _NET_WM_ICON_GEOMETRY(CARDINAL) = 502, 736, 256, 30
> _NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, \
> _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, \
> _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, \
> _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE _KDE_NET_WM_ACTIVITIES(STRING) \
> = "153b4652-e23a-44c6-baf7-e7a0d812498a" _NET_WM_USER_TIME(CARDINAL) = 372774774
> _NET_WM_ICON_NAME(UTF8_STRING) = 
> XdndAware(ATOM) = BITMAP
> WM_NAME(STRING) = 
> _NET_WM_NAME(UTF8_STRING) = "Akregator"
> _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
> _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
> _XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
> WM_CLIENT_LEADER(WINDOW): window id # 0x5000006
> WM_HINTS(WM_HINTS):
> Client accepts input or input focus: True
> Initial state is Normal State.
> _NET_WM_PID(CARDINAL) = 3834
> _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 83886085
> WM_CLASS(STRING) = "akregator", "akregator"
> 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 size: 980 by 602
> program specified minimum size: 325 by 237
> window gravity: Static
> 
> Thomas Lübking wrote:
> As predicted the client does not request some position, thus is necessarily subject \
> to positioning. QWidget/QWindow bug for sure. No idea whether one can cheat QWidget \
> into setting the flag or how many years it will take to convince them that this is \
> important :-( 
> Anthony Fieroni wrote:
> It must contribute to Qt to fix this issue, i'm not right person to do it.
> So since this patch is unwanted i will discart reviview
> 
> Andreas Hartmetz wrote:
> If there is no or little regression potential, I don't think it will be hard to \
> convince Qt maintainers to merge a simple patch. 
> Thomas Lübking wrote:
> LOL
> 
> Andreas Hartmetz wrote:
> I have landed a few patches in Qt and, that is quite important, I don't know of any \
> particularly "difficult" maintainers for the XCB QPA.

Good for you. I've completely given up on Qt.
I though doubt it's the xcb qpa, but rather QWidget (see \
https://bugreports.qt.io/browse/QTBUG-40584 - it's pretty much  the same category, \
just that that bug prevented and prevents KDE file dialogs from restoring their size, \
this afaik still lives on the workaround) and QWidget is "done", ie. "dead".


- Thomas


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


On April 15, 2016, 4:33 nachm., Anthony Fieroni wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127631/
> -----------------------------------------------------------
> 
> (Updated April 15, 2016, 4:33 nachm.)
> 
> 
> Review request for kwin, Plasma, David Edmundson, Martin Gräßlin, and Thomas \
> Lübking. 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> We must proceed with autoStart0 when kwin process is ended otherwise \
> kwindowsystem::self() is nullptr. Every restored session app cannot use \
> kwindowsystem. This depends of cpu speed, it can be faster enough to start wm \
> before ksmserver restore apps and kwindowsystem will be usable. 
> 
> Diffs
> -----
> 
> ksmserver/startup.cpp f118b55 
> 
> Diff: https://git.reviewboard.kde.org/r/127631/diff/
> 
> 
> Testing
> -------
> 
> It's needed to fix this bug -> https://git.reviewboard.kde.org/r/127216/
> I don't know how to proceed if kwin fails to start in every way, can we process - i \
> think not? 
> 
> Thanks,
> 
> Anthony Fieroni
> 
> 


--===============2583704461426026755==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit




<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 \
solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">  \
<tr>  <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/127631/">https://git.reviewboard.kde.org/r/127631/</a>
  </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <p style="margin-top: 0;">On April 11th, 2016, 5:45 vorm. UTC, <b>Martin \
Gräßlin</b> wrote:</p>  <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">  <pre style="white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 \
1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: \
inherit;"> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">otherwise kwindowsystem::self() is nullptr</p> \
</blockquote> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">how can KWindowSystem::self() be null? And why should \
that have anything to do with KWin? KWindowSystem does not depend on a window manager \
running.</p></pre>  </blockquote>




 <p>On April 11th, 2016, 6:24 vorm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The \
entire thing sounds as if the problem would be that the session restorage in kwin \
overrides the placement for restored windows (with the restored position)</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">That's however not a bug (at least it's intended) and I've no idea why \
that's relevant to the weird geometry handling of SNI items (which looks <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">faaaar</em> too complex - the position of remapped windows is usually \
maintained by QWidget ...)</p></pre>  </blockquote>





 <p>On April 11th, 2016, 6:53 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I saw \
the code, it looks like KWindowSystem not depend on Kwin, but Kwin <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">must</em> be started <em style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: normal;">before</em> use of kwindowsystem. Thomas \
may right, because setGeometry even not work on sessions restored app. When session \
was finish if start apps with kmail --session session-id everything wors \
fine.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 7:08 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now, \
after Thomas comment, i even think only widget-&gt;show() must works because widget \
has internal frameGeometry and position.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 8:38 vorm. UTC, <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote \
style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid \
#bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">but Kwin must be started before use of kwindowsystem</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">no, really there is no reason for that. KWindowSystem \
doesn't depend on a window manager running.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 8:54 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Then, \
correct KWin to kwindowsystem to start working. If there is no bug this will works on \
all cases -&gt; https://git.reviewboard.kde.org/r/127216/ but it's not.</p></pre>  \
</blockquote>





 <p>On April 11th, 2016, 9:01 vorm. UTC, <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I \
don't know why you have problems, but it's impossible that KWindowSystem::self() \
returns a nullptr. You can check the code to verify. Something is really broken on \
your side, but I don't know what. Maybe missing plugins installed?</p></pre>  \
</blockquote>





 <p>On April 11th, 2016, 9:15 vorm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">it's \
not a hard dependecy on the instace, the sni geometry handling is just plain broken. \
the workaround operates on configure events on the mapped window which will go \
nowhere if there's no running wm.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">the client needs to \
handle the no-wm case, ie. configure the window correctly, but to repeat myself: such \
requirement implies that either sni or qwidget/qwindow is completely fucked up.</p> \
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">qwindow/qwidget::setGeometry should \
justwork(tm)</p></pre>  </blockquote>





 <p>On April 11th, 2016, 9:51 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">setGeometry <em style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: normal;">not</em> works, i can confirm since i'm \
test it. Nothing works if Kwin is started <em style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;">after</em> usage of \
kwindowsystem::self(). Martin yeah nullprt is impossible.</p></pre>
 </blockquote>





 <p>On April 11th, 2016, 9:55 vorm. UTC, <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">then \
this is a bug in Qt's xcb plugin and needs to be fixed there. Setting a geometry \
without a window manager must be possible.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 10:29 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Wait \
a little, the bug is not in xcb. I'm not clear or what. This <em style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">happend</em> only on session restored apps, when kwindowsystem::self() is \
before kwin statup, only in this case. If run a app after kwin is started <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">all</em> works fine setGeometry(), move() - no problems.</p></pre>  \
</blockquote>





 <p>On April 11th, 2016, 10:37 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Thomas Lübking wrote:  The entire thing sounds as if the problem would be \
that the session restorage in kwin overrides the placement for restored windows (with \
the restored position)</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">For me, this is best explanation. Adn \
give you the easiest, no pain, working solution - wait kwin to start \
completely.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 10:45 vorm. UTC, <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote \
style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid \
#bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Adn give you the easiest, no pain, working solution - wait kwin to start \
completely.</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">I disagree. Working around such problems in the \
session startup seems wrong. I would say excluse the sni windows from session \
restore, which can be done from Qt API.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 3:19 nachm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Can \
we please get few things straight?</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">You say that \
::setGeometry doesn't work, but \
https://git.reviewboard.kde.org/r/127216/diff/5#index_header makes use of it (uses \
the propsed internally saved position and restores it with QWidget::move what's \
basically a ::setGeometry special case)</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" \
style="background: #f8f8f8"><pre style="line-height: 125%">=&gt; Does this work \
(leaving aside session restorage), yes or no? </pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Assuming it <em style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;">does</em> work (except \
for session restorage) the claims to require a WM for operative KWindowSystem \
invocation are gladfully, since you're not using KWindowSystem at all.</p> <h2 \
style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: \
0;line-height: inherit;">Now onto session restorage:</h2> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What \
exactly is the problem here? a) the windows are <em style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;">not</em> visible when \
the session restarts. Showing them show them in wrong position b) the windows <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">are</em> visible when the session restarts, but in wrong position?</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">In either case, the session restored geometry and the SNI internal geometry \
should <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: normal;">not</em> differ.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If \
they do there're two possible problems: 1. The window gets stored with the session, \
but the stored position is wrong (check the kwin session file in ~/.config/session on \
whether it contains such window and what position is saved) 2. The window does not \
get saved with the session and picks its new position in a different way</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">(2) has alternative failure points: a) the window isn't positioned at all
b) the window gets a QWidget::move call from the SNI code, but that's ineffective \
(ie. QWidget::move fails if there's no WM)</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">I agree with Martin \
that waiting for the WM is ridiculous and only stashes the actual bug. Either the \
wrong geometry is stored (and thus falsely restored) =&gt; we need to fix that Or \
QWidget::move requires a running WM, what's simply a bug in Qt and <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">must</em> be fixed there, despite I severely doubt it will, even if you bang \
them with tons of patches...</p> <h2 style="font-size: 100%;text-rendering: \
inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Last \
hint:</h2> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">if the affected SNI window(s) are modal (open a nested \
eventloop) the problems may be an outflow of \
https://bugreports.qt.io/browse/QTBUG-40584 (the patch likely won't apply anymore and \
there's obviously no interest in fixing Qt/Desktop, so cc.: please get used to use \
fullscreen QML apps and forget about things like "windows")</p></pre>  </blockquote>





 <p>On April 11th, 2016, 3:34 nachm. UTC, <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To \
                answer what Qt does:
        const quint32 mask = XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | \
XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT;  const qint32 values[] = {
            qBound&lt;qint32&gt;(-XCOORD_MAX, wmGeometry.x(),      XCOORD_MAX),
            qBound&lt;qint32&gt;(-XCOORD_MAX, wmGeometry.y(),      XCOORD_MAX),
            qBound&lt;qint32&gt;(1,           wmGeometry.width(),  XCOORD_MAX),
            qBound&lt;qint32&gt;(1,           wmGeometry.height(), XCOORD_MAX),
        };
        Q_XCB_CALL(xcb_configure_window(xcb_connection(), m_window, mask, \
reinterpret_cast&lt;const quint32*&gt;(values)));</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That \
code looks correct to me and even if or if not a WM is running should not \
matter.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 4:12 nachm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">T: \
                "=&gt; Does this work (leaving aside session restorage), yes or no?"
A: setGeometry <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
                inherit;white-space: normal;">NOT</em> work
T: "What exactly is the problem here?"
A: a) the windows are not visible when the session restarts. Showing them show them \
in wrong position Position is depend on "placement" -&gt; \
https://i.imgur.com/tzwJ1Lk.png "2. The window does not get saved with the session \
and picks its new position in a different way" First show() always depend on \
"placement" i.e. if widget was shown when leave session it will shown on right place, \
if was hidden first show depend on "placement". But if Kwin is not started <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">always</em> depend on "placement" "b) the window gets a QWidget::move call \
from the SNI code, but that's ineffective (ie. QWidget::move fails if there's no \
WM)"</p></pre>  </blockquote>





 <p>On April 11th, 2016, 4:18 nachm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote \
style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid \
#bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">A: setGeometry NOT work</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">In total? Ie. the other patch is <em style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">completely</em> dysfunctional?</p></pre>  </blockquote>





 <p>On April 11th, 2016, 4:45 nachm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What \
you mean "in total"? setGeometry() and move() works when app is started <em \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
normal;">after</em> kwin and not before it. I.e. i can't write in more clear words, \
my english is till here, Kwin is stared before apps:
1. setGeometry(), move() always works
Kwin not stated before apps:
1. setGeometry(), move() if new values are same as internal widget =&gt; placement
2. setGeometry(), move() differs internal widgets =&gt; works i.e. \
move(geometry().topLeft()) causing the bug.</p></pre>  </blockquote>





 <p>On April 11th, 2016, 4:47 nachm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I \
mean i.e. move(frameGeometry().topLeft()) causing the bug.
move(geometry().topLeft()) =&gt; placement</p></pre>
 </blockquote>





 <p>On April 11th, 2016, 11:56 nachm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">&gt; move() works when \
app is started after kwin and not before it

Means that the no-WM path in QWidget/QWindow doesn&#39;t set USPosition/PPosition
Is or is related to QTBUG-40584.

You can check that by running xprop on such (placed) window, it should have some

      user specified location: &lt;x&gt; &lt;y&gt;
or
      program specified location: &lt;x&gt; &lt;y&gt;

If not, then the window doesn&#39;t signal the WM that it was explicitly positioned \
(and will be placed on map requests)</pre>  </blockquote>





 <p>On April 12th, 2016, 12:43 vorm. UTC, <b>Andreas Hartmetz</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Possibly the whole thing is moot. Due to a new bug in Qt 5.6 which has been \
recently fixed (b77ef8a7e6e4104067d52824e29eadc8c66f5929 / "QtDBus: clean up signal \
hooks and object tree in closeConnection"), applications got stuck when they were \
supposed to terminate. This made session exit act strangely, essentially some \
applications didn't shut down cleanly and were forcibly killed tens of seconds later. \
ksmserver stuck around, too, waiting for them. I haven't done a real or mental trace \
through ksmserver but such a situation <em style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: normal;">can</em> mess with \
session saving.</p></pre>  </blockquote>





 <p>On April 12th, 2016, 4:46 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Andreas, i notice it, but this stays before Qt 5.5, it's works correct on \
Qt 5.4 or 5.3 i can't remember when exactly was broken. Thomas, if you mean this \
-&gt; https://git.reviewboard.kde.org/r/120078/ i can test it without this patch, but \
bug is removed, i don't know it's fixed :)</p></pre>  </blockquote>





 <p>On April 13th, 2016, 7:25 vorm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That \
patch only works around a bug in Qt (for KXMLGui windows, everything is still \
affected) That bug <em style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: normal;">might</em> be related to your problems \
with positioning - reverting the patch rather won't help you here.</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">What you want to know is whether the windows that fail to reposition during \
session start have those WM_SIZE_HINTS set. For if not, it's no wonder that the WM \
positions them and QWidget::move is simply broken for unmanaged \
non-override-redirects.</p></pre>  </blockquote>





 <p>On April 13th, 2016, 7:49 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Can i \
set WM_SIZE_HINTS explicit?</p></pre>  </blockquote>





 <p>On April 13th, 2016, 7:53 vorm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not \
w/o operating on X11 code, but one could try to cheat Qt into doing it likewise \
(since i frankly doubt, there's any upstream interest in fixing deprecated things \
like desktop functionality - rather on the contrary)</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ftr: \
they're not set?</p></pre>  </blockquote>





 <p>On April 14th, 2016, 4:57 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">How \
can i test it, easy, i don't get it.</p></pre>  </blockquote>





 <p>On April 14th, 2016, 5:45 vorm. UTC, <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">xprop \
the window - it will have a section like  WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified minimum size: 300 by 166
                program specified maximum size: 32767 by 32767
                window gravity: NorthWest</p></pre>
 </blockquote>





 <p>On April 14th, 2016, 4:57 nachm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">[toni@toni-sony ~]$ xprop  _KDE_NET_WM_FRAME_STRUT(CARDINAL) = 2, 2, 24, 4
_NET_FRAME_EXTENTS(CARDINAL) = 2, 2, 24, 4
_NET_WM_DESKTOP(CARDINAL) = 0
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_STATE(ATOM) = 
_NET_WM_ICON_GEOMETRY(CARDINAL) = 502, 736, 256, 30
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, \
_NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_VERT, \
_NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_FULLSCREEN, \
_NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE _KDE_NET_WM_ACTIVITIES(STRING) = \
"153b4652-e23a-44c6-baf7-e7a0d812498a" _NET_WM_USER_TIME(CARDINAL) = 372774774
_NET_WM_ICON_NAME(UTF8_STRING) = 
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) = 
_NET_WM_NAME(UTF8_STRING) = "Akregator"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x5000006
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
_NET_WM_PID(CARDINAL) = 3834
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 83886085
WM_CLASS(STRING) = "akregator", "akregator"
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 size: 980 by 602
                program specified minimum size: 325 by 237
                window gravity: Static</p></pre>
 </blockquote>





 <p>On April 14th, 2016, 6:27 nachm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As \
predicted the client does not request some position, thus is necessarily subject to \
positioning. QWidget/QWindow bug for sure. No idea whether one can cheat QWidget into \
setting the flag or how many years it will take to convince them that this is \
important :-(</p></pre>  </blockquote>





 <p>On April 15th, 2016, 3:50 vorm. UTC, <b>Anthony Fieroni</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It \
must contribute to Qt to fix this issue, i'm not right person to do it. So since this \
patch is unwanted i will discart reviview</p></pre>  </blockquote>





 <p>On April 15th, 2016, 9:05 vorm. UTC, <b>Andreas Hartmetz</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If there is no or little \
regression potential, I don&#39;t think it will be hard to convince Qt maintainers to \
merge a simple patch.</pre>  </blockquote>





 <p>On April 15th, 2016, 9:11 vorm. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">LOL</p></pre>  </blockquote>





 <p>On April 15th, 2016, 9:38 vorm. UTC, <b>Andreas Hartmetz</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I have landed a few \
patches in Qt and, that is quite important, I don&#39;t know of any particularly \
&quot;difficult&quot; maintainers for the XCB QPA.</pre>  </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Good \
for you. I've completely given up on Qt. I though doubt it's the xcb qpa, but rather \
QWidget (see https://bugreports.qt.io/browse/QTBUG-40584 - it's pretty much  the same \
category, just that that bug prevented and prevents KDE file dialogs from restoring \
their size, this afaik still lives on the workaround) and QWidget is "done", ie. \
"dead".</p></pre> <br />










<p>- Thomas</p>


<br />
<p>On April 15th, 2016, 4:33 nachm. UTC, Anthony Fieroni wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: \
1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;">  <tr>
  <td>

<div>Review request for kwin, Plasma, David Edmundson, Martin Gräßlin, and Thomas \
Lübking.</div> <div>By Anthony Fieroni.</div>


<p style="color: grey;"><i>Updated April 15, 2016, 4:33 nachm.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-workspace
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">We must proceed with autoStart0 when kwin process is \
ended otherwise kwindowsystem::self() is nullptr. Every restored session app cannot \
use kwindowsystem. This depends of cpu speed, it can be faster enough to start wm \
before ksmserver restore apps and kwindowsystem will be usable.</p></pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">It's needed to fix this bug -&gt; \
https://git.reviewboard.kde.org/r/127216/ I don't know how to proceed if kwin fails \
to start in every way, can we process - i think not?</p></pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>ksmserver/startup.cpp <span style="color: grey">(f118b55)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/127631/diff/" style="margin-left: \
3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>


--===============2583704461426026755==--


[Attachment #3 (text/plain)]

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic