vfetch
A simple fetch tool for Linux written in Python.
Dependencies
- python - For obvious reasons.
- distro - Python library for getting the machine's Linux distribution.
- pyxdg - Python library used to get the $XDG_CONFIG_HOME file path.
- wmctrl-python3 - Python library for the wmctrl tool for X used to get the window manager.
Installation
Download the repository and add a symbolic link to the vfetch.py
script in your /usr/bin/
directory:
$ git clone https://github.com/Lorago/vfetch.git
$ sudo ln -s /path/to/vfetch/vfetch.py /usr/bin/vfetch
You can then run the script with a simple
$ vfetch
Configuration
The default configuration is located in the same folder as the vfetch.py
file, and is called vfetch.conf
. This file should not be removed, moved, or edited.
To configure the script, make a copy of the configuration to $XDG_CONFIG_HOME/vfetch/vfetch.conf
, which will usually be ~/.config/vfetch/vfetch.conf
.
If the script does not find a file in this directory it will use the default configuration file. By default the vfetch output will look similar to this:
Options
Note that all option values that are not integers or booleans (true
or false
) need to be surrounded by
quotation marks as the configuration file is a JSON
file.
alignMode
The alignMode
option sets the data align mode for the output. Acceptable values are spaces
and center
.
alignSpace
The alignSpace
option sets the shortest space between the data names and values when the alignMode
is set to
spaces
. Acceptable values are positive integers.
colorIndex
The colorIndex
option sets the index of the terminal color (from 0 to 15) to use for the data names. Acceptable
values are 0-15.
displayAscii
The displayAscii
option sets whether to display an ascii image at the top left corner of the output. Acceptable
values are true
and false
.
asciiImage
The asciiImage
option sets the file path for the ascii image used if the displayAscii
option is set to true
.
Acceptable values are file paths to text files.
iconMode
The iconMode
option sets whether to replace the data names with NERD Font icons. Acceptable values are true
and
false
.
lowercase
The lowercase
option sets whether to lowercase all text. Acceptable values are true
and false
.
removeLinux
The removeLinux
option sets whether to remove the text Linux
(case-independent) from the OS
data. Acceptable
values are true
and false
.
kernelFullName
The kernelFullName
options sets whether to display the full kernel name or to cut off at the first -
(e.g.
5.8.4-arch1-1
becomes 5.8.4
). Acceptable values are true
and false
.
displayArchitecture
The displayArchitecture
option sets whether to display the current system architecture after the OS
name (e.g.
arch linux x86_64
becomes arch linux
). Acceptable values are true
and false
.
displayPackageManager
The displayPackageManager
option sets whether to display the package manager in parentheses after the number of
packages. Acceptable values are true
and false
.
data
The data
option sets what data to display and in what order. Values are separated by commas. Acceptable values
are os
, kernel
, uptime
, packages
, and wm
.
offset
The offset
option sets the offset of the data from the edge or the ascii image (in both the x- and y-directions).
Acceptable values are two different positive integer values (one for the offset in the x-direction, and one for the
offset in the y-direction).