1317 Commits

Author SHA1 Message Date
Clement Tsang
a362b6c9dd
ci: Create release only if the entire pipeline passes (#595)
In a similar vein to #590, we only create a release after the entire pipeline is completed and succeeds. Also fixes some incorrect job names and adds some "/'s" after directory names in the nightly pipeline.
2021-10-09 02:29:17 -04:00
Clement Tsang
a1a33e0120
ci: parallelize ci better (#594)
Parallelizes the CI workflow better.
2021-10-03 17:49:29 -04:00
Clement Tsang
31072d1952
ci: revert previous i686 change (#593)
Reverts #592, this was done incorrectly, I changed the wrong thing and I also didn't need to change said thing.
2021-10-03 17:13:14 -04:00
Clement Tsang
3c51245d35
ci: Disable cross for i686 Windows, add multilib for i686 Linux for Nightly (#592)
Disables an unnecessary use of cross for i686 Windows, and add multilib for i686 Linux since apparently that's needed now.
2021-10-03 16:44:50 -04:00
Clement Tsang
9071e37283
ci: only create nightly release if build passes (#590)
Changes the nightly build workflow to delete/create a new release *only* if the entire build process passes. This avoids a potential case of a nightly build failing but having overwritten the old one, which has happened before.

After this change lands, similar changes will probably be made to the deployment script for releases.
2021-10-03 02:42:37 -04:00
Clement Tsang
865d0dac78
other: remove redundant line in rustfmt 2021-10-02 21:32:27 -04:00
ClementTsang
f02daa0a2b refactor: various bug fixes and code removal 2021-10-02 00:04:41 -04:00
ClementTsang
9089231bc4 refactor: delete more stuff
Mostly previously re-added files during the merge conflict resolution,
and a lot of unused code.

Still more to delete after I finish rewriting the process kill dialog.
2021-09-26 01:54:59 -04:00
ClementTsang
b6ca3e0a22 other: fix merge conflicts 2021-09-26 00:58:18 -04:00
ClementTsang
5c87974fb7 refactor: delete a ton of unused code 2021-09-26 00:38:04 -04:00
ClementTsang
35ec66eaa7 refactor: cover almost all keybinds except killing processes 2021-09-26 00:30:16 -04:00
ClementTsang
96ca024acc docs: break broken image link for sample layout 2021-09-25 22:11:10 -04:00
Clement Tsang
7e71832d10
bug: remove incorrect shortcut from docs/help (#589)
Removes an incorrect shortcut. No idea when that got there.
2021-09-25 20:28:41 -04:00
Clement Tsang
caa4f38232
ci: add missing step for compressing completion files (#586) 2021-09-25 01:54:29 -04:00
ClementTsang
abcca77c1d refactor: add process search conditions and error 2021-09-24 23:19:25 -04:00
Clement Tsang
e20057b97c
ci: move winget/msi and deb gen to separate steps (#585)
Moves debian and winget/msi generation to a separate job, so it can run in parallel to the other jobs.
2021-09-23 19:13:13 -04:00
ClementTsang
7ee85a82f7 refactor: finish help menu 2021-09-22 01:16:33 -04:00
Clement Tsang
b853aef752
ci: disable homebrew auto-gen (#584)
Disables homebrew CI file generation, since it's now handled by separate maintainers! See #578 for some more details.
2021-09-20 01:09:10 -04:00
Clement Tsang
05e6d3e0be
Merge pull request #580 from bowlofeggs/RUSTSEC-2021
RUSTSEC-2021-0003, RUSTSEC-2021-0093, and cargo update
2021-09-18 15:15:56 -04:00
allcontributors[bot]
ba8de4a74d
docs: add bowlofeggs as a contributor for code (#583)
* docs: update README.md [skip ci]

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

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-09-18 15:00:19 -04:00
Clement Tsang
f036a65135
Merge pull request #582 from bowlofeggs/bowlofeggs-0.6.4-battery-test
Feature gate test_default_battery_movement
2021-09-18 14:59:42 -04:00
Randy Barlow
9acfacb5a5
Feature gate test_default_battery_movement
test_default_battery_movement() is now feature gated on the
battery feature.

fixes #581

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
2021-09-18 13:46:01 -04:00
Randy Barlow
d6a70fcd02
Run cargo update
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
2021-09-18 12:26:30 -04:00
Randy Barlow
72e97a2eaf
RUSTSEC-2021-0003: Update smallvec
https://rustsec.org/advisories/RUSTSEC-2021-0003

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
2021-09-18 11:53:44 -04:00
Randy Barlow
7600519682
RUSTSEC-2021-0093: Update crossbeam-deque
https://rustsec.org/advisories/RUSTSEC-2021-0093

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
2021-09-18 11:53:04 -04:00
allcontributors[bot]
a12e68bbb4
docs: add adiabatic as a contributor for doc (#579)
* docs: update README.md [skip ci]

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

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-09-17 21:56:21 -04:00
Clement Tsang
3998e4bd1c
Merge pull request #578 from adiabatic/patch-1
README.md: bottom is in Homebrew proper now
2021-09-17 21:56:02 -04:00
adiabatic
27d69cb1dd
README.md: bottom is in Homebrew proper now 2021-09-17 17:34:59 -07:00
Clement Tsang
7e9e18faac
ci: fix deploy script for completion directory copy (#577)
Adds an explicit mkdir to the completions directory. No idea why it was bugging out before though, it worked fine on nightly builds.
0.6.4
2021-09-12 16:16:05 -04:00
Clement Tsang
c7626057c9
uptick: 0.6.4 (#576) 2021-09-12 14:02:11 -04:00
Clement Tsang
aabbc4fd95
bug: fix crashes for kernel patch versions > 255 (#575)
Solved by updating procfs to 0.10.1. Thanks to hasali19 for finding and looking into this!
2021-09-12 13:48:01 -04:00
ClementTsang
e7b9c72912 refactor: add general keybinds, fix buggy movement
Adds back some of the general program keybinds, and fixes both a bug causing
widget movement via keybinds to be incorrect, and not correcting the
last selected widget in the layout tree rows/cols after clicking/setting
the default widget!
2021-09-11 00:46:34 -04:00
ClementTsang
587987a2a5 refactor: add back original behaviour for closing search/sort in proc 2021-09-08 22:48:06 -04:00
ClementTsang
955840b412 refactor: Add back scroll position and expanded 2021-09-07 22:49:10 -04:00
ClementTsang
d8a6a2344e refactor: use a builder for block building 2021-09-07 21:37:11 -04:00
ClementTsang
9ef38cbf1a refactor: add back widget titles
Also has a few clippy fixes and bug fixes:
- Fix redundant rerendering on scroll on time graphs.
- Fix being off by one cell during rendering for no-battery situation
  on the battery widget.
- Fix having empty columns for
  rtl column width calculations (as otherwise it goes to the wrong column).
- Fix rendering issue on small windows with text tables.

We also now ensure that the CPU legend has enough room to draw!
2021-09-07 01:13:17 -04:00
ClementTsang
18af6b01bf refactor: delete a bunch of old unused code 2021-09-05 19:09:11 -04:00
ClementTsang
fa00dec146 refactor: move over battery widget 2021-09-05 19:09:11 -04:00
ClementTsang
eddc9a16c7 refactor: move basic mode over
Because writing your own layout system and management is just *so much
fun*. Totally.

-------------------------------------------------------------------

Moves the basic mode system over to the new drawing/widget system. In
the process, it has forced me to completely redo how we do layouts...
again. This is because basic mode has widgets that control their own
height - this means the height of the columns and rows that wrap it
are also affected by the widget's height.

The previous system, using a constraint tree and splitting draw Rects
via tui-rs' built-in constraint solver, did not support this concept
very well. It was not simple to propagate up the widths/heights
towards parents while also using tui-rs' built-in constraint solver.
In the end, it was easier to just rewrite it using another algorithm.

We now follow a process very similar to Flutter's layout system.
Relevant links to the Flutter docs are found in the code or below:

- https://flutter.dev/docs/development/ui/layout/constraints
- https://flutter.dev/docs/resources/inside-flutter#sublinear-layouts

The gist of it, however, is that we now instead a few new options for
any element in the layout tree. A node can either:

- Grow to fill remaining space
- Take up as much room as its children
- Be a specific length

Technically right now, it's not perfect, in that leaf nodes can be as
large as their children (which makes no sense), though in that case it
just treats it as an expand.
2021-09-05 19:09:11 -04:00
ClementTsang
204b4dc351 refactor: add back grouping and command 2021-09-05 19:09:11 -04:00
ClementTsang
b1889b0934 refactor: add text input 2021-09-05 19:09:11 -04:00
ClementTsang
27736b7fc0 refactor: Add sort capabilities to processes 2021-09-05 19:09:03 -04:00
Clement Tsang
d6c69ea319
ci: specify package version for post-release docs 2021-09-04 15:59:47 -04:00
Clement Tsang
81873688bc
ci: specify package versions in doc pipeline 2021-09-04 15:57:52 -04:00
Clement Tsang
eeee395cc0
ci: make audit action weekly
It really doesn't need to run daily. It now runs every Monday.
2021-08-30 17:07:48 -04:00
Clement Tsang
80ec004304
github: update wording on the bug report template
Just a small little wording update.
2021-08-30 17:05:28 -04:00
ClementTsang
3fa50605b3 bug: fix bug causing click bounds to fail
There were three bugs:

1. The click bounds calculation was incorrect. I did the silly mistake
   of checking for <= bounds for the bottom and right sections of a
   Rect when checking if the mouse intersected - this is WRONG.

   For example, let's say you want to calculate if an x value of 5 falls
   between something that starts at 0 and is 5 long.  It shouldn't,
   right?  Because it draws from 0 to 4?  But if you just did <=
   Rect.right(), you would get a hit - because it just does (start +
   width), so you get 5, and 5 <= 5!

   So, easy fix, change all far bounds checks to <.

2. The second bug is a mistake where I accidentally did not include
   bounds sets for my memory and net widgets. Instead, they set their
   bounds to the underlying graph representation, which is WRONG, since
   that bound gets updated on draw, and gets set to a slightly smaller
   rect due to borders!

3. A slightly sneakier one. This broke my bounds checks for the CPU
   widget - and it would have broken my process widget too.

   The problem lies in the concept of widgets that handle multiple
   "sub"-blocks internally, and how I was doing click detection
   internally - I would check if the bounds of the internal Components
   were hit.  Say, the CPU, I would check if the internal graph was hit,
   then if the internal table was hit.

   But wait! I said in point 2 that a graph gets its borders updated on
   draw to something slightly smaller, due to borders!  And there's the
   problem - it affected tables too.  I was setting the bounds of
   components to that of the *internal* representation - without borders
   - but my click detection *needed* borders included!

   Solution?  Add another trait function to check bordered bounds, and
   make the default implementation just check the existing bounds. For
   cases like internal Components that may need it, I add a separate
   implementation.

   I also switched over all border bounds checks for Widgets to that,
   since it's a bit more consistent.
2021-08-30 00:51:09 -04:00
ClementTsang
48c572dbaf refactor: change up event handling logistics
Slightly move around the ideas of EventResult, ReturnSignalResult,
and how they all work.

The gist of it is that we now have widgets returning EventResults (and
renamed to WidgetEventResult), and the main app event handler returns
ReturnSignalResult (now named EventResult).

Also add a new signal to handle re-updating data inputs! This is needed
for the process, and any sortable/configurable widget.
2021-08-29 19:43:27 -04:00
ClementTsang
1ec203caa2 refactor: Add data updating to process widget 2021-08-29 19:33:13 -04:00
ClementTsang
74293aa243 refactor: another pass on sorting and columns 2021-08-29 01:19:34 -04:00