summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/caelestia/subcommands/pip.py6
-rw-r--r--src/caelestia/utils/hypr.py6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/caelestia/subcommands/pip.py b/src/caelestia/subcommands/pip.py
index 4ee50b4..6f4727d 100644
--- a/src/caelestia/subcommands/pip.py
+++ b/src/caelestia/subcommands/pip.py
@@ -29,8 +29,10 @@ class Command:
off = min(mon["width"], mon["height"]) * 0.03
move_to = f"{int(mon['x']) + int(mon['width'] - off - width * scale_factor)} {int(mon['y']) + int(mon['height'] - off - height * scale_factor)}"
- hypr.dispatch("resizewindowpixel", "exact", f"{scaled_win_size},address:{address}")
- hypr.dispatch("movewindowpixel", "exact", f"{move_to},address:{address}")
+ hypr.batch(
+ f"dispatch resizewindowpixel exact {scaled_win_size},address:{address}",
+ f"dispatch movewindowpixel exact {move_to},address:{address}",
+ )
def daemon(self) -> None:
with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock:
diff --git a/src/caelestia/utils/hypr.py b/src/caelestia/utils/hypr.py
index f89cd98..81bc123 100644
--- a/src/caelestia/utils/hypr.py
+++ b/src/caelestia/utils/hypr.py
@@ -27,3 +27,9 @@ def message(msg: str, json: bool = True) -> str | dict[str, any]:
def dispatch(dispatcher: str, *args: list[any]) -> bool:
return message(f"dispatch {dispatcher} {' '.join(map(str, args))}".rstrip(), json=False) == "ok"
+
+
+def batch(*msgs: list[str], json: bool = False) -> str | dict[str, any]:
+ if json:
+ msgs = (f"j/{m.strip()}" for m in msgs)
+ return message(f"[[BATCH]]{';'.join(msgs)}", json=False)