From f89b080e57d8284e197de9236101a7df266219a9 Mon Sep 17 00:00:00 2001 From: noname Date: Thu, 6 Mar 2025 17:49:33 +1100 Subject: implement outputs --- lib/sway/output.vala | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lib/sway/output.vala (limited to 'lib/sway/output.vala') diff --git a/lib/sway/output.vala b/lib/sway/output.vala new file mode 100644 index 0000000..84eb549 --- /dev/null +++ b/lib/sway/output.vala @@ -0,0 +1,46 @@ +namespace AstalSway { + public class Output : Node { + public string make; + public string model; + public string serial; + public bool active; + public bool power; + public bool focused; + public float scale; + public string subpixel_hinting; + public string transform; + public Workspace current_workspace; + public List workspaces { owned get { + var arr = new List (); + foreach (var node in nodes) { + arr.append(node as Workspace); + } + return arr; + }} + + public Output() { + node_type = NodeType.OUTPUT; + } + + internal override void sync(Json.Object obj) { + base.sync(obj); + } + + internal void sync_output(Json.Object obj) { + make = obj.get_string_member("make"); + model = obj.get_string_member("model"); + serial = obj.get_string_member("serial"); + transform = obj.get_string_member("transform"); + subpixel_hinting = obj.get_string_member("subpixel_hinting"); + active = obj.get_boolean_member("active"); + power = obj.get_boolean_member("power"); + focused = obj.get_boolean_member("focused"); + scale = (float)obj.get_double_member("scale"); + current_workspace = Sway.get_default().get_workspace(obj.get_string_member("current_workspace")); + } + + public override void focus() { + Sway.get_default().run_command(@"focus output $name"); + } + } +} -- cgit v1.2.3