31 lines
870 B
Python
31 lines
870 B
Python
import asyncio
|
|
from .workspace_tree import WorkspaceTree
|
|
from .interface import ContextMngrInterface
|
|
from .swayipc import SwayConnection
|
|
import os
|
|
from sdbus import request_default_bus_name_async, sd_bus_open_user, set_default_bus
|
|
|
|
WORKSPACES_FILE = os.environ.get(
|
|
"WORKSPACES_FILE", os.path.expanduser("~/.config/sway/workspaces.json")
|
|
)
|
|
|
|
|
|
def main():
|
|
set_default_bus(sd_bus_open_user())
|
|
loop = asyncio.new_event_loop()
|
|
asyncio.set_event_loop(loop)
|
|
|
|
tree = WorkspaceTree(WORKSPACES_FILE)
|
|
sway = SwayConnection(tree)
|
|
interface = ContextMngrInterface(tree, sway.connection)
|
|
sway.on_change(interface.on_tree_changed)
|
|
|
|
loop.run_until_complete(request_default_bus_name_async("dev.ezri.sway"))
|
|
interface.export_to_dbus("/ContextManager")
|
|
loop.create_task(sway.run())
|
|
loop.run_forever()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|