diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/config.rs | 10 | ||||
| -rw-r--r-- | src/state.rs | 18 |
2 files changed, 23 insertions, 5 deletions
diff --git a/src/config.rs b/src/config.rs index 88e94c8..33cb4f7 100644 --- a/src/config.rs +++ b/src/config.rs @@ -26,7 +26,10 @@ pub struct Config { // font and size pub font: Font, pub height: u32, - pub vertical_margin: u32, + pub margin_top: i32, + pub margin_bottom: i32, + pub margin_left: i32, + pub margin_right: i32, pub separator_width: f64, pub tags_r: f64, pub tags_padding: f64, @@ -58,7 +61,10 @@ impl Default for Config { tag_inactive_bg: Color::from_rgba_hex(0x282828ff), font: Font::new("monospace 10"), height: 24, - vertical_margin: 0, + margin_top: 0, + margin_bottom: 0, + margin_left: 0, + margin_right: 0, separator_width: 2.0, tags_r: 0.0, tags_padding: 25.0, diff --git a/src/state.rs b/src/state.rs index 5f4d8b9..5884580 100644 --- a/src/state.rs +++ b/src/state.rs @@ -163,11 +163,23 @@ impl State { wayrs_client::cstr!("i3bar-river").into(), layer_surface_cb, ); - layer_surface.set_size(conn, 0, self.shared_state.config.height); - layer_surface.set_anchor(conn, self.shared_state.config.position.into()); + + let config = &self.shared_state.config; + + layer_surface.set_size(conn, 0, config.height); + layer_surface.set_anchor(conn, config.position.into()); + layer_surface.set_margin( + conn, + config.margin_top, + config.margin_right, + config.margin_bottom, + config.margin_left, + ); layer_surface.set_exclusive_zone( conn, - (self.shared_state.config.height + self.shared_state.config.vertical_margin) as i32, + (self.shared_state.config.height) as i32 + + self.shared_state.config.margin_top + + self.shared_state.config.margin_bottom, ); // Note: layer_surface is commited when we receive the scale factor of this output |
