Giter VIP home page Giter VIP logo

fetch's Introduction

she/her pronouns US/Pacific timezone

hello world

My name is Katie and I go by KittyKatt or itsk8ekat. I currently work as DevOps Engineer.

A lot of my history in development has been in writing lengthy, complex, and far-overengineered BASH scripts. You can see a few them below.

Nowadays, I mostly work in Terraform/Helm/Kubernetes and making small changes to projects I personally use without really knowing the language they're written in.

fetch's People

Contributors

kittykatt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

fetch's Issues

Broken ASCII Logos

Describe the bug
Endeavor OS ASCII logo has some weird gap going on between logo and text.

To Reproduce
Steps to reproduce the behavior:

  1. fetch -A 'Endeavor'
  2. See error

Expected behavior
Correct gap between logo and text all the way down.

Screenshots
image

flag(ASCII): Add flag -f; Allow for portrait output of ASCII and information

Old screenFetch functionality:

    -p                 Portrait mode

This flag allowed for you to output information in portrait mode, outputting the ASCII logo and then all of the info below that. Before, this would be left-aligned. I'd like to see if I can get this text centered on the logo. Or the logo centered on the text. Whichever is longer. This may require a refactor of the logic we currently use to output the ASCII and information and more completely separate the two sections.

feat(Detection): Resolution Detection

Needed to mirror screenFetch functionality.

Detect current resolution.

Needs:

  • Linux/BSD/UNIX resolution detection (Xorg/Wayland/???)
  • Windows resolution detection
  • macOS resolution detection
  • Shorthand logic
  • Testing (will need testers or dedicated VM testing)

flag(ASCII): Add flag -T; Display text only

Old screenFetch functionality:

    -n                 Display text only

This allowed for ONLY outputting the information. This might require a little rethinking of how to separate the ASCII and info printing from each other in a more complete way ( related: #16 )

feat(Detection): DE and GTK2/3 Detection

Needed to mirror screenFetch functionality.

Detect current running DE (or none) and current GTK2/3 theme.

Needs:

  • DE detection
  • No DE logic for GTK2/3
  • macOS/Windows logic
  • Port over and improve previous screenFetch theme detection logic
  • GTK2/3/Font improvements and optimizations
  • Shorthand logic
  • Testing

Questions:

  • Do we want to split off individual DE theme and detection logic into separate library files?

perf(packages): RPM-based package lookup is slow

Describe the bug
RPM based distributions take a long time to run package counts.

To Reproduce
Steps to reproduce the behavior:

  1. Run fetch on any RPM-based system

Expected behavior
An almost instant output

Screenshots
If applicable, add screenshots to help explain your problem.

System Information (please complete the following information):

  • OS/Distribution: Fedora
  • CPU/Architecture: AMD Ryzen 5 x86_64
  • GPU:
  • Output of fetch --version
  • Do you have Bash installed on your system? Which version? (bash --version or echo ${BASH_VERSION} inside a Bash shell)

Additional context
Add any other context about the problem here.

feat(Detection): WM and WM Theme Detection

Needed to mirror screenFetch functionality.

Detect currently running WM and theme.

Needs:

  • Linux/BSD./UNIX WM detection
  • Port theme detection from screenFetch and improve to match current guidelines
  • DE-less and with DE logic
  • Theme-less WM logic
  • Windows/macOS logic
  • Shorthand logic
  • Testing

Questions:

  • Do we want to split off different detection blocks into separate library files?
  • Do we want to split off individual WM theme detection methods into separate library files?

flag(Core): Add flag -d; Dynamically set displayed information

Old screenFetch functionality:

   -d  '+var;-var;var' Allows for setting what information is displayed
                      on the command line. You can add displays with +var,var. You
                      can delete displays with -var,var. Setting without + or - will
                      set display to that explicit combination. Add and delete statements
                      may be used in conjunction by placing a ; between them as so:
                      +var,var,var;-var,var. See above to find supported display names.

This flag allowed for dynamically setting the displayed information upon execution. With the introduction of a configuration file and ${config_global[info]}, I'm not entirely sure this is necessary but for completion's sake, I'm creating this issue.

This is optional.

Memory Detection

Needed to mirror screenFetch functionality.

Detect in-use memory and total memory.

Needs:

  • Linux Memory usage detection
  • Windows Memory usage detection
  • macOS Memory usage detection
  • BSD Memory usage detection
  • Shorthand logic
  • Testing

flag(ASCII): Add flag -L; Output ASCII art only

Old screenFetch functionality:

    -L                 Display ASCII distribution logo only.

This allowed for ONLY outputting the ASCII logo. This was good for just artful terminal displays or for using the script in another info-grabbing output. This might require a little rethinking of how to separate the ASCII and info printing from each other in a more complete way ( related: #15 )

flag(ASCII): Add flag -c; Dynamically set colors for output

Old screenFetch functionality:

   -c string          You may change the outputted colors with -c. The format is
                      as follows: [0-9][0-9],[0-9][0-9]. The first argument controls the
                      ASCII logo colors and the label colors. The second argument
                      controls the colors of the information found. One argument may be
                      used without the other. For terminals supporting 256 colors argument
                      may also contain other terminal control codes for bold, underline etc.
                      separated by semicolon. For example -c "4;1,1;2" will produce bold
                      blue and dim red.

This allowed to set colors in output dynamically. The old way was gross as far as parsing it went, but it worked for the most part. With the addition of the ${config_ascii[colors]} array, this will be easier to reference and act upon. Need to determine if the old way of INPUTTING the information in the argument is worth keeping or if we need to rethink that logic.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.