Skip to content

feature: allow left to collapse trees and right to expand them #1306

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

Merged
merged 7 commits into from
Apr 21, 2025

Conversation

nyurik
Copy link
Contributor

@nyurik nyurik commented Oct 10, 2023

Description

A description of the change, what it does, and why it was made. If relevant (such as any change that modifies the UI), please provide screenshots of the changes:

Allow using the left arrow to collapse a tree branch in the process widget, or a right arrow to expand it.

Issue

If applicable, what issue does this address?

Closes: #1304

Testing

If relevant, please state how this was tested. All changes must be tested to work:

If this is a code change, please also indicate which platforms were tested:

  • Windows
  • macOS
  • Linux

Checklist

If relevant, ensure the following have been met:

  • Areas your change affects have been linted using rustfmt (cargo fmt)
  • The change has been tested and doesn't appear to cause any unintended breakage
  • Documentation has been added/updated if needed (README.md, help menu, doc pages, etc.)
  • The pull request passes the provided CI pipeline
  • There are no merge conflicts
  • If relevant, new tests were added (don't worry too much about coverage)

* On click, continue to toggle tree branch expand/collapse
* On `Left` and `-`, always collapse
* On `Right` and `+`, always expand

Also, a minor clippy fix to pass the CI
@codecov
Copy link

codecov bot commented Oct 10, 2023

Codecov Report

Attention: Patch coverage is 0% with 34 lines in your changes missing coverage. Please review.

Project coverage is 54.07%. Comparing base (86b7ef3) to head (db9f0e4).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/widgets/process_table.rs 0.00% 20 Missing ⚠️
src/app.rs 0.00% 14 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1306      +/-   ##
==========================================
- Coverage   54.47%   54.07%   -0.40%     
==========================================
  Files         112      112              
  Lines       17467    17501      +34     
==========================================
- Hits         9515     9464      -51     
- Misses       7952     8037      +85     
Flag Coverage Δ
macos-14 37.64% <0.00%> (-0.09%) ⬇️
ubuntu-latest 56.52% <0.00%> (-0.43%) ⬇️
windows-2019 37.57% <0.00%> (-0.09%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nyurik nyurik changed the title Cleanup proc tree expand/collapse functionality Improve proc tree expand/collapse functionality Oct 10, 2023
@ClementTsang ClementTsang self-requested a review March 30, 2025 17:00
@ClementTsang ClementTsang self-assigned this Mar 30, 2025
@ClementTsang
Copy link
Owner

Sorry for not having looked at this - I'll rebase this/create a new PR with your changes.

@ClementTsang ClementTsang changed the title Improve proc tree expand/collapse functionality feature: allow left to collapse trees and right to expand them Apr 21, 2025
@ClementTsang ClementTsang enabled auto-merge (squash) April 21, 2025 06:46
@ClementTsang ClementTsang merged commit 723be42 into ClementTsang:main Apr 21, 2025
37 checks passed
ClementTsang added a commit that referenced this pull request Apr 21, 2025
Allow using the left arrow to collapse a tree branch in the process widget, or a right arrow to expand it.

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
Repository owner deleted a comment from allcontributors bot Apr 21, 2025
@ClementTsang
Copy link
Owner

Ah shoot, realized I never added you in contributors.

@all-contributors please add @nyurik for code, docs.

Copy link
Contributor

@ClementTsang

I've put up a pull request to add @nyurik! 🎉

@nyurik nyurik deleted the tree-exp branch April 21, 2025 14:18
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 6, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ClementTsang/bottom](https://github.com/ClementTsang/bottom) | minor | `0.10.2` -> `0.11.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>ClementTsang/bottom (ClementTsang/bottom)</summary>

### [`v0.11.0`](https://github.com/ClementTsang/bottom/blob/HEAD/CHANGELOG.md#0110---2025-08-05)

[Compare Source](ClementTsang/bottom@0.10.2...0.11.0)

##### Features

- [#&#8203;1625](ClementTsang/bottom#1625): Add the ability to configure the disk widget's table columns.
- [#&#8203;1641](ClementTsang/bottom#1641) + [#&#8203;1692](ClementTsang/bottom#1692): Support AMD GPU data collection on Linux.
- [#&#8203;1642](ClementTsang/bottom#1642): Support changing the widget borders.
- [#&#8203;1717](ClementTsang/bottom#1717): Support delete key (fn + delete on macOS) to kill processes.
- [#&#8203;1306](ClementTsang/bottom#1306): Support using left/right key to collapse/expand process trees respectively.
- [#&#8203;1767](ClementTsang/bottom#1767): Add a virtual memory column for processes.
- [#&#8203;1770](ClementTsang/bottom#1770) (originally [#&#8203;1627](ClementTsang/bottom#1627)): Add option to have process tree entries be collapsed by default.

##### Bug Fixes

- [#&#8203;1551](ClementTsang/bottom#1551): Fix missing parent section names in default config.
- [#&#8203;1552](ClementTsang/bottom#1552): Fix typo in default config.
- [#&#8203;1565](ClementTsang/bottom#1565): Fix issue where CPU usage in basic mode looks weird if core count isn't divisible by four.
- [#&#8203;1578](ClementTsang/bottom#1578): Fix missing selected text background colour in `default-light` theme.
- [#&#8203;1593](ClementTsang/bottom#1593): Fix using `"none"` for chart legend position in configs.
- [#&#8203;1594](ClementTsang/bottom#1594): Fix incorrect default config definitions for chart legends.
- [#&#8203;1596](ClementTsang/bottom#1596): Fix support for nilfs2 file system.
- [#&#8203;1660](ClementTsang/bottom#1660): Fix properly cleaning up the terminal if the program is terminated due to an `Err` bubbling to the top.
- [#&#8203;1663](ClementTsang/bottom#1663): Fix network graphs using log scaling having broken lines when a point was 0.
- [#&#8203;1667](ClementTsang/bottom#1667): Fix for ARC/SWAP not being hidden in basic mode after refactor.
- [#&#8203;1683](ClementTsang/bottom#1683): Fix graph lines potentially showing up behind legends.
- [#&#8203;1701](ClementTsang/bottom#1701): Fix process kill dialog occasionally causing panics.
- [#&#8203;1755](ClementTsang/bottom#1755): Fix missing stats/incorrect mount name for certain entries in the disk widget.
- [#&#8203;1759](ClementTsang/bottom#1759): Fix increment for data tables if the change is greater than the number of entries left.

##### Changes

- [#&#8203;1559](ClementTsang/bottom#1559): Rename `--enable_gpu` to `--disable_gpu`, and make GPU features enabled by default.
- [#&#8203;1570](ClementTsang/bottom#1570): Consider `$XDG_CONFIG_HOME` on macOS when looking for a default config path in a backwards-compatible fashion.
- [#&#8203;1686](ClementTsang/bottom#1686): Allow hyphenated arguments to work as well (e.g. `--autohide-time`).
- [#&#8203;1701](ClementTsang/bottom#1701): Redesign process kill dialog.
- [#&#8203;1706](ClementTsang/bottom#1706): Disable mouse capture when `disable_click` is set.
- [#&#8203;1769](ClementTsang/bottom#1769): Change how we calculate swap usage in Windows.

##### Other

- [#&#8203;1655](ClementTsang/bottom#1655): Better handle NVIDIA GPUs on Linux with only libnvidia-ml.so.1.
- [#&#8203;1658](ClementTsang/bottom#1658): Make it possible to override completion/manpage generation output directory via env.
- [#&#8203;1663](ClementTsang/bottom#1663): Rework how data is stored internally, reducing memory usage a bit.
- [#&#8203;1749](ClementTsang/bottom#1749): Fix invalid desktop file values.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41My4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTMuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Left/Right in a process tree should collapse/expand the tree branches
2 participants