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 {
|
for (id, wrapper, ..) in &self.surface_views {
|
||||||
let overriden = wrapper.2(&self.app);
|
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));
|
cmds.push(blur(*id));
|
||||||
} else if overriden.blur.is_some_and(|b| !b) {
|
} else if overriden.blur.is_some_and(|b| !b) {
|
||||||
cmds.push(iced::window::disable_blur(*id));
|
cmds.push(iced::window::disable_blur(*id));
|
||||||
|
|
@ -1151,7 +1150,7 @@ impl<T: Application> Cosmic<T> {
|
||||||
for (id, wrapper, ..) in &self.surface_views {
|
for (id, wrapper, ..) in &self.surface_views {
|
||||||
let overriden = wrapper.2(&self.app);
|
let overriden = wrapper.2(&self.app);
|
||||||
if core.blur(&cosmic_theme, Some(wrapper.1))
|
if core.blur(&cosmic_theme, Some(wrapper.1))
|
||||||
|| overriden.blur.unwrap_or_default()
|
&& overriden.blur.unwrap_or(true)
|
||||||
{
|
{
|
||||||
cmds.push(blur(*id));
|
cmds.push(blur(*id));
|
||||||
} else if overriden.blur.is_some_and(|b| !b) {
|
} 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 {
|
for (id, wrapper, ..) in &self.surface_views {
|
||||||
let overriden = wrapper.2(&self.app);
|
let overriden = wrapper.2(&self.app);
|
||||||
if core.blur(&cosmic_theme, Some(wrapper.1))
|
if core.blur(&cosmic_theme, Some(wrapper.1))
|
||||||
|| overriden.blur.unwrap_or_default()
|
&& overriden.blur.unwrap_or(true)
|
||||||
{
|
{
|
||||||
cmds.push(blur(*id));
|
cmds.push(blur(*id));
|
||||||
} else if overriden.blur.is_some_and(|b| !b) {
|
} 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?
|
// TODO do we need per window sharp corners?
|
||||||
let rounded = (!self.app.core().window.sharp_corners
|
let rounded = (!self.app.core().window.sharp_corners
|
||||||
&& self.app.core().sync_window_border_radii_to_theme())
|
&& self.app.core().sync_window_border_radii_to_theme())
|
||||||
|| self.surface_views.get(&id).is_some_and(
|
|| self
|
||||||
|(_, surface_type, live_settings, _)| {
|
.surface_views
|
||||||
|
.get(&id)
|
||||||
|
.is_some_and(|(_, surface_type, _, _)| {
|
||||||
matches!(
|
matches!(
|
||||||
surface_type,
|
surface_type,
|
||||||
SurfaceIdWrapper::Popup(_) | SurfaceIdWrapper::LayerSurface(_)
|
SurfaceIdWrapper::Popup(_) | SurfaceIdWrapper::LayerSurface(_)
|
||||||
)
|
)
|
||||||
},
|
});
|
||||||
);
|
|
||||||
let new_blur = self.blur_enabled && {
|
let new_blur = self.blur_enabled && {
|
||||||
let t = theme.cosmic();
|
let t = theme.cosmic();
|
||||||
match self.app.core().app_type() {
|
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);
|
let wrapper = self.surface_views.get(&id).map(|s| s.1);
|
||||||
|
|
||||||
// this will blur untracked windows as if they were the main window
|
// 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 {
|
let blur = if new_blur {
|
||||||
iced::window::enable_blur
|
iced::window::enable_blur
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1518,7 +1524,7 @@ impl<T: Application> Cosmic<T> {
|
||||||
for (id, wrapper, ..) in &self.surface_views {
|
for (id, wrapper, ..) in &self.surface_views {
|
||||||
let overriden = wrapper.2(&self.app);
|
let overriden = wrapper.2(&self.app);
|
||||||
if self.app.core().blur(&t, Some(wrapper.1))
|
if self.app.core().blur(&t, Some(wrapper.1))
|
||||||
|| overriden.blur.unwrap_or_default()
|
&& overriden.blur.unwrap_or(true)
|
||||||
{
|
{
|
||||||
cmds.push(blur(*id));
|
cmds.push(blur(*id));
|
||||||
} else if overriden.blur.is_some_and(|b| !b) {
|
} else if overriden.blur.is_some_and(|b| !b) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue