Summary:
Reduces code duplication and we always opperate on cached value, that
is the platform is only checked once in application life cycle.
Reviewers: #plasma, hein
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2342
since now desktop scripting is supposed to modify
containments instead of creating activities,
make sure a desktop containment exists for each screen
by running addoutput
Summary:
allow for lnf package to override templates, so that
for instance, "default panel" can be overriden, so in a
distribution adding a "default panel" would add what is the
"default panel" of that distribution.
switching lnf package would get back a normal panel
Reviewers: garg, ivan, #plasma
Reviewed By: ivan, #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2298
Summary:
check first i the lnf package if
we have a default containment for the current shell
then fallback to the one specified by the shell package
Reviewers: ivan, #plasma
Reviewed By: ivan, #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2286
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: sitter, jriddell, plasma-devel, #neon
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2117
Summary:
Used to work, then patch f7ef6ee87b
changed it.
Docs above edited code say:
"it is valid for KAMD to not be running."
This fixes that but keeps the objective of patch f7ef6ee, of delaying
load() if we're still loading KAMD.
Test Plan:
Reviewers:
#plasma
Subscribers:
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:
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:
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
Subscribers: plasma-devel, #neon
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2117
On build.kde.org the tests are freezing because kamd gets started and
doesn't quit. So let's stop it manually to ensure it properly terminates.
Reviewed-By: Marco Martin
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