use serde::{Deserialize, Serialize};
#[allow(clippy::module_name_repetitions)]
#[derive(Debug, Serialize, Deserialize, Copy, Clone, PartialEq, Eq, Hash)]
pub enum BaseCommand {
Execute,
CloseWindow,
CloseAllOtherWindows,
SwapTags,
SoftReload,
HardReload,
AttachScratchPad,
ReleaseScratchPad,
NextScratchPadWindow,
PrevScratchPadWindow,
ToggleScratchPad,
ToggleFullScreen,
ToggleSticky,
GotoTag,
ReturnToLastTag,
FloatingToTile,
TileToFloating,
ToggleFloating,
MoveWindowUp,
MoveWindowDown,
MoveWindowTop,
FocusNextTag,
FocusPreviousTag,
FocusWindow,
FocusWindowUp,
FocusWindowDown,
FocusWindowTop,
FocusWorkspaceNext,
FocusWorkspacePrevious,
MoveToTag,
MoveWindowToNextTag,
MoveWindowToPreviousTag,
MoveToLastWorkspace,
MoveWindowToNextWorkspace,
MoveWindowToPreviousWorkspace,
NextLayout,
PreviousLayout,
SetLayout,
RotateTag,
IncreaseMainWidth,
DecreaseMainWidth,
SetMarginMultiplier,
UnloadTheme,
LoadTheme,
}
impl std::convert::From<BaseCommand> for String {
fn from(command: BaseCommand) -> Self {
match command {
BaseCommand::SwapTags => "SwapScreens".to_owned(),
BaseCommand::GotoTag => "GoToTag".to_owned(),
BaseCommand::MoveToTag => "SendWindowToTag".to_owned(),
BaseCommand::MoveToLastWorkspace => "MoveWindowToLastWorkspace".to_owned(),
BaseCommand::Execute => String::new(),
_ => format!("{command:?}"),
}
}
}