diff --git a/antidrift/config.py b/antidrift/config.py index 30f39b6..f3fbba3 100644 --- a/antidrift/config.py +++ b/antidrift/config.py @@ -8,6 +8,7 @@ from pydantic import BaseModel class Block(BaseModel): name: str keywords: List[str] + kill: bool = False class Config(BaseModel): diff --git a/antidrift/daemon.py b/antidrift/daemon.py index 2eeedd7..2263388 100644 --- a/antidrift/daemon.py +++ b/antidrift/daemon.py @@ -139,7 +139,12 @@ def window_is_blocked(config: Config, silent: bool = False) -> bool: return False for b in blackblocks: for k in b.keywords: - if k in window.keywords: + if k in window.keywords and b.kill: + window.kill() + xwindow.notify(f"Kill for {k} on {b.name}.") + logging.warning(f"Kill for [red]{k}[/red] on [red]{b.name}[/red].") + return True + elif k in window.keywords: if not silent: xwindow.notify(f"{window.name[:30]} blocked by {b.name}.") logging.warning(f"[red]{window.name[:50]}[/red] "