Currently we're hitting a bug where the panel won't be displayed in the
correct position because of how the screen it's in is computed. See:
https://codereview.qt-project.org/#/c/139533/
This patch makes sure there's no off-by-1 issues by placing the screen
initially at the center.
Use KWin to lower/raiser panel in windows can cover mode with edge
activation like autohide does.
This means if you have a maxmised menu you can still open the panel by
moving the mouse to the bottom of the screen
BUG: 343448
Calls updateStruts on KScreen::Screen::currentSizeChanged instead of
KScreen::Config::outputAdded/outputRemoved.
When an output is (dis)conencted, it isn't added/removed, it is mearly
marked as (dis)connected. Therefore, updating struts on
outputAdded/outputRemoved doesn't work.
BUG: 349400
REVIEW: 124996
PanelView::event() generates new events and sends them to itself via
QCoreApplication::sendEvent(), which calls the event() handler directly. To
prevent possible stack overflow, we use QCoreApplication::postEvent() to
dispatch the events from event loop.
REVIEW: 124375
We don't want the compositor to position the panel, thus we pass the
recommended position through the PlasmaShellSurface interface. The
compositor may or may not honor the passed position.
REVIEW: 124056
This change introduces the first part of Wayland integration. If
running on platform Wayland we try to bind the org_kde_plasma_shell
interface through the help of KWayland client library. If this interface
is available we can use it to create a PlasmaShellSurface for the
PanelView's window and mark that as a panel.
A compositor with support for the org_kde_plasma_shell interface can
use this information to make the window operate as a panel.
REVIEW: 124054
at startup the panelviews can't exist yet: panelviews have to be created
after desktopviews and the script has to be executed before the desktopviews
exist.
it's a bit hackish, but use temporary dynamic properties to store those
values that will be then used as soon the panelviews are created
Appearantly right() / bottomRight() / topRight() returns values with 1
pixel x off for historical reasons and hence 1px gap. This causes the
autohide panel not hiding automatically.
BUG: 339323
BUG: 340549
FIXED-IN: 5.3
REVIEW: 123136
This makes it also forward wheel events in the same fashion as it does with clicks.
Restores Fitt's law for taskmanager wheeling.
A similar patch for plasma-frameworks dialog is needed as well.
BUG: 340412
BUG: 340488
REVIEW: 120894
we need a visual margin in panels, but still manage screen
edges: just forward events at screen edges to the proper area
hardcoded for now, needs to take info from qml
On initialization, the panels' window size is 12x12, we can't use the
window size then, we need to use the thickness.
Also assert if we are setting the Panel's window outside of the screen, so
the problem doesn't happen again.
REVIEW: 120584
needed for center and right alignments
now 90% of the times the behavior of the panel controller is correct.
but problems still happen
CCBUG:339202
CCBUG:339207
needed for center and right alignments
now 90% of the times the behavior of the panel controller is correct.
but problems still happen
CCBUG:339202
CCBUG:339207