Skip to content

Cloudxtreme/screenfetch-c

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

screenfetch-c

Current Version: 1.1 Beta (compiled, 99% complete)

screenfetch-c is an attempt to rewrite screenFetch, a popular shell script that displays system information and an ASCII logo, in the C language. Like the original screenFetch, screenfetch-c is meant to be compatible with a number of systems, including *BSD, GNU/Linux, OS X, and Windows (via the Cygwin environment).

Current Status:

screenfetch-c has been extensively tested on Windows 7 (in the Cygwin environment), OS X (10.6 and 10.8), and Linux (see list below). It has not yet been tested on any BSD distro. Therefore, I currently advise against using screenfetch-c on *BSD, even if it does compile successfully. However, it is up to you.

There are only a few select sections that still require work. They are listed here:

  • GPU detection is not implemented on Linux or BSD (appears as "Unknown").
  • Distro detection is not 100% complete, although it's close. If screenfetch-c fails to detect a specific distro, try running it with the -D [distro] flag.
  • Package detection requires more in-depth testing on OS X (testing for MacPorts/Fink).

Installing screenfetch-c:

Using the provided script (install.sh):

screenfetch-c can be installed very easily via the install.sh script provided in the /scripts directory.

Simply download the script and run it:

./install.sh

It will fetch all source code (and manpages) required, compile screenfetch, install the manpage, and leave a tidy binary in $HOME. You can then move that binary whereever you please.

Note: install.sh will prompt you for your root password in order to install the manpages!

Manual compilation:

Alternatively, you could always compile screenfetch-c yourself. It's very easy to do, as screenfetch-c has no dependencies outside of the standard and POSIX libraries of each OS. screenfetch-c is designed to be C99 compliant, although compiling with C90 should work provided you have the snprintf() function.

gcc -std=c99 screenfetch-c.c thread.c -o screenfetch -lpthread

Just be sure that screenfetch-c.h is in the same directory, as it contains all of screenfetch-c.c's prototypes and macros. If you want to be able to detect DE/WM/WM Theme/GTK information without manual mode, you will also need the scripts (chmoded to executable, of course). They must be stored in the same directory as the screenfetch executable, or it will not be able to utilize them. You can also choose the install screenfetch-c's manpage, if you wish.

Removal:

Removing screenfetch-c is just as easy as installing it. Simply delete the binary, ~/.screenfetchc (if you used manual mode), and the manpage, which is stored in /usr/share/man/man1/screenfetch.1.gz

If you compiled screenfetch-c manually, the final step may not be required.

Current Known Compatibility:

Note: These are only the ones that have actually been tested (so far). screenfetch-c may very well work on many of the untested distros, so feel free to try it.

  • OS X
  • Windows (requires Cygwin)
  • Arch Linux
  • Fedora
  • Linux Mint
  • LMDE
  • Ubuntu (tested with Lubuntu)
  • Fedora
  • Debian
  • CrunchBang
  • Gentoo
  • Funtoo
  • FreeBSD
  • OpenBSD
  • NetBSD
  • DragonFlyBSD
  • OpenSUSE
  • Mandriva/Mandrake
  • Slackware
  • Red Hat (RHEL)
  • Frugalware
  • Peppermint
  • SolusOS
  • Mageia
  • ParabolaGNU/Linux-libre
  • Viperr
  • LinuxDeepin
  • Chakra
  • Fuduntu
  • Trisquel
  • Manjaro
  • ElementaryOS (styled as 'elementary OS')
  • Scientific Linux
  • Backtrack Linux
  • Sabayon
  • Android (requires -D "Android" flag)
  • Linux (upon failure to detect a specific distro)

About

A rewrite of screenFetch 3.0.5 in C.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 79.3%
  • Shell 16.9%
  • Roff 3.8%