feat: bar auto-hide options

Adds two new bar-level options:

- `start_hidden`, which stops a bar from showing when Ironbar starts. It can then be hidden via IPC or auto-hide.
- `autohide`, which takes a delay after which the bar will be hidden when the cursor leaves. Hovering at the screen edge where the bar is located reveals the bar again.

Resolves #167
This commit is contained in:
Jake Stanger
2023-12-10 22:56:43 +00:00
parent 56f423e408
commit ee04cd025a
4 changed files with 111 additions and 27 deletions

View File

@@ -21,7 +21,6 @@ use glib::PropertySet;
use gtk::gdk::Display;
use gtk::prelude::*;
use gtk::Application;
use lazy_static::lazy_static;
use tokio::runtime::Handle;
use tokio::task::{block_in_place, spawn_blocking};
use tracing::{debug, error, info, warn};
@@ -93,7 +92,7 @@ async fn run_with_args() {
static COUNTER: AtomicUsize = AtomicUsize::new(1);
#[cfg(feature = "ipc")]
lazy_static! {
lazy_static::lazy_static! {
static ref VARIABLE_MANAGER: Arc<RwLock<VariableManager>> = arc_rw!(VariableManager::new());
}