dankamongmen / notcurses

blingful character graphics/TUI library. definitely not curses.
https://nick-black.com/dankwiki/index.php/Notcurses
Other
3.61k stars 114 forks source link

hack up a quick ncneofetch #550

Closed dankamongmen closed 4 years ago

dankamongmen commented 4 years ago

This shit shows up on reddit all the freakin' time:

[schwarzgerat](0) $ neofetch
       _,met$$$$$gg.          dank@schwarzgerat 
    ,g$$$$$$$$$$$$$$$P.       ----------------- 
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux bullseye/sid x86_64 
 ,$$P'              `$$$.     Host: TRX40 AORUS MASTER -CF 
',$$P       ,ggs.     `$$b:   Kernel: 5.6.7nlb 
`d$$'     ,$P"'   .    $$$    Uptime: 4 days, 8 hours, 4 mins 
 $$P      d$'     ,    $$P    Packages: 5989 (dpkg) 
 $$:      $$.   -    ,d$$'    Shell: bash 5.0.16 
 $$;      Y$b._   _,d$P'      Resolution: 3440x1440 
 Y$$.    `.`"Y$$$$P"'         DE: Xfce 
 `$$b      "-.__              WM: compiz 
  `Y$$                        WM Theme: Nordic 
   `Y$$.                      Theme: NOX [GTK2] 
     `$$b.                    Icons: Adwaita [GTK2] 
       `Y$$b.                 Terminal: xfce4-terminal 
          `"Y$b._             Terminal Font: Hack 10 
              `"""            CPU: AMD Ryzen Threadripper 3970X (64) @ 4.000GHz 
                              GPU: NVIDIA GeForce RTX 2070 SUPER 
                              Memory: 31056MiB / 64212MiB 

[schwarzgerat](0) $ 

sex it up with notcurses and do them one better. Might get us some attention.

2020-04-29-001413_722x857_scrot

EnronEvolved commented 4 years ago

This isn't entirely related to neofetch, but I have written something in notcurses which is in a similar vein: NCMatrix. It's a CMatrix clone, that (in my opinion) looks better than CMatrix. Does this also fit the bill?

dankamongmen commented 4 years ago

This isn't entirely related to neofetch, but I have written something in notcurses which is in a similar vein: NCMatrix. It's a CMatrix clone, that (in my opinion) looks better than CMatrix. Does this also fit the bill?

hot damn, i'll take a look and let you know! =]

dankamongmen commented 4 years ago

@EnronEvolved very cool. I'm filing a few PRs for you right quick. I'm looking for more of a direct neofetch reimplementation with better graphics, maybe something else cool, we'll see. but thank you so much for using notcurses!

btw, i saw you "follow" and then "unfollow" shortly thereafter today. i know it's kind of a firehose =D.

dankamongmen commented 4 years ago

Now that we've got the quadblitter, using vendor-included graphics looks pretty promising. Check out these screenshots using Debian media.

2020-06-16-025806_3440x1440_scrot

dankamongmen commented 4 years ago

Started work on this. For each distro (as identified by lsb_release -i) we'll need some logo, ideally one already present on the filesystem. One annoyance: a Debian logo is available from desktop-base, but in Ubuntu it is...still a Debian logo :/. To get an Ubuntu logo, we'd need depend on some other package, and I don't think we can indicate in debian/control "dep on this if you're on Ubuntu". Hrmm.

dankamongmen commented 4 years ago

I'm now dispatching at the top level based off uname(2) output, so we can theoretically differentiate between various pseudoUNIXes.

I guess the next steps are to grab the various data neofetch grabs and display them. Remembering that the default mode is run once and leave output on the screen, it would still be nice to put them on their own plane, which can move around if they're using hold mode (which isn't implemented yet anyway lol). But yeah, put stuff on its own plane, with a blended black background so it's always readable. Then maybe look for the area of the screen with the least graphic material, and place the plane there?

dankamongmen commented 4 years ago

We just about have an MVP. The one shitty thing is that lsb_release is a Python script, doing Python things, and is responsible for 95% of our runtime. Let's just parse up /etc/os-release. Cast off this taint, and become taintless!

dankamongmen commented 4 years ago

Haahah, yep, eliminated it and cut our runtime from over half a second to less than two hundredths of a second, lol, python ought be embarrassed for itself at all times.

dankamongmen commented 4 years ago

You know what? I'm calling this bad boy done. It's a perfectly serviceable MVP, and perhaps people will see it and come add crap. We're done here. w00t!