diff options
author | noname <[email protected]> | 2025-03-06 17:49:33 +1100 |
---|---|---|
committer | noname <[email protected]> | 2025-03-06 18:49:02 +1100 |
commit | f89b080e57d8284e197de9236101a7df266219a9 (patch) | |
tree | f01f085ebb301fb54acbb797303992e48be4441a /lib/sway/output.vala | |
parent | 90019b99b671664855c1c53a30da39ca572f4a0e (diff) |
implement outputs
Diffstat (limited to 'lib/sway/output.vala')
-rw-r--r-- | lib/sway/output.vala | 46 |
1 files changed, 46 insertions, 0 deletions
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<weak Workspace> workspaces { owned get { + var arr = new List<weak Workspace> (); + 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"); + } + } +} |