Compare commits
2 commits
fd777c2683
...
ef8bf677ae
Author | SHA1 | Date | |
---|---|---|---|
ef8bf677ae | |||
e127cdde6a |
1 changed files with 4 additions and 2 deletions
|
@ -2,7 +2,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
import collections.abc
|
||||
import typing
|
||||
import asyncio
|
||||
import signal
|
||||
|
@ -380,6 +379,7 @@ class Config(pydantic.BaseModel):
|
|||
signal: typing.Optional[Signal] = None
|
||||
timeout: int = 3000
|
||||
programs: typing.List[ProgramConfig]
|
||||
final_workspace: typing.Optional[str] = None
|
||||
|
||||
class RuntimeData(pydantic.BaseModel):
|
||||
programs: typing.List[ProgramConfig] = []
|
||||
|
@ -398,7 +398,6 @@ def window_new(runtime_data: RuntimeData, *, debug):
|
|||
container_id = e.ipc_data['container']['id']
|
||||
await ipc.command(f'for_window [con_id="{container_id}"] focus')
|
||||
await ipc.command(f'move container to workspace {cfg.workspace}')
|
||||
await asyncio.sleep(1)
|
||||
runtime_data.programs.pop(i)
|
||||
if not runtime_data.programs:
|
||||
ipc.main_quit()
|
||||
|
@ -456,6 +455,9 @@ async def run(config: Config, *, debug: bool):
|
|||
await asyncio.wait_for(runtime_data.ipc.main(), timeout=new_timeout/1000)
|
||||
except asyncio.TimeoutError:
|
||||
return 1
|
||||
finally:
|
||||
if config.final_workspace is not None:
|
||||
await runtime_data.ipc.command(f'workspace {config.final_workspace}')
|
||||
return 0
|
||||
|
||||
@click.group()
|
||||
|
|
Loading…
Reference in a new issue