As I mentioned before, I eventually did get the other instances to update as I expected, but using the Gtk “draw” signal to trigger the check, which seemed a bit kludgy. One issue I also had was my confusion in dealing with class variables. I had forgotten that when modifying a class variable, you have to prefix it with the class name. This is a bit of an inconsistency. You can access the value of a class variable using “self.x”. But if you try to modify “self.x”, you create a new instance variable. You need to code it as “ClassName.x”. (I love Python, but it still has its quirks.)
I think there are other possible approaches to synchronizing attributes among various gramplet instances, that I hadn’t yet bothered exploring. I was discussing the issue with my (non-programmer) daughter, and she had in interesting idea. We can’t share Gtk widgets among different parent widgets, but using class variables, we can keep track of the widgets in other instances.
Anyways, I think consistency is important within an application. So I’m happy with each view having it’s own view style setting. And I learned how to use the gramplet options, so now my gramplet uses the “Configure the active view” dialog. I still wanted the radio buttons in my gramplet, so I had to do a bit of extra coding to make sure both ways of setting the view were in synch.
(Based on other feedback, I may end up adding a few other options. But they can go in just the “Configure the active view” dialog.)