Repo: codeberg.org/Lunar267/fish_cute-greeting

A very tiny bit of code but I figured some other ricing enthusiast might like use it

all 6 comments

sorted by: hot top controversial new old
[–] 9 points 1 month ago

I love this! Gonna have to port it to ksh, but I'm definitely using this!

  • source
  • [–] 8 points 1 month ago* (last edited 1 month ago) (1 child)

    That's really cute. I personally won't use it (don't even use Fish), but wanted to give some tips. First, the code is intended to run each time a new terminal (more accurately a new instance of Fish is run) is opened up, right? If so, then I suggest to optimize a bit for performance, so opening a terminal stays snappy.

    There are parts that do not change usually, so running and grabbing the content each time is a bit of waste. I'll suggest creating a single cache file with all the content that stays the same. In example following lines

    awk -F'"' '/PRETTY_NAME/ {print $2}' /etc/os-release
    awk '/cpu cores/{c=1} c{ print $4; if (/cpu cores/) exit }' /proc/cpuinfo
    

    need to run only once, if the cache file doesn't exist already. At start of script check if the cache file exists, and read the file once only. The file could be in /tmp/ directory, so it gets deleted with reboot and should run once and always up to date. There is also a file cat /proc/loadavg, which you could use instead using uptime | awk. So instead you could just have a more simple sed or grep command. Instead:

    uptime | awk '{ print substr($(NF-2), 1, length($(NF-2)) - 1)"% Load" }'
    

    do

    grep -o '^[^ ]*' /proc/loadavg
    

    Note my code examples are in Bash syntax, not sure if there are differences that matters here. I see you like awk a lot BTW.

    Edit: Changed the line with uptime | awk from your code, as I copy pasted the wrong line by accident before.

  • source
  • hideshow 1 child comment
  • [–] [S] 5 points 1 month ago

    Thanks a lot for the advice!

    Grabbing the content each time is a bit of a waste

    In practice fish is extremely more efficient then bash with the script profiling at 9ms. Not amazing but since this will only run once when opening the shell its small enough to not be noticeable

    There is also a file cat /proc/loadavg

    So thats where it was! My original script tried to loop over all the cpu max and mins and calculate the percentage before deciding uptime was just more practical. Thanks for the info!

    I see you like awk a lot BTW

    Its just so damn easy to grab the piece of info you want with lol

    Really thanks for all the feedback Ill have to work some of your advice in when I get back to my computer

  • source
  • parent
  • [–] 1 point 3 weeks ago

    Looks good.

  • source
  • [–] 2 points 1 month ago
    [–] 1 point 1 month ago

    😮😮😮 neeeeeed

    thank you so much for posting, I’m obsessed

  • source
  • 1 comment in c/unixporn@lemmy.ml view that post
    [–] 1 point 1 month ago

    it would be nicer if could offer actual motds, but in the form of jokes or inspiring quotes or historical facts occurring that day or headlines or etc.

    i record my terminal output and keep it for a long time and it'll be neat to have to scroll back and see a kitten face telling me that sm sterling was born on this day X years ago and that an international peace agreement had just been signed somewhere in the world.

    but as an option since i could see that getting annoying really fast. lol

  • source