Commit Graph

90 Commits

Author SHA1 Message Date
Jack Wills de87681816 feat: unhealthy status, closes #43
Highlight an unhealthy container in Orange, and display "! running" as the state,

refactor: Move dev Docker files to docker directory
2024-08-01 21:35:37 +00:00
Jack Wills 93e1279b1f chore: Rust 1.80 linting 2024-07-25 14:30:24 +00:00
Jack Wills d5d8a0dbc5 feat: filter containers, closes #37
Enable filtering of containers, toggled by pressing `F1` or `/`, build on PR #38 from MohammadShabaniSBU
2024-07-12 15:43:42 +00:00
Jack Wills a182d40a74 fix: memory display, closes #33
Memory usage calculation now uses correct methodology
2024-02-12 17:40:28 +00:00
Jack Wills d33dce3eec chore: update to ratatui v0.26.0 2024-02-05 22:11:49 +00:00
Jack Wills 65a1afcb06 feat: Added ports section, closes #21 2024-01-18 14:30:54 +00:00
Jack Wills 53543a1b72 tests: gui tests 2024-01-16 10:38:22 +00:00
Jack Wills b9df4e446a tests: AppData tests 2024-01-13 22:51:42 +00:00
Jack Wills e936bb4b78 feat: re-arrange columns + ContainerName + ContainerImage, closes #32
Have container name as first column.
Wrap name and image using the StringWrapper macro, so that can have a custom fmt::Display, which will only show the firs 29 chars of both the name and image name
2024-01-05 13:16:06 +00:00
Jack Wills 56dba91e9a refactor: variable name changes 2023-11-19 23:03:41 +00:00
Jack Wills 0e5ee143b0 feat: exec mode improvements
Use Bollard library to exec in pure Rust.

`--use-cli` cli arg, will then only try to exec into containers using
Docker.

Only try to exec into a container if the state == Running.
2023-11-18 22:44:39 +00:00
Jack Wills 40090865fd refactor: Multiple UI improvements;
Use FrameData struct to store commonly accessed data, in order to
reduce mutex locks.

rename unpause to resume

use get_selected_panel() function instead of directly
gui_state.selected_panel

debug mode now shows some usefull information
2023-11-16 11:19:42 +00:00
Jack Wills 650aa0fc91 refactor: DockerData refactors
Use a croner in the docker_data, instead of in the ui thread, as this thread will be paused when in exec mode.

is_initilised is again done in docker_data, after stats have been calculated

use bollard from git, waiting for new release due to Docker changes
2023-11-16 11:19:42 +00:00
Jack Wills c8077bca0b feat: Docker exec mode, closes #28 2023-11-16 11:19:09 +00:00
Jack Wills ca79893df5 refactor: from string impl
Remove redudant impl's, use `.as_str()`
2023-09-17 18:41:10 +00:00
Jack Wills 76fd178894 chore: release v0.3.2 2023-08-28 13:32:34 +00:00
Jack Wills 62c78dfaa5 refactor: set_error take gui_state
insert into gui_state status when setting error
2023-08-26 12:40:53 +00:00
Jack Wills 2e27462d1b refactor: loading_spin fn remove async 2023-08-24 16:26:30 +00:00
Jack Wills 1095078764 feat: Docker Host env, closes #30
oxker will check for an optional cli_arg `--host`, then the $DOCKER_HOST env, and if found use for connection.

