Skip to content

[procmon][FEATURE] Group multi-instance processes with expand/collapse and bulk kill #317

Description

@llingqing

Submission checklist

  • I have searched existing issues and confirmed this has not been requested before.
  • I have checked existing pull requests for similar changes.
  • This is about a community plugin, not about Noctalia itself (those belong in the noctalia repo).

Plugin

procmon

Feature type

UI / visual improvement

Feature summary

Group processes with the same command name into collapsible rows, with a single kill-all action per group.

Motivation / use case

Multi-process applications (Chrome, Firefox, VS Code, Electron apps, etc.) each spawn dozens of PIDs with identical command names. In the current flat table, a 24-instance Chrome floods 24 table rows and makes it hard to find unrelated processes. Killing a stuck app requires clicking the kill button on every single PID, which is tedious and slow.

Proposed solution

Add a group_by_name toggle setting (default false, preserving current behavior). When enabled, processes with the same command name are merged into a single collapsible row showing the name, instance count, aggregated CPU and memory, and a kill-all button. Clicking the row expands it inline to reveal individual PIDs, each keeping their own per-row kill button. The kill-all action sends the configured kill_command to every PID in the group and requires confirmation. Processes that only have a single instance are displayed as a normal row without the group UI.

Alternatives considered

Always-grouped without expand/collapse would lose the ability to kill individual instances. Multi-select with checkboxes is a more complex interaction and slower for the common "nuke this app" use case. A "kill by name" context menu per row is ambiguous when filtering hides some PIDs of the same name.

References / related projects

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions