rmux_proto/request/
layout.rs1use serde::{Deserialize, Serialize};
2
3use crate::{LayoutName, SessionName, WindowTarget};
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub enum SelectLayoutTarget {
8 Session(SessionName),
10 Window(WindowTarget),
12}
13
14#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
16pub struct SelectLayoutRequest {
17 pub target: SelectLayoutTarget,
19 pub layout: LayoutName,
21}
22
23#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
25pub struct SelectCustomLayoutRequest {
26 pub target: SelectLayoutTarget,
28 pub layout: String,
30}
31
32#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
34pub struct SelectOldLayoutRequest {
35 pub target: SelectLayoutTarget,
37}
38
39#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
41pub struct SpreadLayoutRequest {
42 pub target: SelectLayoutTarget,
44}
45
46#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
48pub struct NextLayoutRequest {
49 pub target: WindowTarget,
51}
52
53#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
55pub struct PreviousLayoutRequest {
56 pub target: WindowTarget,
58}