Implement window kill support for really bad keywords.
parent
c82c52910c
commit
2e4856f0e5
|
@ -8,6 +8,7 @@ from pydantic import BaseModel
|
||||||
class Block(BaseModel):
|
class Block(BaseModel):
|
||||||
name: str
|
name: str
|
||||||
keywords: List[str]
|
keywords: List[str]
|
||||||
|
kill: bool = False
|
||||||
|
|
||||||
|
|
||||||
class Config(BaseModel):
|
class Config(BaseModel):
|
||||||
|
|
|
@ -139,7 +139,12 @@ def window_is_blocked(config: Config, silent: bool = False) -> bool:
|
||||||
return False
|
return False
|
||||||
for b in blackblocks:
|
for b in blackblocks:
|
||||||
for k in b.keywords:
|
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:
|
if not silent:
|
||||||
xwindow.notify(f"{window.name[:30]} blocked by {b.name}.")
|
xwindow.notify(f"{window.name[:30]} blocked by {b.name}.")
|
||||||
logging.warning(f"[red]{window.name[:50]}[/red] "
|
logging.warning(f"[red]{window.name[:50]}[/red] "
|
||||||
|
|
Loading…
Reference in New Issue