fix: live settings override auto blur
This commit is contained in:
parent
822d3b2a0f
commit
cad4be9401
1 changed files with 16 additions and 10 deletions
|
|
@ -930,8 +930,7 @@ impl<T: Application> Cosmic<T> {
|
|||
}
|
||||
for (id, wrapper, ..) in &self.surface_views {
|
||||
let overriden = wrapper.2(&self.app);
|
||||
if core.blur(&theme, Some(wrapper.1)) || overriden.blur.unwrap_or_default()
|
||||
{
|
||||
if core.blur(&theme, Some(wrapper.1)) && overriden.blur.unwrap_or(true) {
|
||||
cmds.push(blur(*id));
|
||||
} else if overriden.blur.is_some_and(|b| !b) {
|
||||
cmds.push(iced::window::disable_blur(*id));
|
||||
|
|
@ -1151,7 +1150,7 @@ impl<T: Application> Cosmic<T> {
|
|||
for (id, wrapper, ..) in &self.surface_views {
|
||||
let overriden = wrapper.2(&self.app);
|
||||
if core.blur(&cosmic_theme, Some(wrapper.1))
|
||||
|| overriden.blur.unwrap_or_default()
|
||||
&& overriden.blur.unwrap_or(true)
|
||||
{
|
||||
cmds.push(blur(*id));
|
||||
} else if overriden.blur.is_some_and(|b| !b) {
|
||||
|
|
@ -1296,7 +1295,7 @@ impl<T: Application> Cosmic<T> {
|
|||
for (id, wrapper, ..) in &self.surface_views {
|
||||
let overriden = wrapper.2(&self.app);
|
||||
if core.blur(&cosmic_theme, Some(wrapper.1))
|
||||
|| overriden.blur.unwrap_or_default()
|
||||
&& overriden.blur.unwrap_or(true)
|
||||
{
|
||||
cmds.push(blur(*id));
|
||||
} else if overriden.blur.is_some_and(|b| !b) {
|
||||
|
|
@ -1415,14 +1414,15 @@ impl<T: Application> Cosmic<T> {
|
|||
// TODO do we need per window sharp corners?
|
||||
let rounded = (!self.app.core().window.sharp_corners
|
||||
&& self.app.core().sync_window_border_radii_to_theme())
|
||||
|| self.surface_views.get(&id).is_some_and(
|
||||
|(_, surface_type, live_settings, _)| {
|
||||
|| self
|
||||
.surface_views
|
||||
.get(&id)
|
||||
.is_some_and(|(_, surface_type, _, _)| {
|
||||
matches!(
|
||||
surface_type,
|
||||
SurfaceIdWrapper::Popup(_) | SurfaceIdWrapper::LayerSurface(_)
|
||||
)
|
||||
},
|
||||
);
|
||||
});
|
||||
let new_blur = self.blur_enabled && {
|
||||
let t = theme.cosmic();
|
||||
match self.app.core().app_type() {
|
||||
|
|
@ -1435,7 +1435,13 @@ impl<T: Application> Cosmic<T> {
|
|||
let wrapper = self.surface_views.get(&id).map(|s| s.1);
|
||||
|
||||
// this will blur untracked windows as if they were the main window
|
||||
let blur_cmd = if self.app.core().blur(&theme, wrapper) {
|
||||
let blur_cmd = if self.app.core().blur(&theme, wrapper)
|
||||
&& self
|
||||
.surface_views
|
||||
.get(&id)
|
||||
.and_then(|s| s.2(&self.app).blur)
|
||||
.unwrap_or(true)
|
||||
{
|
||||
let blur = if new_blur {
|
||||
iced::window::enable_blur
|
||||
} else {
|
||||
|
|
@ -1518,7 +1524,7 @@ impl<T: Application> Cosmic<T> {
|
|||
for (id, wrapper, ..) in &self.surface_views {
|
||||
let overriden = wrapper.2(&self.app);
|
||||
if self.app.core().blur(&t, Some(wrapper.1))
|
||||
|| overriden.blur.unwrap_or_default()
|
||||
&& overriden.blur.unwrap_or(true)
|
||||
{
|
||||
cmds.push(blur(*id));
|
||||
} else if overriden.blur.is_some_and(|b| !b) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue