fix theme attrs being unset because they get set before theme.reset
This commit is contained in:
parent
01c5752868
commit
bda9b4d969
|
@ -196,7 +196,7 @@ impl Config {
|
|||
Ok(format!(
|
||||
"{home}/.config/herbstluftwm/hlctl.toml",
|
||||
home = env::var("XDG_CONFIG_HOME")
|
||||
.unwrap_or_log(env::var("HOME").map_err(|_| ConfigError::HomeNotSet)?)
|
||||
.unwrap_or(env::var("HOME").map_err(|_| ConfigError::HomeNotSet)?)
|
||||
))
|
||||
}
|
||||
|
||||
|
@ -220,8 +220,9 @@ impl Config {
|
|||
info!("loading attr settings command set");
|
||||
Ok([
|
||||
(Self::FONT, Some(self.font.clone())),
|
||||
(Self::MOD_KEY, Some(self.mod_key.to_string())),
|
||||
(Self::FONT_BOLD, Some(self.font_bold.clone())),
|
||||
(Self::FONT_PANGO, Some(self.font_pango.clone())),
|
||||
(Self::FONT_PANGO_BOLD, Some(self.font_pango_bold.clone())),
|
||||
(
|
||||
Self::SERVICES,
|
||||
if self.services.len() == 0 {
|
||||
|
@ -230,6 +231,7 @@ impl Config {
|
|||
Some(serde_json::ser::to_string(&self.services)?)
|
||||
},
|
||||
),
|
||||
(Self::MOD_KEY, Some(self.mod_key.to_string())),
|
||||
]
|
||||
.into_iter()
|
||||
.filter(|(_, attr)| attr.is_some())
|
||||
|
@ -326,8 +328,8 @@ impl Config {
|
|||
.into_iter()
|
||||
.map(|mb| HlwmCommand::Mousebind(mb)),
|
||||
)
|
||||
.chain(self.attrs_set()?)
|
||||
.chain(self.theme_command_set())
|
||||
.chain(self.attrs_set()?)
|
||||
.chain(self.tag_command_set())
|
||||
.chain(self.settings_command_set())
|
||||
.chain(self.rule_command_set())
|
||||
|
|
16
src/main.rs
16
src/main.rs
|
@ -53,8 +53,16 @@ fn main() {
|
|||
}
|
||||
}
|
||||
|
||||
fn load_or_default_config() -> Config {
|
||||
Config::from_file(&Path::new(&Config::default_path().unwrap())).unwrap_or_log(Config::default())
|
||||
fn load_config() -> Config {
|
||||
match Config::from_file(&Path::new(&Config::default_path().unwrap())) {
|
||||
Ok(cfg) => cfg,
|
||||
Err(err) => {
|
||||
error!("Could not load config. Error: {err}");
|
||||
error!("");
|
||||
error!("Hint: try calling `hlctl save` to save a default or collected config");
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn x_set_root(path: PathBuf) {
|
||||
|
@ -79,7 +87,7 @@ fn init() {
|
|||
info!("loading config");
|
||||
hlwm::Client::new()
|
||||
.execute_iter(
|
||||
load_or_default_config()
|
||||
load_config()
|
||||
.to_command_set()
|
||||
.expect("marshalling init command set"),
|
||||
)
|
||||
|
@ -87,7 +95,7 @@ fn init() {
|
|||
}
|
||||
|
||||
fn merged_config() -> Config {
|
||||
let default = load_or_default_config();
|
||||
let default = load_config();
|
||||
let mut collected = Config::from_herbstluft();
|
||||
collected.tags = default.tags;
|
||||
|
||||
|
|
Loading…
Reference in New Issue