Summary:
We have a method to add an activity in plasma script, but
not to remove it. This patch fixes this situation.
Reviewers: garg, davidedmundson, mart
Reviewed By: davidedmundson, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2251
Summary:
Containment creation relies on the current activity, so
we need to change the current activity when creating one
from PlasmaScript in order for the Containment to be created
correctly.
Test Plan:
Tested with:
print(currentActivity());
var id = currentActivity();
var desktops = desktopsForActivity(id);
print(desktops.length);
for (var i = 0; i < desktops.length; ++i) {
print(desktops[i].id);
}
var id = createActivity("Day 4 - Test 1 - " + activities().length);
var desktops = desktopsForActivity(id);
for (var i = 0; i < desktops.length; ++i) {
print(desktops[i].id);
}
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2211
Summary:
There is a small time-window when Plasma's internal data
regarding activities is not synchronized with the internal
data of the KActivities library.
This leads to Plasma reporting a different list of activities
than the list of activities it has containments for.
This patch changes the activity list that the ScriptEngine reports
to be the one that Plasma knows about.
See: https://bugs.kde.org/show_bug.cgi?id=365606
Reviewers: #plasma, davidedmundson, sebas, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2187
Summary:
After the previous patch which removed the unused
Activity class related events, it started becoming clear that
said class is only really used to store the name of the
containment plugin that should be loaded for an activity.
Instead of keeping a map of these objects (QObjects) with
all their baggage, the shells now only keep the map of
activity IDs and corresponding plugin names.
Reviewers: mart, bshah, davidedmundson, #plasma
Reviewed By: davidedmundson, #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2176
Summary:
A few private slots handling the events of Activity objects
have been lingering in ShellCorona never to be called.
I've grepped both plasma-desktop and plasma-workspace for these
(even though they are private slots) and they seem not to be
used anywhere.
Reviewers: #plasma, sebas, davidedmundson, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2174
Summary:
Activity object kept all the data that KActivities::Info keeps,
and an instance of KActivities::Info object. It is now just a thin
wrapper for the Info class.
Reviewers: davidedmundson, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2162
that was a bad idea.
the idea was "is there an activity that doesn't
have a containment"? use that
but if an activity oesn't have a containment something else
went already wrong
Summary:
We used to append them, but that didn't work well and was crashing plasmashell
on fresh start.
A default desktop would be created alongside with the one provided by the
layout instead of replacing it.
If a layout wants to provide an additional screen for a desktop in the secondary
screen, it should specify the screen.
Test Plan:
Now the plasmashell tests pass. In fact I noticed it was broken due to an e-mail
Jonathan sent me that the test on neon was timing out. The test in neon will
freeze when the test crashes. Probably something to look into.
It can be reproduced by running:
```
xvfb-run -a --server-args="-screen 0 1024x768x24" dbus-launch --exit-with-session <exec>
```
Where `exec` is the process we need to run.
Now the test passes.
It's a crash that I had reproduced locally in the past. I can't now.
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: jriddell, plasma-devel, #neon
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2117
Summary:
qDeleteAll will iterate through containments() however this is
dynamically changing the list we're iterating through.
Particularly bad is deleting the panel might delete the system tray
containment, leading to a double delete on a now dangly pointer.
Test Plan: kquitapp5 plasmashell. No crash
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D1890
Summary:
On Wayland we need special glue code to make KWin aware of the position
the DesktopView wants to be. This change ensures that DesktopView calls
setPosition on the PlasmaShellSurface on creation and whenever the screen
geometry changes.
With this change DesktopViews are properly positioned in a multi-screen
setup on Wayland.
Reviewers: #plasma_on_wayland
Subscribers: plasma-devel
Tags: #plasma_on_wayland
Differential Revision: https://phabricator.kde.org/D1889
when the containment (or an applet in it)
gains the state Plasma::AcceptingInputStatus
force the focus to the panel window, restoring
the behavior of Plasma4
BUG: 364276
This fixes the panel configuration having shadows on all sides, casting a shadow onto
the panel and causing an ugly glitch during the sliding animation.
Also expose the borders as property to the QML part but it doesn't use it currently.
Differential Revision: https://phabricator.kde.org/D1778
I noticed that panels had borders on all sides and it turns out PanelShadows was never
actually told which sides should have shadows.
To reduce code duplication I expose the enabled borders as property to the Panel.qml
which itself does the same calculation from QML again and does it many times.
Differential Revision: https://phabricator.kde.org/D1756
don't hardcode -a as the internal systray screen anymore.
give it the new customembeddedcontainment containment type,
and ignore those in panel creation.
the old systray logic in containmentforscreen gets reused.
The volume applet would switch at 26% from low to medium whereas the OSD did that at 25%.
Also turn the logic around so it's identical to what plasma-pa does.
Differential Revision: https://phabricator.kde.org/D1635
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