diff --git a/techtree-manager/src/tree.rs b/techtree-manager/src/tree.rs
index 44b8be0..e65410b 100644
--- a/techtree-manager/src/tree.rs
+++ b/techtree-manager/src/tree.rs
@@ -27,19 +27,21 @@ impl Element {
let mut attributes = Vec::new();
attributes.push(format!(
- r##"label = "{{{{#{issue_number} | {status}}}|{ty}|{description}}}""##
+ r##"label = <{{{{#{issue_number} | {status}}}|{ty}|{description}}}>"##
));
attributes.push(r#"shape = "record""#.to_owned());
- let color = match (role, status) {
- (Some(SubtreeElementRole::ElementOfInterest), _) => "black",
- (Some(SubtreeElementRole::Dependant), _) => "gray",
- (_, ElementStatus::Missing) => "darkred",
- (_, ElementStatus::Assigned) => "orange",
- (_, ElementStatus::Completed) => "darkgreen",
+ let (color, background) = match (role, status) {
+ (Some(SubtreeElementRole::ElementOfInterest), _) => ("black", "white"),
+ (Some(SubtreeElementRole::Dependant), _) => ("gray", "gray"),
+ (_, ElementStatus::Missing) => ("#800", "#fcc"),
+ (_, ElementStatus::Assigned) => ("#a50", "#ffa"),
+ (_, ElementStatus::Completed) => ("#080", "#afa"),
};
attributes.push(format!(r#"color = "{color}""#));
attributes.push(format!(r#"fontcolor = "{color}""#));
+ attributes.push(format!(r#"fillcolor = "{background}""#));
+ attributes.push(format!(r#"style = "filled""#));
attributes.join(", ")
}