bar app icons & tooltips

This commit is contained in:
galister
2026-01-05 15:45:19 +09:00
parent b86525d65d
commit b56aa1a8de
30 changed files with 291 additions and 129 deletions

View File

@@ -12,12 +12,11 @@ use wgui::{
task::Tasks,
widget::label::WidgetLabel,
};
use wlx_common::dash_interface::BoxDashInterface;
use wlx_common::{dash_interface::BoxDashInterface, desktop_finder::DesktopEntry};
use crate::{
frontend::{FrontendTask, FrontendTasks},
settings::SettingsIO,
util::desktop_finder::DesktopEntry,
};
#[derive(Clone, Copy, Eq, PartialEq, EnumString, VariantNames, AsRefStr)]
@@ -325,6 +324,7 @@ impl View {
name: params.application.app_name.to_string(),
args,
resolution,
icon: params.application.icon_path.as_ref().map(|x| x.as_ref().to_string()),
userdata,
},
)?;

View File

@@ -20,13 +20,9 @@ use wgui::{
ConstructEssentials,
},
};
use wlx_common::dash_interface::BoxDashInterface;
use wlx_common::{dash_interface::BoxDashInterface, desktop_finder::DesktopEntry};
use crate::util::{
self,
desktop_finder::{self},
various::get_desktop_file_icon_path,
};
use crate::util::{self, various::get_desktop_file_icon_path};
#[derive(Clone)]
enum Task {
@@ -94,13 +90,13 @@ impl View {
}
}
fn get_desktop_entry_from_process(process: &packet_server::WvrProcess) -> Option<desktop_finder::DesktopEntry> {
fn get_desktop_entry_from_process(process: &packet_server::WvrProcess) -> Option<DesktopEntry> {
// TODO: refactor this after we ditch old wayvr-dashboard completely
let Some(dfile_str) = process.userdata.get("desktop-entry") else {
return None;
};
let Ok(desktop_file) = serde_json::from_str::<desktop_finder::DesktopEntry>(dfile_str) else {
let Ok(desktop_file) = serde_json::from_str::<DesktopEntry>(dfile_str) else {
debug_assert!(false); // invalid json???
return None;
};