diff --git a/neofetch/config.conf b/neofetch/config.conf index 4c0937c..fd96f0f 100644 --- a/neofetch/config.conf +++ b/neofetch/config.conf @@ -1,21 +1,21 @@ # See this wiki page for more info: # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info print_info() { - info title - info underline + # info title + # info underline - # info "" distro + info "" distro # info "Host" model - info "" kernel + # info "" kernel info "" uptime info "" packages - info "" shell + info "" shell # info "Resolution" resolution info "" wm # info "" term # info "" term_font info "" cpu - # info "" gpu + info "" gpu info "" memory # info "" disk # info cols @@ -29,7 +29,7 @@ kernel_shorthand="on" # Distro distro_shorthand="off" -os_arch="on" +os_arch="off" # Uptime uptime_shorthand="tiny" @@ -63,7 +63,7 @@ refresh_rate="on" # Disk disk_show=('/') -disk_subtitle="name" +disk_subtitle="mount" disk_percent="on" # Text Options @@ -75,56 +75,10 @@ underline_char="-" separator=" " # Color Blocks - -# Color block range -# The range of colors to print. -# -# Default: '0', '15' -# Values: 'num' -# Flag: --block_range -# -# Example: -# -# Display colors 0-7 in the blocks. (8 colors) -# neofetch --block_range 0 7 -# -# Display colors 0-15 in the blocks. (16 colors) -# neofetch --block_range 0 15 block_range=(0 15) - -# Toggle color blocks -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --color_blocks color_blocks="off" - -# Color block width in spaces -# -# Default: '3' -# Values: 'num' -# Flag: --block_width block_width=3 - -# Color block height in lines -# -# Default: '1' -# Values: 'num' -# Flag: --block_height block_height=1 - -# Color Alignment -# -# Default: 'auto' -# Values: 'auto', 'num' -# Flag: --col_offset -# -# Number specifies how far from the left side of the terminal (in spaces) to -# begin printing the columns, in case you want to e.g. center them under your -# text. -# Example: -# col_offset="auto" - Default behavior of neofetch -# col_offset=7 - Leave 7 spaces then print the colors col_offset="auto" # Progress Bars diff --git a/polybar/config b/polybar/config index e0f0cb7..8c944bf 100644 --- a/polybar/config +++ b/polybar/config @@ -1,10 +1,10 @@ [colors] -;background = ${xrdb:color0:#222} -background = +background = #ee0c181d +foreground = #ccffffff + background-alt = #444 -;foreground = ${xrdb:color7:#222} -foreground = #dfdfdf foreground-alt = #555 + primary = #ffb52a secondary = #e60053 alert = #bd2c40 @@ -13,10 +13,8 @@ alert = #bd2c40 width = 1900 height = 30 -#background = #df1D1F21 -background = #ee0c181d -foreground = #ccffffff - +background = ${colors.background} +foreground = ${colors.foreground} border-color = #00000000 offset-y = 10 @@ -30,14 +28,21 @@ module-margin-left = 1 font-0 = RobotoMono:size=10;2 font-1 = MaterialIcons;3 +font-2 = coins;3 modules-left = bspwm modules-right = xbps-updates pulseaudio-control brightnessctl wireless-network battery date -;modules-center = bspwm +modules-center = crypto fixed-center = true tray-position = right +[module/crypto] +type = custom/script +interval = 180 +exec = ~/.config/polybar/scripts/pcrypto.py --coins btc eth ada atom matic vet --base usd +label-foreground = ${colors.foreground-alt} + [module/bt-status] type = custom/script exec = ~/.config/polybar/scripts/bt-status.sh @@ -77,11 +82,6 @@ label-foreground = ${colors.foreground} [module/xwindow] type = internal/xwindow -[module/crypto] -type = custom/script -interval = 60 -exec = ~/.config/polybar/scripts/pcrypto.py --base USD --coins btc eth ada --apikey coinranking667e22ef80713a74e538696d841e19ade62f38679290e928 - [module/battery] type = internal/battery battery = BAT1 diff --git a/polybar/scripts/apikey.txt b/polybar/scripts/apikey.txt new file mode 100644 index 0000000..1d73f28 --- /dev/null +++ b/polybar/scripts/apikey.txt @@ -0,0 +1,3 @@ +# Visit https://developers.coinranking.com/create-account to make an account and generate a free API key. +# ADD YOUR API KEY ON A NEW LINE BELOW HERE. +coinranking667e22ef80713a74e538696d841e19ade62f38679290e928 diff --git a/polybar/scripts/coins.svg b/polybar/scripts/coins.svg new file mode 100644 index 0000000..6d3b73f --- /dev/null +++ b/polybar/scripts/coins.svg @@ -0,0 +1,304 @@ +e900:1st +e901:ada +e902:adc +e903:adx +e904:aeon +e905:amp +e906:anc +e907:ant +e908:arch +e909:ardr +e90a:aur +e90b:banx +e90c:bat +e90d:bay +e90e:bc +e90f:bch +e910:bcn +e911:bft +e912:bnb +e913:bnt +e914:brk +e915:brx +e916:bsd +e917:bta +e918:btc +e919:btcd +e91a:btg +e91b:btm +e91c:bts +e91d:clam +e91e:clo +e91f:cloak +e920:cvc +e921:dao +e922:dash +e923:dcr +e924:dct +e925:dent +e926:dgb +e927:dgd +e928:dgx +e929:dmd +e92a:dnt +e92b:doge +e92c:edg +e92d:emc +e92e:eos +e92f:erc +e930:etc +e931:eth +e932:exp +e933:fc2 +e934:fcn +e935:fct +e936:flo +e937:frk +e938:ftc +e939:fun +e93a:game +e93b:gbg +e93c:gbyte +e93d:gdc +e93e:gemz +e93f:gld +e940:gno +e941:gnt +e942:golos +e943:grc +e944:grs +e945:gup +e946:awc +e947:hmq +e948:icn +e949:ifc +e94a:incnt +e94b:ioc +e94c:cnd +e94d:ixt +e94e:jbs +e94f:kmd +e950:kore +e951:lbc +e952:ldoge +e953:lsk +e954:ltc +e955:lun +e956:maid +e957:mco +e958:mint +e959:mln +e95a:mona +e95b:mrc +e95c:msc +e95d:msp +e95e:mtl +e95f:mtr +e960:mue +e961:nano +e962:nav +e963:nbt +e964:neo +e965:neos +e966:neu +e967:nlg +e968:nmc +e969:note +e96a:nvc +e96b:nxt +e96c:oax +e96d:ok +e96e:omg +e96f:omni +e970:opal +e971:part +e972:pay +e973:piggy +e974:pink +e975:pivx +e976:plbt +e977:plr +e978:plu +e979:pot +e97a:ppc +e97b:ptoy +e97c:qcn +e97d:qrk +e97e:qtum +e97f:rads +e980:rbies +e981:rbt +e982:rby +e983:rdd +e984:rep +e985:rise +e986:rlc +e987:salt +e988:sar +e989:scot +e98a:sdc +e98b:sia +e98c:sjcx +e98d:slg +e98e:sls +e98f:sngls +e990:snrg +e991:snt +e992:start +e993:steem +e994:storj +e995:str +e996:strat +e997:swift +e998:swt +e999:sync +e99a:sys +e99b:time +e99c:tkn +e99d:trig +e99e:trst +e99f:trx +e9a0:tx +e9a1:ubq +e9a2:unity +e9a3:usdt +e9a4:ven +e9a5:vior +e9a6:vnl +e9a7:vpn +e9a8:vrc +e9a9:vtc +e9aa:waves +e9ab:wings +e9ac:xai +e9ad:xaur +e9ae:xbs +e9af:xcp +e9b0:xdn +e9b1:xem +e9b2:xmr +e9b3:xpm +e9b4:xrp +e9b5:xtz +e9b7:xzc +e9b8:ybc +e9b9:zec +e9ba:zeit +e9bb:zrx +e9bc:stx +e9bd:sbtc +e9be:rcn +e9bf:nmr +e9c0:zil +e9c1:vib +e9c2:xnn +e9c3:viu +e9c4:veri +e9c5:sc +e9c6:rhoc +e9c7:kcs +e9c8:icx +e9c9:ark +e9ca:ae +e9cb:tip +e9cc:crpt +e9cd:via +e9ce:myst +e9cf:miota +e9d0:adt +e9d1:eng +e9d2:cfi +e9d3:dsh +e9d4:xlm +e9d5:fsbt +e9d6:atl +e9d7:ath +e9d8:arn +e9d9:arc +e9da:apt +e9db:aidoc +e9dc:amis +e9dd:adst +e9de:300 +e9df:ngc +e9e0:srn +e9e1:wax +e9e2:dcn +e9e3:powr +e9e4:dkk +e9e5:gbp +e9e6:eur +e9e7:usd +e9e8:ukg +e9e9:lrc +e9ea:brd +e9eb:mana +e9ec:mer +e9ed:tix +e9ee:xel +e9ef:zen +e9f0:btcp +e9f1:ebst +e9f2:elf +e9f3:hsr +e9f4:iost +e9f5:loom +e9f6:mkr +e9f7:nas +e9f8:now +e9f9:snm +e9fa:synx +e9fb:wan +e9fd:ely +e9fe:ela +e9ff:smart +ea00:aion +ea01:tusd +ea02:usdc +ea03:vet +ea04:pax +ea05:joys +ea06:bchsv +ea07:bsv +ea08:bth +ea09:trezor +ea0a:ledger +ea0b:r +ea0c:npxs +ea0d:dai +ea0e:link +ea0f:hot +ea10:gusd +ea11:eurs +ea12:vtho +ea13:kin +ea14:ont +ea15:atom +ea16:ankr +ea17:erd +ea18:ftm +ea19:lto +ea1a:und +ea1b:vera +ea1c:yec +ea1d:aya +ea1e:ethplo +ea1f:iotx +ea20:enj +ea21:rvn +ea22:xns +ea23:pyn +ea24:ncash +ea25:loki +ea26:knc +ea27:job +ea28:chz +ea29:btu +ea2a:apis +ea2b:gas +ea2c:busd +ea2d:iq +ea2e:lst +ea2f:ong +ea30:nut +ea31:eosdt \ No newline at end of file diff --git a/polybar/scripts/pcrypto.py b/polybar/scripts/pcrypto.py new file mode 100755 index 0000000..ddc16ba --- /dev/null +++ b/polybar/scripts/pcrypto.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 + +import requests +import argparse +import sys +import os + +parser = argparse.ArgumentParser(description="Display currencies on polybar") +parser.add_argument("--coins", type=str, + nargs="+", help="Select coins to display") +parser.add_argument("--base", type=str, + nargs="?", default="USD", help="Currency base to convert against") +parser.add_argument("--decimals", type=int, + nargs="?", default=2, help="How many decimals to show") +parser.add_argument("--display", type=str, + nargs="?", default="price", choices=["price", "percentage", "both"], help="Display mode") + +args = parser.parse_args() +path = os.getcwd() + +if not os.path.exists(f"{path}/scripts/apikey.txt"): + sys.stdout.write("API Key not found. Please add to apikey.txt") + with open('apikey.txt', 'w') as fp: + fp.write("# Visit https://developers.coinranking.com/create-account to make an account and generate a free API key.\n# ADD YOUR API KEY ON A NEW LINE BELOW HERE.") + +else: + + with open(f'{path}/scripts/apikey.txt', 'r') as fp: + apikey = [line for line in fp.readlines() if not line.startswith("#")][0] + apikey = str(apikey).replace("\n", "") + + unicode_dict = {} + with open(f"{path}/scripts/coins.svg", "r", encoding="utf-8") as icons: + for line in icons: + unicode, coin = line.strip().split(":") + unicode_dict[unicode] = coin + + if not (args.coins and args.base): + parser.print_help() + parser.exit() + + coin_args_list = map(lambda x: f'symbols[]={x}', args.coins) + coin_args_str = "&".join(coin_args_list) + + get_base = requests.get( + f"https://api.coinranking.com/v2/reference-currencies?search={args.base}", + headers={'x-access-token': apikey}).json()["data"] + + get_base = get_base['currencies'][0] + + get_coin = requests.get( + f"https://api.coinranking.com/v2/coins?{coin_args_str}&referenceCurrencyUuid={get_base['uuid']}", + headers={'x-access-token': apikey}).json()['data'] + + for n in range(len(args.coins)): + coin = get_coin['coins'][n] + price_float = round(float(coin['price']), args.decimals) + delta = coin['change'] + + current_price = get_base['sign'] + str(price_float) + + if args.display == "price": + sys.stdout.write(f" {coin['symbol']} {current_price} ") + elif args.display == "percentage": + sys.stdout.write(f" {coin['symbol']} {delta:+}% ") + elif args.display == "both": + sys.stdout.write(f" {coin['symbol']} {current_price} | {delta:+}% ")