Skip to content

Commit ee07e1c

Browse files
authored
feat(config): new option to toggle covered elements hiding (#72)
* feat(config): new option to toggle covered elements hiding * fix: unicode
1 parent a5d7e5b commit ee07e1c

3 files changed

Lines changed: 10 additions & 1 deletion

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ A comprehensive configuration file is generated when you run this app at the fir
185185
| `workflows` | Sequences of primitive actions for specific UI roles | `[Default Workflows]` |
186186
| `scroll_distance` | Relative distance to scroll when using scroll actions | `0.05` |
187187
| `hide_scrolling_menu` | Whether to hide the menu when scrolling | `false` |
188+
| `hide_covered_elements` | Whether to hide invisible/covered elements when there's overlapping detected. (Press ⌫ to redraw false positives) | `true` |
188189
| `element_min_width` | Minimum width for UI elements to be considered | `15` |
189190
| `element_min_height` | Minimum height for UI elements to be considered | `15` |
190191
| `image_min_size` | Minimum size (width/height) for images | `20` |

src/app_engine/lifecycle.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,9 @@ impl AppEngine {
332332
let need_help_msg = target == Target::ChildElement && self.selected.is_none();
333333

334334
if !self.hint_boxes.is_empty() {
335-
if matches!(target, Target::Clickable | Target::Text) {
335+
if self.config.hide_covered_elements
336+
&& matches!(target, Target::Clickable | Target::Text)
337+
{
336338
self.resolve_overlapping();
337339
}
338340
resolve_collisions(&mut self.hint_boxes, self.hint_width, &self.config.theme);

src/config.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,8 @@ pub struct GlyphlowConfig {
416416
pub scroll_distance: f64,
417417
#[serde(default = "default_hide_scrolling_menu")]
418418
pub hide_scrolling_menu: bool,
419+
#[serde(default = "default_hide_covered_elements")]
420+
pub hide_covered_elements: bool,
419421
#[serde(default = "default_element_min_width")]
420422
pub element_min_width: u16,
421423
#[serde(default = "default_element_min_height")]
@@ -571,6 +573,9 @@ fn default_scroll_distance() -> f64 {
571573
fn default_hide_scrolling_menu() -> bool {
572574
false
573575
}
576+
fn default_hide_covered_elements() -> bool {
577+
true
578+
}
574579
fn default_element_min_width() -> u16 {
575580
15
576581
}
@@ -606,6 +611,7 @@ impl Default for GlyphlowConfig {
606611
workflows: default_workflows(),
607612
scroll_distance: default_scroll_distance(),
608613
hide_scrolling_menu: default_hide_scrolling_menu(),
614+
hide_covered_elements: default_hide_covered_elements(),
609615
element_min_width: default_element_min_width(),
610616
element_min_height: default_element_min_height(),
611617
image_min_size: default_image_min_size(),

0 commit comments

Comments
 (0)