mirror of
https://github.com/dylanaraps/neofetch.git
synced 2025-12-22 11:39:53 +00:00
Compare commits
91 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c902c2d69e | ||
|
|
efa9ff6726 | ||
|
|
0e59d6c041 | ||
|
|
8e29cd00b3 | ||
|
|
f2300d3306 | ||
|
|
77596ea868 | ||
|
|
11a2adc8ed | ||
|
|
aaabb9c3c0 | ||
|
|
6e20dfe759 | ||
|
|
2e5384581f | ||
|
|
e4224c4f77 | ||
|
|
4870a863ac | ||
|
|
9ad9d4d75e | ||
|
|
80a34bdf28 | ||
|
|
a9df517fd4 | ||
|
|
6711ebc91f | ||
|
|
8762403de9 | ||
|
|
a2290b7398 | ||
|
|
9f263fe184 | ||
|
|
c5c4f901ba | ||
|
|
9b5d75907b | ||
|
|
ed05c6460b | ||
|
|
7fc4f84217 | ||
|
|
c43ffb028e | ||
|
|
8540a2f1e3 | ||
|
|
db21981373 | ||
|
|
ca49b178fe | ||
|
|
1e8f12dd4a | ||
|
|
39cda4f29f | ||
|
|
ed99973989 | ||
|
|
fe9933f544 | ||
|
|
045577653c | ||
|
|
c3d47ece7d | ||
|
|
23340e29c3 | ||
|
|
fe057a157b | ||
|
|
f8c2bc2573 | ||
|
|
bb4bc945be | ||
|
|
acdd75220e | ||
|
|
a1e6843884 | ||
|
|
63df9687db | ||
|
|
744dd46330 | ||
|
|
dd8ee366b1 | ||
|
|
4fd2287582 | ||
|
|
d21f9e928d | ||
|
|
8fa9fd2e71 | ||
|
|
0f2ef38a5b | ||
|
|
06fdb40878 | ||
|
|
da983b3adf | ||
|
|
498991b106 | ||
|
|
98e2a0db99 | ||
|
|
857cbb21b4 | ||
|
|
402ac0bc00 | ||
|
|
87140464fc | ||
|
|
434a4d4fb7 | ||
|
|
4f3f0f73c0 | ||
|
|
322acffb95 | ||
|
|
1ab898e944 | ||
|
|
bb9389797f | ||
|
|
f7dc4441fc | ||
|
|
468c49efe7 | ||
|
|
3217b921e5 | ||
|
|
03d07f2c62 | ||
|
|
a26fd76ca6 | ||
|
|
51ff3d1c88 | ||
|
|
f6c362f5a1 | ||
|
|
75148f63ee | ||
|
|
3941971e3e | ||
|
|
123d1652ff | ||
|
|
3cac29c804 | ||
|
|
952f2e5b22 | ||
|
|
b57cdee02a | ||
|
|
b763c31ad7 | ||
|
|
f9d881e905 | ||
|
|
fd04aa14ae | ||
|
|
87a28b139a | ||
|
|
133e7bdc0c | ||
|
|
5caac4a91a | ||
|
|
fd535da792 | ||
|
|
11aa52e088 | ||
|
|
cbece346f8 | ||
|
|
f03ecddc13 | ||
|
|
c1dac90399 | ||
|
|
b3e90cc322 | ||
|
|
4e69a35fb0 | ||
|
|
eea725b8aa | ||
|
|
8fa1abd0c2 | ||
|
|
15879c8df8 | ||
|
|
b633ce9a0c | ||
|
|
8493805eda | ||
|
|
8d8b2da890 | ||
|
|
afd8e56d58 |
159
CHANGELOG.md
159
CHANGELOG.md
@@ -1,122 +1,91 @@
|
|||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
- **[@konimex](https://github.com/konimex)**
|
- [**@yslgirl**](https://github.com/yslgirl)
|
||||||
- **[@mstraube](https://github.com/mstraube)**
|
- [**@iandrewt**](https://github.com/iandrewt)
|
||||||
- **[@dominiklohmann](https://github.com/dominiklohmann)**
|
- [**@chrisweeksnz**](https://github.com/chrisweeksnz)
|
||||||
- **[@ybden](https://github.com/ybden)**
|
- [**@dawidd6**](https://github.com/dawidd6)
|
||||||
- **[@lexruee](https://github.com/lexruee)**
|
- [**@MitchWeaver**](https://github.com/MitchWeaver)
|
||||||
- **[@AMDmi3](https://github.com/AMDmi3)**
|
- [**@StarryTony**](https://github.com/StarryTony)
|
||||||
- **[@deadda7a](https://github.com/deadda7a)**
|
|
||||||
- **[@winneon](https://github.com/winneon)**
|
|
||||||
- **[@DamnWidget](https://github.com/DamnWidget)**
|
## OS
|
||||||
|
|
||||||
|
- Fixed detection bug with Gentoo.
|
||||||
|
- Fixed detection bug with TrueOS. [**@dawidd6**](https://github.com/dawidd6)
|
||||||
|
- Added support for macOS High Sierra. [**@yslgirl**](https://github.com/yslgirl)
|
||||||
|
- Added support for Container Linux by CoreOS. [**@chrisweeksnz**](https://github.com/chrisweeksnz)
|
||||||
|
- Added support for 2017 iOS devices. [**@iandrewt**](https://github.com/iandrewt)
|
||||||
|
- Added support for LEDE. [**@dawidd6**](https://github.com/dawidd6)
|
||||||
|
- Added support for Pop!\_OS. [**@jliles**](https://github.com/jliles)
|
||||||
|
- Added support for Lunar Linux.
|
||||||
|
|
||||||
|
|
||||||
## General
|
## General
|
||||||
|
|
||||||
- Config file now has a `.conf` suffix.
|
- Added more info to verbose mode for debugging.
|
||||||
- Neofetch now assumes target directories (config file and ASCII directory) at install time, this fixes problems with systems such as NixOS.
|
- Fixed bug in prompt location calculation.
|
||||||
- `stdout` mode is now reimplemented.
|
|
||||||
- This mode prints the information in plain text.
|
|
||||||
- You can use it with `--stdout`.
|
|
||||||
- Example: https://gist.github.com/dylanaraps/151c205322cf3acae62661b76464a3f7
|
|
||||||
- Fixed prompt location if color blocks are disabled.
|
|
||||||
- Make makefile more portable. **[@AMDmi3](https://github.com/AMDmi3)**
|
|
||||||
|
|
||||||
|
|
||||||
## Operating System
|
## Ascii
|
||||||
|
|
||||||
- Added support for AryaLinux. **[@mstraube](https://github.com/mstraube)**
|
- Added color updates for Kubuntu logo. **Maulik Mistry**
|
||||||
- Added support for Amazon Linux AMI.
|
|
||||||
- Added support for Artix Linux. **[@DamnWidget](https://github.com/DamnWidget)**
|
|
||||||
- Added support for Endless OS.
|
|
||||||
- Added support for Sabotage Linux.
|
|
||||||
- Added support for Siduction. **[@lexruee](https://github.com/lexruee)**
|
|
||||||
- Added support for Source Mage.
|
|
||||||
- Added support for Parsix GNU/Linux. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- Added support for Nurunner. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- Fixed Raspbian being detected as ChromeOS.
|
|
||||||
|
|
||||||
|
|
||||||
## Images
|
## Images
|
||||||
|
|
||||||
- [w3m] Fixed w3m-img not found on NixOS.
|
- [MacOS/iTerm2] Fixed thumbnail not appearing. [**@StarryTony**](https://github.com/StarryTony)
|
||||||
- Added support for using all image types as input.
|
- Fixed bug with getting wallpaper from feh.
|
||||||
- Neofetch now supports `svg`, `tiff` etc.
|
- Added `pixterm` backend.
|
||||||
|
|
||||||
|
|
||||||
## ASCII
|
|
||||||
|
|
||||||
- Added small Debian.
|
|
||||||
- Added small FreeBSD.
|
|
||||||
- Added small macOS.
|
|
||||||
- Added small NixOS.
|
|
||||||
|
|
||||||
|
|
||||||
## Info
|
## Info
|
||||||
|
|
||||||
**GPU Driver**
|
**Desktop Environment**
|
||||||
|
|
||||||
- [Linux] Added a new info function (*off by default*) to display the GPU Driver currently in use.
|
- Added GNOME version.
|
||||||
- Add `info "GPU Driver" gpu_driver` to your config to use it.
|
|
||||||
|
|
||||||
**CPU**
|
|
||||||
|
|
||||||
- [Linux] Fixed inaccurate output on ARM SoC devices.
|
|
||||||
- [Linux] Fixed CPU speed not appearing on PowerPC systems.
|
|
||||||
- [NetBSD] Added support for CPU temperature. (NOTE: This only supports newer Intel processors)
|
|
||||||
- Fixed inaccurate speed output in systems with CPU speed less than 1 GHz.
|
|
||||||
- Deprecated `cpu_shorthand` in favor of `cpu_brand`.
|
|
||||||
|
|
||||||
**GPU**
|
|
||||||
|
|
||||||
- [Linux] Filter out duplicate entries.
|
|
||||||
|
|
||||||
**Model**
|
|
||||||
|
|
||||||
- Added support for QEMU/KVM.
|
|
||||||
- Renamed subtitle to `Host:`.
|
|
||||||
|
|
||||||
**Uptime**
|
|
||||||
|
|
||||||
- [AIX/IRIX] Fixed Neofetch crashing when calculating uptime.
|
|
||||||
|
|
||||||
**Terminal**
|
|
||||||
|
|
||||||
- [SSH] Fixed infinite loop if neofetch is run on non-interactive shells.
|
|
||||||
|
|
||||||
**Terminal Font**
|
|
||||||
|
|
||||||
- Added support for LXTerminal. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- Added support for GNUStep Terminal. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- Fixed Xfce4-terminal font output when system-wide font is used. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- Fixed MATE-Terminal issue. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- Fixed URxvt font detection failing if `.` is used. **[@winneon](https://github.com/winneon)**
|
|
||||||
|
|
||||||
**Theme**
|
|
||||||
|
|
||||||
- [Qt/KDE] Fixed inaccurate theme naming. **[@mstraube](https://github.com/mstraube)**
|
|
||||||
- [Qt/KDE] GTK theme is now shows as well.
|
|
||||||
|
|
||||||
**Window Manager**
|
**Window Manager**
|
||||||
|
|
||||||
- [macOS] Added support for `chunkwm`. **[@dominiklohmann](https://github.com/dominiklohmann)**
|
- Added support for most (*if not all*) current Wayland compositors/window manager's.
|
||||||
- Fix incorrect output when using WindowMaker. **[@mstraube](https://github.com/mstraube)**
|
- [macOS] Fixed `chunkwm` being detected as `Kwm`. [**@iandrewt**](https://github.com/iandrewt)
|
||||||
|
|
||||||
|
**Window Manager Theme**
|
||||||
|
|
||||||
|
- Fixed `sawfish` detection.
|
||||||
|
|
||||||
|
**Install Date**
|
||||||
|
|
||||||
|
- [macOS] Fixed Install Date. [**@iandrewt**](https://github.com/iandrewt)
|
||||||
|
|
||||||
|
**Theme**
|
||||||
|
|
||||||
|
- Fixed KDE font issue. [**@mstraube**](https://github.com/mstraube)
|
||||||
|
|
||||||
|
**CPU**
|
||||||
|
|
||||||
|
- [linux] Detect the correct temperature file to use.
|
||||||
|
- [windows] Removed `$temp` usage as it's an envar.
|
||||||
|
|
||||||
|
**GPU**
|
||||||
|
|
||||||
|
- [linux] Added driver version to NVIDIA output.
|
||||||
|
- [macOS] Added NVIDIA support. [**@iandrewt**](https://github.com/iandrewt)
|
||||||
|
|
||||||
|
**Package Manager**
|
||||||
|
|
||||||
|
- Added detection for Sabotage Linux's `butch` [**@MitchWeaver**](https://github.com/MitchWeaver)
|
||||||
|
|
||||||
|
**Resolution**
|
||||||
|
|
||||||
|
- [macOS] Fixed errors on non-retina screens. [**@iandrewt**](https://github.com/iandrewt)
|
||||||
|
|
||||||
**Song**
|
**Song**
|
||||||
|
|
||||||
- Added support for Pogo. **[@mstraube](https://github.com/mstraube)**
|
- Added support for Elisa. [**@mstraube**](https://github.com/mstraube)
|
||||||
- Fixed bug with players not being found.
|
|
||||||
|
|
||||||
**Battery**
|
**Model**
|
||||||
|
|
||||||
- Added battery support for Thinkpads and other devices that use the `CMB` naming for batteries. **[@deadda7a](https://github.com/deadda7a)**
|
- Remove more unneeded outputs. [**@konimex**](https://github.com/konimex)
|
||||||
|
|
||||||
|
**Disk**
|
||||||
|
|
||||||
## Images
|
- Update Haiku's detection. [**@dawidd6**](https://github.com/dawidd6)
|
||||||
|
|
||||||
- Fixed division by 0 error in XTerm.
|
|
||||||
|
|
||||||
## Screenshot
|
|
||||||
|
|
||||||
- Use `maim` over `scrot`. **[@ybden](https://github.com/ybden)**
|
|
||||||
- Fixed `scrot_cmd` arguments not being used. **[@winneon](https://github.com/winneon)**
|
|
||||||
|
|||||||
@@ -1,18 +1,21 @@
|
|||||||
${c1} sy
|
${c1} 'c'
|
||||||
h--d
|
'kKk,
|
||||||
d---:
|
.dKKKx.
|
||||||
:----/N
|
.oKXKXKd.
|
||||||
:------/N
|
.l0XXXXKKo.
|
||||||
N/----:---+
|
c0KXXXXKX0l.
|
||||||
N/---+/ :--:o
|
:0XKKOxxOKX0l.
|
||||||
N/--:/ ::::s
|
:OXKOc. .c0XX0l.
|
||||||
+--- ::::s
|
:OK0o. ${c4}...${c1}'dKKX0l.
|
||||||
N+---+ ::::s
|
:OX0c ${c4};xOx'${c1}'dKXX0l.
|
||||||
N+----o +:o s::::s
|
:0KKo.${c4}.o0XXKd'.${c1}lKXX0l.
|
||||||
N/----:: s:::s h:::::s
|
c0XKd.${c4}.oKXXXXKd..${c1}oKKX0l.
|
||||||
N/----:::y::::+ o::::::o
|
.c0XKk;${c4}.l0K0OO0XKd..${c1}oKXXKo.
|
||||||
N/---::::::::::s d::::::::+N
|
.l0XXXk:${c4},dKx,.'l0XKo.${c1}.kXXXKo.
|
||||||
/--::::::::::::dd::::::::::+N
|
.o0XXXX0d,${c4}:x; .oKKx'${c1}.dXKXXKd.
|
||||||
:-:::/+syhd NNN N dhys+/:::/
|
.oKXXXXKK0c.${c4};. :00c'${c1}cOXXXXXKd.
|
||||||
d::+ydN /s+/d
|
.dKXXXXXXXXk,${c4}. cKx'${c1}'xKXXXXXXKx'
|
||||||
arc y\\.
|
'xKXXXXK0kdl:. ${c4}.ok; ${c1}.cdk0KKXXXKx'
|
||||||
|
'xKK0koc,.. ${c4}'c, ${c1} ..,cok0KKk,
|
||||||
|
,xko:'. ${c4}.. ${c1} .':okx;
|
||||||
|
.,'. .',.
|
||||||
|
|||||||
20
ascii/distro/coreos
Normal file
20
ascii/distro/coreos
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
${c1} .....
|
||||||
|
.';:cccccccc:;'.
|
||||||
|
':ccccclc${c3}lllllllll${c1}cc:.
|
||||||
|
.;cccccccc${c3}lllllllllllllll${c1}c,
|
||||||
|
;clllccccc${c3}llllllllllllllllll${c1}c,
|
||||||
|
.cllclccccc${c3}lllll${c2}lll${c3}llllllllllll${c1}c:
|
||||||
|
ccclclcccc${c3}cllll${c2}kWMMNKk${c3}llllllllll${c1}c:
|
||||||
|
:ccclclcccc${c3}llll${c2}oWMMMMMMWO${c3}lllllllll${c1}c,
|
||||||
|
.ccllllllccc${c3}clll${c2}OMMMMMMMMM0${c3}lllllllll${c1}c
|
||||||
|
.lllllclcccc${c3}llll${c2}KMMMMMMMMMMo${c3}llllllll${c1}c.
|
||||||
|
.lllllllcccc${c3}clll${c2}KMMMMMMMMN0${c3}lllllllll${c1}c.
|
||||||
|
.cclllllcccc${c3}lllld${c2}xkkxxdo${c3}llllllllllc${c1}lc
|
||||||
|
:cccllllllcccc${c3}lllccllllcclccc${c1}cccccc;
|
||||||
|
.ccclllllllcccccccc${c3}lll${c1}ccccclccccccc
|
||||||
|
.cllllllllllclcccclccclccllllcllc
|
||||||
|
:cllllllllccclcllllllllllllcc;
|
||||||
|
.cccccccccccccclcccccccccc:.
|
||||||
|
.;cccclccccccllllllccc,.
|
||||||
|
.';ccccclllccc:;..
|
||||||
|
.....
|
||||||
@@ -1,20 +1,20 @@
|
|||||||
${c1} `.:/ossyyyysso/:.
|
${c1} `.:/ossyyyysso/:.
|
||||||
.:oyyyyyyyyyyyyyyyyyyo:`
|
.:oyyyyyyyyyyyyyyyyyyo:`
|
||||||
-oyyyyyyyo-``/yyyyyyysyyyyo-
|
-oyyyyyyyo${c2}dMMy${c1}yyyyyyysyyyyo-
|
||||||
-syyyyyyyyyy` +yyyy/` `/yyyys-
|
-syyyyyyyyyy${c2}dMMy${c1}oyyyy${c2}dmMMy${c1}yyyys-
|
||||||
+yyys/./syyyy: ..-` /yyyyyy+
|
oyyys${c2}dMy${c1}syyyy${c2}dMMMMMMMMMMMMMy${c1}yyyyyyo
|
||||||
`oyyyy: `:syys+oooo+:. .yyyyyyyyo`
|
`oyyyy${c2}dMMMMy${c1}syysoooooo${c2}dMMMMy${c1}yyyyyyyyo`
|
||||||
+yyyyyy/ `/yyyyyyyyyyys/` /sssssyyy+
|
oyyyyyy${c2}dMMMMy${c1}yyyyyyyyyyys${c2}dMMy${c1}sssssyyyo
|
||||||
-yyyyyyyy- -syyyyyyyyyyyyyys- syyy-
|
-yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy-
|
||||||
oyyyyso+: .yyyyyyyyyyyyyyyyyy. `.+yyyo
|
oyyyysoo${c2}dMy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo
|
||||||
yyys /yyyyyyyyyyyyyyyyyysosyyyyyyyy
|
yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyysosyyyyyyyy
|
||||||
yyys.` /yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|
yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|
||||||
oyyyyyso: .yyyyyyyyyyyyyyyyyy.`.-:/syyyo
|
oyyyyysos${c2}dy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo
|
||||||
-yyyyyyyy. -syyyyyyyyyyyyyys- syyy-
|
-yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy-
|
||||||
+yyyyyy: `syyyyyyyyyyys/` /o+++oyyy+
|
oyyyyyy${c2}dMMMy${c1}syyyyyyyyyyys${c2}dMMy${c1}oyyyoyyyo
|
||||||
`oyyyy. -syyy++oooo+/. oyyyyyyyyo
|
`oyyyy${c2}dMMMy${c1}syyyoooooo${c2}dMMMMy${c1}oyyyyyyyyo
|
||||||
+yyys/-oyyyys` `..` -yyyyyyy+
|
oyyysyyoyyyys${c2}dMMMMMMMMMMMy${c1}yyyyyyyo
|
||||||
-syyyyyyyyy: .syyy/` `syyyys-
|
-syyyyyyyyy${c2}dMMMy${c1}syyy${c2}dMMMy${c1}syyyys-
|
||||||
-oyyyyyyy:.`-yyyyyys+syyyyo-
|
-oyyyyyyy${c2}dMMy${c1}yyyyyysosyyyyo-
|
||||||
./oyyyyyyyyyyyyyyyyyyo/.
|
./oyyyyyyyyyyyyyyyyyyo/.
|
||||||
`.:/oosyyyysso/:.`
|
`.:/oosyyyysso/:.`
|
||||||
|
|||||||
9
ascii/distro/lede
Normal file
9
ascii/distro/lede
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
${c1} _________
|
||||||
|
/ /\
|
||||||
|
/ LE / \
|
||||||
|
/ DE / \
|
||||||
|
/________/ LE \
|
||||||
|
\ \ DE /
|
||||||
|
\ LE \ /
|
||||||
|
\ DE \ /
|
||||||
|
\________\/
|
||||||
13
ascii/distro/lunar
Normal file
13
ascii/distro/lunar
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
${c1}`-. `-.
|
||||||
|
-ohys/-` `:+shy/`
|
||||||
|
-omNNdyo/` :+shmNNy/`
|
||||||
|
${c3} -
|
||||||
|
/mMmo
|
||||||
|
hMMMN`
|
||||||
|
.NMMs
|
||||||
|
${c1} -:+oooo+//: ${c3}/MN${c1}. -///oooo+/-`
|
||||||
|
/:.` ${c3}/${c1} `.:/`
|
||||||
|
${c3} __
|
||||||
|
| | _ _ ___ ___ ___
|
||||||
|
| |__| | | | .'| _|
|
||||||
|
|_____|___|_|_|__,|_|
|
||||||
21
ascii/distro/pop_os
Normal file
21
ascii/distro/pop_os
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
${c1} /////////////
|
||||||
|
/////////////////////
|
||||||
|
///////${c2}*767${c1}////////////////
|
||||||
|
//////${c2}7676767676*${c1}//////////////
|
||||||
|
/////${c2}76767${c1}//${c2}7676767${c1}//////////////
|
||||||
|
/////${c2}767676${c1}///${c2}*76767${c1}///////////////
|
||||||
|
///////${c2}767676${c1}///${c2}76767${c1}.///${c2}7676*${c1}///////
|
||||||
|
/////////${c2}767676${c1}//${c2}76767${c1}///${c2}767676${c1}////////
|
||||||
|
//////////${c2}76767676767${c1}////${c2}76767${c1}/////////
|
||||||
|
///////////${c2}76767676${c1}//////${c2}7676${c1}//////////
|
||||||
|
////////////,${c2}7676${c1},///////${c2}767${c1}///////////
|
||||||
|
/////////////*${c2}7676${c1}///////${c2}76${c1}////////////
|
||||||
|
///////////////${c2}7676${c1}////////////////////
|
||||||
|
///////////////${c2}7676${c1}///${c2}767${c1}////////////
|
||||||
|
//////////////////////${c2}'${c1}////////////
|
||||||
|
//////${c2}.7676767676767676767,${c1}//////
|
||||||
|
/////${c2}767676767676767676767${c1}/////
|
||||||
|
///////////////////////////
|
||||||
|
/////////////////////
|
||||||
|
/////////////
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ print_info() {
|
|||||||
info "GPU" gpu
|
info "GPU" gpu
|
||||||
info "Memory" memory
|
info "Memory" memory
|
||||||
|
|
||||||
# info "GPU Driver" gpu_driver # Linux only
|
# info "GPU Driver" gpu_driver # Linux/macOS only
|
||||||
# info "CPU Usage" cpu_usage
|
# info "CPU Usage" cpu_usage
|
||||||
# info "Disk" disk
|
# info "Disk" disk
|
||||||
# info "Battery" battery
|
# info "Battery" battery
|
||||||
@@ -543,7 +543,7 @@ disk_display="off"
|
|||||||
# Image backend.
|
# Image backend.
|
||||||
#
|
#
|
||||||
# Default: 'ascii'
|
# Default: 'ascii'
|
||||||
# Values: 'ascii', 'caca', 'catimg', 'jp2a', 'iterm2', 'off', 'tycat', 'w3m'
|
# Values: 'ascii', 'caca', 'catimg', 'jp2a', 'iterm2', 'off', 'termpix', 'pixterm', 'tycat', 'w3m'
|
||||||
# Flag: --backend
|
# Flag: --backend
|
||||||
image_backend="ascii"
|
image_backend="ascii"
|
||||||
|
|
||||||
@@ -729,4 +729,4 @@ stdout="off"
|
|||||||
#
|
#
|
||||||
# NOTE: Don't change this value, neofetch reads this to determine
|
# NOTE: Don't change this value, neofetch reads this to determine
|
||||||
# how to handle backwards compatibility.
|
# how to handle backwards compatibility.
|
||||||
config_version="3.3.0"
|
config_version="3.3.1-git"
|
||||||
|
|||||||
226
neofetch
226
neofetch
@@ -9,7 +9,7 @@
|
|||||||
# https://github.com/dylanaraps/
|
# https://github.com/dylanaraps/
|
||||||
|
|
||||||
# Neofetch version.
|
# Neofetch version.
|
||||||
version="3.3.0"
|
version="3.3.1-git"
|
||||||
|
|
||||||
bash_version="${BASH_VERSION/.*}"
|
bash_version="${BASH_VERSION/.*}"
|
||||||
sys_locale="${LANG:-C}"
|
sys_locale="${LANG:-C}"
|
||||||
@@ -114,7 +114,8 @@ get_distro() {
|
|||||||
elif type -p tazpkg >/dev/null; then
|
elif type -p tazpkg >/dev/null; then
|
||||||
distro="SliTaz $(< /etc/slitaz-release)"
|
distro="SliTaz $(< /etc/slitaz-release)"
|
||||||
|
|
||||||
elif type -p kpm > /dev/null; then
|
elif type -p kpt >/dev/null && \
|
||||||
|
type -p kpm >/dev/null; then
|
||||||
distro="KSLinux"
|
distro="KSLinux"
|
||||||
|
|
||||||
elif [[ -d "/system/app/" && -d "/system/priv-app" ]]; then
|
elif [[ -d "/system/app/" && -d "/system/priv-app" ]]; then
|
||||||
@@ -153,13 +154,14 @@ get_distro() {
|
|||||||
|
|
||||||
# Workarounds for FreeBSD based distros.
|
# Workarounds for FreeBSD based distros.
|
||||||
[[ -f "/etc/pcbsd-lang" ]] && distro="PCBSD"
|
[[ -f "/etc/pcbsd-lang" ]] && distro="PCBSD"
|
||||||
[[ -f "/etc/rc.conf.trueos" ]] && distro="TrueOS"
|
[[ -f "/etc/trueos-lang" ]] && distro="TrueOS"
|
||||||
|
|
||||||
# /etc/pacbsd-release is an empty file
|
# /etc/pacbsd-release is an empty file
|
||||||
[[ -f "/etc/pacbsd-release" ]] && distro="PacBSD"
|
[[ -f "/etc/pacbsd-release" ]] && distro="PacBSD"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
distro="$(trim_quotes "$distro")"
|
distro="$(trim_quotes "$distro")"
|
||||||
|
distro="${distro/'NAME='}"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Mac OS X")
|
"Mac OS X")
|
||||||
@@ -176,6 +178,7 @@ get_distro() {
|
|||||||
"10.10"*) codename="OS X Yosemite" ;;
|
"10.10"*) codename="OS X Yosemite" ;;
|
||||||
"10.11"*) codename="OS X El Capitan" ;;
|
"10.11"*) codename="OS X El Capitan" ;;
|
||||||
"10.12"*) codename="macOS Sierra" ;;
|
"10.12"*) codename="macOS Sierra" ;;
|
||||||
|
"10.13"*) codename="macOS High Sierra" ;;
|
||||||
*) codename="macOS" ;;
|
*) codename="macOS" ;;
|
||||||
esac
|
esac
|
||||||
distro="$codename $osx_version $osx_build"
|
distro="$codename $osx_version $osx_build"
|
||||||
@@ -186,7 +189,7 @@ get_distro() {
|
|||||||
case "$osx_version" in
|
case "$osx_version" in
|
||||||
"10."[4-7]*) distro="${distro/${codename}/Mac OS X}" ;;
|
"10."[4-7]*) distro="${distro/${codename}/Mac OS X}" ;;
|
||||||
"10."[8-9]* | "10.1"[0-1]*) distro="${distro/${codename}/OS X}" ;;
|
"10."[8-9]* | "10.1"[0-1]*) distro="${distro/${codename}/OS X}" ;;
|
||||||
"10.12"*) distro="${distro/${codename}/macOS}" ;;
|
"10.1"[2-3]*) distro="${distro/${codename}/macOS}" ;;
|
||||||
esac
|
esac
|
||||||
distro="${distro/ ${osx_build}}"
|
distro="${distro/ ${osx_build}}"
|
||||||
;;
|
;;
|
||||||
@@ -277,13 +280,16 @@ get_model() {
|
|||||||
"iPhone OS")
|
"iPhone OS")
|
||||||
case "$machine_arch" in
|
case "$machine_arch" in
|
||||||
"iPad1,1") model="iPad" ;;
|
"iPad1,1") model="iPad" ;;
|
||||||
"iPad2,"[1-4]) model="iPad2" ;;
|
"iPad2,"[1-4]) model="iPad 2" ;;
|
||||||
"iPad3,"[1-3]) model="iPad3" ;;
|
"iPad3,"[1-3]) model="iPad 3" ;;
|
||||||
"iPad3,"[4-6]) model="iPad4" ;;
|
"iPad3,"[4-6]) model="iPad 4" ;;
|
||||||
|
"iPad6,11" | "iPad 6,12") model="iPad 5" ;;
|
||||||
"iPad4,"[1-3]) model="iPad Air" ;;
|
"iPad4,"[1-3]) model="iPad Air" ;;
|
||||||
"iPad5,"[3-4]) model="iPad Air 2" ;;
|
"iPad5,"[3-4]) model="iPad Air 2" ;;
|
||||||
"iPad6,"[7-8]) model="iPad Pro (12.9 Inch)" ;;
|
"iPad6,"[7-8]) model="iPad Pro (12.9 Inch)" ;;
|
||||||
"iPad6,"[3-4]) model="iPad Pro (9.7 Inch)" ;;
|
"iPad6,"[3-4]) model="iPad Pro (9.7 Inch)" ;;
|
||||||
|
"iPad7,"[1-2]) model="iPad Pro 2 (12.9 Inch)" ;;
|
||||||
|
"iPad7,"[3-4]) model="iPad Pro (10.5 Inch)" ;;
|
||||||
"iPad2,"[5-7]) model="iPad mini" ;;
|
"iPad2,"[5-7]) model="iPad mini" ;;
|
||||||
"iPad4,"[4-6]) model="iPad mini 2" ;;
|
"iPad4,"[4-6]) model="iPad mini 2" ;;
|
||||||
"iPad4,"[7-9]) model="iPad mini 3" ;;
|
"iPad4,"[7-9]) model="iPad mini 3" ;;
|
||||||
@@ -304,6 +310,9 @@ get_model() {
|
|||||||
"iPhone8,4") model="iPhone SE" ;;
|
"iPhone8,4") model="iPhone SE" ;;
|
||||||
"iPhone9,1" | "iPhone9,3") model="iPhone 7" ;;
|
"iPhone9,1" | "iPhone9,3") model="iPhone 7" ;;
|
||||||
"iPhone9,2" | "iPhone9,4") model="iPhone 7 Plus" ;;
|
"iPhone9,2" | "iPhone9,4") model="iPhone 7 Plus" ;;
|
||||||
|
"iPhone10,1" | "iPhone10,4") model="iPhone 8" ;;
|
||||||
|
"iPhone10,2" | "iPhone10,5") model="iPhone 8 Plus" ;;
|
||||||
|
"iPhone10,3" | "iPhone10,6") model="iPhone X" ;;
|
||||||
|
|
||||||
"iPod1,1") model="iPod touch" ;;
|
"iPod1,1") model="iPod touch" ;;
|
||||||
"ipod2,1") model="iPod touch 2G" ;;
|
"ipod2,1") model="iPod touch 2G" ;;
|
||||||
@@ -344,6 +353,8 @@ get_model() {
|
|||||||
model="${model//Default string}"
|
model="${model//Default string}"
|
||||||
model="${model//Not Specified}"
|
model="${model//Not Specified}"
|
||||||
model="${model//Type1ProductConfigId}"
|
model="${model//Type1ProductConfigId}"
|
||||||
|
model="${model//INVALID}"
|
||||||
|
model="${model//<2F>}"
|
||||||
|
|
||||||
case "$model" in
|
case "$model" in
|
||||||
"Standard PC"*) model="KVM/QEMU (${model})" ;;
|
"Standard PC"*) model="KVM/QEMU (${model})" ;;
|
||||||
@@ -477,9 +488,6 @@ get_packages() {
|
|||||||
type -p dpkg >/dev/null && \
|
type -p dpkg >/dev/null && \
|
||||||
packages="$((packages+=$(dpkg --get-selections | grep -cv deinstall$)))"
|
packages="$((packages+=$(dpkg --get-selections | grep -cv deinstall$)))"
|
||||||
|
|
||||||
type -p kpm >/dev/null && \
|
|
||||||
packages="$((packages+=$(kpm --get-selections | grep -cv deinstall$)))"
|
|
||||||
|
|
||||||
type -p pkgtool >/dev/null && \
|
type -p pkgtool >/dev/null && \
|
||||||
packages="$((packages+=$(ls -1 /var/log/packages | wc -l)))"
|
packages="$((packages+=$(ls -1 /var/log/packages | wc -l)))"
|
||||||
|
|
||||||
@@ -537,11 +545,18 @@ get_packages() {
|
|||||||
type -p alps >/dev/null && \
|
type -p alps >/dev/null && \
|
||||||
packages="$((packages+=$(alps showinstalled | wc -l)))"
|
packages="$((packages+=$(alps showinstalled | wc -l)))"
|
||||||
|
|
||||||
|
type -p kpt >/dev/null && \
|
||||||
|
type -p kpm >/dev/null && \
|
||||||
|
packages="$((packages+=$(kpm --get-selections | grep -cv deinstall$)))"
|
||||||
|
|
||||||
if type -p cave >/dev/null; then
|
if type -p cave >/dev/null; then
|
||||||
package_dir=(/var/db/paludis/repositories/{cross-installed,installed}/*/data/*)
|
package_dir=(/var/db/paludis/repositories/{cross-installed,installed}/*/data/*)
|
||||||
packages="$((packages+=$(ls -d -1 "${package_dir[@]}" | wc -l)))"
|
packages="$((packages+=$(ls -d -1 "${package_dir[@]}" | wc -l)))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
type -p butch >/dev/null && \
|
||||||
|
packages="$((packages+=$(butch list | wc -l)))"
|
||||||
|
|
||||||
if type -p pkg >/dev/null; then
|
if type -p pkg >/dev/null; then
|
||||||
case "$kernel_name" in
|
case "$kernel_name" in
|
||||||
"FreeBSD") packages="$((packages+=$(pkg info | wc -l)))" ;;
|
"FreeBSD") packages="$((packages+=$(pkg info | wc -l)))" ;;
|
||||||
@@ -653,6 +668,9 @@ get_de() {
|
|||||||
|
|
||||||
elif [[ "$MATE_DESKTOP_SESSION_ID" ]]; then
|
elif [[ "$MATE_DESKTOP_SESSION_ID" ]]; then
|
||||||
de="MATE"
|
de="MATE"
|
||||||
|
|
||||||
|
elif [[ "$TDE_FULL_SESSION" ]]; then
|
||||||
|
de="Trinity"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# When a window manager is started from a display manager
|
# When a window manager is started from a display manager
|
||||||
@@ -664,18 +682,21 @@ get_de() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# Fallback to using xprop.
|
# Fallback to using xprop.
|
||||||
[[ -n "$DISPLAY" && -z "$de" ]] && \
|
[[ "$DISPLAY" && -z "$de" ]] && \
|
||||||
de="$(xprop -root | awk '/KDE_SESSION_VERSION|^_MUFFIN|xfce4|xfce5/')"
|
de="$(xprop -root | awk '/KDE_SESSION_VERSION|^_MUFFIN|xfce4|xfce5/')"
|
||||||
|
|
||||||
# Format strings.
|
# Format strings.
|
||||||
case "$de" in
|
case "$de" in
|
||||||
"KDE_SESSION_VERSION"*) de="KDE${de/* = }" ;;
|
"KDE_SESSION_VERSION"*) de="KDE${de/* = }" ;;
|
||||||
*"TDE_FULL_SESSION"*) de="Trinity" ;;
|
|
||||||
*"MUFFIN"* | "Cinnamon") de="$(cinnamon --version)"; de="${de:-Cinnamon}" ;;
|
*"MUFFIN"* | "Cinnamon") de="$(cinnamon --version)"; de="${de:-Cinnamon}" ;;
|
||||||
*"xfce4"*) de="Xfce4" ;;
|
*"xfce4"*) de="Xfce4" ;;
|
||||||
*"xfce5"*) de="Xfce5" ;;
|
*"xfce5"*) de="Xfce5" ;;
|
||||||
*"xfce"*) de="Xfce" ;;
|
*"xfce"*) de="Xfce" ;;
|
||||||
*"mate"*) de="MATE" ;;
|
*"mate"*) de="MATE" ;;
|
||||||
|
*"GNOME"*)
|
||||||
|
de="$(gnome-shell --version)"
|
||||||
|
de="${de/Shell }"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Log that the function was run.
|
# Log that the function was run.
|
||||||
@@ -686,29 +707,45 @@ get_wm() {
|
|||||||
# If function was run, stop here.
|
# If function was run, stop here.
|
||||||
((wm_run == 1)) && return
|
((wm_run == 1)) && return
|
||||||
|
|
||||||
if [[ -n "$DISPLAY" && "$os" != "Mac OS X" ]]; then
|
if [[ "$WAYLAND_DISPLAY" ]]; then
|
||||||
|
wm="$(ps -e | grep -m 1 -o -F \
|
||||||
|
-e "asc" \
|
||||||
|
-e "fireplace" \
|
||||||
|
-e "grefsen" \
|
||||||
|
-e "mazecompositor" \
|
||||||
|
-e "maynard" \
|
||||||
|
-e "motorcar" \
|
||||||
|
-e "orbment" \
|
||||||
|
-e "orbital" \
|
||||||
|
-e "perceptia" \
|
||||||
|
-e "rustland" \
|
||||||
|
-e "sway" \
|
||||||
|
-e "velox" \
|
||||||
|
-e "wavy" \
|
||||||
|
-e "wayhouse" \
|
||||||
|
-e "way-cooler" \
|
||||||
|
-e "westford" \
|
||||||
|
-e "weston")"
|
||||||
|
|
||||||
|
elif [[ "$DISPLAY" && "$os" != "Mac OS X" ]]; then
|
||||||
id="$(xprop -root -notype _NET_SUPPORTING_WM_CHECK)"
|
id="$(xprop -root -notype _NET_SUPPORTING_WM_CHECK)"
|
||||||
id="${id##* }"
|
id="${id##* }"
|
||||||
wm="$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t)"
|
wm="$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t)"
|
||||||
wm="${wm/*_NET_WM_NAME = }"
|
wm="${wm/*WM_NAME = }"
|
||||||
wm="${wm/\"}"
|
wm="${wm/\"}"
|
||||||
wm="${wm/\"*}"
|
wm="${wm/\"*}"
|
||||||
|
|
||||||
# Window Maker does not set _NET_WM_NAME
|
# Window Maker does not set _NET_WM_NAME
|
||||||
[[ "$wm" =~ "WINDOWMAKER" ]] && wm="wmaker"
|
[[ "$wm" =~ "WINDOWMAKER" ]] && wm="wmaker"
|
||||||
|
|
||||||
# Fallback for Wayland wms.
|
|
||||||
[[ "$wm" == "xwlc" ]] && \
|
|
||||||
wm="$(ps -e | grep -m 1 -o -F -e "sway" -e "orbment" -e "velox" -e "orbital")"
|
|
||||||
|
|
||||||
else
|
else
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"Mac OS X")
|
"Mac OS X")
|
||||||
ps_line="$(ps -e | grep -o '[S]pectacle\|[A]methyst\|[k]wm\|[c]hunkwm')"
|
ps_line="$(ps -e | grep -o '[S]pectacle\|[A]methyst\|[k]wm\|[c]hun[k]wm')"
|
||||||
|
|
||||||
case "$ps_line" in
|
case "$ps_line" in
|
||||||
*"kwm"*) wm="Kwm" ;;
|
|
||||||
*"chunkwm"*) wm="chunkwm" ;;
|
*"chunkwm"*) wm="chunkwm" ;;
|
||||||
|
*"kwm"*) wm="Kwm" ;;
|
||||||
*"Amethyst"*) wm="Amethyst" ;;
|
*"Amethyst"*) wm="Amethyst" ;;
|
||||||
*"Spectacle"*) wm="Spectacle" ;;
|
*"Spectacle"*) wm="Spectacle" ;;
|
||||||
*) wm="Quartz Compositor" ;;
|
*) wm="Quartz Compositor" ;;
|
||||||
@@ -716,11 +753,13 @@ get_wm() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
"Windows")
|
"Windows")
|
||||||
wm="$(tasklist | grep -m 1 -o -F -e "bugn" \
|
wm="$(tasklist | grep -m 1 -o -F \
|
||||||
|
-e "bugn" \
|
||||||
-e "Windawesome" \
|
-e "Windawesome" \
|
||||||
-e "blackbox" \
|
-e "blackbox" \
|
||||||
-e "emerge" \
|
-e "emerge" \
|
||||||
-e "litestep")"
|
-e "litestep")"
|
||||||
|
|
||||||
[[ "$wm" == "blackbox" ]] && wm="bbLean (Blackbox)"
|
[[ "$wm" == "blackbox" ]] && wm="bbLean (Blackbox)"
|
||||||
wm="${wm:+$wm, }Explorer"
|
wm="${wm:+$wm, }Explorer"
|
||||||
;;
|
;;
|
||||||
@@ -741,7 +780,7 @@ get_wm_theme() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
"Sawfish")
|
"Sawfish")
|
||||||
wm_theme="$(awk -F ")" '/\(quote default-frame-style/ {print $2}' \
|
wm_theme="$(awk -F '\\(quote|\\)' '/default-frame-style/ {print $(NF-4)}' \
|
||||||
"${HOME}/.sawfish/custom")"
|
"${HOME}/.sawfish/custom")"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -909,7 +948,12 @@ get_cpu() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
|
speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
|
||||||
temp_dir="/sys/class/hwmon/hwmon0/temp1_input"
|
|
||||||
|
# Select the right temperature file.
|
||||||
|
for temp_dir in /sys/class/hwmon/*; do
|
||||||
|
[[ "$(< "${temp_dir}/name")" =~ (coretemp|fam15h_power) ]] && \
|
||||||
|
{ temp_dir="${temp_dir}/temp1_input"; break; }
|
||||||
|
done
|
||||||
|
|
||||||
# Get CPU speed.
|
# Get CPU speed.
|
||||||
if [[ -d "$speed_dir" ]]; then
|
if [[ -d "$speed_dir" ]]; then
|
||||||
@@ -927,8 +971,8 @@ get_cpu() {
|
|||||||
|
|
||||||
# Get CPU temp.
|
# Get CPU temp.
|
||||||
if [[ -f "$temp_dir" ]]; then
|
if [[ -f "$temp_dir" ]]; then
|
||||||
temp="$(< "$temp_dir")"
|
deg="$(< "$temp_dir")"
|
||||||
temp="$((temp * 100 / 10000))"
|
deg="$((deg * 100 / 10000))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get CPU cores.
|
# Get CPU cores.
|
||||||
@@ -991,12 +1035,12 @@ get_cpu() {
|
|||||||
# Get CPU temp.
|
# Get CPU temp.
|
||||||
case "$kernel_name" in
|
case "$kernel_name" in
|
||||||
"FreeBSD"* | "DragonFly"* | "NetBSD"*)
|
"FreeBSD"* | "DragonFly"* | "NetBSD"*)
|
||||||
temp="$(sysctl -n dev.cpu.0.temperature)"
|
deg="$(sysctl -n dev.cpu.0.temperature)"
|
||||||
temp="${temp/C}"
|
deg="${deg/C}"
|
||||||
;;
|
;;
|
||||||
"OpenBSD"* | "Bitrig"*)
|
"OpenBSD"* | "Bitrig"*)
|
||||||
temp="$(sysctl -n hw.sensors.lm0.temp0)"
|
deg="$(sysctl -n hw.sensors.lm0.temp0)"
|
||||||
temp="${temp/ degC}"
|
deg="${deg/ degC}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@@ -1113,15 +1157,15 @@ get_cpu() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Add CPU temp to the output.
|
# Add CPU temp to the output.
|
||||||
if [[ "$cpu_temp" != "off" && "$temp" ]]; then
|
if [[ "$cpu_temp" != "off" && "$deg" ]]; then
|
||||||
temp="${temp//.}"
|
deg="${deg//.}"
|
||||||
|
|
||||||
# Convert to Fahrenheit if enabled
|
# Convert to Fahrenheit if enabled
|
||||||
[[ "$cpu_temp" == "F" ]] && temp="$((temp * 90 / 50 + 320))"
|
[[ "$cpu_temp" == "F" ]] && deg="$((deg * 90 / 50 + 320))"
|
||||||
|
|
||||||
# Format the output
|
# Format the output
|
||||||
temp="[${temp/${temp: -1}}.${temp: -1}°${cpu_temp:-C}]"
|
deg="[${deg/${deg: -1}}.${deg: -1}°${cpu_temp:-C}]"
|
||||||
cpu="$cpu $temp"
|
cpu="$cpu $deg"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1168,7 +1212,7 @@ get_gpu() {
|
|||||||
# Read GPUs into array.
|
# Read GPUs into array.
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
gpus=($(lspci -mm | awk -F '\\"|\\" \\"|\\(' \
|
gpus=($(lspci -mm | awk -F '\\"|\\" \\"|\\(' \
|
||||||
'/"Display|"3D|"VGA/ {a[$0] = $3 " " $4} END{for(i in a)
|
'/"Display|"3D|"VGA/ {a[$0] = $1 $3 " " $4} END{for(i in a)
|
||||||
{if(!seen[a[i]]++) print a[i]}}'))
|
{if(!seen[a[i]]++) print a[i]}}'))
|
||||||
IFS="$old_ifs"
|
IFS="$old_ifs"
|
||||||
|
|
||||||
@@ -1200,9 +1244,16 @@ get_gpu() {
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
*"intel"*)
|
*"intel"*)
|
||||||
|
# (sorry)
|
||||||
|
freq="$(< /sys/devices/pci0000:00/0000:\
|
||||||
|
"${gpu/ *}"/drm/card0/gt_cur_freq_mhz)"
|
||||||
|
|
||||||
|
type -p glxinfo >/dev/null && \
|
||||||
gpu="$(glxinfo | grep "Device:.*Intel")"
|
gpu="$(glxinfo | grep "Device:.*Intel")"
|
||||||
|
|
||||||
gpu="${gpu/*Intel/Intel}"
|
gpu="${gpu/*Intel/Intel}"
|
||||||
gpu="${gpu/'(R)'}"
|
gpu="${gpu/'(R)'}"
|
||||||
|
gpu="${gpu/'Corporation'}"
|
||||||
gpu="${gpu/ \(*}"
|
gpu="${gpu/ \(*}"
|
||||||
|
|
||||||
[[ -z "$(trim "$gpu")" ]] && gpu="Intel Integrated Graphics"
|
[[ -z "$(trim "$gpu")" ]] && gpu="Intel Integrated Graphics"
|
||||||
@@ -1219,7 +1270,8 @@ get_gpu() {
|
|||||||
gpu="${gpu/Intel }"
|
gpu="${gpu/Intel }"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
prin "${subtitle:+${subtitle}${gpu_name}}" "$gpu"
|
prin "${subtitle:+${subtitle}${gpu_name}}" "$gpu ${freq:+@ ${freq}Mhz}"
|
||||||
|
|
||||||
((++gpu_num))
|
((++gpu_num))
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -1410,7 +1462,7 @@ get_song() {
|
|||||||
player="$(ps x | awk '!(/ awk|Helper|Cache|ibus|indicator/) && /mpd|mopidy|cmus|mocp|spotify|\
|
player="$(ps x | awk '!(/ awk|Helper|Cache|ibus|indicator/) && /mpd|mopidy|cmus|mocp|spotify|\
|
||||||
Google Play|iTunes.app|rhythmbox|banshee|amarok|deadbeef|audacious|\
|
Google Play|iTunes.app|rhythmbox|banshee|amarok|deadbeef|audacious|\
|
||||||
xmms2d|gnome-music|lollypop|clementine|pragha|exaile|juk|bluemindo|\
|
xmms2d|gnome-music|lollypop|clementine|pragha|exaile|juk|bluemindo|\
|
||||||
guayadeque|yarock|qmmp|quodlibet|deepin-music|tomahawk|pogo/ {printf $5 " " $6; exit}')"
|
guayadeque|yarock|qmmp|quodlibet|deepin-music|tomahawk|pogo|elisa/ {printf $5 " " $6; exit}')"
|
||||||
|
|
||||||
get_song_dbus() {
|
get_song_dbus() {
|
||||||
# Multiple players use an almost identical dbus command to get the information.
|
# Multiple players use an almost identical dbus command to get the information.
|
||||||
@@ -1441,6 +1493,7 @@ guayadeque|yarock|qmmp|quodlibet|deepin-music|tomahawk|pogo/ {printf $5 " " $6;
|
|||||||
"yarock"*) get_song_dbus "yarock" ;;
|
"yarock"*) get_song_dbus "yarock" ;;
|
||||||
"deepin-music"*) get_song_dbus "deepinmusic" ;;
|
"deepin-music"*) get_song_dbus "deepinmusic" ;;
|
||||||
"tomahawk"*) get_song_dbus "tomahawk" ;;
|
"tomahawk"*) get_song_dbus "tomahawk" ;;
|
||||||
|
"elisa"*) get_song_dbus "elisa" ;;
|
||||||
|
|
||||||
"audacious"*)
|
"audacious"*)
|
||||||
song="$(audtool current-song)"
|
song="$(audtool current-song)"
|
||||||
@@ -1536,14 +1589,18 @@ get_resolution() {
|
|||||||
awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}')"
|
awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -e "/Library/Preferences/com.apple.windowserver.plist" ]]; then
|
||||||
scale_factor="$(PlistBuddy -c "Print DisplayAnyUserSets:0:0:Resolution" \
|
scale_factor="$(PlistBuddy -c "Print DisplayAnyUserSets:0:0:Resolution" \
|
||||||
/Library/Preferences/com.apple.windowserver.plist)"
|
/Library/Preferences/com.apple.windowserver.plist)"
|
||||||
|
else
|
||||||
|
scale_factor=""
|
||||||
|
fi
|
||||||
|
|
||||||
# If no refresh rate is empty.
|
# If no refresh rate is empty.
|
||||||
[[ "$resolution" == *"@ Hz"* ]] && \
|
[[ "$resolution" == *"@ Hz"* ]] && \
|
||||||
resolution="${resolution//@ Hz}"
|
resolution="${resolution//@ Hz}"
|
||||||
|
|
||||||
((${scale_factor%.*} == 2)) && \
|
[[ "${scale_factor%.*}" == 2 ]] && \
|
||||||
resolution="${resolution// @/@2x @}"
|
resolution="${resolution// @/@2x @}"
|
||||||
|
|
||||||
if [[ "$refresh_rate" == "off" ]]; then
|
if [[ "$refresh_rate" == "off" ]]; then
|
||||||
@@ -1604,7 +1661,7 @@ get_style() {
|
|||||||
# Fix weird output when the function is run multiple times.
|
# Fix weird output when the function is run multiple times.
|
||||||
unset gtk2_theme gtk3_theme theme path
|
unset gtk2_theme gtk3_theme theme path
|
||||||
|
|
||||||
if [[ -n "$DISPLAY" && "$os" != "Mac OS X" ]]; then
|
if [[ "$DISPLAY" && "$os" != "Mac OS X" ]]; then
|
||||||
# Get DE if user has disabled the function.
|
# Get DE if user has disabled the function.
|
||||||
((de_run != 1)) && get_de
|
((de_run != 1)) && get_de
|
||||||
|
|
||||||
@@ -1617,7 +1674,12 @@ get_style() {
|
|||||||
kde_config_file="${kde_config_dir}/kdeglobals"
|
kde_config_file="${kde_config_dir}/kdeglobals"
|
||||||
|
|
||||||
kde_theme="$(grep "^${kde}" "$kde_config_file")"
|
kde_theme="$(grep "^${kde}" "$kde_config_file")"
|
||||||
kde_theme="${kde_theme/${kde}*=}"
|
kde_theme="${kde_theme/*=}"
|
||||||
|
if [[ "$kde" == "font" ]]; then
|
||||||
|
kde_font_size="${kde_theme#*,}"
|
||||||
|
kde_font_size="${kde_font_size/,*}"
|
||||||
|
kde_theme="${kde_theme/,*} ${kde_theme/*,} ${kde_font_size}"
|
||||||
|
fi
|
||||||
kde_theme="$(uppercase "$kde_theme") [KDE], "
|
kde_theme="$(uppercase "$kde_theme") [KDE], "
|
||||||
else
|
else
|
||||||
err "Theme: KDE config files not found, skipping."
|
err "Theme: KDE config files not found, skipping."
|
||||||
@@ -2012,7 +2074,7 @@ get_disk() {
|
|||||||
# Get "df" version.
|
# Get "df" version.
|
||||||
df_version="$(df --version 2>&1)"
|
df_version="$(df --version 2>&1)"
|
||||||
case "$df_version" in
|
case "$df_version" in
|
||||||
*"blocks"*) # Haiku
|
*"Tracker"*) # Haiku
|
||||||
err "Your version of df cannot be used due to the non-standard flags"
|
err "Your version of df cannot be used due to the non-standard flags"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
@@ -2245,7 +2307,13 @@ get_install_date() {
|
|||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) install_date="$(ls -dlctT "$install_file" | awk '{printf $9 " " $6 " "$7 " " $8}')" ;;
|
*"HLOPRSTUWabc"*) # macOS ls
|
||||||
|
install_date="$(ls -dlctUT "$install_file" | awk '{printf $9 " " $6 " "$7 " " $8}')"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
install_date="$(ls -dlctT "$install_file" | awk '{printf $9 " " $6 " " $7 " " $8}')"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
install_date="${install_date//-/ }"
|
install_date="${install_date//-/ }"
|
||||||
@@ -2264,6 +2332,19 @@ get_gpu_driver() {
|
|||||||
gpu_driver="$(lspci -nnk | awk -F ': ' \
|
gpu_driver="$(lspci -nnk | awk -F ': ' \
|
||||||
'/Display|3D|VGA/{nr[NR+2]}; NR in nr {printf $2 ", "}')"
|
'/Display|3D|VGA/{nr[NR+2]}; NR in nr {printf $2 ", "}')"
|
||||||
gpu_driver="${gpu_driver%, }"
|
gpu_driver="${gpu_driver%, }"
|
||||||
|
|
||||||
|
if [[ "$gpu_driver" == *"nvidia"* ]]; then
|
||||||
|
gpu_driver="$(< /proc/driver/nvidia/version)"
|
||||||
|
gpu_driver="${gpu_driver/*Module }"
|
||||||
|
gpu_driver="NVIDIA ${gpu_driver/ *}"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"Mac OS X")
|
||||||
|
if [[ "$(kextstat | grep "GeForceWeb")" != "" ]]; then
|
||||||
|
gpu_driver="NVIDIA Web Driver"
|
||||||
|
else
|
||||||
|
gpu_driver="macOS Default Graphics Driver"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -2323,7 +2404,8 @@ image_backend() {
|
|||||||
"ascii") get_ascii ;;
|
"ascii") get_ascii ;;
|
||||||
"off") image_backend="off" ;;
|
"off") image_backend="off" ;;
|
||||||
|
|
||||||
"caca" | "catimg" | "jp2a" | "iterm2" | "termpix" | "tycat" | "w3m" | "sixel")
|
"caca" | "catimg" | "jp2a" | "iterm2" | "termpix" |\
|
||||||
|
"tycat" | "w3m" | "sixel" | "pixterm")
|
||||||
get_image_source
|
get_image_source
|
||||||
|
|
||||||
if [[ ! -f "$image" ]]; then
|
if [[ ! -f "$image" ]]; then
|
||||||
@@ -2349,7 +2431,7 @@ image_backend() {
|
|||||||
*)
|
*)
|
||||||
err "Image: Unknown image backend specified '$image_backend'."
|
err "Image: Unknown image backend specified '$image_backend'."
|
||||||
err "Image: Valid backends are: 'ascii', 'caca', 'catimg', 'jp2a', 'iterm2',
|
err "Image: Valid backends are: 'ascii', 'caca', 'catimg', 'jp2a', 'iterm2',
|
||||||
'off', 'sixel', 'termpix', 'tycat', 'w3m')"
|
'off', 'sixel', 'pixterm', 'termpix', 'tycat', 'w3m')"
|
||||||
err "Image: Falling back to ascii mode."
|
err "Image: Falling back to ascii mode."
|
||||||
get_ascii
|
get_ascii
|
||||||
;;
|
;;
|
||||||
@@ -2483,7 +2565,7 @@ get_wallpaper() {
|
|||||||
|
|
||||||
*)
|
*)
|
||||||
if type -p feh >/dev/null && [[ -f "${HOME}/.fehbg" ]]; then
|
if type -p feh >/dev/null && [[ -f "${HOME}/.fehbg" ]]; then
|
||||||
image="$(awk -F\' '/feh/ {printf $2}' "${HOME}/.fehbg")"
|
image="$(awk -F\' '/feh/ {printf $(NF-1)}' "${HOME}/.fehbg")"
|
||||||
|
|
||||||
elif type -p nitrogen >/dev/null; then
|
elif type -p nitrogen >/dev/null; then
|
||||||
image="$(awk -F'=' '/file/ {printf $2;exit;}' \
|
image="$(awk -F'=' '/file/ {printf $2;exit;}' \
|
||||||
@@ -2639,6 +2721,12 @@ get_image_size() {
|
|||||||
width="${size%% *}"
|
width="${size%% *}"
|
||||||
height="${size##* }"
|
height="${size##* }"
|
||||||
crop_mode="none"
|
crop_mode="none"
|
||||||
|
|
||||||
|
while (( "$width" >= ("$term_width" / 2) ||
|
||||||
|
"$height" >= "$term_height" )); do
|
||||||
|
width="$((width / 2))"
|
||||||
|
height="$((height / 2))"
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) image_size="${image_size/px}" ;;
|
*) image_size="${image_size/px}" ;;
|
||||||
@@ -2653,7 +2741,7 @@ get_image_size() {
|
|||||||
make_thumbnail() {
|
make_thumbnail() {
|
||||||
# Name the thumbnail using variables so we can
|
# Name the thumbnail using variables so we can
|
||||||
# use it later.
|
# use it later.
|
||||||
image_name="$crop_mode-$crop_offset-$width-$height-${image//'/'/_}"
|
image_name="$crop_mode-$crop_offset-$width-$height-${image##*/}"
|
||||||
|
|
||||||
# Handle file extensions.
|
# Handle file extensions.
|
||||||
case "${image##*.}" in
|
case "${image##*.}" in
|
||||||
@@ -2743,8 +2831,16 @@ display_image() {
|
|||||||
to_off "Image: jp2a failed to display the image."
|
to_off "Image: jp2a failed to display the image."
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"pixterm")
|
||||||
|
pixterm -tc "$((width / font_width))" \
|
||||||
|
-tr "$((height / font_height))" \
|
||||||
|
"$image" ||\
|
||||||
|
to_off "Image: pixterm failed to display the image."
|
||||||
|
;;
|
||||||
|
|
||||||
"sixel")
|
"sixel")
|
||||||
img2sixel -w "$width" "$image" || to_off "Image: libsixel failed to display the image."
|
img2sixel -w "$width" "$image" ||\
|
||||||
|
to_off "Image: libsixel failed to display the image."
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"termpix")
|
"termpix")
|
||||||
@@ -2966,7 +3062,7 @@ prin() {
|
|||||||
string="${subtitle_color}${bold}${string}"
|
string="${subtitle_color}${bold}${string}"
|
||||||
|
|
||||||
# Print the info.
|
# Print the info.
|
||||||
printf "%b\n" "${text_padding:+\033[${text_padding}C}${zws}${string}${reset}"
|
printf "%b\n" "${text_padding:+\033[${text_padding}C}${zws}${string}${reset} "
|
||||||
|
|
||||||
# Calculate info height.
|
# Calculate info height.
|
||||||
((++info_height))
|
((++info_height))
|
||||||
@@ -2979,7 +3075,7 @@ get_underline() {
|
|||||||
if [[ "$underline_enabled" == "on" ]]; then
|
if [[ "$underline_enabled" == "on" ]]; then
|
||||||
printf -v underline "%${length}s"
|
printf -v underline "%${length}s"
|
||||||
printf "%b%b\n" "${text_padding:+\033[${text_padding}C}${zws}${underline_color}" \
|
printf "%b%b\n" "${text_padding:+\033[${text_padding}C}${zws}${underline_color}" \
|
||||||
"${underline// /$underline_char}${reset}"
|
"${underline// /$underline_char}${reset} "
|
||||||
unset -v length
|
unset -v length
|
||||||
fi
|
fi
|
||||||
prin=1
|
prin=1
|
||||||
@@ -3194,6 +3290,11 @@ get_distro_colors() {
|
|||||||
ascii_file="cloveros"
|
ascii_file="cloveros"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"Container Linux by CoreOS"*)
|
||||||
|
set_colors 4 7 1
|
||||||
|
ascii_file="coreos"
|
||||||
|
;;
|
||||||
|
|
||||||
"crux_small")
|
"crux_small")
|
||||||
set_colors 4 5 7 6
|
set_colors 4 5 7 6
|
||||||
ascii_file="crux_small"
|
ascii_file="crux_small"
|
||||||
@@ -3359,6 +3460,11 @@ get_distro_colors() {
|
|||||||
ascii_file="kubuntu"
|
ascii_file="kubuntu"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"LEDE"*)
|
||||||
|
set_colors 4 7 1
|
||||||
|
ascii_file="lede"
|
||||||
|
;;
|
||||||
|
|
||||||
"Linux")
|
"Linux")
|
||||||
set_colors fg 8 3
|
set_colors fg 8 3
|
||||||
ascii_file="linux"
|
ascii_file="linux"
|
||||||
@@ -3374,6 +3480,11 @@ get_distro_colors() {
|
|||||||
ascii_file="lubuntu"
|
ascii_file="lubuntu"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"Lunar"*)
|
||||||
|
set_colors 4 7 3
|
||||||
|
ascii_file="lunar"
|
||||||
|
;;
|
||||||
|
|
||||||
"mac"*"_small")
|
"mac"*"_small")
|
||||||
set_colors 2 3 1 5 4
|
set_colors 2 3 1 5 4
|
||||||
ascii_file="mac_small"
|
ascii_file="mac_small"
|
||||||
@@ -3529,6 +3640,11 @@ get_distro_colors() {
|
|||||||
ascii_file="peppermint"
|
ascii_file="peppermint"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"Pop!_OS"*)
|
||||||
|
set_colors 6 7
|
||||||
|
ascii_file="pop_os"
|
||||||
|
;;
|
||||||
|
|
||||||
"Porteus"*)
|
"Porteus"*)
|
||||||
set_colors 6 7
|
set_colors 6 7
|
||||||
ascii_file="porteus"
|
ascii_file="porteus"
|
||||||
@@ -4021,7 +4137,7 @@ dynamic_prompt() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the prompt location.
|
# Set the prompt location.
|
||||||
((lines > 0)) && printf "%b" "\033[${lines}B"
|
((lines > 1)) && printf "%b" "\033[${lines}B"
|
||||||
}
|
}
|
||||||
|
|
||||||
old_functions() {
|
old_functions() {
|
||||||
@@ -4353,6 +4469,7 @@ IMAGE BACKEND:
|
|||||||
--catimg source Shortcut to use 'catimg' backend.
|
--catimg source Shortcut to use 'catimg' backend.
|
||||||
--iterm2 source Shortcut to use 'iterm2' backend.
|
--iterm2 source Shortcut to use 'iterm2' backend.
|
||||||
--jp2a source Shortcut to use 'jp2a' backend.
|
--jp2a source Shortcut to use 'jp2a' backend.
|
||||||
|
--pixterm source Shortcut to use 'pixterm' backend.
|
||||||
--sixel source Shortcut to use 'sixel' backend.
|
--sixel source Shortcut to use 'sixel' backend.
|
||||||
--termpix source Shortcut to use 'termpix' backend.
|
--termpix source Shortcut to use 'termpix' backend.
|
||||||
--tycat source Shortcut to use 'tycat' backend.
|
--tycat source Shortcut to use 'tycat' backend.
|
||||||
@@ -4568,8 +4685,8 @@ get_args() {
|
|||||||
# Image backend
|
# Image backend
|
||||||
"--backend") image_backend="$2" ;;
|
"--backend") image_backend="$2" ;;
|
||||||
"--source") image_source="$2" ;;
|
"--source") image_source="$2" ;;
|
||||||
"--ascii" | "--caca" | "--catimg" | "--jp2a" | "--iterm2" | "--off" | "--sixel" |\
|
"--ascii" | "--caca" | "--catimg" | "--jp2a" | "--iterm2" | "--off" | "--pixterm" |\
|
||||||
"--termpix" | "--tycat" | "--w3m")
|
"--sixel" | "--termpix" | "--tycat" | "--w3m")
|
||||||
image_backend="${1/--}"
|
image_backend="${1/--}"
|
||||||
case "$2" in
|
case "$2" in
|
||||||
"-"* | "") ;;
|
"-"* | "") ;;
|
||||||
@@ -4687,6 +4804,11 @@ main() {
|
|||||||
# Take a screenshot.
|
# Take a screenshot.
|
||||||
[[ "$scrot" == "on" ]] && take_scrot
|
[[ "$scrot" == "on" ]] && take_scrot
|
||||||
|
|
||||||
|
# Add neofetch info to verbose output.
|
||||||
|
err "Neofetch command: $0 $*"
|
||||||
|
err "Neofetch version: $version"
|
||||||
|
err "Neofetch config: $config_version"
|
||||||
|
|
||||||
# Show error messages.
|
# Show error messages.
|
||||||
[[ "$verbose" == "on" ]] && printf "%b" "$err" >&2
|
[[ "$verbose" == "on" ]] && printf "%b" "$err" >&2
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.5.
|
||||||
.TH NEOFETCH "1" "September 2017" "Neofetch 3.3.0" "User Commands"
|
.TH NEOFETCH "1" "December 2017" "Neofetch 3.3.1-git" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
Neofetch \- A fast, highly customizable system info script
|
Neofetch \- A fast, highly customizable system info script
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@@ -207,6 +207,9 @@ Shortcut to use 'iterm2' backend.
|
|||||||
\fB\-\-jp2a\fR source
|
\fB\-\-jp2a\fR source
|
||||||
Shortcut to use 'jp2a' backend.
|
Shortcut to use 'jp2a' backend.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-\-pixterm\fR source
|
||||||
|
Shortcut to use 'pixterm' backend.
|
||||||
|
.TP
|
||||||
\fB\-\-sixel\fR source
|
\fB\-\-sixel\fR source
|
||||||
Shortcut to use 'sixel' backend.
|
Shortcut to use 'sixel' backend.
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
Reference in New Issue
Block a user