QX11Info::connection() looks up the connection in the QPA.
The Wayland QPA happens to have a property with the same name,
so it happily reinterpret_casts a wl_connection_t* to xcb_connection_t*
and disaster ensues.
Differential Revision: https://phabricator.kde.org/D1718
The newly introduced HiddenStatus which is used by eg. the desktop pager to completely
hide itself when there is only one virtual desktop, has a higher value than
RequiresAttentionStatus for ABI compatibility reasons, so auto-hide was never actually
enabled if you had this applet (part of the default setup) with just one virtual desktop.
BUG: 362105
FIXED-IN: 5.6.5
Differential Revision: https://phabricator.kde.org/D1683
This is to provide feedback when the on-screen keyboard is enabled or disabled in response
to the user taking some action, such as flipping over a convertible laptop.
Differential Revision: https://phabricator.kde.org/D1563
Summary:
starting the stuts timer in resize/move events means we don't have to
litter it across any code that might move/resize the panel, also we get
event compression for free (so could probably remove the timer in
future).
Much neater and fixes a bug.
BUG: 362887
Reviewers: #plasma
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1584
loadScriptInInteractiveConsole requires user interaction which blocks
some purposes, like setting the desktop background from an app.
This runs a given script directly from a passed string without any
prompts.
CCBUG: 217950
REVIEW: 125648
Summary:
Removing the shadow only affects the pending state, we also need to
explicitly commit the Surface to apply the state change.
Reviewers: #plasma, mart
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1399
My second (internal) screen is disabled and has 0x0 size.
This fixes setting the struts for panel and correctly calculating
the available desktop area.
CCBUG: 348043
Differential Revision: https://phabricator.kde.org/D1238
Summary:
cache screenGeometry in local var
replace size().width() with width()
Reviewers: #plasma
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1171
the panel geometry is intersected with the QScreen geometry,
that doesn't work with rects of empty sizes.
This fixes the panel sometimes being positioned at 0,0 at startup
the api containment.name was incorrect and broken,
(using it it actually breaks the whole layout since
breaks the containment->activity association)
in order to make it coherent with the other activity
related api, add global functions activityName
and setActivityName
it's not very object oriented but is coherent with
the other api already in place
(as there isn't an "Activity" class binding)
Don't save and restore panel length
length gets overriden from the QML side so there is no point loading and
restoring it.
This also simpifies code somewhat removing places where we clearly did
the same bit of code twice.
Summary:
The default window type is desktop, so we should also tell Qt that it's
a frameless window. Not doing so means that on construction of the
platform surface our plasma-integration plugin will request a server
side decoration for the window. Which means KWin creates a deco and
destroys it again once the flag propagated. But it also means that the
window gets misplaced due to the temporarily added deco.
By setting the flag the plasma-integration never asks for the deco to
be created in the first place and in all my tests so far the window was
positioned correctly.
Reviewers: #plasma, sebas, mart
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1156
Makes it possible to test how/if a plasmoid behaves correctly on the most
similar environment possible to what the user would find on a production
system.
* Loads a plasmoid on a panel and the desktop.
* Lets it test his own stuff (loading test/test.qml within the plasma
package)
* Terminates with an error if it wasn't successful
REVIEW: 127346
Remove unused variables
Make sure accessing elements within an assert doesn't change the state of
the class.
Don't keep checking if a variable is not null.
Summary: This way the close-on-focus-lost does not happen
Reviewers: mart, broulik
Reviewed By: broulik
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D1093
Make use of Qt5.5 API QQuickWindow::sceneGraphError rather than catching
the errors in a message filter.
I also merged with existing warning where contexts could be created, but
compiling shaders would not work.
BUG: 358869
REVIEW: 127254
Views shouldn't decide to delete themselves.
ShellCorona is responsible for managing them, it should be the one
managing them in all cases.
bring panelContainmentDestroyed and desktopContainmentDestroyed in line
REVIEW: 127225
Summary:
If the window's platform surface was destroyed, there is also
no shadow to be removed.
Both X and Wayland code will try to create the platform surface
again, and it will lead to crash in other code that doesn't expect
platform surface to be created when the containment is being deleted.
This fixes crash in PanelConfigView::event when removing panels.
Reviewers: graesslin, #plasma
Reviewed By: graesslin, #plasma
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D951
Summary:
Since Qt 5.5 there is a dedicated event when a PlatformSurface gets
created. This allows us to know when we need to setup the Wayland
integration.
Reviewers: mart
Subscribers: plasma-devel
Differential Revision: https://phabricator.kde.org/D819