diff --git a/1.5.md b/1.5.md new file mode 100644 index 00000000..77453257 --- /dev/null +++ b/1.5.md @@ -0,0 +1,37 @@ +# Neofetch 1.5 + +- Changed default gap size to `2`. +- Fixed bug where `i3` would show up as both a DE and a WM. + +### OS + +- Added support for `SteamOS`. + +### Packages + +- Neofetch is now packaged for `Fedora` and `Fedora` based distros. Thanks **[@konimex](https://github.com/konimex)**. +- Added installation instructions for RHEL and CentOS. Thanks **[@konimex](https://github.com/konimex)**. +- Added stable package to the AUR. **[neofetch](https://aur.archlinux.org/packages/neofetch/)** + +### Info + +**Disk Usage**
+- Only display usage of local disks. + +**CPU**
+- Add `cpu_shorthand` to shorten the output of CPU. Thanks **[@iandrewt](https://github.com/iandrewt)** + - Takes these values: `name`, `speed`, `tiny`, `on`, `off` + +**GPU**
+- Added new `tiny` option to `gpu_shorthand` to further shorten the GPU output. Thanks **[@iandrewt](https://github.com/iandrewt)** + +**Birthday**
+- Fixed the birthday function on OS X, it apparently wasn't working from the start. Thanks **[@iandrewt](https://github.com/iandrewt)** + +**Song**
+- [ OSX ] Added Spotify support to song. Thanks **[@iandrewt](https://github.com/iandrewt)** +- [ OSX ] Added Itunes support to song. Thanks **[@iandrewt](https://github.com/iandrewt)** + +### Ascii + +- Kaos: Update ascii logo to the new logo. diff --git a/Makefile b/Makefile index b2ec826b..324332fc 100644 --- a/Makefile +++ b/Makefile @@ -10,12 +10,15 @@ all: install: $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/bin $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/neofetch/ascii/distro + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/man/man1 $(INSTALL_PROG) neofetch $(DESTDIR)$(PREFIX)/bin/neofetch + $(INSTALL_FILE) neofetch.1 $(DESTDIR)$(PREFIX)/share/man/man1/neofetch.1 $(INSTALL_PROG) config/config $(DESTDIR)$(PREFIX)/share/neofetch/config $(INSTALL_PROG) ascii/distro/* $(DESTDIR)$(PREFIX)/share/neofetch/ascii/distro uninstall: $(RM) $(DESTDIR)$(PREFIX)/bin/neofetch + $(RM) $(DESTDIR)$(PREFIX)/share/man/man1/neofetch.1 $(RM) -r $(DESTDIR)$(PREFIX)/share/neofetch diff --git a/README.md b/README.md index ae45084c..686f4b78 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,14 @@ your distro's logo or any ascii art of your choice! - [Features](#features) - [Dependencies](#dependencies) - [Installation](#installation) + - [Arch Linux](#arch) + - [Gentoo / Funtoo](#gentoo--funtoo) + - [CRUX](#crux) + - [Debian / Ubuntu](#debian--ubuntu) + - [Fedora](#fedora) + - [RHEL / CentOS](#rhel--centos) + - [Mac OS X](#mac-os-x) + - [Others](#others) - [Post Install](#post-install) - [Usage](#usage) - [Frequently Asked Questions](#frequently-asked-questions) @@ -66,6 +74,7 @@ your distro's logo or any ascii art of your choice! ### Required dependencies: - `Bash 3.0+` + - Alpine Linux: You also need `ncurses`. - `xprop` \[1\] - `procps-ng` - Not required on OS X @@ -112,9 +121,19 @@ how you can workaround them. https://github.com/dylanaraps/neofetch/wiki/Following-HEAD +- [Arch Linux](#arch) +- [Gentoo / Funtoo](#gentoo--funtoo) +- [CRUX](#crux) +- [Debian / Ubuntu](#debian--ubuntu) +- [Fedora](#fedora) +- [RHEL / CentOS](#rhel--centos) +- [Mac OS X](#mac-os-x) +- [Others](#others) + + ### Arch -1. Install **[neofetch-git](https://aur.archlinux.org/packages/neofetch-git/)** from the aur. +1. Install **[neofetch](https://aur.archlinux.org/packages/neofetch/)** or **[neofetch-git](https://aur.archlinux.org/packages/neofetch-git/)** from the aur. ### Gentoo / Funtoo @@ -134,12 +153,13 @@ https://github.com/dylanaraps/neofetch/wiki/Following-HEAD 1. Install git and the git ports(8) driver - `sudo prt-get depinst git` 2. Add the 3rd party repo - - `sudo wget -O /etc/ports/arcetera.git https://git.io/vgNJ6` + - `sudo wget -O /etc/ports/arcetera.git https://arcetera.moe/sync` 3. Sync the repos - `sudo ports -u` 4. Install the package - `sudo prt-get depinst neofetch` + ### Debian / Ubuntu 1. Add the 3rd party repo @@ -152,6 +172,28 @@ https://github.com/dylanaraps/neofetch/wiki/Following-HEAD - `sudo apt-get install neofetch` +### Fedora +1. Make sure you have installed `dnf-plugins-core` + - `sudo dnf install dnf-plugins-core` +2. Enable COPR repository + - `sudo dnf copr enable konimex/neofetch` +3. Install the package + - `sudo dnf install neofetch` + +### RHEL / CentOS + +1. Change your working directory to `/etc/yum.repos.d` + - `cd /etc/yum.repos.d` +2. Fetch the repo file + - `wget https://copr.fedorainfracloud.org/coprs/konimex/neofetch/repo/epel-7/konimex-neofetch-epel-7.repo` +3. Install the package + - `sudo yum install neofetch` + +### Mac OS X +1. Install `neofetch` with Homebrew + - `brew install neofetch` + + ### Others 1. Download the latest source at https://github.com/dylanaraps/neofetch @@ -247,9 +289,11 @@ alias fetch2="fetch \ Possible values: current, min, max, bios, scaling_current, scaling_min, scaling_max NOTE: This only support Linux with cpufreq. + --cpu_shorthand type Shorten the output of CPU + Possible values: name, speed, tiny, on, off --kernel_shorthand on/off Shorten the output of kernel --uptime_shorthand on/off Shorten the output of uptime (tiny, on, off) - --gpu_shorthand on/off Shorten the output of GPU + --gpu_shorthand on/off Shorten the output of GPU (tiny, on, off) --gtk_shorthand on/off Shorten output of gtk theme/icons --gtk2 on/off Enable/Disable gtk2 theme/icons output --gtk3 on/off Enable/Disable gtk3 theme/icons output @@ -261,13 +305,13 @@ alias fetch2="fetch \ --song_shorthand on/off Print the Artist/Title on seperate lines --birthday_shorthand on/off Shorten the output of birthday --birthday_time on/off Enable/Disable showing the time in birthday output + --birthday_format format Format the birthday output. (Uses 'date' cmd format) - Text Colors: - --colors x x x x x x Changes the text colors in this order: - title, @, underline, subtitle, colon, info Text Formatting: - --underline_char char Character to use when underlineing title + --colors x x x x x x Changes the text colors in this order: + title, @, underline, subtitle, colon, info + --underline_char char Character to use when underlining title --line_wrap on/off Enable/Disable line wrapping --bold on/off Enable/Disable bold text --prompt_height num Set this to your prompt height to fix issues with @@ -323,7 +367,7 @@ alias fetch2="fetch \ Ascii: --ascii value Where to get the ascii from, Possible values: distro, /path/to/ascii - --ascii_color num Color to print the ascii art + --ascii_colors x x x x x x Colors to print the ascii art --ascii_distro distro Which Distro\'s ascii art to print @@ -331,9 +375,7 @@ alias fetch2="fetch \ --stdout info info Launch fetch in stdout mode which prints the info in a plain-text format that you can use with lemonbar etc. - --stdout_title on/off Hide/Show the title in stdout mode. --stdout_separator string String to use as a separator in stdout mode. - --stdout_subtitles on/off Hide/Show the subtitles in stdout mode. Screenshot: @@ -358,11 +400,11 @@ alias fetch2="fetch \ #### How do I enable screenfetch mode? -Launching the script with `--ascii distro` or setting `ascii="distro"` and `image="ascii"`
+Launching the script with `--ascii` or setting `ascii="distro"` and `image="ascii"`
inside the config file will launch the script in "screenfetch mode". The script will
display your distro's ascii next to the info, exactly like screenfetch. -**NOTE:** If you don't have `w3m-img` or `imagemagick` installed screenfetch mode will be
+**NOTE:** If you **don't** have `w3m-img` or `imagemagick` installed screenfetch mode will be
used automatically ![arch](http://i.imgur.com/uCMjgf6.png) @@ -454,7 +496,7 @@ Thanks to: - [Screenfetch](https://github.com/KittyKatt/screenFetch): - I've used some snippets as a base for a few functions in this script. - - I've used the ascii art from here. + - Most of the ascii art. - [ufetch](https://github.com/jschx/ufetch): Tiny ascii logos - [@metakirby5](https://github.com/metakirby5): Providing great feedback as well as ideas for the script. - [@jrgz](https://github.com/jrgz): Helping me test the Mac OS X version. diff --git a/ascii/distro/alpine b/ascii/distro/alpine new file mode 100644 index 00000000..ce7524d2 --- /dev/null +++ b/ascii/distro/alpine @@ -0,0 +1,19 @@ +"\ +${c1} \`---------------------\` + \`-----------------------\` + .-------------------------. + .---------------------------. + \`-----------..------------------\` +\`----------.\` \`.----\`\`-----------\` +---------.\` \`.. \`.--------- +-------.\` \`..\` \`\`\` \`.------- +-----.\` \`.----.\` \`..\` \`.----- +---.\` \`.\` ------.\` \`..\` \`.--- +---..\`..--.\`--------.\`\`..--.\`\`.---- +\`---------------------------------\` + \`-------------------------------\` + .---------------------------. + .-------------------------. + \`-----------------------\` + \`---------------------\` +" diff --git a/ascii/distro/kaos b/ascii/distro/kaos index b5b7c591..d5d06d91 100644 --- a/ascii/distro/kaos +++ b/ascii/distro/kaos @@ -1,18 +1,18 @@ "\ -${c1}████████ ████████ - ██████ ██████ - ████ ████ - █ █ - █ -${c1} █ ${c2} ████████ ████████ -${c1} █ ${c2} ██████ ██████ -${c1} █ ${c2} ████ ████ -${c1} █ ${c2} █ █ -${c1} █ ${c2} █ -${c1} ${c3}███████ ███████ -${c1} ${c3} █████ █████${c2} █ -${c1} █${c3} ███ ███ ${c2} █ -${c1} █ ${c3} █ ${c2} █ -${c1} █ ${c3}█ ${c2} █ -${c1} █ ${c3}█ ${c2} █ +${c1} .. + ..... ..OSSAAAAAAA.. + .KKKKSS. .SSAAAAAAAAAAA. +.KKKKKSO. .SAAAAAAAAAA... +KKKKKKS. .OAAAAAAAA. +KKKKKKS. .OAAAAAA. +KKKKKKS. .SSAA.. +.KKKKKS..OAAAAAAAAAAAA........ + DKKKKO.=AA=========A===AASSSO.. + AKKKS.==========AASSSSAAAAAASS. + .=KKO..========ASS.....SSSSASSSS. + .KK. .ASS..O.. =SSSSAOSS: + .OK. .ASSSSSSSO...=A.SSA. + .K ..SSSASSSS.. ..SSA. + .SSS.AAKAKSSKA. + .SSS....S.. " diff --git a/ascii/distro/steamos b/ascii/distro/steamos new file mode 100644 index 00000000..49fcc872 --- /dev/null +++ b/ascii/distro/steamos @@ -0,0 +1,20 @@ +"\ +${c2} .,,,,. + .,'onNMMMMMNNnn',. + .'oNMANKMMMMMMMMMMMNNn'. + .'ANMMMMMMMXKNNWWWPFFWNNMNn. + ;NNMMMMMMMMMMNWW'' ,.., 'WMMM, + ;NMMMMV+##+VNWWW' .+;'':+, 'WMW, +,VNNWP+${c1}######${c2}+WW, ${c1}+: ${c2}:+, +MMM, +'${c1}+#############, +. ,+' ${c2}+NMMM +${c1} '*#########*' '*,,*' ${c2}.+NMMMM. +${c1} \`'*###*' ,.,;###${c2}+WNM, +${c1} .,;;, .;##########${c2}+W +${c1},',. '; ,+##############' + '###+. :,. .,; ,###############' + '####.. \`'' .,###############' + '#####+++################' + '*##################*' + ''*##########*'' + '''''' +" diff --git a/config/config b/config/config index 813ed8cc..7deab264 100644 --- a/config/config +++ b/config/config @@ -35,7 +35,6 @@ printinfo () { # info "Font" font # info "Disk" disk - # info "Resolution" resolution # info "Battery" battery # info "Local IP" localip # info "Public IP" publicip @@ -46,6 +45,7 @@ printinfo () { info linebreak info cols info linebreak + info linebreak } @@ -93,11 +93,16 @@ shell_version="off" # scaling_current, scaling_min, scaling_max speed_type="max" +# CPU shorthand +# Decice to show name only, speed only, or short info +# --cpu_shorthand name, speed, tiny, on, off +cpu_shorthand="off" + # GPU # Shorten output of the getgpu funcion -# --gpu_shorthand on/off +# --gpu_shorthand on/off/tiny gpu_shorthand="on" @@ -158,6 +163,11 @@ birthday_shorthand="off" # --birthday_time on/off birthday_time="on" +# Date format to use when printing birthday +# --birthday_format "format" +birthday_format="+%a %d %b %Y %l:%M %p" + + # Color Blocks # Color block range @@ -296,7 +306,7 @@ image_size="auto" # Right gap between image and text # --gap num -gap=4 +gap=2 # Image offsets # --xoffset px @@ -356,6 +366,14 @@ scrot_dir="$HOME/Pictures" scrot_name="neofetch-%Y-%m-%d-%H:%M.png" +# }}} + +# Stdout options {{{ + +# Separator for stdout mode +# --stdout_separator string +stdout_separator=" " + # }}} # Config Options {{{ diff --git a/neofetch b/neofetch index b1aac63d..62811eb3 100755 --- a/neofetch +++ b/neofetch @@ -5,7 +5,7 @@ # https://github.com/dylanaraps/neofetch # # Required Dependencies: -# Bash 4.0+ +# Bash 3.0+ # xprop # [Linux / BSD / Windows] Uptime detection: procps or procps-ng # @@ -13,7 +13,8 @@ # Displaying Images: w3m + w3m-img # Image Cropping: ImageMagick # [ Linux / BSD ] Wallpaper Display: feh, nitrogen or gsettings -# [ Linux / BSD ] Current Song: mpc or cmus +# [ Linux / BSD ] Current Song: mpc, cmus, moc +# [ Linux ] Current Song: spotify # [ Linux / BSD ] Resolution detection: xorg-xdpyinfo # # Created by Dylan Araps @@ -26,6 +27,7 @@ SYS_LOCALE="$LANG" export LC_ALL=C export LANG=C + # Config Options {{{ @@ -55,7 +57,6 @@ printinfo () { # info "Font" gtkfont # info "Disk" disk - # info "Resolution" resolution # info "Battery" battery # info "Song" song # info "Local IP" localip @@ -66,6 +67,7 @@ printinfo () { info linebreak info cols info linebreak + info linebreak } @@ -123,7 +125,7 @@ cpu_display="off" # GPU # Shorten output of the getgpu funcion -# --gpu_shorthand on/off +# --gpu_shorthand on/off/tiny gpu_shorthand="on" @@ -184,6 +186,11 @@ birthday_shorthand="off" # --birthday_time on/off birthday_time="on" +# Date format to use when printing birthday +# --birthday_format "format" +birthday_format="%a %d %b %Y %l:%M %p" + + # Color Blocks # Color block range @@ -320,7 +327,7 @@ image_size="auto" # Right gap between image and text # --gap num -gap=4 +gap=2 # Image offsets # --xoffset px @@ -381,6 +388,14 @@ scrot_dir="$HOME/Pictures" scrot_name="neofetch-%Y-%m-%d-%H:%M.png" +# }}} + +# Stdout options {{{ + +# Separator for stdout mode +# --stdout_separator string +stdout_separator=" " + # }}} # Config Options {{{ @@ -520,7 +535,7 @@ getuptime () { case "$os" in "Linux") case "$distro" in - "Puppy Linux"* | "Quirky Werewolf"* | "Precise Puppy"*) + "Puppy Linux"* | "Quirky Werewolf"* | "Precise Puppy"* | "Alpine Linux"*) uptime=$(uptime | awk -F ':[0-9]{2}+ |(, ){1}+' '{printf $2}') uptime=${uptime/ / } ;; @@ -644,6 +659,9 @@ getpackages () { elif type -p nix-env >/dev/null 2>&1; then packages="$(ls -d -1 /nix/store/*/ | wc -l)" + elif type -p apk >/dev/null 2>&1; then + packages="$(apk info | wc -l)" + elif type -p pacman-g2 >/dev/null 2>&1; then packages="$(pacman-g2 -Q | wc -l)" @@ -744,7 +762,7 @@ getshell () { # Desktop Environment {{{ getde () { - [ "$XDG_CURRENT_DESKTOP" ] && de="$XDG_CURRENT_DESKTOP" + [ "$XDG_CURRENT_DESKTOP" != "i3" ] && de="$XDG_CURRENT_DESKTOP" } # }}} @@ -955,7 +973,8 @@ getgpu () { gpu=${gpu/Intel Corporation } gpu=${gpu/Haswell-??? } gpu=${gpu/?th Gen } - gpu=${gpu/Core Processor } + gpu=${gpu/Core } + gpu=${gpu/Processor } gpu=${gpu/ Mobile} gpu=${gpu/ Express} gpu=${gpu/Sky } @@ -971,6 +990,7 @@ getgpu () { gpu=${gpu/Seymour} gpu=${gpu/Richland} gpu=${gpu/Pitcairn} + gpu=${gpu/Hawaii} gpu=${gpu/ OEM} gpu=${gpu/ Cape Verde} gpu=${gpu/ \[} @@ -1029,17 +1049,27 @@ getgpu () { ;; esac - if [ "$gpu_shorthand" == "on" ]; then - gpu=${gpu// Rev\. ?} - gpu=${gpu//AMD*\/ATI\]/AMD} - gpu=${gpu// Tahiti} - gpu=${gpu// PRO} - gpu=${gpu// OEM} - gpu=${gpu// Mars} - gpu=${gpu// Series} - gpu=${gpu// Controller} - gpu=${gpu/\/*} - fi + case "$gpu_shorthand" in + "on" | "tiny") + gpu=${gpu// Rev\. ?} + gpu=${gpu//AMD*\/ATI\]/AMD} + gpu=${gpu// Tahiti} + gpu=${gpu// PRO} + gpu=${gpu// OEM} + gpu=${gpu// Mars} + gpu=${gpu// Series} + gpu=${gpu// Controller} + gpu=${gpu/\/*} + + case "$gpu_shorthand" in + "tiny") + gpu=${gpu/Graphics } + gpu=${gpu/GeForce } + gpu=${gpu/Radeon } + ;; + esac + ;; + esac gpu="${gpu}${count}" } @@ -1150,6 +1180,29 @@ getsong () { song="$(mocp -Q "%artist - %song" 2>/dev/null)" state="$(mocp -Q "%state" 2>/dev/null)" + elif pgrep "spotify" >/dev/null 2>&1; then + case "$os" in + "Linux") + # This command is way too long + song="$(\ + dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \ + org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata' |\ + awk -F 'string "' '/string|array/ {printf "%s",$2; next}{print ""}' |\ + awk -F '"' '/artist|title/ {printf $2 " - "}' + )" + song=${song% - } + song=${song/'('*} + song=${song//'['*} + ;; + esac + elif [ -n "$(ps aux | awk '!(/awk/ || /Helper/) && /iTunes/')" ]; then + song="$(osascript -e 'tell application "iTunes" to artist of current track as string & " - " name of current track as string')" + state="$(osascript -e 'tell application "iTunes" to player state as string')" + + elif [ -n "$(ps aux | awk '!(/awk/) && /spotify/')" ]; then + song="$(osascript -e 'tell application "Spotify" to artist of current track as string & " - " & name of current track as string')" + state="$(osascript -e 'tell application "Spotify" to player state as string')" + else song="Unknown" fi @@ -1159,7 +1212,7 @@ getsong () { song="Paused" ;; - "stopped" | "STOP" | "") + "stopped" | "STOP") song="Stopped" ;; esac @@ -1276,7 +1329,7 @@ getstyle () { fi ;; - "Cinnamon") + *"Cinnamon") if type -p gsettings >/dev/null 2>&1; then gtk3theme=$(gsettings get org.cinnamon.desktop.interface $gsettings) gtk3theme=${gtk3theme//"'"} @@ -1407,12 +1460,12 @@ getfont () { getdisk () { # df flags case "$os" in - "Linux" | "Windows") df_flags="-h --total" ;; - "Mac OS X") df_flags="-H /" ;; + "Linux" | "Windows") df_flags="-h -l --total" ;; + "Mac OS X") df_flags="-H / -l" ;; *"BSD") case "$os" in - "FreeBSD") df_flags="-h -c" ;; + "FreeBSD") df_flags="-h -c -l" ;; *) disk="Unknown"; return ;; esac ;; @@ -1594,12 +1647,27 @@ getbirthday () { case "$os" in "Linux") birthday="$(ls -alct --full-time / | awk '/lost\+found/ {printf $6 " " $7}')" - date_cmd="$(date -d"$birthday" "+%a %d %b %Y %l:%M %p")" + date_cmd="$(date -d"$birthday" +"$birthday_format")" ;; "Mac OS X") - birthday="$(ls -alctT /var/log/CDIS.custom | awk '{printf $6 " " $7 " " $9 " " $8}')" - date_cmd="$(date -j -f "%b %d %Y" "$birthday" "+%a %d %b %Y %l:%M %p")" + birthday="$(ls -lUT /var/log/install.log | awk '{printf $6 " " $7 " " $9 " " $8}')" + + # Split the string into Date + time + time=${birthday/*???? } + birthday=${birthday/$time} + + case "${time/:*}" in + 0? | 10 | 11) + time+=" AM" + ;; + + *) + time+=" PM" + ;; + esac + birthday+="$time" + birthday_shorthand="on" ;; *"BSD") @@ -1611,7 +1679,7 @@ getbirthday () { "FreeBSD"*) birthday="$(ls -alctT /etc/hostid | awk '{printf $6 " " $7 " " $9 " " $8}')" - date_cmd="$(date -j -f "%b %d %Y" "$birthday" "+%a %d %b %Y %l:%M %p")" + date_cmd="$(date -j -f "%b %d %Y" "$birthday" +"$birthday_format")" ;; "NetBSD"*) @@ -1627,7 +1695,7 @@ getbirthday () { "Windows") birthday="$(ls -alct --full-time /cygdrive/c/Windows/explorer.exe | awk '{printf $8 " " $9}')" - date_cmd="$(date -d"$birthday" "+%a %d %b %Y %l:%M %p")" + date_cmd="$(date -d"$birthday" +"$birthday_format")" ;; *) @@ -1637,13 +1705,11 @@ getbirthday () { esac # Strip seconds from time output - birthday=${birthday%:*} + birthday=${birthday/:?? / } # Pretty output - if [ "$birthday_shorthand" == "off" ]; then - birthday="$date_cmd" - birthday=${birthday/ / } - fi + [ "$birthday_shorthand" == "off" ] && \ + birthday="${date_cmd/ / }" # Toggle showing the time [ "$birthday_time" == "off" ] && \ @@ -2060,16 +2126,25 @@ prin () { # Stdout {{{ stdout () { + # Read args early for the separator + stdout_separator_flag="$(awk -F '--stdout_separator ' '{printf $2}' <<< "${args[@]}")" + stdout_separator_flag=${stdout_separator_flag/ '--'*} + + [ ! -z "$stdout_separator_flag" ] && \ + stdout_separator="$stdout_separator_flag" + for func in "${args[@]}"; do case "$func" in "--"*) break ;; *) "get$func" 2>/dev/null eval output="\$$func" - printf "%s" "$output " + stdout+="${output}${stdout_separator}" ;; esac done + + printf "%s" "${stdout%%${stdout_separator}}" exit } @@ -2102,7 +2177,7 @@ colors () { setcolors 3 2 4 5 7 ;; - "CRUX"* | "Chakra"* | "gNewSense"* | "SailfishOS"*) + "CRUX"* | "Chakra"* | "gNewSense"* | "SailfishOS"* | "Alpine"*) setcolors 4 5 7 ;; @@ -2124,7 +2199,7 @@ colors () { setcolors 7 4 1 ;; - "Gentoo"* | "Funtoo"*) + "Gentoo"* | "Funtoo"* | "SteamOS"*) setcolors 7 5 ;; @@ -2237,6 +2312,10 @@ setcolors () { fi } +color () { + printf "%b%s" "\033[38;5;${1}m" +} + # }}} @@ -2372,9 +2451,11 @@ usage () { cat << EOF Possible values: current, min, max, bios, scaling_current, scaling_min, scaling_max NOTE: This only support Linux with cpufreq. + --cpu_shorthand type Shorten the output of CPU + Possible values: name, speed, tiny, on, off --kernel_shorthand on/off Shorten the output of kernel --uptime_shorthand on/off Shorten the output of uptime (tiny, on, off) - --gpu_shorthand on/off Shorten the output of GPU + --gpu_shorthand on/off Shorten the output of GPU (tiny, on, off) --gtk_shorthand on/off Shorten output of gtk theme/icons --gtk2 on/off Enable/Disable gtk2 theme/icons output --gtk3 on/off Enable/Disable gtk3 theme/icons output @@ -2386,13 +2467,13 @@ usage () { cat << EOF --song_shorthand on/off Print the Artist/Title on seperate lines --birthday_shorthand on/off Shorten the output of birthday --birthday_time on/off Enable/Disable showing the time in birthday output + --birthday_format format Format the birthday output. (Uses 'date' cmd format) - Text Colors: - --colors x x x x x x Changes the text colors in this order: - title, @, underline, subtitle, colon, info Text Formatting: - --underline_char char Character to use when underlineing title + --colors x x x x x x Changes the text colors in this order: + title, @, underline, subtitle, colon, info + --underline_char char Character to use when underlining title --line_wrap on/off Enable/Disable line wrapping --bold on/off Enable/Disable bold text --prompt_height num Set this to your prompt height to fix issues with @@ -2448,7 +2529,7 @@ usage () { cat << EOF Ascii: --ascii value Where to get the ascii from, Possible values: distro, /path/to/ascii - --ascii_color num Color to print the ascii art + --ascii_colors x x x x x x Colors to print the ascii art --ascii_distro distro Which Distro's ascii art to print @@ -2456,6 +2537,7 @@ usage () { cat << EOF --stdout info info Launch neofetch in stdout mode which prints the info in a plain-text format that you can use with lemonbar etc. + --stdout_separator string String to use as a separator in stdout mode. Screenshot: @@ -2488,6 +2570,7 @@ while [ "$1" ]; do --speed_type) speed_type="$2" ;; --kernel_shorthand) kernel_shorthand="$2" ;; --uptime_shorthand) uptime_shorthand="$2" ;; + --cpu_shorthand) cpu_shorthand="$2" ;; --gpu_shorthand) gpu_shorthand="$2" ;; --gtk_shorthand) gtk_shorthand="$2" ;; --gtk2) gtk2="$2" ;; @@ -2500,6 +2583,7 @@ while [ "$1" ]; do --song_shorthand) song_shorthand="$2" ;; --birthday_shorthand) birthday_shorthand="$2" ;; --birthday_time) birthday_time="$2" ;; + --birthday_format) birthday_format="$2" ;; --disable) for func in "$@"; do case "$func" in @@ -2601,7 +2685,7 @@ while [ "$1" ]; do unset -f bar case "$2" in "--"* | "") echo "--stdout requires at least one argument"; exit ;; - *) shift; args=("$@"); config="off" stdout ;; + *) shift; args=("$@"); config="off"; stdout ;; esac ;; diff --git a/neofetch.1 b/neofetch.1 new file mode 100644 index 00000000..d1693d49 --- /dev/null +++ b/neofetch.1 @@ -0,0 +1,230 @@ +.TH NEOFETCH "1" "March 2016" "1.5" "User Commands" +.SH NAME +neofetch \- simple system information script + +.SH SYNOPSIS +.B neofetch \fR[Optional Flags] + +.SH DESCRIPTION +neofetch is a script that gathers information about your system and prints +it to the terminal next to an image, a distro's logo or any ASCII art of +your choice. + +.SH OPTIONS +.TP +.B \--disable 'infoname' +Allows you to disable an info line from appearing in the output. +.br +NOTE: You can supply multiple args. eg. +.br +\'neofetch --disable cpu gpu disk shell\' +.TP +.B \--osx_buildversion 'on/off' +Hide/Show Mac OS X build version. +.TP +.B \--os_arch 'on/off' +Hide/Show Windows architecture. +.TP +.B \--speed_type 'type' +Change the type of cpu speed to display. +.br +Possible values: current, min, max, bios, +scaling_current, scaling_min, scaling_max +.br +NOTE: This only support Linux with cpufreq. +.TP +.B \--cpu_shorthand 'type' +Shorten the output of CPU +.br +Possible values: name, speed, tiny, on, off +.TP +.B \--kernel_shorthand 'on/off' +Shorten the output of kernel +.TP +.B \--uptime_shorthand 'on/off' +Shorten the output of uptime (tiny, on, off) +.TP +.B \--gpu_shorthand 'on/off' +Shorten the output of GPU (tiny, on, off) +.TP +.B \--gtk_shorthand 'on/off' +Shorten output of gtk theme/icons +.TP +.B \--gtk2 'on/off' +Enable/Disable GTK2 theme/icons output +.TP +.B \--gtk3 'on/off' +Enable/Disable gtk3 theme/icons output +.TP +.B \--shell_path 'on/off' +Enable/Disable showing \$SHELL path +.TP +.B \--shell_version 'on/off' +Enable/Disable showing \$SHELL version +.TP +.B \--battery_num 'num' +Which battery to display, default value is 'all' +.TP +.B \--battery_shorthand 'on/off' +Whether or not each battery gets its own line/title +.TP +.B \--ip_host 'url' +URL to ping for public IP +.TP +.B \--song_shorthand 'on/off' +Print the Artist/Title on seperate lines +.TP +.B \--birthday_shorthand 'on/off' +Shorten the output of birthday +.TP +.B \--birthday_time 'on/off' +Enable/Disable showing the time in birthday output +.TP +.B \--birthday_format 'format' +Format the birthday output. (Uses 'date' cmd format) + +.SH TEXT FORMATTING +.TP +.B \--colors x x x x x x +Changes the text colors in this order: +title, @, underline, subtitle, colon, info +.B \--underline_char 'char' +Character to use when underlining title +.TP +.B \--line_wrap 'on/off' +Enable/Disable line wrapping +.TP +.B \--bold 'on/off' +Enable/Disable bold text +.TP +.B \--prompt_height 'num' +Set this to your prompt height to fix issues +with the text going off screen at the top + +.SH COLOR BLOCKS +.TP +.B \--color_blocks 'on/off' +Enable/Disable the color blocks +.TP +.B \--block_width 'num' +Width of color blocks +.TP +.B \--block_range 'start' 'end' +Range of colors to print as blocks + +.SH IMAGE +.TP +.B \--image 'type' +Image source. Where and what image we display. +.br +Possible values: wall, shuffle, ascii, /path/to/img, off +.TP +.B \--size 'size' +Size to make the image, takes pixels or a percentage. +.TP +.B \--image_backend 'w3m/iterm2' +Which program to use to draw images. +.TP +.B \--shuffle_dir 'path' +Which directory to shuffle for an image. +.TP +.B \--image_position 'left/right' +Where to display the image: (Left/Right) +.TP +.B \--crop_mode 'mode' +Which crop mode to use +.br Takes the values: normal, fit, fill +.TP +.B \--crop_offset 'value' +Change the crop offset for normal mode. +.br +Possible values: northwest, north, northeast, +west, center, east, southwest, south, southeast +.TP +.B \--xoffset 'value' +How close the image will be to the left edge of the +window in pixel. This only works with w3m. +.TP +.B \--yoffset 'value' +How close the image will be to the top edge +of the window. This only works with w3m. +.TP +.B \--gap 'num' +Gap between image and text. +.br +NOTE: --gap can take a negative value which +will move the text closer to the left side. +.TP +.B \--clean +Remove all cropped images + +.SH ASCII +.TP +.B \--ascii 'value' +Where to get the ASCII from +.br +Possible values: distro, /path/to/ascii +.TP +.B \--ascii_colors x x x x x x +Colors to print the ASCII art +.TP +.B \--ascii_distro 'distro' +Which Distro\'s ASCII art to print + +.SH STDOUT +.TP +.B \--stdout info info +Launch fetch in stdout mode which prints the info in +a plain-text format that you can use with lemonbar etc. +.TP +.B \--stdout_separator 'string' +String to use as a separator in stdout mode. + +.SH SCREENSHOT +.TP +.B \--scrot 'path' +Take a screenshot, if path is left empty the screenshot +function will use \$scrot_dir and \$scrot_name. +.TP +.B \--scrot_cmd 'cmd' +Screenshot program to launch + +.SH OTHER +.TP +.B \--config 'path' +Specify a path to a custom config file +.TP +.B \--config none +Launch the script without a config file +.TP +.B \--help + +.SH "SEE ALSO" +http://github.com/dylanaraps/neofetch + +.SH BUGS +Report bugs to + +.SH LICENSE + +The MIT License (MIT) + +Copyright (c) 2016 Dylan Araps + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +.SH AUTHOR +Created by Dylan Araps.