* 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
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.
* 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
* 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
* 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
* 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
* refactor: ignore warning for deprecated panic hook from Rust 1.82.0
* refactor: bump 'msrv' to 1.81 and update deprecated code
* some more cleanup
* even more cleanup
I had changed how this was parsed in-code but I forgot to update the default configs. This also adds some e2e tests to hopefully catch this all for real in the future, since the schema ones don't catch this stuff and the constants test doesn't actually run the binary for a proper e2e test.