summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorkotontrion <[email protected]>2024-10-29 13:50:41 +0100
committerkotontrion <[email protected]>2024-10-29 13:50:41 +0100
commit57f20666e716fde56579b8aa638eed1264f793de (patch)
tree59b2ebbd770c80049cea4df82109d28f617675fe /examples
parent4d9ae88b0bab75779876d465f986791d052414ca (diff)
parent7e484188e7492ac7945c854bcc3f26cec1863c91 (diff)
Merge branch 'main' into feat/cava
Diffstat (limited to 'examples')
-rw-r--r--examples/js/.gitignore3
-rw-r--r--examples/js/simple-bar/app.ts7
-rw-r--r--examples/js/simple-bar/widget/Bar.tsx4
-rw-r--r--examples/lua/simple-bar/init.lua7
-rw-r--r--examples/lua/simple-bar/widget/Bar.lua20
-rw-r--r--examples/py/.gitignore2
-rwxr-xr-xexamples/py/simple-bar/app.py20
-rw-r--r--examples/py/simple-bar/versions.py3
-rw-r--r--examples/py/simple-bar/widget/Bar.py8
-rw-r--r--examples/vala/simple-bar/app.in.vala11
-rw-r--r--examples/vala/simple-bar/flake.lock62
-rw-r--r--examples/vala/simple-bar/flake.nix3
-rw-r--r--examples/vala/simple-bar/meson.build3
-rw-r--r--examples/vala/simple-bar/widget/Bar.vala4
14 files changed, 63 insertions, 94 deletions
diff --git a/examples/js/.gitignore b/examples/js/.gitignore
index b0d983b..261d669 100644
--- a/examples/js/.gitignore
+++ b/examples/js/.gitignore
@@ -1,3 +1,6 @@
@girs/
tsconfig.json
env.d.ts
+dist/
+package.json
+package-lock.json
diff --git a/examples/js/simple-bar/app.ts b/examples/js/simple-bar/app.ts
index 05f043a..4b7ea48 100644
--- a/examples/js/simple-bar/app.ts
+++ b/examples/js/simple-bar/app.ts
@@ -1,8 +1,13 @@
-import { App } from "astal"
+import { App } from "astal/gtk3"
import style from "./style.scss"
import Bar from "./widget/Bar"
App.start({
css: style,
+ instanceName: "js",
+ requestHandler(request, res) {
+ print(request)
+ res("ok")
+ },
main: () => App.get_monitors().map(Bar),
})
diff --git a/examples/js/simple-bar/widget/Bar.tsx b/examples/js/simple-bar/widget/Bar.tsx
index 644e835..efc065a 100644
--- a/examples/js/simple-bar/widget/Bar.tsx
+++ b/examples/js/simple-bar/widget/Bar.tsx
@@ -1,4 +1,6 @@
-import { App, Variable, Astal, Gtk, Gdk, GLib, bind } from "astal"
+import { App } from "astal/gtk3"
+import { Variable, GLib, bind } from "astal"
+import { Astal, Gtk, Gdk } from "astal/gtk3"
import Hyprland from "gi://AstalHyprland"
import Mpris from "gi://AstalMpris"
import Battery from "gi://AstalBattery"
diff --git a/examples/lua/simple-bar/init.lua b/examples/lua/simple-bar/init.lua
index aecf7a6..8c412fb 100644
--- a/examples/lua/simple-bar/init.lua
+++ b/examples/lua/simple-bar/init.lua
@@ -1,5 +1,5 @@
local astal = require("astal")
-local App = astal.App
+local App = require("astal.gtk3.app")
local Bar = require("widget.Bar")
local src = require("lib").src
@@ -10,7 +10,12 @@ local css = "/tmp/style.css"
astal.exec("sass " .. scss .. " " .. css)
App:start({
+ instance_name = "lua",
css = css,
+ request_handler = function(msg, res)
+ print(msg)
+ res("ok")
+ end,
main = function()
for _, mon in pairs(App.monitors) do
Bar(mon)
diff --git a/examples/lua/simple-bar/widget/Bar.lua b/examples/lua/simple-bar/widget/Bar.lua
index d44db2d..bf230bb 100644
--- a/examples/lua/simple-bar/widget/Bar.lua
+++ b/examples/lua/simple-bar/widget/Bar.lua
@@ -1,9 +1,9 @@
local astal = require("astal")
-local App = astal.App
-local Widget = astal.Widget
+local App = require("astal.gtk3.app")
+local Widget = require("astal.gtk3.widget")
local Variable = astal.Variable
-local Gdk = astal.Gdk
-local GLib = astal.GLib
+local Gdk = astal.require("Gdk", "3.0")
+local GLib = astal.require("GLib")
local bind = astal.bind
local Mpris = astal.require("AstalMpris")
local Battery = astal.require("AstalBattery")
@@ -134,6 +134,10 @@ local function Workspaces()
return Widget.Box({
class_name = "Workspaces",
bind(hypr, "workspaces"):as(function(wss)
+ table.sort(wss, function(a, b)
+ return a.id < b.id
+ end)
+
return map(wss, function(ws)
return Widget.Button({
class_name = bind(hypr, "focused-workspace"):as(function(fw)
@@ -142,7 +146,9 @@ local function Workspaces()
on_clicked = function()
ws:focus()
end,
- label = bind(ws, "id"):as(tostring),
+ label = bind(ws, "id"):as(function(v)
+ return type(v) == "number" and string.format("%.0f", v) or v
+ end),
})
end)
end),
@@ -164,10 +170,12 @@ local function Time(format)
end
return function(gdkmonitor)
+ local WindowAnchor = astal.require("Astal", "3.0").WindowAnchor
+
return Widget.Window({
class_name = "Bar",
gdkmonitor = gdkmonitor,
- anchor = astal.Astal.WindowAnchor.TOP + astal.Astal.WindowAnchor.LEFT + astal.Astal.WindowAnchor.RIGHT,
+ anchor = WindowAnchor.TOP + WindowAnchor.LEFT + WindowAnchor.RIGHT,
exclusivity = "EXCLUSIVE",
Widget.CenterBox({
diff --git a/examples/py/.gitignore b/examples/py/.gitignore
index b0bff8b..c18dd8d 100644
--- a/examples/py/.gitignore
+++ b/examples/py/.gitignore
@@ -1,3 +1 @@
-pygobject-stubs/
-*.pyi
__pycache__/
diff --git a/examples/py/simple-bar/app.py b/examples/py/simple-bar/app.py
index f5a8a80..17b6782 100755
--- a/examples/py/simple-bar/app.py
+++ b/examples/py/simple-bar/app.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import sys
import versions
-from gi.repository import Astal, Gio
+from gi.repository import AstalIO, Astal, Gio
from widget.Bar import Bar
from pathlib import Path
@@ -10,23 +10,27 @@ css = "/tmp/style.css"
class App(Astal.Application):
- def do_request(self, msg: str, conn: Gio.SocketConnection) -> None:
+ def do_astal_application_request(
+ self, msg: str, conn: Gio.SocketConnection
+ ) -> None:
print(msg)
- Astal.write_sock(conn, "hello")
+ AstalIO.write_sock(conn, "hello")
def do_activate(self) -> None:
self.hold()
- Astal.Process.execv(["sass", scss, css])
+ AstalIO.Process.execv(["sass", scss, css])
self.apply_css(css, True)
+ print("hello")
for mon in self.get_monitors():
self.add_window(Bar(mon))
-instance_name = "simple-bar"
+instance_name = "python"
app = App(instance_name=instance_name)
if __name__ == "__main__":
- if app.acquire_socket():
+ try:
+ print(app.acquire_socket())
app.run(None)
- else:
- print(Astal.Application.send_message(instance_name, "".join(sys.argv[1:])))
+ except Exception as e:
+ print(AstalIO.send_message(instance_name, "".join(sys.argv[1:])))
diff --git a/examples/py/simple-bar/versions.py b/examples/py/simple-bar/versions.py
index a8a1ab8..0e57708 100644
--- a/examples/py/simple-bar/versions.py
+++ b/examples/py/simple-bar/versions.py
@@ -1,6 +1,7 @@
import gi
-gi.require_version("Astal", "0.1")
+gi.require_version("AstalIO", "0.1")
+gi.require_version("Astal", "3.0")
gi.require_version("Gtk", "3.0")
gi.require_version("Gdk", "3.0")
gi.require_version("Gio", "2.0")
diff --git a/examples/py/simple-bar/widget/Bar.py b/examples/py/simple-bar/widget/Bar.py
index 89581f1..3b09dce 100644
--- a/examples/py/simple-bar/widget/Bar.py
+++ b/examples/py/simple-bar/widget/Bar.py
@@ -1,5 +1,6 @@
import math
from gi.repository import (
+ AstalIO,
Astal,
Gtk,
Gdk,
@@ -125,8 +126,8 @@ class SysTray(Gtk.Box):
app.add_icons(theme)
menu = item.create_menu()
- btn = Astal.Button()
- icon = Astal.Icon()
+ btn = Astal.Button(visible=True)
+ icon = Astal.Icon(visible=True)
def on_clicked(btn):
if menu:
@@ -143,6 +144,7 @@ class SysTray(Gtk.Box):
item.bind_property("gicon", icon, "gicon", SYNC)
self.add(btn)
self.items[id] = btn
+ self.show_all()
def remove_item(self, _: Tray.Tray, id: str):
if id in self.items:
@@ -203,7 +205,7 @@ class Time(Astal.Label):
def __init__(self, format="%H:%M - %A %e."):
super().__init__()
self.format = format
- self.interval = Astal.Time.interval(1000, self.sync)
+ self.interval = AstalIO.Time.interval(1000, self.sync)
self.connect("destroy", self.interval.cancel)
Astal.widget_set_class_names(self, ["Time"])
diff --git a/examples/vala/simple-bar/app.in.vala b/examples/vala/simple-bar/app.in.vala
index aece979..b04a1fa 100644
--- a/examples/vala/simple-bar/app.in.vala
+++ b/examples/vala/simple-bar/app.in.vala
@@ -3,7 +3,7 @@ class App : Astal.Application {
public override void request (string msg, SocketConnection conn) {
print(@"$msg\n");
- Astal.write_sock.begin(conn, "hello");
+ AstalIO.write_sock.begin(conn, "ok");
}
public override void activate () {
@@ -14,16 +14,17 @@ class App : Astal.Application {
}
public static void main(string[] args) {
- var instance_name = "simple-bar";
+ var instance_name = "vala";
App.instance = new App() {
instance_name = instance_name
};
- if (App.instance.acquire_socket()) {
+ try {
+ App.instance.acquire_socket();
App.instance.run(null);
- } else {
- print(Astal.Application.send_message(instance_name, string.joinv(" ", args)));
+ } catch (Error err) {
+ print(AstalIO.send_message(instance_name, string.joinv(" ", args)));
}
}
}
diff --git a/examples/vala/simple-bar/flake.lock b/examples/vala/simple-bar/flake.lock
deleted file mode 100644
index 06f572f..0000000
--- a/examples/vala/simple-bar/flake.lock
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "nodes": {
- "astal": {
- "inputs": {
- "nixpkgs": "nixpkgs"
- },
- "locked": {
- "lastModified": 1727022015,
- "narHash": "sha256-ka7aRbReUE6ImjQV8KabMHoojUgb3gtn1/9drMFTtBk=",
- "owner": "aylur",
- "repo": "astal",
- "rev": "8cab7d039e2cf783033a5f1f26cf8be42b0d158e",
- "type": "github"
- },
- "original": {
- "owner": "aylur",
- "repo": "astal",
- "type": "github"
- }
- },
- "nixpkgs": {
- "locked": {
- "lastModified": 1716293225,
- "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1726937504,
- "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "9357f4f23713673f310988025d9dc261c20e70c6",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "astal": "astal",
- "nixpkgs": "nixpkgs_2"
- }
- }
- },
- "root": "root",
- "version": 7
-}
diff --git a/examples/vala/simple-bar/flake.nix b/examples/vala/simple-bar/flake.nix
index 78bfb62..d13c649 100644
--- a/examples/vala/simple-bar/flake.nix
+++ b/examples/vala/simple-bar/flake.nix
@@ -27,7 +27,8 @@
];
buildInputs = [
- astal.packages.${system}.astal
+ astal.packages.${system}.io
+ astal.packages.${system}.astal3
astal.packages.${system}.battery
astal.packages.${system}.wireplumber
astal.packages.${system}.network
diff --git a/examples/vala/simple-bar/meson.build b/examples/vala/simple-bar/meson.build
index d0ef209..10f5dd2 100644
--- a/examples/vala/simple-bar/meson.build
+++ b/examples/vala/simple-bar/meson.build
@@ -8,7 +8,8 @@ pkgconfig_deps = [
dependency('gobject-2.0'),
dependency('gtk+-3.0'),
dependency('libnm'),
- dependency('astal-0.1'),
+ dependency('astal-io-0.1'),
+ dependency('astal-3.0'),
dependency('astal-battery-0.1'),
dependency('astal-wireplumber-0.1'),
dependency('astal-network-0.1'),
diff --git a/examples/vala/simple-bar/widget/Bar.vala b/examples/vala/simple-bar/widget/Bar.vala
index 6e99327..17db831 100644
--- a/examples/vala/simple-bar/widget/Bar.vala
+++ b/examples/vala/simple-bar/widget/Bar.vala
@@ -191,7 +191,7 @@ class Battery : Gtk.Box {
class Time : Astal.Label {
string format;
- Astal.Time interval;
+ AstalIO.Time interval;
void sync() {
label = new DateTime.now_local().format(format);
@@ -199,7 +199,7 @@ class Time : Astal.Label {
public Time(string format = "%H:%M - %A %e.") {
this.format = format;
- interval = Astal.Time.interval(1000, null);
+ interval = AstalIO.Time.interval(1000, null);
interval.now.connect(sync);
destroy.connect(interval.cancel);
Astal.widget_set_class_names(this, {"Time"});