diff options
Diffstat (limited to 'examples/py/simple-bar/app.py')
-rwxr-xr-x | examples/py/simple-bar/app.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/py/simple-bar/app.py b/examples/py/simple-bar/app.py new file mode 100755 index 0000000..f5a8a80 --- /dev/null +++ b/examples/py/simple-bar/app.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +import sys +import versions +from gi.repository import Astal, Gio +from widget.Bar import Bar +from pathlib import Path + +scss = str(Path(__file__).parent.resolve() / "style.scss") +css = "/tmp/style.css" + + +class App(Astal.Application): + def do_request(self, msg: str, conn: Gio.SocketConnection) -> None: + print(msg) + Astal.write_sock(conn, "hello") + + def do_activate(self) -> None: + self.hold() + Astal.Process.execv(["sass", scss, css]) + self.apply_css(css, True) + for mon in self.get_monitors(): + self.add_window(Bar(mon)) + + +instance_name = "simple-bar" +app = App(instance_name=instance_name) + +if __name__ == "__main__": + if app.acquire_socket(): + app.run(None) + else: + print(Astal.Application.send_message(instance_name, "".join(sys.argv[1:]))) |