This IDE script is still the best workaround I’ve found. It’s supremely annoying, but less annoying than dealing with all the changes. You only need to run it once per project load.
Module Toucher
Sub TouchPath(Path As String)
Var ProjectItemsString As String = SubLocations(Path)
Var ProjectItems() As String = ProjectItemsString.Split(ChrB(9))
For Each ItemName As String In ProjectItems
Var ItemPath As String = ItemName
If Path <> "" Then
ItemPath = Path + "." + ItemPath
End If
If SelectProjectItem(ItemPath) Then
Var ItemType As String = TypeOfCurrentLocation
If ItemType = "Window" Then
Var HasBackgroundColor As String = PropertyValue("HasBackgroundColor")
PropertyValue("HasBackgroundColor") = If(HasBackgroundColor = "True", "False", "True")
PropertyValue("HasBackgroundColor") = HasBackgroundColor
End If
End If
TouchPath(ItemPath)
Next
End Sub
End Module
Toucher.TouchPath("")
And the Feedback report just for good measure: <https://xojo.com/issue/58751>