Update(procmon-plugin): Add keyboard navigation and reduce CPU sampling (#321)
* Add procmon plugin with live process panel New Noctalia plugin: bar widget shows CPU/RAM usage and process count; floating panel has a sortable, searchable process table with per-process kill. Background service samples ps and /proc stats and publishes via plugin state. * Throttle data-driven panel renders Rebuild table at most every 500ms to stay within the panel update CPU budget. User interactions still render immediately; only state watches and the tick go through maybeRender(). * Update procmon deps and fix timestamp precision Document head, grep, and cat as required commands. Correct refresh interval default to 1000 ms. Sample refreshedAtMs in milliseconds. * Add keyboard navigation and reduce CPU sampling - Panel: arrow keys move cursor, Ctrl+D kills selected, Ctrl+F focuses filter - Service: sample /proc stats every 1s, ps every 2s; 2s render floor - Widget: handle vertical bars, truncate text, use valid theme color - Bump version to 0.4.0, plugin_api 13
This commit is contained in:
@@ -1,59 +1,60 @@
|
||||
{
|
||||
"panel": {
|
||||
"col": {
|
||||
"cmd": "COMMAND",
|
||||
"cpu": "CPU%",
|
||||
"cpu_raw": "CPU",
|
||||
"mem": "MEM%",
|
||||
"mem_raw": "MEM",
|
||||
"pid": "PID",
|
||||
"rss": "RSS",
|
||||
"stat": "S"
|
||||
},
|
||||
"count": "{n} processes",
|
||||
"kill_tip": "Kill {pid}",
|
||||
"load": "Load",
|
||||
"no_processes": "No matching processes",
|
||||
"refresh": "Refresh",
|
||||
"refreshed_at": "Updated {time}",
|
||||
"search_placeholder": "Filter by name, user or PID",
|
||||
"sort_asc": "asc",
|
||||
"sort_desc": "desc",
|
||||
"title": "Processes"
|
||||
},
|
||||
"settings": {
|
||||
"glyph": {
|
||||
"description": "Glyph shown in the bar widget.",
|
||||
"label": "Widget icon"
|
||||
},
|
||||
"icon_only": {
|
||||
"description": "Show only a CPU icon in the bar widget; details move to the tooltip.",
|
||||
"label": "Icon only"
|
||||
},
|
||||
"kill_command": {
|
||||
"description": "Command run against a selected PID (the PID is appended). Empty uses kill -TERM.",
|
||||
"label": "Kill command"
|
||||
},
|
||||
"refresh_interval": {
|
||||
"description": "How often the process list is resampled.",
|
||||
"label": "Refresh interval (ms)"
|
||||
},
|
||||
"show_count": {
|
||||
"description": "Append the number of processes to the bar widget text.",
|
||||
"label": "Show process count"
|
||||
"label": "Refresh interval (ms)",
|
||||
"description": "How often the process list is resampled."
|
||||
},
|
||||
"sort_by": {
|
||||
"description": "Column the process table is sorted by when the panel opens.",
|
||||
"label": "Default sort column",
|
||||
"description": "Column the process table is sorted by when the panel opens.",
|
||||
"options": {
|
||||
"cmd": "Command",
|
||||
"cpu": "CPU",
|
||||
"mem": "Memory",
|
||||
"pid": "PID"
|
||||
"pid": "PID",
|
||||
"cmd": "Command"
|
||||
}
|
||||
},
|
||||
"kill_command": {
|
||||
"label": "Kill command",
|
||||
"description": "Command run against a selected PID (the PID is appended). Empty uses kill -TERM."
|
||||
},
|
||||
"show_count": {
|
||||
"label": "Show process count",
|
||||
"description": "Append the number of processes to the bar widget text."
|
||||
},
|
||||
"glyph": {
|
||||
"label": "Widget icon",
|
||||
"description": "Glyph shown in the bar widget."
|
||||
},
|
||||
"icon_only": {
|
||||
"label": "Icon only",
|
||||
"description": "Show only a CPU icon in the bar widget; details move to the tooltip."
|
||||
}
|
||||
},
|
||||
"widget": {
|
||||
"tooltip": "CPU {cpu}% RAM {ram}% · {n} processes"
|
||||
},
|
||||
"panel": {
|
||||
"title": "Processes",
|
||||
"refreshed_at": "Updated {time}",
|
||||
"refresh": "Refresh",
|
||||
"load": "Load",
|
||||
"search_placeholder": "Filter by name, user or PID",
|
||||
"sort_asc": "asc",
|
||||
"sort_desc": "desc",
|
||||
"col": {
|
||||
"pid": "PID",
|
||||
"cpu": "CPU%",
|
||||
"cpu_raw": "CPU",
|
||||
"mem": "MEM%",
|
||||
"mem_raw": "MEM",
|
||||
"rss": "RSS",
|
||||
"stat": "S",
|
||||
"cmd": "COMMAND"
|
||||
},
|
||||
"count": "{n} processes",
|
||||
"no_processes": "No matching processes",
|
||||
"kill_tip": "Kill {pid}",
|
||||
"keys_hint": "Ctrl+F filter · Ctrl+D kill selected · arrows move"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user