Commit Graph

997 Commits

Author SHA1 Message Date
Clement Tsang f846fdcc05 bug: fix reported usage spike at the start on some OSes (#1788)
* bug: fix spike at the start on some OSes

* add clean

* bake things in better I guess

* hmmm no nvm

* tiny sleep

* update changelog
2025-08-14 22:04:48 -04:00
Clement Tsang 849edf71db bug: fix issue with battery widget time and small widths (#1787)
* bug: fix issue with battery time and small widths

* changelog
2025-08-15 00:56:06 +00:00
Clement Tsang 0f212183fe other: skip the initial sleep on data collection initialization (#1779)
* deps: bump sysinfo

* remove sleep on startup

* missing collection set

* some logic around updating the battery list to match how it is now

* more refactoring

* oops

* forgot to initialize battery manager

* fix list updating logic + battery manager logic

* comment

* initialize should refresh list to true

* ah

* this works a bit nicer
2025-08-13 06:57:45 +00:00
Clement Tsang 868667add8 deps: bump deps as of 2025-08-11 (#1778)
* docs: update changelog

* bump deps
2025-08-12 08:47:02 +00:00
Frederick Zhang 9fe558183b fix: use default disk.columns when only other disk.* configs exist (#1776)
I configured `[disk.name_filter]` and after upgrading to v0.11.0, the
disk widget became empty since `disk.columns` was parsed as an empty
vector unless I added `disk.columns` to my config as well.
2025-08-08 15:01:48 +00:00
Clement Tsang 566502347e docs: update things to reference 0.11.0 in prep for release (#1765)
* docs: update things to reference 0.11.0 in prep for release

Things still missing:
- Update schema
- Release notes
- Any doc site updates?
- Any GIF updates?
- Take a pass over README?

* update schema with 0.11

* update schema with virt

* update

* update date

* an attempt and failure to update the gif

* bump freebsd

* bump

* I swear

* okay so no freebsd 15, got it
2025-08-06 04:09:39 +00:00
Clement Tsang 2132da2f8b feature: option to have process tree entries be collapsed by default (#1770)
* Add option to have process tree collapsed by default

* Fix collapse logic

* format

* tweak how it's done

* oops

* slight tweaks to the no-children collapse logic

* update schema

---------

Co-authored-by: ceres <ceres.bezuidenhout@trintel.co.za>
Co-authored-by: Bucket-Bucket-Bucket <107044719+Bucket-Bucket-Bucket@users.noreply.github.com>
2025-08-04 23:29:42 +00:00
Clement Tsang 51c67ee599 other: change how we calculate swap usage in Windows (#1769)
* bump sysinfo

* other: change how we calculate swap usage in Windows

* update changelog

* update comments

* add test?

* adjust test
2025-08-03 05:25:11 +00:00
Clement Tsang 4d935bdd70 feature: support virtual memory column for processes (#1767)
* quick refactor of bytes/name

* oop

* Add virt mem field

* add value

* add virtual memory columns + tests

* fix

* Changelog
2025-07-30 04:24:21 +00:00
Clement Tsang bb0d4bdd32 refactor: refactor the data table increment position code (#1762)
* refactor: refactor the data table increment position code

* some comments

* changelog
2025-07-29 08:24:49 +00:00
yahlia 4356ab7b24 bug: fix increment for data tables if the change is greater than the number of entries left (#1759) 2025-07-29 03:52:58 -04:00
Clement Tsang 2e6ac01f99 bug: fix parsing issue around certain disk names (#1755)
* bug: fix parsing issue around certain disk names

Turns out that in /proc/mount disk names may have weird escape
characters - these need to be changed when parsing it.

* update changelog

* back to the slow

* Add test
2025-07-17 02:15:55 +00:00
Clement Tsang 0f878c4ae2 refactor: fix clippy warnings for 1.88.0 (#1748) 2025-06-26 22:47:56 +00:00
Clement Tsang 1769ee0987 deps: bump sysinfo to 0.35 (#1738)
* deps: bump sysinfo, fix cpu

* fix things for at least Linux

* bump some other stuff

* more things

* windows

* more stuff

* display

* ahhhh it's not stable

* redundant f32

* fix freebsd
2025-06-09 03:00:09 -04:00
Clement Tsang 7728c76419 bug: fix some bugs around key bindings with new process kill dialog (#1737)
* bug: fix some bugs around key bindings with new process kill dialog

* clippy
2025-06-08 05:27:09 -04:00
Clement Tsang 98342617a1 refactor: update how we render and handle process kill dialogs (#1701)
* fmt

* temp work

* get yes/no working

* cleanup

* fill out some more buttons

* conditional compilation

* update

* update docs

* wait this just works

* like 80% of the way there

* some stuff around the killing screen

* mouse works

* done!

* clippy

* more stuff

* fix some imports for windows

* android fixes

* oop

* ahh

* hmm
2025-06-08 04:46:31 -04:00
Clement Tsang 00afd66006 refactor: share implementation for pecentage-based time graphs (#1736)
* refactor: move components to a 'drawing' folder

* Revert "refactor: move components to a 'drawing' folder"

This reverts commit a1316bdf3a.

* move stuff out of constants because it sucks

* move more things!

* cleanup

* some restructuring

* refactor percent time graph to common impl

* wow thanks copilot
2025-06-03 04:13:10 +00:00
Clement Tsang 3d35d08347 deps: bump root deps as of 2025-06-01 (#1734)
* deps: bump root deps as of 2025-06-01

* update schema generation

* update config file link too

* rerun
2025-06-01 19:49:05 -04:00
Clement Tsang b2506e5e85 ci: bump freebsd-vm to v1.2.0 (#1730)
* ci: bump freebsd-vm to v1.2.0

* also bump freebsd versions

* oops it was clippy

* fix ci pass check
2025-05-25 20:59:31 -04:00
Clement Tsang 134888dfec refactor: refactor some process grouping code (#1727)
Remove one clone for process grouping.
2025-05-10 22:24:06 +00:00
Yuri Astrakhan 729f714bf9 feature: allow left to collapse trees and right to expand them (#1306)
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>
2025-04-21 03:01:18 -04:00
Clement Tsang 86b7ef331e feature: support delete key to kill processes (#1717)
* feature: support delete key to kill processes

* clippy

* Changelog

* fn + delete
2025-04-19 06:51:49 +00:00
Clement Tsang 508f05b640 bug: revert accidental time start change from another commit (#1716) 2025-04-14 02:21:42 -04:00
Clement Tsang 146b8596cf refactor: some refactoring while stable graphs (#1715)
* update grids

* asdfadf

* asdf

* b

* update loggers

* some formatting and refactoring

* docs

* some comments

* more docs
2025-04-14 06:13:20 +00:00
Clement Tsang c68b190388 bug: fix incorrect disable mouse click condition on cleanup (#1713)
Looks like a bug slipped through in #1706 so when stopping the program click events would continue. I could just fix the condition but I think it's fine to just unconditionally disable click events on cleanup.
2025-04-10 23:53:55 +00:00
Clement Tsang 69a4b59573 other: fix clippy warnings (#1712) 2025-04-10 23:20:11 +00:00
Ben Brown 3330c1f1e7 fix: Disable mouse capture when disable_click is set (#1706) 2025-03-30 12:28:21 -04:00
Clement Tsang b1f969880e other: remove comment about skipping timeseries in basic (#1700)
Turns out I already did this. Nice.
2025-03-28 03:56:24 +00:00
Ada Ahmed 37a546ab0f other: update amdgpu marketing names and trim excess keywords (#1692) 2025-03-21 20:04:31 -04:00
Clement Tsang 3113c24e37 other: allow for hyphen versions of arguments to be used (#1686)
This PR allows both args like `--autohide-time` _and_ `--autohide_time` to work.
2025-03-06 04:59:50 +00:00
Matthew Toohey f8cfd962f3 fix: prevent graph lines from showing up behind legend (#1683)
* fix: prevent graph lines from showing up behind legend

* use cell_mut instead
2025-02-28 09:00:08 +00:00
Clement Tsang d2177ed022 refactor: don't duplicate AMD GPU temperature retrieval (#1682)
* some file/struct renaming

* refactor: don't get AMD gpu temperatures twice
2025-02-23 06:21:12 +00:00
Clement Tsang f7d070f944 refactor: somewhat migrate to Rust 2024 edition (#1681)
* refactor: try bumping to rust 2024 edition

* now run nightly fmt

* fix some macos changes

* only apply a few of these settings
2025-02-22 02:12:08 +00:00
Clement Tsang 9999a4824a docs: update documentation around how grouping processes and tree mode are incompatible (#1679)
* update default config

* use info, not note
2025-02-21 11:04:08 +00:00
Clement Tsang d63ca07cae refactor: clean up some file structure, process code, and terminal cleanup (#1676)
* move widgets

* reduce allocations needed

* ah

* more possible optimizations around reducing allocs

* some fixes

* I forgot to clear the buffer oops

* missing

* only run terminal cleanup after certain point
2025-02-15 02:32:09 -05:00
Clement Tsang 702775f58d refactor: use nonzero in mem data (#1673)
* refactor: use nonzerou64 for mem data

* clippy

* comment
2025-02-12 05:58:15 +00:00
Justin Martin 22fbd7d630 other: return None when mem_total is zero (#1667) 2025-02-07 19:02:07 -05:00
Clement Tsang ec1a4cb7e5 refactor: move conversion code to utils (#1671) 2025-02-07 01:54:03 +00:00
Clement Tsang a82d8578cf fix/other: fix bug with network y-axis labels and cache height calculations (#1670)
* test

* implement network height calc caching
2025-02-06 20:29:06 -05:00
Clement Tsang 8ac03b5962 other: don't collect time series data in basic mode (#1669)
Ideally I also introduce a way to ensure basic mode widgets straight up
cannot accidentally access ts data, but this works for now.
2025-02-06 19:21:18 -05:00
Clement Tsang d6ad688ab8 refactor: use cow for disk widget io read/write strings (#1664) 2025-02-03 06:48:12 +00:00
Clement Tsang 837e23560f refactor: points rework (v1) (#1663)
* refactor: add new method of storing timeseries data

* mostly finish adding data

* tmp

* migrate over to separate lib

* prepare to migrate over to new timeseries storage

* prepare to migrate frozen state

* migrate frozen state

* name

* migrate data collection

* migrate network

* fix some stuff

* fix a panic from bad pruning

* Fix pruning issues

* migrate RAM

* migrate swap

* migrate cache label

* refactor out to function

* migrate ram points

* migrate swap points

* migrate cache points

* migrate arc

* migrate gpu, remove a bunch of state code around force update

* rename cache, also some comments

* some temp cleanup

* migrate disk

* comments to remind me above fixmes, fix bug around time graph spans

* migrate load avg

* port temps

* style

* fix bug wiwth left edge gap

* partial migration of cpu, reorganize data file structure

* migrate cpu

* some cleanup

* fix bug with cpu widget + clippy

* start some small optimization work

* fix some things for some platforms

* refactor: rename data_collection to collection

* refactor: only process temp type in data eat step

* flatten components folder a bit

* partially migrate to new graph system and fix cpu bug

* driveby migration of process list to reduce allocs + more migration of points drawing

* revert the collection change

Forgot that I cut a new `Data` on each collection so that change was
useless.

* port over network stuff...

* fully migrate network, and fix some log bugs while we're at it

This is something I never noticed, but the log of 0 is inf - so there
were gaps in the lines when using log scaling!

* fix cpu colour in all mode

* clean up some disk table stuff
2025-02-03 06:34:58 +00:00
Clement Tsang 1edd8d81ed deps: bump Cargo.toml and Cargo.lock dependencies (#1659)
* deps: bump dependencies

* update lockfile dependencies
2025-01-18 03:23:06 +00:00
Clement Tsang c970037546 bug: handle terminal cleanup if main.rs panics from an Err (#1660)
* bug: handle terminal cleanup if main.rs panics from an Err

* add comment

* changelog
2025-01-18 02:43:58 +00:00
Clement Tsang 873434b4b7 other: fix non-applicable warning about regex creation in loop (#1661) 2025-01-18 02:30:00 +00:00
Andrey Alekseenko 915c25a50e other: handle systems with only libnvidia-ml.so.1 (#1655)
Recently, NVIDIA CUDA repository packages started shipping only
`libnvidia-ml.so.1` file, without `libnvidia-ml.so`. The upstream
`nvml-wrapper` package has a fix proposed
(https://github.com/Cldfire/nvml-wrapper/pull/63), yet the package is
in search of a maintainer at the moment.

To allow `bottom` to correctly detect NVIDIA GPUs on Ubuntu with
official NVIDIA packages, add a wrapper around `Nvml::init` to be more
persistent in its search for the NVML library.
2025-01-06 23:36:20 -05:00
Clement Tsang dbda1ee56f refactor: more data conversion cleanup (#1653)
* clean up some battery stuff

* dedupe battery from data conversion

* idk why we had a Value type alias

* clean up dupe load avg, and remove memory use percent from memharvest

* hmm

* nvm
2024-12-24 15:54:41 -05:00
Clement Tsang cd6c60c054 refactor: remove battery conversion step (#1652)
* refactor: remove battery conversion step

* also fix a bug with margins in battery

* fixes
2024-12-22 22:54:19 -05:00
Clement Tsang 3ca753f4b9 deps: bump root deps as of 2024-12-20 (#1648)
* deps: bump root deps as of 2024-12-20

* remove deprecated code
2024-12-20 03:17:27 -05:00
Ada Ahmed 479276bd53 feature: Support AMDGPU Data Collection (#1641)
* gpu: support amdgpu tracking

Co-authored-by: lvxnull2 <184518908+lvxnull2@users.noreply.github.com>

* gpu: dependency-free amdgpu parsing

gpu: fix clippy issues

Co-authored-by: lvxnull2 <184518908+lvxnull2@users.noreply.github.com>

* gpu: change memory usage percentage to be scaled to total memory instead of current memory usage

gpu: requested syntax changes

Co-authored-by: lvxnull2 <184518908+lvxnull2@users.noreply.github.com>

---------

Co-authored-by: lvxnull2 <184518908+lvxnull2@users.noreply.github.com>
2024-12-20 02:48:32 -05:00