Sysfex - Another system information tool written in C++

Overview

Sysfex

Another neofetch-like system information fetching tool for linux-based systems written in C++

Installation

To install this program using the provided installer script:

git clone https://github.com/mebesus/sysfex
cd sysfex
./installer.sh

The installer script uses g++ for compiling sysfex and sudo for elevated permissions. If you don't have g++ installed already, install it before running the script. You may see a warning or two, ignore them.

Usage

Flag Description
--help Print available commands
--ascii <value> If value = 0, the ascii art won't be shown (sysfex --ascii 0). Else it'll be shown (sysfex --ascii 1)
--ascii-dir <path-to-ascii> Show an ascii image from anywhere of your computer on output
--ascii-beside-txt <value> Choose whether ascii art will be printed beside infos or not ( ASCII will be printed first, then info)
--icons <value> If value = 0, no font-icons will be shown, else they'll be
--config <path-to-file> Specify the file which you want to be used as the config file
--printables <path-to-file> Specify the file which you want to be used as the printables file

Configuration

Global config files can be found inside /opt/sysfex and local ones can be found in ~/.config/sysfex. Please note that global config files are used as fallback when local config files are absent, so modifying global config files are deprecated.

Gallery

FAQ

  • I get the error <X11/Xlib.h> header file is not found

Install libx11 or libx11-dev (whichever name your package manager uses) if you see this error

  • The font icons doesn't look okay / looks like boxes

You may wish to install the font-awesome and nerd-fonts package for displaying font-icons properly

Contribute?

Interested to be a part of this project? Maybe report a bug or two, or request features. I'm waiting to see your PR.

Plans for the future

  • Add color support for ASCII outputs
  • Improve the config stuffs

Special thanks to

  • Some cool fetch tools spreaded all over Github for inspiration and ideas.
  • The contributors, testers and those who gave me ideas as well as spread this project
  • You, for being interested in this project
