swayipc_command_builder/commands/
workspace.rs1use super::*;
2
3impl Command<Workspace> {
4 pub fn no_auto_back_and_forth(self) -> Command<Workspace<With>> {
5 self.push_str("--no-auto-back-and-forth").transmute()
6 }
7
8 pub fn goto(self) -> Command<Workspace<With>> {
9 self.transmute()
10 }
11
12 pub fn next(self) -> Command<Valid> {
13 self.push_str("next").transmute()
14 }
15
16 pub fn prev(self) -> Command<Valid> {
17 self.push_str("prev").transmute()
18 }
19
20 pub fn next_on_output(self) -> Command<Valid> {
21 self.push_str("next_on_output").transmute()
22 }
23
24 pub fn prev_on_output(self) -> Command<Valid> {
25 self.push_str("prev_on_output").transmute()
26 }
27
28 pub fn back_and_forth(self) -> Command<Valid> {
29 self.push_str("back_and_forth").transmute()
30 }
31
32 pub fn name(self, name: impl AsRef<str>) -> Command<Workspace<X>> {
33 self.push_str(name).transmute()
34 }
35}
36
37impl Command<Workspace<With>> {
38 pub fn name(self, name: impl AsRef<str>) -> Command<Valid> {
39 self.push_str(name).transmute()
40 }
41
42 pub fn number(self, number: isize) -> Command<Valid> {
43 self.push_str(number.to_string()).transmute()
44 }
45}
46
47impl Command<Workspace<X>> {
48 pub fn gaps(self) -> Command<Workspace<X<Gaps>>> {
49 self.transmute()
50 }
51
52 pub fn output(self, output: impl AsRef<str>) -> Command<Valid> {
53 self.push_str(output).transmute()
54 }
55}
56
57impl Command<Workspace<X<Gaps>>> {
58 pub fn inner(self) -> Command<Workspace<X<Gaps<By>>>> {
59 self.push_str("inner").transmute()
60 }
61
62 pub fn outer(self) -> Command<Workspace<X<Gaps<By>>>> {
63 self.push_str("outer").transmute()
64 }
65
66 pub fn horizontal(self) -> Command<Workspace<X<Gaps<By>>>> {
67 self.push_str("horizontal").transmute()
68 }
69
70 pub fn vertical(self) -> Command<Workspace<X<Gaps<By>>>> {
71 self.push_str("vertical").transmute()
72 }
73
74 pub fn top(self) -> Command<Workspace<X<Gaps<By>>>> {
75 self.push_str("top").transmute()
76 }
77
78 pub fn right(self) -> Command<Workspace<X<Gaps<By>>>> {
79 self.push_str("right").transmute()
80 }
81
82 pub fn bottom(self) -> Command<Workspace<X<Gaps<By>>>> {
83 self.push_str("bottom").transmute()
84 }
85
86 pub fn left(self) -> Command<Workspace<X<Gaps<By>>>> {
87 self.push_str("left").transmute()
88 }
89}
90
91impl Command<Workspace<X<Gaps<By>>>> {
92 pub fn amount(self, amount: usize) -> Command<Valid> {
93 self.push_str(amount.to_string()).transmute()
94 }
95}