Commit Graph

2196 Commits

Author SHA1 Message Date
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 393c24d303
docs: bump mkdocs-material to 9.6.5 (#1680) 2025-02-21 05:49:13 -05: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
allcontributors[bot] 2b5441ca8b
docs: add SigmaSquadron as a contributor for doc (#1675)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-02-13 13:25:57 -05:00
Fernando Rodrigues 7f98651541
docs: update Nix install instructions (#1674)
This commit contains the following changes:
1. Corrects the source of the package in the Nix instructions: `bottom` isn't coming from `nix-community`, but Nixpkgs itself.
2. Updates the Nix install instructions to use the new Nix CLI.
3. The original link was pointing to a home-manager module for bottom. We now include instructions on how to enable said module.
2025-02-13 13:25:45 -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 43a4a36429
pkg: add completion files to winget/msi installer (#1666)
* pkg: add completion files to winget/msi installer

* hmmm

* hmmmm

* oh lol
2025-02-04 06:43:21 +00:00
Clement Tsang f3a2067a78
docs: mention conda as an install option (#1665) 2025-02-03 19:20:23 -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
allcontributors[bot] 0aae119cfa
docs: add fgimian as a contributor for code, and doc (#1662)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-01-18 15:28:43 -05:00
Fotis Gimian cf91c73b60
feature: make it possible to override generate dirs via env (#1658) 2025-01-18 15:27:24 -05: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
Clement Tsang c9ffc41e51
deps: bump dependencies (#1656) 2025-01-07 00:44:48 -05:00
allcontributors[bot] ee360f9391
docs: add al42and as a contributor for code (#1657)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-01-06 23:36:30 -05: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
allcontributors[bot] 4a4d53dafb
docs: add Wateir as a contributor for doc (#1651)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-12-22 14:51:59 -05:00
Wateir d738790c7a
Update README.md (#1650)
Avoid using sudo for AUR helper
2024-12-22 14:51:48 -05:00
Clement Tsang 603d8fe698
deps: bump lockfile as of 2024-12-20 (#1649) 2024-12-20 08:29:13 +00: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
Clement Tsang 35662fc3c0
docs: update changelog for #1641 (#1647) 2024-12-20 08:02:23 +00:00
allcontributors[bot] ccdf0b402b
docs: add yretenai as a contributor for code (#1646)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2024-12-20 02:48:47 -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
Clement Tsang 797179b3dc
docs: update changelog for #1642 (#1644) 2024-12-05 23:55:25 +00:00
Clement Tsang 0d182e4b3a
feature: support custom widget borders (#1642)
* run a dep bump

* add widget border type

* feature: support custom widget borders

* fmt

* remove none since it looks really bad

* fix bug with title for tables with no title when expanded

* fix jsonschema

* fix some unused stuff
2024-12-05 06:52:55 +00:00
Clement Tsang 1fe17ddc21
ci: migrate FreeBSD release builds to GHA, update macOS and FreeBSD targets (#1640)
* ci: migrate FreeBSD release builds to GHA

* fix

* ci: bump macOS image from macos-12

* fix

* fix for nightly
2024-11-29 17:41:35 -05:00
Clement Tsang 70d0a6cbf7
ci: update jsonschema to 0.26.1 for schema validation (#1637)
* ci: update jsonschema to 0.26.1 for schema validation

* make sure to rerun schema validation
2024-11-29 20:29:30 +00:00
Clement Tsang 3597e0a9fd
ci: remove unused ci packaging script (#1639) 2024-11-29 20:27:37 +00:00
Clement Tsang 8f8c467f8b
docs: bump docs requirements.txt (#1638) 2024-11-29 20:19:04 +00:00
Clement Tsang 5b1163d29b
ci: clean up CI, update python action + version (#1636)
* ci: clean up CI

* bump python action, also version to 3.12
2024-11-29 20:16:43 +00:00
Clement Tsang bc3032cf10
bug: fix incorrect versions in schemas (#1635) 2024-11-29 04:30:23 +00:00
Clement Tsang ae0d350122
refactor: a bunch of cleanup of dead code and misc. stuff (#1634)
* refactor: lines

* shift around some stuff in Cargo.toml

* some docs

* some more cargo stuff

* clean up a bunch of stuff after making things less public

* clippy lints

* a lot more cleanup

* clippy

* fix some errors

* fix for windows
2024-11-28 22:42:17 +00:00
Clement Tsang 182c718d0e
bug: fix incorrect colours for gruvbox-light (#1633) 2024-11-28 19:27:15 +00:00
Clement Tsang 991cc3eed8
refactor: clean up some clippy lints from 1.83 (#1632) 2024-11-28 19:16:15 +00:00
Clement Tsang 24cb8a417c
refactor: move schema generation to its own binary, go back to lib-bin (#1630)
* refactor: separate schema generation to its own binary, go back to lib-bin setup

Decided it might be nicer to separate the schema generation bit to its
own binary. This does mean that we have to go back to the lib-bin
system, as otherwise passing shared code is _really_ hard.

* handle versioning

* run fmt
2024-11-28 08:05:25 +00:00
Clement Tsang 196d6d18c6
feature: add the ability to configure the disk widget's table columns (#1625)
* a bit of refactoring here...

* some refactoring, add columns

* cleanup

* add disk column feature

* update changelog
2024-11-18 02:28:20 +00:00
Clement Tsang c8cba49463
other: add missing process column comment/schema description (#1623)
* add todo

* rerun schema
2024-11-14 10:34:05 +00:00
Clement Tsang 6d37d5756f
refactor: combine process column code (#1622)
* rename some files

* refactor: combine process column code

* rename some and sort the schema columns
2024-11-14 10:24:24 +00:00
Clement Tsang 103c4f6ab4
deps: bump various dependencies (#1621)
Bumps various dependencies, including ratatui
2024-11-14 09:23:07 +00:00
Clement Tsang 02b947dd2d
refactor: quick variable/struct/file rename (#1620)
Some renames and file movement. No functional changes.
2024-11-08 04:54:52 +00:00
Clement Tsang ae14685913
refactor: clean up some unused serde code (#1619) 2024-11-08 04:13:07 +00:00
Clement Tsang 16a2fd6a41
deps: bump to ratatui 0.28 (#1618)
* deps: bump ratatui to 0.28, and crossterm to 0.28

* fix warnings
2024-11-03 16:11:00 +00:00