Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tree process view #184

Closed
lespea opened this issue Aug 14, 2020 · 7 comments · Fixed by #223
Closed

Tree process view #184

lespea opened this issue Aug 14, 2020 · 7 comments · Fixed by #223
Labels
feature Requests for a new feature.

Comments

@lespea
Copy link

lespea commented Aug 14, 2020

Describe the feature request

It would be great if we could get a tree view of the process listing; this would obviously disable any other sorting mechanisms.
Thinking of how filtering might work... I can think of two approaches.

  1. Display only the items that match the filters, most likely removing all of the leading spaces/indent marks
  2. Darken the text of non-matching parent items so the matched items would easily stand out but you could still see where they live in the hierarchy

Additional context/details

I've always found this gives a lot of context around what is happening on the machine and use it almost exclusively in similar programs (such as htop)

@lespea lespea added the feature Requests for a new feature. label Aug 14, 2020
@ClementTsang ClementTsang mentioned this issue Sep 4, 2020
11 tasks
@ClementTsang
Copy link
Owner

ClementTsang commented Sep 5, 2020

@lespea out of curiosity, which approach towards filtering do you prefer? Both are doable and pretty easy to implement for what it's worth so that isn't really too much of a concern.

A third idea I thought of randomly was kinda combining both - prune out any branches that have absolutely zero children that match the search, but keep any branches that have at least one child that matches the search and gray out all entries within the branch that don't match. This allows you to still preserve the tree structure for relevant branches, while removing any irrelevant branches.

I'm also open to any other suggestions, so feel free to let me know.

EDIT: Got a basic (very WIP, things are free to change) version of what I mean with my suggestion, so something like:

image

where it normally looks like:

image

@lespea
Copy link
Author

lespea commented Sep 6, 2020

Yeah that's something similar to what I had in mind... looks great!

Just another thought to throw out there, in windows (process hacker) you can collapse a tree entry and it will "add up" the sub entries into the parent. So it would add up all the cpu/mem usage of child processes, add it to it's own, and display that. maybe if you were navigating you could hit like space bar or something and it would collapse it? I don't think that's something that would be required just wanted to point out other successful strategies.

But honestly if you were to ship what you have in those screenshots that would meet 99% of my needs.

Great work!

@nova-nowiz
Copy link

Is it possible to get also the children to be shown when filtering?
In htop sometimes I'm searching for the parent process to find the child process that is stalling the parent one.
(Primary used for when something goes wrong in emacs)

@ClementTsang
Copy link
Owner

ClementTsang commented Jan 29, 2022

Yes, that's something I'm working on adding since I also don't like the current behaviour. Also, in the future, feel free to open a new issue for a feature request like this.

@nova-nowiz
Copy link

Oh nice!
Do you want me to open an issue to track this feature?

@ClementTsang
Copy link
Owner

@Narice filed an issue here: #668

Feel free to add to it if you want.

@nova-nowiz
Copy link

Oh thank you! I'll follow the linked issue then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Requests for a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants