mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-27 01:41:58 -06:00
Support selecting agent context for screenshots
This commit is contained in:
@@ -87,6 +87,15 @@ def _coerce_text(value):
|
||||
return ''
|
||||
|
||||
|
||||
def _normalize_mode(value):
|
||||
text = _coerce_text(value).strip().lower()
|
||||
if text in {'interactive', 'currentuser', 'user'}:
|
||||
return 'currentuser'
|
||||
if text in {'system', 'svc', 'service'}:
|
||||
return 'system'
|
||||
return ''
|
||||
|
||||
|
||||
class ScreenshotRegion(QtWidgets.QWidget):
|
||||
def __init__(self, ctx, node_id, x=100, y=100, w=300, h=200, alias=None):
|
||||
super().__init__()
|
||||
@@ -376,6 +385,8 @@ class Role:
|
||||
'h': _coerce_int(cfg.get('h'), 200, minimum=1),
|
||||
'visible': _coerce_bool(cfg.get('visible'), True),
|
||||
'alias': _coerce_text(cfg.get('alias')),
|
||||
'target_agent_mode': _normalize_mode(cfg.get('target_agent_mode')),
|
||||
'target_agent_host': _coerce_text(cfg.get('target_agent_host')),
|
||||
}
|
||||
return norm
|
||||
except Exception:
|
||||
@@ -387,6 +398,11 @@ class Role:
|
||||
if not nid:
|
||||
return
|
||||
|
||||
target_mode = cfg.get('target_agent_mode') or ''
|
||||
current_mode = getattr(self.ctx, 'service_mode', '') or ''
|
||||
if target_mode and current_mode and target_mode != current_mode:
|
||||
return
|
||||
|
||||
alias = cfg.get('alias', '')
|
||||
visible = cfg.get('visible', True)
|
||||
reg = self.ctx.config.data.setdefault('regions', {})
|
||||
|
||||
Reference in New Issue
Block a user