QScreen::availableGeometry() returns screen size minus the struts, which is fine on first Plasma start. But if Plasma crashes, the struts set on the startup are not cleared and then when Plasma autorestarts, availableGeometry() gives it rect with the old struts to which Plasma adds one more panel height (so the total strut height is panel.height()*(numberOfCrashes+1)).
Using QScreen::virtualGeometry() gives us the whole screen including
struts and the new struts are computed and set properly.
Reviewed-by: Marco Martin
Qt's xcb plugin updates _NET_WM_STATE and ignores anything we set,
thus we need to ensure that our additional states are set after Qt
set the state. Luckily KWindowSystem does not remove the state which
is already set.
Reviewed-By: Marco Martin
In PanelView screenChanged is redeclared in order to create a property.
However this signal is not the one that is emitted.
This fixes the confif following the panels when moving between screens
Reviewed-by: Aleix Pol
Never use the window size to figure out the thickness: This is bad because
sometimes this will get called before the move hasn't been effective, which
results in full-screen struts. Use the thickness method from KConfig
instead.
REVIEW: 116614
Don't call setPosition and resize, but do it all at once in a setGeometry
call. It simplifies the life of the QPA and WM, also it's quite faster as
we reduce the calls to the WM by half (both setPosition and resize are
syntax-sugar for setGeometry)
REVIEW: 116614
it makes the tabbar eventually vertical and appearing oriented differently towards the content
possible values:
Qt.TopEdge (default)
Qt.LeftEdge
Qt.RightEdge
Qt.BottomEdge
ToolTipDialog is not a Q_GLOBAL_STATIC because QQuickwindows as global static
are deleted too later after some stuff in the qml runtime has already been deleted,
causing a crash on exit
CI noX11 variant fails, complaining HAVE_X11 is not set. I assume this is
because the call to add_definitions is too late. Using config-plasma.h is
cleaner anyway.