Comments
  • "std::filesystem has not been declared" installation error

    I tried to install it on Ubuntu but it failed. Here's what was printed:

    #Compiling sysfex... In file included from src/sysfex.cpp:25: src/functions.h:14:37: warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts-ts’ 14 | void print(string icon, string key, auto value) | ^~~~ src/functions.h: In function ‘void init_config()’: src/functions.h:46:13: error: ‘std::filesystem’ has not been declared 46 | if(std::filesystem::exists("/opt/sysfex/config")) | ^~~~~~~~~~ src/functions.h: In function ‘std::string exec(const char*)’: src/functions.h:89:10: error: ‘unique_ptr’ is not a member of ‘std’ 89 | std::unique_ptr<FILE, decltype(&pclose)> stream{popen(input, "r"), &pclose}; | ^~~~~~~~~~ src/functions.h:1:1: note: ‘std::unique_ptr’ is defined in header ‘’; did you forget to ‘#include ’? +++ |+#include 1 | #define BOLD "\033[1m" src/functions.h:89:25: error: expected primary-expression before ‘,’ token 89 | std::unique_ptr<FILE, decltype(&pclose)> stream{popen(input, "r"), &pclose}; | ^ src/functions.h:89:27: error: expected primary-expression before ‘decltype’ 89 | std::unique_ptr<FILE, decltype(&pclose)> stream{popen(input, "r"), &pclose}; | ^~~~~~~~~~~~~~~~~ src/functions.h:91:8: error: ‘stream’ was not declared in this scope; did you mean ‘std::io_errc::stream’? 91 | if(stream) | ^~~~~~ | std::io_errc::stream In file included from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from src/sysfex.cpp:2: /usr/include/c++/10/bits/ios_base.h:203:24: note: ‘std::io_errc::stream’ declared here 203 | enum class io_errc { stream = 1 }; | ^~~~~~ In file included from src/sysfex.cpp:26: src/fetch_functions.h: In function ‘int Pacman(std::string)’: src/fetch_functions.h:174:10: error: ‘std::filesystem’ has not been declared 174 | std::filesystem::path pkgfolder = path; | ^~~~~~~~~~ src/fetch_functions.h:175:16: error: ‘std::filesystem’ has not been declared 175 | using std::filesystem::directory_iterator; | ^~~~~~~~~~ src/fetch_functions.h:176:45: error: ‘pkgfolder’ was not declared in this scope 176 | return std::distance(directory_iterator(pkgfolder), directory_iterator{}); | ^~~~~~~~~ src/fetch_functions.h:176:26: error: ‘directory_iterator’ was not declared in this scope 176 | return std::distance(directory_iterator(pkgfolder), directory_iterator{}); | ^~~~~~~~~~~~~~~~~~ src/fetch_functions.h:176:75: error: expected ‘)’ before ‘{’ token 176 | return std::distance(directory_iterator(pkgfolder), directory_iterator{}); | ~ ^ | ) src/fetch_functions.h: In function ‘int Portage(std::string)’: src/fetch_functions.h:181:10: error: ‘std::filesystem’ has not been declared 181 | std::filesystem::path pkgfolder = path; | ^~~~~~~~~~ src/fetch_functions.h:183:16: error: ‘std::filesystem’ has not been declared 183 | using std::filesystem::recursive_directory_iterator; | ^~~~~~~~~~ src/fetch_functions.h:184:16: error: ‘recursive_directory_iterator’ was not declared in this scope 184 | for(auto i=recursive_directory_iterator(path); i!=recursive_directory_iterator(); ++i) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/fetch_functions.h: In function ‘void pkgs()’: src/fetch_functions.h:201:13: error: ‘std::filesystem’ has not been declared 201 | if(std::filesystem::exists("/etc/portage")) | ^~~~~~~~~~ src/fetch_functions.h:205:13: error: ‘std::filesystem’ has not been declared 205 | if(std::filesystem::exists("/etc/pacman.d")) | ^~~~~~~~~~ src/fetch_functions.h:209:13: error: ‘std::filesystem’ has not been declared 209 | if(std::filesystem::exists("/etc/apt")) | ^~~~~~~~~~ src/fetch_functions.h:213:13: error: ‘std::filesystem’ has not been declared 213 | if(std::filesystem::exists("/nix")) | ^~~~~~~~~~ src/fetch_functions.h:215:17: error: ‘std::filesystem’ has not been declared 215 | if(std::filesystem::exists("/etc/nix")) | ^~~~~~~~~~ An error occured. Failed to install sysfex

    opened by MrHappyHam 4
  • Binary and Conf directory owned by Root when using `./install.sh`

    Binary and Conf directory owned by Root when using `./install.sh`

    Hi, just to let you know that I had some installation issues. The sysfex binary and the opt configure directory are both owned by root and therefore could not be run by a standard users. This was resolved with a simple chown $USER /usr/bin/sysfex however it should probably be within the install script.

    This was done on Ubuntu 20.0.4 compiled using g++.

    opened by JMuff22 3
  • Segmentation fault when no display is available

    Segmentation fault when no display is available

    Sysfex segfaults when a display is not available. For example, on tty there's no display. Try running it in a tty(Ctrl+Alt+F(n)).

    What happens probably is that when the display is null, X11Display returns nullptr instead of an actual pointer. And dereferencing that causes segfault. Solution is to check for null pointer and take action accordingly.

    bug good first issue 
    opened by mdgaziur 3
  • Added Void Linux pkg number support

    Added Void Linux pkg number support

    Edited the 'src/fetch_functions.h' file and made the program able to print the number of installed packages on a Void Linux system by using the "xbps-query" command, part of the X Binary Package System package manager.

    opened by mirk0dex 1
  • [Bug] macOS

    [Bug] macOS

    ./installer.sh compile errors on macOS, is this supported on Mac?

    Compiling sysfex...
    In file included from src/sysfex.cpp:19:
    src/functions.h:9:37: error: 'auto' not allowed in function prototype
    void print(string icon, string key, auto value)
                                        ^~~~
    src/functions.h:43:5: error: no matching function for call to 'print'
        print("", "--help", "Print this screen");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [18]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:44:5: error: no matching function for call to 'print'
        print("", "--ascii <value>", "If value == 0, don't print the ascii art, else do");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [50]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:45:5: error: no matching function for call to 'print'
        print("", "--ascii-dir <path-to-ascii>", "Specify the file which you want to be shown as ascii-art");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [57]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:46:5: error: no matching function for call to 'print'
        print("", "--ascii-beside-txt <value>", "Choose whether ascii art will be printed beside infos or not");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [61]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:47:5: error: no matching function for call to 'print'
        print("", "--icons <value>", "If value == 0, don't print font-icons beside informations, else do");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [67]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:48:5: error: no matching function for call to 'print'
        print("", "--config <path-to-config>", "Specify the file which you want to be used as the config file");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [62]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:4:
    src/modules/cpu.h:30:5: error: no matching function for call to 'print'
        print("", "CPU", cpu);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:5:
    src/modules/de.h:12:9: error: no matching function for call to 'print'
            print("", "DE/WM", desktop_session);
            ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char *' to 'int' for 3rd argument; dereference the argument with *
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:6:
    src/modules/host.h:18:5: error: no matching function for call to 'print'
        print("", "Host", name+" "+version);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'basic_string<char>' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:7:
    src/modules/kernel.h:5:2: error: no matching function for call to 'print'
            print("", "Kernel", uname_info.release);
            ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'char [256]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:8:
    src/modules/os.h:24:5: error: no matching function for call to 'print'
        print("", "OS", name+" "+uname_info.machine);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'basic_string<char>' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:9:
    src/modules/pkgs.h:48:5: error: no matching function for call to 'print'
        print("", "Pkgs", pkg);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:10:
    src/modules/ram.h:27:5: error: no matching function for call to 'print'
        print("", "Mem", ram);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:11:
    src/modules/resolution.h:12:5: error: no matching function for call to 'print'
        print("", "Res", res);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:12:
    src/modules/shell.h:3:2: error: no matching function for call to 'print'
            print("", "Shell", std::getenv("SHELL"));
            ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'char *' to 'int' for 3rd argument; dereference the argument with *
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:14:
    src/modules/uptime.h:49:5: error: no matching function for call to 'print'
        print("", "Uptime", time);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    17 errors generated.
    An error occured. Failed to install sysfex
    [email protected] ~/sysfex (main) [1]> ./installer.sh
    An existing installation of Sysfex is found. Remove or override it? [Y/n] y
    Removing old sysfex installation
    rm: /usr/bin/sysfex: No such file or directory
    Install Sysfex? [Y/n] y
    Compiling sysfex...
    In file included from src/sysfex.cpp:19:
    src/functions.h:9:37: error: 'auto' not allowed in function prototype
    void print(string icon, string key, auto value)
                                        ^~~~
    src/functions.h:43:5: error: no matching function for call to 'print'
        print("", "--help", "Print this screen");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [18]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:44:5: error: no matching function for call to 'print'
        print("", "--ascii <value>", "If value == 0, don't print the ascii art, else do");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [50]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:45:5: error: no matching function for call to 'print'
        print("", "--ascii-dir <path-to-ascii>", "Specify the file which you want to be shown as ascii-art");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [57]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:46:5: error: no matching function for call to 'print'
        print("", "--ascii-beside-txt <value>", "Choose whether ascii art will be printed beside infos or not");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [61]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:47:5: error: no matching function for call to 'print'
        print("", "--icons <value>", "If value == 0, don't print font-icons beside informations, else do");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [67]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    src/functions.h:48:5: error: no matching function for call to 'print'
        print("", "--config <path-to-config>", "Specify the file which you want to be used as the config file");
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char [62]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:4:
    src/modules/cpu.h:30:5: error: no matching function for call to 'print'
        print("", "CPU", cpu);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:5:
    src/modules/de.h:12:9: error: no matching function for call to 'print'
            print("", "DE/WM", desktop_session);
            ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'const char *' to 'int' for 3rd argument; dereference the argument with *
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:6:
    src/modules/host.h:18:5: error: no matching function for call to 'print'
        print("", "Host", name+" "+version);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'basic_string<char>' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:7:
    src/modules/kernel.h:5:2: error: no matching function for call to 'print'
            print("", "Kernel", uname_info.release);
            ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'char [256]' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:8:
    src/modules/os.h:24:5: error: no matching function for call to 'print'
        print("", "OS", name+" "+uname_info.machine);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'basic_string<char>' to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:9:
    src/modules/pkgs.h:48:5: error: no matching function for call to 'print'
        print("", "Pkgs", pkg);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:10:
    src/modules/ram.h:27:5: error: no matching function for call to 'print'
        print("", "Mem", ram);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:11:
    src/modules/resolution.h:12:5: error: no matching function for call to 'print'
        print("", "Res", res);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:12:
    src/modules/shell.h:3:2: error: no matching function for call to 'print'
            print("", "Shell", std::getenv("SHELL"));
            ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'char *' to 'int' for 3rd argument; dereference the argument with *
    void print(string icon, string key, auto value)
         ^
    In file included from src/sysfex.cpp:20:
    In file included from src/modules.h:14:
    src/modules/uptime.h:49:5: error: no matching function for call to 'print'
        print("", "Uptime", time);
        ^~~~~
    src/functions.h:9:6: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'int' for 3rd argument
    void print(string icon, string key, auto value)
         ^
    17 errors generated.
    An error occured. Failed to install sysfex
    
    opened by advik-student-dev 5
  • Misalignment of infos when using ASCII art with certain characters

    Misalignment of infos when using ASCII art with certain characters

    Example:

    image

    Reason:

    image By current line length, I don't mean character count. I mean the number of blocks the string will occupy. Though this thing works as it's supposed to be on strings with fontawesome, it doesn't work with strings which have Chinese, Bengali and/or characters of some other languages as well. I don't know how to actually solve this issue yet. Need a bit help here.

    bug help wanted 
    opened by mehedirm6244 0
