I have a shared dock called alarmBanner which is shown automatically when a new alarm appears. To achieve this I created a custom session property, bound it to the number of active and unacknowledged alarms, and added this change script:
if currentValue.quality.good:
sessions = system.perspective.getSessionInfo()
for session in sessions:
if session.id == self.props.id:
for pageId in session.pageIds:
if currentValue.value <= 0:
system.perspective.closeDock(id="alarmBanner", sessionId=session.id, pageId=pageId)
elif (not previousValue.quality.good) or (previousValue.quality.good and currentValue.value > previousValue.value):
system.perspective.openDock(id="alarmBanner", sessionId=session.id, pageId=pageId)
It works, but when the user is viewing the alarm overview page, which is a full screen view of all alarms, showing the alarm banner is not desirable.
Is there a way to stop the script from opening the dock if one specific page is open?