Using `hide:` and `show:` with `--blurscreen` causes screen blur to be solid color
Describe the bug This bug is present in 2.5.6 as well as the latest 3.0beta2
When using dialog with --blurscreen, if you issue a hide: command to the command file and then subsequently show: the window again, instead of having a blurred screen the background will be opaque.
The opaque screen appears to be identical to how --blurscreen works when you have "Accessibility > Displays > Reduce Transparency" enabled, but this issue occurs when that feature is turned off.
To Reproduce I wrote a POC script:
#!/bin/zsh --no-rcs
dialogCommandFile="/var/tmp/blur.log" ; touch "$dialogCommandFile"
/usr/local/bin/dialog \
--blurscreen \
--title "So Blurry..." \
--message "I love how blurry I am" \
--commandfile "$dialogCommandFile" \
&
sleep 3
echo "hide:" >> "$dialogCommandFile"
sleep 3
echo "show:" >> "$dialogCommandFile"
sleep .1
echo "message: Where'd my blur go?" >> "$dialogCommandFile"
sleep 6
echo "quit:" >> "$dialogCommandFile"
rm "$dialogCommandFile"
Expected behavior Expecting the background remains blurred as when the original dialog window is drawn
Screenshots
Desktop (please complete the following information):
- macOS version 26.0.1
- swiftDialog version
2.5.6AND3.0.0.4916
interestingly enough, if you subsequently use "blurscreen: disable" and then "blurscreen: enable" the blur returns as expected.
That's a rendering issue with macOS and can be replicated by using a blur screen and swiping between virtual desktops. The blur layer material needs to compose a representation of what's underneath and the change doesn't always trigger the view to re-compose what's underneath.
enable and disable work as those are tearing down the old blur view and creating a new one which in turn will create a representation of what's underneath it.