cosmic-comp/cosmic-comp-config/src/workspace.rs
2024-02-07 21:40:23 +01:00

35 lines
851 B
Rust

// SPDX-License-Identifier: GPL-3.0-only
use serde::{Deserialize, Serialize};
fn default_workspace_layout() -> WorkspaceLayout {
WorkspaceLayout::Vertical
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct WorkspaceConfig {
pub workspace_mode: WorkspaceMode,
#[serde(default = "default_workspace_layout")]
pub workspace_layout: WorkspaceLayout,
}
impl Default for WorkspaceConfig {
fn default() -> Self {
Self {
workspace_mode: WorkspaceMode::OutputBound,
workspace_layout: WorkspaceLayout::Vertical,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum WorkspaceMode {
OutputBound,
Global,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum WorkspaceLayout {
Vertical,
Horizontal,
}