Updated README with roadmap and features. Also added TODO entries in the source code.
This commit is contained in:
parent
1d92474cd2
commit
cc90327ced
35
README.md
35
README.md
@ -1,7 +1,7 @@
|
||||
# oxidefetch 1.1.0
|
||||
Fully cross platform Neofetch clone written in Rust. Up to 25 times faster than Neofetch!
|
||||
|
||||

|
||||

|
||||
|
||||
### Why Oxidefetch?
|
||||
Neofetch, being a BASH script, has a few downsides in my opinion.
|
||||
@ -11,13 +11,25 @@ Neofetch, being a BASH script, has a few downsides in my opinion.
|
||||
As such, I wrote OxideFetch. How cool is that? It displays your information in a manner that's compact, and BLAZINGLY fast.
|
||||
I've measured speeds of up to 25 times faster than normal Neofetch on WSL2.
|
||||
|
||||
### Dependencies (Build/Install)
|
||||
### Features
|
||||
OxideFetch can display all of the following information:
|
||||
- Date, time, and day of week
|
||||
- Username and hostname
|
||||
- Operating system name, symbol, and matching color
|
||||
- Kernel version
|
||||
- Uptime
|
||||
- Shell
|
||||
- CPU
|
||||
- GPU
|
||||
- Memory
|
||||
|
||||
### Dependencies
|
||||
#### Build/Install
|
||||
To build Oxidefetch, you need Cargo. You can use Cargo to automatically build and install it like so:
|
||||
```cargo install --git https://github.com/shibedrill/oxidefetch```.
|
||||
From there, it *should* be in your PATH. If not, add ```source ~/.cargo/env``` to your profile, or add ```~/.cargo/bin``` to your $PATH. If you do not already have Cargo installed
|
||||
on your system, you can do so by installing Rustup- either via the [instructions on their website](https://doc.rust-lang.org/cargo/getting-started/installation.html "instructions on their website") or via your system package manager.
|
||||
|
||||
### Dependencies (Runtime)
|
||||
#### Runtime
|
||||
There's only a couple runtime dependencies for this project.
|
||||
1: ```bash``` shell installed for GPU detection on Linux/Unix/mac.
|
||||
2: ```lspci``` installed for GPU detection on Linux/Unix/mac.
|
||||
@ -32,7 +44,20 @@ repo, and inside the folder, run ```cargo test -- --nocapture```, and send the r
|
||||
noreply email address, or directly to me on Discord at ```Shibe Drill#9730```. This program does NOT collect information
|
||||
regarding your real name, IP, location, etc. You can look at the file it generates to be sure- it's all plaintext, babey.
|
||||
|
||||
### To Do & Roadmap
|
||||
#### Very near future:
|
||||
- Add support for user configurability for entries (whether or not an entry shows, its color, units for memory and time)
|
||||
- Add process count detection
|
||||
- Switch from `bash` to `sh` to run the GPU detection command, if possible, since `sh` is installed on every *nix system by default
|
||||
#### Future:
|
||||
- Add host system name detection (Such as "Windows Subsystem for Linux", "IdeaPad 3", "Dell Optiplex", etc.
|
||||
- Add package count/package manager detection
|
||||
- Crosstest on more distributions to verify `sys.name()` outputs
|
||||
#### Distant future:
|
||||
- Add terminal emulator detection by walking up the process tree
|
||||
- More extensible user configuration for entry formatting
|
||||
|
||||
### Changelog
|
||||
1.0.0: Official full stable release
|
||||
1.0.1: Fixed distro name for Debian GNU/Linux. Logo & color works now.
|
||||
1.0.1: Fixed distro name for Debian GNU/Linux. Logo & color works now.
|
||||
1.1.0: Refactored some poorly written typing, and added support for memory.
|
@ -21,6 +21,9 @@ fn main() {
|
||||
|
||||
println!();
|
||||
|
||||
// TODO: Add support to change what items print, as well as their colors.
|
||||
// This should be done via some sort of user accessible, persistent config,
|
||||
// and preferably can be modified via env vars.
|
||||
println!("{}", String::from(">>> OxideFetch <<<").red());
|
||||
color_print("Date:\t", '', &Some(datetime_formatted), "bright yellow");
|
||||
color_print(
|
||||
@ -115,7 +118,8 @@ impl InformationStruct {
|
||||
let gpu_info_as_string = String::from_utf8(gpu_info.stdout);
|
||||
Some(String::from(
|
||||
gpu_info_as_string
|
||||
.unwrap()
|
||||
.unwrap() // TODO: Please figure out a way to get rid of this unwrap() call.
|
||||
// I feel like I did so well avoiding unwrap calls everywhere except for here.
|
||||
.split("\n")
|
||||
.collect::<Vec<&str>>()[1],
|
||||
))
|
||||
@ -159,6 +163,7 @@ impl InformationStruct {
|
||||
// Getting the icon for the distro.
|
||||
// I have NO clue if these are the strings the
|
||||
// sys.name() function will return.
|
||||
// TODO: Validate sys.name() outputs.
|
||||
{
|
||||
"Alma Linux" => '',
|
||||
"Alpine Linux" => '',
|
||||
|
Loading…
Reference in New Issue
Block a user