swiftDialog icon indicating copy to clipboard operation
swiftDialog copied to clipboard

Using `hide:` and `show:` with `--blurscreen` causes screen blur to be solid color

Open BigMacAdmin opened this issue 4 months ago • 2 comments

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 Image

Image

Desktop (please complete the following information):

  • macOS version 26.0.1
  • swiftDialog version 2.5.6 AND 3.0.0.4916

BigMacAdmin avatar Nov 03 '25 05:11 BigMacAdmin

interestingly enough, if you subsequently use "blurscreen: disable" and then "blurscreen: enable" the blur returns as expected.

BigMacAdmin avatar Nov 03 '25 05:11 BigMacAdmin

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.

bartreardon avatar Nov 03 '25 05:11 bartreardon