mod theme;
pub use theme::Theme;
#[derive(serde::Serialize, serde::Deserialize, Clone, Debug)]
pub struct Config {
pub font: egui::FontId,
pub initial_size: (u16, u16),
pub bell_enabled: bool,
pub cursor_blinking: CursorBlinking,
pub theme: Theme,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
#[derive(strum::EnumIter, strum::Display)]
pub enum CursorBlinking {
#[strum(to_string = "Terminal defined")]
Terminal,
Always,
Never,
}
impl Default for Config {
fn default() -> Self {
Self {
font: Self::default_font(),
initial_size: (80, 24),
bell_enabled: true,
cursor_blinking: CursorBlinking::Always,
theme: Theme::default(),
}
}
}
impl Config {
pub fn default_font() -> egui::FontId {
egui::FontId {
size: 14.,
family: egui::FontFamily::Name("Iosevka Term".into()),
}
}
}