Fix unresponsiveness in debug mode when error set
2023-08-17 15:34:18 +00:00
Jack Wills 3b61a704e2 feat: Clippy mem drop,
re-arrange .lock() ordering, and use `value_capture!`, to satisfy has_significant_drop rule
2023-06-14 20:47:24 +00:00
Jack Wills b9c125da46 fix: out of bound bug in heading_bar
use a `saturating_sub` to calculate the column_width
2023-03-30 02:22:47 +00:00
Jack Wills 937202fe34 feat: delete container, closes #27
Enable a user to delete a container. A dialog will pop up to ask the user to confirm the deletion. A user can then click on either button, or press N/Y to make a selection
2023-03-30 02:12:03 +00:00
Jack Wills 8ba37a165b refactor: reaplace unwrap_or(()) with .ok() 2023-03-09 15:18:00 +00:00
Jack Wills 5582c45403 chore: Rust 1.68.0 clippy linting 2023-03-09 15:12:51 +00:00
Jack Wills 0a1b531116 feat: Acutal fix the the mouse events output
The EnableMouseCapture from Crossterm was too broad, by only enabling a subject of the events, 1) performance is improvedand 2) and intermittent bug where mouse events were output to stdout has been removed
2023-03-02 01:09:17 +00:00
Jack Wills b8f5792d18 refactor: dead code removed 2023-03-01 19:18:36 +00:00
Jack Wills 2626250ace fix: stop_running function
Use stop_running to set the global is_running AtomicBool to false, and to also, on a seperate thread, enable & then disable mouse capture, as was experience strange issue on Linux & WSL with mouse movements being piped to stdout
2023-02-28 18:10:24 +00:00
Jack Wills 31bfaa7a95 wip: fix for mouse capture bug 2023-02-28 04:10:31 +00:00
Jack Wills 074cb957f2 refactor: docker update_everything variables 2023-02-27 14:39:00 +00:00
Jack Wills 23ad9a5fb3 docs: comment typo 2023-02-27 03:15:00 +00:00
Jack Wills cebb975cb8 fix: typos 2023-02-27 02:56:47 +00:00
Jack Wills d48e6561f9 chore: clippy todo warn 2023-02-03 21:49:19 +00:00
Jack Wills 17b71b6b41 feat: switch to scratch docker container 2023-02-03 21:40:14 +00:00
Kian-Meng Ang a0e2eb38ae docs: fix typos
Found via `typos --format brief`
2023-02-03 10:21:16 +08:00
Jack Wills c4d80061da revert: is_running AtomicBool back to SeqCst 2023-01-28 20:45:02 +00:00
Jack Wills b4488e4bdb refactor: major refactor of internal data handling
What started off as an inquisitive look at how the gui drawing blocks get the data they require in order to draw to the screen, ended up as a realisation  that it could be achieved in a better manner. Basically just use x.get(y), instead of using x[y] all over the place
2023-01-28 20:44:09 +00:00
Jack Wills a174dafe1b refactor: needless (double) referencing removed 2023-01-26 21:00:32 +00:00
Jack Wills 9ec43e124a feat: spawn docker exec commands into own thread 2023-01-18 02:01:56 +00:00
Jack Wills 0350293de3 refactor: param reduction, AtomicBool to Relaxed 2023-01-14 17:59:33 +00:00
Jack Wills cfdea77594 fix: sort containers on every update_stats(), if a sort is set 2023-01-03 04:44:47 +00:00
Jack Wills e71802fe21 chore: release v0.1.9 2022-12-05 14:06:22 +00:00
Jack Wills 160b8021b1 fix: disallow commands to be sent so an oxker container, closes #19 2022-12-05 03:52:41 +00:00
Jack Wills c93870e5fb feat: -s flag for showing self when conterainerised 2022-12-04 21:42:07 +00:00
Jack Wills a98e8b7260 chore: cargo fmt 2022-10-16 00:00:41 +00:00
Jack Wills 9e9d51559a feat: use gui_status for various gui states 2022-10-15 00:23:26 +00:00
Jack Wills 90e26c300e wip: gui_status, should use a hashset? 2022-10-14 21:26:20 +00:00
Jack Wills a77f690a49 refactor: replace iter() to into_iter(), and remove useless .iters()'s 2022-10-07 02:43:04 +00:00
Jack Wills 5660b34d51 refactor: map_or_else to map_or 2022-10-07 02:22:26 +00:00
Jack Wills 6bee4d007a refactor: clone()'s removed, allow(precision_loss) 2022-10-02 01:14:42 +00:00
Jack Wills f5fc446295 refactor: use map_or_else 2022-10-02 00:31:01 +00:00