Extract and apply StartupWMClass for proper taskbar icons
This commit is contained in:
@@ -61,6 +61,7 @@ pub struct AppImageMetadata {
|
||||
pub desktop_actions: Vec<String>,
|
||||
pub has_signature: bool,
|
||||
pub screenshot_urls: Vec<String>,
|
||||
pub startup_wm_class: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
@@ -76,6 +77,7 @@ struct DesktopEntryFields {
|
||||
mime_types: Vec<String>,
|
||||
terminal: bool,
|
||||
x_appimage_name: Option<String>,
|
||||
startup_wm_class: Option<String>,
|
||||
actions: Vec<String>,
|
||||
}
|
||||
|
||||
@@ -367,6 +369,7 @@ fn parse_desktop_entry(content: &str) -> DesktopEntryFields {
|
||||
}
|
||||
"Terminal" => fields.terminal = value == "true",
|
||||
"X-AppImage-Name" => fields.x_appimage_name = Some(value.to_string()),
|
||||
"StartupWMClass" => fields.startup_wm_class = Some(value.to_string()),
|
||||
"Actions" => {
|
||||
fields.actions = value
|
||||
.split(';')
|
||||
@@ -814,6 +817,7 @@ pub fn inspect_appimage(
|
||||
.as_ref()
|
||||
.map(|a| a.screenshot_urls.clone())
|
||||
.unwrap_or_default(),
|
||||
startup_wm_class: fields.startup_wm_class,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user