summaryrefslogtreecommitdiff
path: root/examples/py/simple-bar/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/py/simple-bar/app.py')
-rwxr-xr-xexamples/py/simple-bar/app.py32
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:])))