mgradwohl / mgradwohl/tasksmack

[Feature] Multi-Select and Batch Process Actions

Open
#804 0 comments 0 reactions 0 assignees View on GitHub
enhancement ui
Dominant language
C++
Stars
1
Forks
0
Avg merge
3h 4m
Merged PRs (30d)
115

Description

## Problem Statement

`ProcessesPanel` supports selecting one process at a time. There's no way to select several processes and act on all of them at once (e.g. "kill all chrome processes," "renice this whole group") — a standard capability in Task Manager alternatives and Process Explorer-style tools.

## Proposed Solution

Ctrl/Shift-click multi-selection in the process table; batch terminate/priority-change actions operating over the current selection, reusing the existing single-process action and confirmation-dialog pattern with a summary of what's about to happen.

## Alternatives Considered

Rely on filtering to narrow down to the target processes and act one at a time — rejected, since the entire point of batch actions is acting on many matches at once without repeating the same action N times.

## Additional Context

n/a

## Implementation Notes

`ProcessesPanel.cpp` currently tracks a single selected PID. Needs a set-based selection model, `ImGui::Selectable` with range/ctrl-select flags, and `IProcessActions` calls iterated over the selection behind one confirmation dialog.

Contributor guide

Open the contributing guide

Research direction

Start in ProcessesPanel.cpp to trace the current single-PID selection and action flow, then inspect IProcessActions and the existing confirmation-dialog pattern. Implement Ctrl/Shift multi-selection and batch terminate or priority-change actions, with one confirmation summary for the selected processes. Done means several processes can be selected and acted on together without repeating the action individually.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.