Summary:
The comment says this should match the default border setting in Breeze. Unfortunately it already doesn't. This patch makes it match the new border size in {D13481}.
Depends on D13481
Reviewers: #breeze, abetts
Reviewed By: abetts
Subscribers: abetts, plasma-devel
Tags: #plasma
Maniphest Tasks: T8707
Differential Revision: https://phabricator.kde.org/D13278
Summary:
Adds a recommendation of border size "None" for the new KWin mechanism, which
allows window decoration plugins to recommend a size for KWin's auto border
size mode.
We want our default session with Breeze to have no window borders in order to
reduce visual clutter, make it look more in line with current design trends
and have cross platform apps look more native, in particular Kirigami apps.
This is a solution for T8707.
Test Plan:
Manually with patches to KWin. More testers desirable, needs a fully refreshed
build of Breeze, otherwise the new property is not part of the compiled shared
library for some reason.
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: pedrogomes1698, hein, januz, ngraham, davidedmundson, graesslin, abetts, mart, plasma-devel
Tags: #plasma
Maniphest Tasks: T8707
Differential Revision: https://phabricator.kde.org/D13481
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