1
0
Fork 0
forked from wry/wry

metal: implement VRR

This commit is contained in:
Julian Orth 2024-07-17 16:30:52 +02:00
parent cd09e57568
commit 2d7c13b0b4
35 changed files with 1320 additions and 91 deletions

View file

@ -23,6 +23,7 @@ use {
},
status::StatusParser,
theme::ThemeParser,
vrr::VrrParser,
},
spanned::SpannedErrorExt,
Action, Config, Theme,
@ -106,6 +107,7 @@ impl Parser for ConfigParser<'_> {
complex_shortcuts_val,
focus_follows_mouse,
window_management_key_val,
vrr_val,
),
) = ext.extract((
(
@ -138,6 +140,7 @@ impl Parser for ConfigParser<'_> {
opt(val("complex-shortcuts")),
recover(opt(bol("focus-follows-mouse"))),
recover(opt(str("window-management-key"))),
opt(val("vrr")),
),
))?;
let mut keymap = None;
@ -302,6 +305,15 @@ impl Parser for ConfigParser<'_> {
window_management_key = Some(key);
}
}
let mut vrr = None;
if let Some(value) = vrr_val {
match value.parse(&mut VrrParser(self.0)) {
Ok(v) => vrr = Some(v),
Err(e) => {
log::warn!("Could not parse VRR setting: {}", self.0.error(e));
}
}
}
Ok(Config {
keymap,
repeat_rate,
@ -326,6 +338,7 @@ impl Parser for ConfigParser<'_> {
idle,
focus_follows_mouse: focus_follows_mouse.despan().unwrap_or(true),
window_management_key,
vrr,
})
}
}