diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 3cc6bd6..9ed94a4 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -43,14 +43,18 @@ async fn get_processes(state: State<'_, AppState>) -> Result, S .map(|(pid, process)| { let status = match process.status() { ProcessStatus::Run => "Running", - ProcessStatus::Sleep => { - if process.cpu_usage() < 0.1 { - "Idle" - } else { - "Sleeping" - } - }, - _ => "Unknown" + ProcessStatus::Sleep => "Sleeping", + ProcessStatus::Idle => "Idle", + ProcessStatus::Stop => "Stopped", + ProcessStatus::Zombie => "Zombie", + ProcessStatus::Tracing => "Tracing", + ProcessStatus::Dead => "Dead", + ProcessStatus::Wakekill => "Wake Kill", + ProcessStatus::Waking => "Waking", + ProcessStatus::Parked => "Parked", + ProcessStatus::LockBlocked => "Lock Blocked", + ProcessStatus::UninterruptibleDiskSleep => "Disk Sleep", + ProcessStatus::Unknown(_) => "Unknown" }; let user = process.user_id() diff --git a/src/lib/components/ToolBar.svelte b/src/lib/components/ToolBar.svelte index 1895e9c..bd4de08 100644 --- a/src/lib/components/ToolBar.svelte +++ b/src/lib/components/ToolBar.svelte @@ -19,13 +19,12 @@ const itemsPerPageOptions = [25, 50, 100, 250, 500]; let showColumnMenu = false; - const statusOptions = [ { value: "all", label: "All Statuses" }, - { value: "Running", label: "🏃 Running" }, - { value: "Sleeping", label: "😴 Sleeping" }, - { value: "Idle", label: "⌛ Idle" }, - { value: "Unknown", label: "🫥 Unknown" }, + ...Object.values(statusMap).map((status) => ({ + value: status.label, + label: status.label, + })), ]; function changePage(page: number) { diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index 85c938d..dd38d33 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -20,9 +20,54 @@ export const statusMap: Record = { emoji: "⌛", color: "var(--overlay0)", }, + "Stopped": { + label: "Stopped", + emoji: "🛑", + color: "var(--red)", + }, + "Zombie": { + label: "Zombie", + emoji: "🧟", + color: "var(--red)", + }, + "Tracing": { + label: "Tracing", + emoji: "🔍", + color: "var(--yellow)", + }, + "Dead": { + label: "Dead", + emoji: "💀", + color: "var(--red)", + }, + "Wakekill": { + label: "Wake Kill", + emoji: "🔪", + color: "var(--red)", + }, + "Waking": { + label: "Waking", + emoji: "🔄", + color: "var(--yellow)", + }, + "Parked": { + label: "Parked", + emoji: "🫥", + color: "var(--overlay0)", + }, + "LockBlocked": { + label: "Lock Blocked", + emoji: "🔒", + color: "var(--red)", + }, + "UninterruptibleDiskSleep": { + label: "Disk Sleep", + emoji: "💤", + color: "var(--overlay0)", + }, "Unknown": { label: "Unknown", - emoji: "🫥", + emoji: "❓", color: "var(--overlay0)", }, };