Owner
Mehedi Rahman Mahi
I code shit
Mehedi Rahman Mahi
A Lilu plugin that makes System Information recognize your Realtek card reader as a native one

Realtek Card Reader Driver Friend Introduction A Lilu plugin that makes System Information recognize your Realtek card reader as a native one. Support

FireWolf 57 Nov 30, 2022
A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.

Bluetooth-System-Monitor A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth and thus giving

Dustin Watts 32 Dec 22, 2022
Information on my chord-based typing system

taipo A chord-based typing system: only needs 10 keys per hand (2 keys per finger) optimized to reduce finger usage, travel distance, and awkward patt

Michael 22 Dec 23, 2022
See your system information on LCD with Arduino!

Nodejs Arduino System Info See your system information on LCD with Arduino! You can see RAM usage, and CPU usage. Requipments: An Arduino Board. [ You

Akif9748 4 Jan 14, 2022
Yeah, so basically this program will give you the same information of a neofetch with the difference that is written in C.

neofetch-c Basically this program will give you the same information of a neofetch with the difference that is written in C. Build Compile Before runn

Francesco P. 3 Nov 19, 2022
This is just another Potato to get SYSTEM via SeImpersonate privileges.

MultiPotato First of all - credit to @splinter_code & @decoder_it for RoguePotato as this code heavily bases on it. This is just another Potato to get

null 467 Dec 29, 2022
M5Paper project with weather information from openweathermap

M5PaperWeather **M5Paper project with weather information from openweathermap *** Description Arduino project to show internal environment data and we

null 79 Dec 23, 2022
Convert LLVM coverage information into HTML reports

llvm-coverage-to-html converter The clang compiler supports source based coverage tracking, but the default reporting options are very basic. This too

Thomas Neumann 2 Oct 11, 2021
ContactGot is an offline desktop app, where clients can leave their info, while an administrator can manage which information they need to gather on certain projects.

ContactGot Contents Description How to use Requirements Engineering Installation Documentation Design Architecture Demonstration 1. Description During

Elizaveta 15 Sep 17, 2022
Decoded Information from Radio Emissions for Windows Or Linux Fans

Dire Wolf is a software "soundcard" AX.25 packet modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, as a tracker, digipeater, APRStt gateway, or Internet Gateway (IGate).

null 1.2k Jan 3, 2023
A BOF for enumerating version information for DLLs associated for a Beacon process.

DLL Image Resource Version Enumeration BOF What is this? This is a Cobalt Strike BOF file (a mildly massaged port of @N4k3dTurtl3's existing PoC , mea

null 10 Nov 5, 2022
Steals plaguecheat.cc login information and sends them over Discord webhook

PlagueStealer DO NOT USE THIS!!! I TAKE NO RESPONSIBILITY FOR ANY DAMAGE CAUSED How to use: Make a Discord webhook (watch this if you dont know how: h

Sinner 3 Dec 28, 2021
Windows kernel information leakage POCs on Windows 10 RS1+

This repository covers various techniques and methods I write while conducting research into infoleaks, these are for leaking various Windows kernel a

null 2 Dec 18, 2022
RaspberryPiCM4Handheld7Inch - A single source for all of the information around my Raspberry Pi CM4 7" Handheld

Raspberry Pi CM4 Handheld 7 - Aegis" A repository for the Aegis, a 7" Raspberry Pi CM4 handheld device. NOTE: This is still a work in progress. The de

null 245 Dec 22, 2022
This repo contains information about EDRs that can be useful during red team exercise.

EDRs This repo contains information about EDRs that can be useful during red team exercise. patch_syscall_dynamically64.c This proof-of-concept is res

Mr.Un1k0d3r 1.6k Dec 29, 2022
This project contains information on the PC-Link hardware interface for some early 2000 Sony HiFi decks

pclink-i2c This project contains information on the PC-Link hardware interface for some early 2000 Sony HiFi decks, such as the CMT-DC500MD (also know

Sir68k 1 Jan 21, 2022
A plugin that can display player information overhead

A plugin that can display player information overhead Config File At plugins/HeadShow/config.json { "updateTick":60,

HuoHua 0 Jun 17, 2022
An easy-to-use utility for getting information on quadratics

quadratic-utils An easy-to-use utility for getting information on quadratic equations Installing Make sure you have cmake, git, and build-essential in

Ryan Fortner 2 Feb 14, 2022