Summary: Parts of these icons did not line up well with the pixel grid making them seem blurry or faded. This has been fixed.
Test Plan:
Before: {F6672364, size=full}
After: {F6672361, size=full}
Reviewers: #vdg, #breeze, zzag, davidedmundson, ngraham
Reviewed By: #vdg, #breeze, ngraham
Subscribers: zzag, ngraham, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19605
Summary: Before, shadow size doubled with each new size until Very Large and the smaller shadows were more transparent than the larger shadows. Now shadow size increases linearly and smaller shadows start with more opacity so that they don't become nearly invisible. The new shadows should look better on cheap displays.
Test Plan:
Before
======
Small: {F6622411}
{F6632347}
Medium: {F6622412}
{F6632346}
Large: {F6622413}
{F6632344}
Very Large: {F6622415}
{F6632341}
After
=====
Small: {F6624603}
{F6632334}
Medium: {F6624606}
{F6632335}
Large: {F6624608}
{F6632336}
Very Large: {F6624612}
{F6632337}
Reviewers: #vdg, #breeze, ngraham, rooty
Reviewed By: #vdg, #breeze, ngraham, rooty
Subscribers: filipf, ngraham, zzag, rooty, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19148
Summary: The current shadow color is Shade Black, which is also used as the ViewBackground color in Breeze dark. This makes the shadow invisible when 2 windows without borders overlap with touching View areas. It also makes color banding worse on cheap displays. Changing the color to black makes the shadow visible on most backgrounds and slightly improves the look of the shadow on cheap displays.
Test Plan:
Before:{F6621844}
After:{F6621843}
Reviewers: #vdg, ngraham, filipf
Reviewed By: #vdg, ngraham, filipf
Subscribers: filipf, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19124
Summary:
--as mentioned at T9899 we are not calling the correct
creator when buttons are created in Standalone mode and
as such animations are disabled when BreezeButton is created
from plasma applets. This patch fixes this and restores
the Standalone behavior mode in order to be identical
with the default one.
Test Plan:
-check that window title bars still work
-check that breeze window buttons in titlebar editor buttons
still work
-check that when buttons are used in a plasma applet
they are animated
Reviewers: #breeze, zzag
Reviewed By: zzag
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D16596
Summary:
Creation of shadows (especially for "Large" and "Very large" sizes) is
a computation expensive task because we have to blur alpha channel of a
shadow texture (which then will be tinted with desired shadow color).
Currently, we use the following approach:
* for blur radius less than 64, use naive 2-pass algorithm;
* for blur radius greater than or equal to 64, use FFT.
Even though the FFT approach is doing its the best, it still takes
impresive amount of time to blur the alpha channel.
What makes things even worse is that while we're blurring the alpha
channel, we're blocking the main thread of KWin (decorations are not
rendered in their own thread). This can result in frame drops (2 or 3
frames, something like that).
So, the only viable alternative is to use an approximation of the Gaussian
blur. As such an approximation, I picked the box blur because it's quite
simple, it's fast, and it takes small amount of iterations to have something
similar to the true Gaussian blur.
In general, there are no big differences between true gaussian shadows
and approximated shadows:
Before:
{F6312610}
After:
{F6312613}
Before:
{F6280935}
After:
{F6312608}
As a win, it takes much less time to generate decoration shadows.
Reviewers: #kwin, #plasma, #breeze, #vdg, ngraham
Reviewed By: #breeze, #vdg, ngraham
Subscribers: cfeck, ngraham, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D15514
Summary:
Since the removal of the heuristics this seems to be very much disliked by many.
As there is now a configuration option, disabling this by default seems like
the best option.
This diff's purpose is mainly to raise this topic for discussion.
Reviewers: #vdg, #plasma, ngraham, abetts, romangg
Reviewed By: #vdg, #plasma, ngraham, abetts, romangg
Subscribers: romangg, mart, abetts, rizzitello, mmustac, broulik, anthonyfieroni, januz, rikmills, anemeth, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10429
Summary: I tested a bit of code with -02 to measure the speed gains of using a std::initializer_list over appending to a temporary and appending to temporary is around 50% slower, so I removed all the code that appened to temporaries for a initializer list in breeze.
Reviewers: #breeze, #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, ngraham, zzag, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D13591
Summary:
What do say we invert the shade button when it's in a "checked" state, as we do the keep-above button?
The window decoration theme already inverts the keep-above button's colors when its state is activated, as a "loud" visual cue. The shade button similarly has an active state to indicate, but lacks such a loud cue to help avoid confusion. Depending on a user's other settings, there may be little or no visual indication (other than the nice but modest flip of the button) that a shaded window decoration doesn't belong to the window seen below it.
I'm attaching two screenshots of this patch applied, with a konsole window in both keep-above and shade states, directly over another window's titlebar.
{F6141905}
{F6141930}
Reviewers: #breeze, ngraham, #vdg
Reviewed By: #breeze, ngraham, #vdg
Subscribers: ngraham, plasma-devel
Tags: #plasma, #breeze
Differential Revision: https://phabricator.kde.org/D14389
Summary:
libbreezecommon is not meant to be used outside of breeze (it can't, no headers
are installed) so the .so link is not necessary.
Additionally, rename libbreezecommon.so.5 to libbreezecommon5.so.5 for symmetry
with libbreezecommon4.so.5.
Test Plan: Built and installed it - still works.
Reviewers: #breeze, zzag
Reviewed By: zzag
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D14599
Summary:
5.12 release introduced new decoration shadows. These new shadows are
bigger, centered, and they try to solve a problem related to depth.
Yet, there are still some problems:
* new(5.12) shadows are hard.
* lighting model is broken. Because 5.12 shadows have been centered and
made bigger, they should be casted from north.
This change refines how decoration shadows look:
* shadows are casted from north(shadow under window is bigger and darker,
side shadows are smaller, etc);
* shadows are made up of several separate shadows(one for overall shape,
another for contrast). The separate shadows are produced by using box
shadow helper(something similar to CSS box-shadow property, except there are
no inset and spread properties);
* shadow sizes(e.g. Small, Medium, and so on) haven't changed.
Because GPUs can't be used for blurring images(in our case), the box shadow
helper is using CPU to blur images. More precisely, when blur radius is < 64,
images are blurred with "separable convolutions", otherwise, images are blurred
with a two-dimensional Fourier Transform.
{F5754389, layout=center, size=full}
Desktop experience with the refined shadows
{F5754390, layout=center, size=full}
Depends on D11198
Reviewers: #breeze, #vdg, hpereiradacosta
Reviewed By: hpereiradacosta
Subscribers: abetts, fabianr, hpereiradacosta, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11069
Summary: As discussed and agreed to in {T8707}, turn off the black triangle that's currently drawn by default when windows are drawn with "No Borders"
Test Plan:
- Tested on a new user: no black triangle when KWin's border setting is "No Borders"
- Tested on an existing user who had `DrawSizeGrip=false` in their `breezerc` file: no change
- Tested on an existing user with who had `DrawSizeGrip=false` in their `breezerc` file and then turned it on in System Settings: black triangle appears as expected
- With the black triangle on, reset to default settings: works as expected
Reviewers: #vdg, #breeze, #plasma, abetts, romangg
Reviewed By: #vdg, #plasma, abetts, romangg
Subscribers: hpereiradacosta, romangg, plasma-devel
Tags: #plasma
Maniphest Tasks: T8707
Differential Revision: https://phabricator.kde.org/D13277
Summary:
All these return statements are at the end of functions which return
nothing.
Reviewers: #breeze, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11638
Summary:
The old null pointer constants(NULL, 0, etc) are converted to the
the new C++11 nullptr keyword with clang-tidy.
Reviewers: #breeze, mart
Reviewed By: mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11635
Summary:
QIcon::pixmap doesn't know anything about the paint device currently
being used so uses qApp->devicePixelRatio.
This works in systemsettings, but not in kwin and we get a standard
resolution pixmap returned.
We can't manually multiply by painter->device->dpr because then system
settings would get scaled twice.
QIcon::paint solves that in a way that won't break should kwin's
qApp->dpr change. Also it's IMHO cleaner as it does the alignment
internally.
BUG: 390639
Test Plan:
System settings look the same
Icon in kwin deco is crisper than before
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10713
Summary:
This implements the menu shadow changes proposed in D9549; now we use a combobox with five options: None, Small, Medium, Large, and Very Large.
Large is the new default value (64px window shadows, 16px menu/tooltip shadows), and implements what we recently changed the default to. Small is the old default value (16px window shadows, 12px menu/tooltip shadows) for people who preferred that.
I had a massive amount of help from @hpereiradacosta; in fact, probably 75% of these changes are his. It's a shame multiple authorship isn't possible. Hugo, feel free to commandeer the revision if you'd like the credit!
Test Plan:
Tested in KDE Neon. New smaller menu shadows for the default window shadow size:
{F5615780}
New shadow chooser UI, with different options:
None (1px border for windows, menus, and tooltips):
{F5623069}
Small (16px window shadows, 12px menu/tooltip shadows); replicates the the old default value:
{F5623071}
Medium (32px window shadows, 14px menu/tooltip shadows):
{F5623072}
Large (64px window shadows, 16px menu/tooltip shadows); the new default:
{F5623073}
Very Large (96px window shadows, 24px menu/tooltip shadows):
{F5623074}
Upgrade story: since this changes the way shadow size is stored in the breezerc file, users who previously had manually set their shadow size to some arbitrary pixel value will now get the new default Large 64 px shadow size.
Reviewers: #vdg, #breeze, hpereiradacosta, abetts, rkflx
Reviewed By: #vdg, hpereiradacosta, abetts, rkflx
Subscribers: rkflx, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9627
Summary:
FEATURE: 388256
#VDG has decided that shadows should be horizontally centered and bigger. This patch implements those changes in the following way:
- Window and menu shadows are now horizontally centered
- Shadow size increased to the maximum value
- Shadow color changed from pure black to a slightly lighter Breeze standard color: Shade Black
Test Plan:
Tested in KDE Neon. Before:
{F5587393}
After:
{F5587390}
Reviewers: abetts, hpereiradacosta, #vdg, #breeze, alake
Reviewed By: abetts, hpereiradacosta, #vdg
Subscribers: rkflx, zzag, cfeck, januz, rpelorosso, apol, mvourlakos, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9549
Summary:
Change "Display window borders for maximized windows" to "Allow resizing maximized windows from window esges"
This makes it obvious what the purpose of the feature is, and why one would want to turn it on.
CCBUG: 387675
Test Plan:
Tested in KDE Neon. feature still works, and only the text is changed. Before:
{F5540181}
After:
{F5542554}
Reviewers: hpereiradacosta, #breeze, #vdg
Reviewed By: hpereiradacosta
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D9284