diff --git a/daemon/src/display/generic_framebuffer.rs b/daemon/src/display/generic_framebuffer.rs index 27cc9b3..30bfd58 100644 --- a/daemon/src/display/generic_framebuffer.rs +++ b/daemon/src/display/generic_framebuffer.rs @@ -215,9 +215,13 @@ pub fn update_ui( Err(e) => error!("error receiving framebuffer update message: {e}"), } + let mut status_bar_height = 2; match display_level { 2 => fb.draw_gif(img.unwrap()).await, 3 => fb.draw_img(img.unwrap()).await, + 4 => { + status_bar_height = fb.dimensions().height; + } 128 => { fb.draw_line(Color::Cyan, 128).await; fb.draw_line(Color::Pink, 102).await; @@ -225,12 +229,13 @@ pub fn update_ui( fb.draw_line(Color::Pink, 50).await; fb.draw_line(Color::Cyan, 25).await; } - // this branch id for ui_level 1, which is also the default if an + // this branch is for ui_level 1, which is also the default if an // unknown value is used _ => {} }; let (color, pattern) = display_style; - fb.draw_patterned_line(color, 2, pattern).await; + fb.draw_patterned_line(color, status_bar_height, pattern) + .await; tokio::time::sleep(Duration::from_millis(REFRESH_RATE)).await; } }); diff --git a/daemon/web/src/lib/components/ConfigForm.svelte b/daemon/web/src/lib/components/ConfigForm.svelte index 146a97c..e2cc004 100644 --- a/daemon/web/src/lib/components/ConfigForm.svelte +++ b/daemon/web/src/lib/components/ConfigForm.svelte @@ -107,6 +107,7 @@ + diff --git a/dist/config.toml.in b/dist/config.toml.in index 627a36c..3fe4ba3 100644 --- a/dist/config.toml.in +++ b/dist/config.toml.in @@ -12,6 +12,7 @@ colorblind_mode = false # 1 = Subtle mode, display a colored line at the top of the screen when rayhunter is running (green=running, white=paused, red=warnings) # 2 = Demo Mode, display a fun orca gif # 3 = display the EFF logo +# 4 = High Visibility mode, fill the entire screen with the status color (green=running, white=paused, red=warnings) # # TP-Link with one-bit display: # 0 = invisible mode diff --git a/doc/configuration.md b/doc/configuration.md index 50e2955..aebd65f 100644 --- a/doc/configuration.md +++ b/doc/configuration.md @@ -9,7 +9,8 @@ Through web UI you can set: - *Invisible mode*: Rayhunter does not show anything on the built-in screen - *Subtle mode (colored line)*: Rayhunter shows green line if there are no warnings, red line if there are warnings (warnings could be checked through web UI) and white line if Rayhunter is not recording. - *Demo mode (orca gif)*, which shows image of orcas *and* colored line. - - *EFF logo*, which shows EFF logo and *and* colored line. + - *EFF logo*, which shows EFF logo *and* colored line. + - *High visibility (full screen color)*: fills the entire screen with the status color (green for recording, red for warnings, white for paused). - **Device Input Mode**, which defines behavior of built-in power button of the device. *Device Input Mode* could be: - *Disable button control*: built-in power button of the device is not used by Rayhunter. - *Double-tap power button to start/stop recording*: double clicking on a built-in power button of the device stops and immediately restarts the recording. This could be useful if Rayhunter's heuristics is triggered and you get the red line, and you want to "reset" the past warnings. Normally you can do that through web UI, but sometimes it is easier to double tap on power button.