Summary:
PanelView::restore sets various properties including length, thickness,
which would result in panel resize and repositioning. PanelView::restore
also explicitly calls PanelView::positionPanel and ::resizePanel.
This results in positionPanel and resizePanel operation being done
multiple times at startup/adding panel and hence flicker when panel
first shows up. This patch makes resizePanel and positionPanel no-op if
we are restoring panel.
Test Plan: Added panel, restored panel, moved around panel
Reviewers: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3008
Summary:
the check that was there, screen id not being more
than screen count is not valid anymore with the
screenpool approach, a screen id can be bigger than
the screen count in cases such as middle screen of a 3 screen
system disabled, or driver change (in which unfortunately,
connector names can change)
without this, a new containment was created for each startup.
BUG:369665
Test Plan:
created a puroposefully corrupted plasmashellrc file,
where one known screen has a big number as id.
without patch a new containment is added in appletsrc each time
with the patch it behaves fine.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3006
Summary:
resize(size()) does not no-op in QWindow, and actually processes the
resizing. This performs a check that the action is valid.
Test Plan: Resized my panel, all seemed to still work.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3001
Summary:
Also change positionPanelTimer to not call positionPanel() manually as
restore already does this.
Test Plan: Bshah
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3000
Summary: We won't have any results anyway.
Test Plan:
Disabled indexing and put a qDebug in the if branch
I'm not super convinced it's a good idea myself. It means parsing a config file every match
and it can't be cached without missing updates if the user enables/disables at runtime.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2995
and make it use the full width before wrapping
Test Plan:
Tested on the same system that reported the bug; works for all
combinations of font, font size and DPI tested.
BUG: 370281
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, jensreuterberg, pritambaral, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2984
Summary: Alternate fix for D2956 [Lock Screen] When pressing Return just trigger button
Test Plan:
Locked screen hit enter
Locked screen selected new session hit enter
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2976
Summary:
after the latest activities refactor, containments weren't
deleted anymore upon activity deletion.
Test Plan:
created and deleted activities while monitoring how appletsrc file
was updated
Reviewers: ivan, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2967
Summary:
When moving panel between two screens there is time when panel is on
edge of screen and screenToFollow is null, at this point if any of the
resize or position operation gets triggered, it will attempt to get
screenToFollow's size or geometry and will result in crash as for
sometime screenToFollow is null.
This is quite a timing related bug, if you manage to move panel in time
there would be no crash otherwise there are 3-4 different crashes are
possible.
To solve this we avoid setting null values for screenToFollow, this
should not happen ideally, but setting breakpoint on setScreenToFollow
shows that null value is set from QML and should be investigated.
BUG: 369228
Test Plan:
moved panel around like crazy, can't reproduce crash on
QScreen::size or QScreen::geometry, without patch it would crash 100%
Reviewers: mart, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2970
Summary:
PluginLoader has some additional checks for some obscure config options,
such as ExcludeCategories in plasmashellrc.
By doing the applet listing manually widget explorer skipped that.
Test Plan: Checked widget explorer still listed everything
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2877
Summary:
Remove outdated parts of startkde that are no longer used
Remove setion about kwin_failsafe which isn't used
Remove code related to oxygen fonts that aren't used
Remove section about darwin
Get rid of check that dbus-server exists, it autostarts
Don't try to set $qdbus to a path to qdbus... it wasn't used
conherently, so we don't really need it
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: mart, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2894
Summary:
If we don't pass the current screen to QCursor::pos, it will return
position relative to primary screen, which obviously won't be in panel
geometry.
Instead pass it currentScreen, this way we don't filter out the mouse
events for panel.
BUG: 368790
FIXED-IN: 5.8.1
Test Plan:
added debug statements and verified that I get correct screen position
and as well, panel is now interactive on secondary screen.
Reviewers: mart, graesslin, #plasma, sebas
Reviewed By: graesslin, #plasma, sebas
Subscribers: sebas, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2960
Summary:
during a type switch
if the new containment gets saved before getting a view,
it will get lastScreen=-1 so the next boot
it will create a new containment
Test Plan:
switched repeatedly between desktop and folderview
the config file always got with the correct lastScreen=0 entry
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2966
Summary:
Klipper shows a notification when the shortcuts next/prev history item
gets triggered. This notification used to be implemented in the class
KlipperTray. With the switch from SNI based clipper to a Plasmoid the
notification got lost as the Plasmoid doesn't use the KlipperTray class
at all.
This change moves the notification handling from KlipperTray to Klipper
so that it gets emitted for both SNI and Plasmoid based klipper.
BUG: 368808
FIXED-IN: 5.8.1
Test Plan: Set the shortcuts, triggered them and verified the notification gets shown.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2942
If an application explicitly requests a notification to replace another one (replaces_id set),
don't group it with another notification.
When creating a KNotification object and then updating it by calling e.g. setText it would
just append it to the already shown notification.
Differential Revision: https://phabricator.kde.org/D2954
Summary:
on Qt 5.6/5.7 changed signal was emitted at startup as well,
triggering plasmoid.configuration.onSelectedTimeZonesChanged
in Qt 5.8 this doesn't happen, giving an empty clock at startup
this makes sure allTimezones gets built
Test Plan: with Qt 5.8 the clock is shown correctly
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2946
Summary:
on Qt 5.6/5.7 changed signal was emitted at startup as well,
triggering plasmoid.configuration.onSelectedTimeZonesChanged
in Qt 5.8 this doesn't happen, giving an empty clock at startup
this makes sure allTimezones gets built
Test Plan: with Qt 5.8 the clock is shown correctly
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2946
Summary:
The current code registers the session bus *after* app->exec() this
effectively means it won't work.
This causes ksmserver to be unable to deliver the calls to start kcminit
modules at remaining init phases.
Any KCMinit module which are at X-KDE-Init-Phase=1 or 2 will now get
run. It also means kcminit_startup closes, instead of lingersing on
startup doing nothing until it times out 5 minutes later.
Test Plan: Confirmed kcminit_startup now exits properly.
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2887
Summary:
Commit 8e1339887a in Plasma 5.8 removed a
minimum size on the panel spacer, which is what we want, however if no
minimum size is set on an applet in a panel the panel's AppletContainer
sets the minmimum width to be the same as the height.
This was preventing people having tiny panel spacers.
BUG: 369823
Test Plan: Reporter tested the patch
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2938
Summary:
We need Local to be *always* present, even if not disaplayed as
it's used for formatting in ToolTip.dateTimeChanged()
this makes sure local is always in the connected sources, even if
it's not explicitly shown to the user
Test Plan:
tested, local timezone is not shown in clock/tooltip when
selected, and no warnings from dateTimeChanged()
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2936
Summary:
We need Local to be *always* present, even if not disaplayed as
it's used for formatting in ToolTip.dateTimeChanged()
this makes sure local is always in the connected sources, even if
it's not explicitly shown to the user
Test Plan:
tested, local timezone is not shown in clock/tooltip when
selected, and no warnings from dateTimeChanged()
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2936
Summary: Correct misleading debug output. Make all ksmserver output (apart from
the tests) controllable with QLoggingCategory.
Test Plan: Compiled, logged in and out both with & without
"ksmserver.debug=true" in qtlogging.ini
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2935
$qdbus is a full path to the qdbus binary, not relying on it being in
$PATH
It was completely unset in startplasma and startkde made a call to
ksplash using qdbus assuming it's in the path
Reviewed-by: David Edmundson
Summary: we can start launching ksmserver in the meantime
Test Plan: Logged in
Reviewers: #plasma, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2910