Diff
diff --git a/src/bar/bar.rs b/src/bar/bar.rs
index d45c16e..15764d7 100644
--- a/src/bar/bar.rs
+++ b/src/bar/bar.rs
@@ -1,5 +1,5 @@
use super::font::{Font, FontDraw};
-use crate::config::{BAR_HEIGHT, FONT, SCHEME_NORMAL, SCHEME_OCCUPIED, SCHEME_SELECTED, TAGS};
+use crate::config::{FONT, SCHEME_NORMAL, SCHEME_OCCUPIED, SCHEME_SELECTED, TAGS};
use anyhow::Result;
use x11rb::COPY_DEPTH_FROM_PARENT;
use x11rb::connection::Connection;
@@ -26,7 +26,14 @@ impl Bar {
let graphics_context = connection.generate_id()?;
let width = screen.width_in_pixels;
- let height = BAR_HEIGHT;
+
+ let display = unsafe { x11::xlib::XOpenDisplay(std::ptr::null()) };
+ if display.is_null() {
+ anyhow::bail!("Failed to open X11 display for XFT");
+ }
+ let font = Font::new(display, screen_num as i32, FONT)?;
+
+ let height = font.height() + 4;
connection.create_window(
COPY_DEPTH_FROM_PARENT,
diff --git a/src/config.rs b/src/config.rs
index 50859d4..123e452 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -8,7 +8,6 @@ use x11rb::protocol::xproto::KeyButMask;
pub const BORDER_WIDTH: u32 = 1;
pub const BORDER_FOCUSED: u32 = 0x6dade3;
pub const BORDER_UNFOCUSED: u32 = 0xbbbbbb;
-pub const BAR_HEIGHT: u16 = 32;
pub const FONT: &str = "JetBrainsMono Nerd Font:size=12";
// ========================================