Summary:
When we load and position the Image the height is constrained, the width
is not. The image fillMode is set as PreserveAspectFit so the width
will adjust to fit the aspect ratio,
Therefore we only want to set a fixed height on the sourceSize, it will
automatically match the resultant width.
BUG: 413087
FIXED-IN: 5.17.3
Test Plan:
I was unable to reproduce the state.
Patch is based on reading the code and docs
Reviewers: #plasma, broulik, ngraham
Reviewed By: #plasma, broulik, ngraham
Subscribers: broulik, filipf, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25252
Summary:
--when the containment background hints are updated then the
panel shadows should be also. In case the background hints
point to NoBackground the panel shadows should be removed
and in case they point to DefaultBackground they should be
drawn again
--PanelShadows::removeWindow has no place in updateEnabledBorders
because the window still lives. When removeWindow was executed
before it was faulty unregistered from PanelShadows and in order for
setEnabledBorders to work again we should need
to execute from start the PanelShadows::addWindow function
FIXED-IN:5.17.3
Test Plan:
--I have created an applet which a PlasmaComponents.Switch button
and toggles panel transparency on user demand easily
Reviewers: #plasma, davidedmundson, mart
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25121
Summary: This failed for me on FreeBSD where env doesn't support -0. Fall back to genv which does.
Reviewers: fvogt, adridg, apol
Reviewed By: fvogt, apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25124
Summary:
There was a concious decision that when we add a new wallpaper we should
append to the existing random order collection, rather than shuffle
existing ones.
The logic is fine but if we start with 0 wallpapers and then add 20 new
ones we don't shuffle anything.
This patch changes it so when a new batch of N wallpapers is added,
those N are shuffled when appending to the existing sort order.
BUG: 413463
FIXED-IN: 5.17.2
Test Plan: qDebug + ran a few times
Reviewers: #plasma, ngraham, davidre
Reviewed By: ngraham, davidre
Subscribers: davidre, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24986
Summary:
Otherwise when we randomise the wallpaper order we will always get the
same results.
CCBUG: 413463
Test Plan: qDebug + ran twice
Reviewers: #plasma, ngraham, davidre
Reviewed By: ngraham, davidre
Subscribers: davidre, apol, anthonyfieroni, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24985
when items are moved around due to screen resolution change,
no cell should be considered as taken, because all items will be moved,
otherwise items will be moved and resized in unexpected ways to make
room for "ghost" items.
Clear the bookkeeping before doing the move
BUG:413019
Since we fixed RunnerManager::teardown to actually be emitted, the runner would throw away its gathered window info and then crash in run().
I couldn't figure out what the proper API was so this is a workaround to keep it from crashing at least.
However, the runner also didn't check whether the window was actually still valid by the time run() was called,
so querying for the window again once it is called and checking validity is a good thing either way imho.
In the future, this probably should be ported to using libtaskmanager :)
BUG: 412386
FIXED-IN: 5.17.1
Differential Revision: https://phabricator.kde.org/D24849
Summary:
QSortFilterProxyModel uses std::stable_sort internally which requires that the
comparison function generates a strict weak ordering. Returning true or false
randomly didn't fullfil this requirement causing a crash in some calls to invalidate.
To keep the random order consistent a vector of row indices is used which records
the current random order.
BUG: 413018
FIXED-IN: 5.17.1
Test Plan:
To reproduce the bug use a slideshow in random order with few pictures and a small
time intervall.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: davidedmundson, broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24723
Summary:
Use '\0' as separator as '\n' is likely to appear in values.
BUG: 413130
Test Plan:
/etc/profile.d/mc.sh exported an mc() function,
which resulted in "syntax error: unexpected end of file" in the Plasma session.
Now the mc function is correctly set in the environment.
Reviewers: #plasma, apol, davidedmundson, adridg
Reviewed By: #plasma, apol, davidedmundson, adridg
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24750
According to the spec, xesam:artist should be a string array, but
majority of players uses string instead. This patch adds support for
both string array and string options to allow new software development
according to the spec but also maintain compatibility with existing
solutions.
BUG: 405762
FIXED-IN: 5.17.1
Differential Revision: https://phabricator.kde.org/D24740
Fixes erroneously enabling do not disturb mode in some situations when having screens mirrored and then closing the lid.
You'll have two overlapping screens but one of them is disabled so should be ignored.
Depending on the order of outputs this may or may not happen (which is why I didn't notice earlier when I tested with my new laptop).
CHANGELOG: Fixed erroneously entering do not disturb mode when there are overlapping *disabled* screens
Differential Revision: https://phabricator.kde.org/D24679
Summary:
XCB may return null pointer as a response. Add a check to prevent
segmentation fault.
BUG: 409652
FIXED-IN: 5.17.1
Test Plan: It is hard to reproduce, but the reason of the segmentation fault is pretty obvious, thanks to the debug dump from bug 409652
Reviewers: #plasma_workspaces, #plasma, davidedmundson
Reviewed By: #plasma_workspaces, #plasma, davidedmundson
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24514
Summary:
Do not scale up small icons to avoid quality detoriation. For small icons scaling should be done in SystemTray only. Currently XembedSNIProxy scales to 32x32, then SystemTray (usually) scales it down to 24x24.
BUG: 366047
FIXED-IN: 5.17.1
Test Plan:
I've run few applications with small icons:
- keepassx (22x22)
- liferea (16x16)
- tuxguitar (16x16)
It looks much better without scaling in xemebdsniproxy.
Reviewers: davidedmundson, #plasma, #plasma_workspaces
Reviewed By: davidedmundson, #plasma, #plasma_workspaces
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24531
Summary:
If needed, perform resize in each update().
Client window may be too big, it must be resized to a certain reasonable size. Sometimes resizing in the constructor is not enough because it is too early and the client window is not fully initialized. Even if client window is resized, on first update it reverts back to original size (or just ignores the first request - some kind of a race condition).
In addition, I applied some rules from: https://community.kde.org/Policies/Kdelibs_Coding_Style
BUG: 358240
Test Plan:
I tested it using keepass2, now it shows better results (still not perfect). Window is resized to 32x32, but icon is only 24x24 it top-left. Better than 273x273 with tiny dot in the corner. This is a workaround for unsolvable bug in Mono - AFAIK Windows Forms are not longer maintained so it won't be fixed.
I tested this change with several other apps for regressions, no issues:
pidgin
liferea
hexchat
tuxguitar
xchat
keepassx
stardict
and other I don't remember now. No regressions.
Reviewers: davidedmundson, #plasma, #plasma_workspaces, broulik
Reviewed By: davidedmundson, #plasma, #plasma_workspaces
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24529
The inhibition handling (e.g. combining time-based, screen mirrored, etc) is done inside the applet.
The Server knows nothing about it and only reports Inhibited as true when an external application
requested one, not when the user enabled it in the applet.
This patch exposes the NotificationManager.Server as singleton QML type and adds a way for the
applet to tell it the effective inhibition state.
Exposing the server to QML could also be used in the future to provide better error reporting
to the user when the service isn't running and/or owned by someone else (e.g. Dunst)
Differential Revision: https://phabricator.kde.org/D24486
Summary:
It gives the following runtime warning:
Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors
But we don't need to set QT_ENABLE_HIGHDPI_SCALING to 0.
Just setting QT_SCREEN_SCALE_FACTORS is enough to control scaling, after
my commit e018d11600bffc6 to qtbase.
Kudos for porting startkde to be C++ code, it makes this commit much
easier...
Test Plan: Builds; not rebooted yet
Reviewers: apol, davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24255
The notification popup typically gets in the way of the system tray popup.
In case it would cover a Plasma dialog, hide the notification popup.
It doesn't specifically check for System Tray but then it will also get out of the way of your
calendar and other widgets you might have placed in the respective corner.
Differential Revision: https://phabricator.kde.org/D24208
Summary:
This patch removes some spacing which was making the 'switch users' button get slightly cut off on small displays (1366x768). Quite a few old laptops have screens of this size, so it is good to take into account that display size as well, as long as it doesn't negatively affect the appearance for large displays.
BUG: 410801
FIXED-IN: 5.17.0
Test Plan:
Lock screen when connected to a low-res display and check that the 'switch users' button isn't cut off.
**Before this patch:**
Lockscreen on small display (1366x768): {F7330101}
Lockscreen on big display (1920x1080): {F7330096}
**After this patch:**
Lockscreen on small display (1366x768): {F7342190}
Lockscreen on big display (1920x1080): {F7342191}
Reviewers: #plasma, #vdg, ngraham, filipf
Reviewed By: #vdg, ngraham, filipf
Subscribers: filipf, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D23786