summaryrefslogtreecommitdiff
path: root/.config/polybar
diff options
context:
space:
mode:
authorRoger Gonzalez <roger@rogs.me>2021-01-01 16:02:28 -0300
committerRoger Gonzalez <roger@rogs.me>2021-01-01 16:02:28 -0300
commit8fedf45bdce537aa53cad815024a0721b5538389 (patch)
treeda2a996ba24a34acbd12508678fb750eeaf0c9ff /.config/polybar
parent88a0e8f4b2e74a8215e392464d8ae0dff36af5bb (diff)
Added music and BTC modules to polybar
Diffstat (limited to '.config/polybar')
-rw-r--r--.config/polybar/coins.svg304
-rw-r--r--.config/polybar/config17
-rwxr-xr-x.config/polybar/music15
-rwxr-xr-x.config/polybar/pcrypto.py47
4 files changed, 381 insertions, 2 deletions
diff --git a/.config/polybar/coins.svg b/.config/polybar/coins.svg
new file mode 100644
index 00000000..6d3b73fd
--- /dev/null
+++ b/.config/polybar/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/.config/polybar/config b/.config/polybar/config
index c76ff20b..8e3f091a 100644
--- a/.config/polybar/config
+++ b/.config/polybar/config
@@ -33,9 +33,9 @@ font-2 = Termsynu:size=10;0
font-3 = Siji:pixelsize=10;1
font-4 = FontAwesome:size=10;0
font-5 = Noto Color Emoji:scale=12;0
-modules-left = i3 spotify
+modules-left = i3 music
modules-center = xwindow
-modules-right = cpu-temperature gpu-temperature pulseaudio xkeyboard cpu memory wireless-network mullvad-status battery clock
+modules-right = crypto pulseaudio xkeyboard cpu memory wireless-network mullvad-status battery clock
[module/i3]
type = internal/i3
@@ -129,6 +129,12 @@ type = custom/script
interval = 1
exec = python /home/roger/.config/polybar/spotify_status.py -t 80 --playpause-font=5 -p '⏯,⏸️' -f ' {play_pause} {song} - {artist} - {album}'
+[module/music]
+type = custom/script
+interval = 1
+label = %output%
+exec = ~/.config/polybar/music
+
[module/mullvad-status]
type = custom/script
exec = /home/roger/.config/polybar/mullvad_status.sh
@@ -151,3 +157,10 @@ thermal-zone = 0
hwmon-path = /sys/devices/virtual/hwmon/hwmon4/temp9_input
base-temperature = 20
warn-temperature = 80
+
+[module/crypto]
+type = custom/script
+exec = python ~/.config/polybar/pcrypto.py --base USD --coins btc
+interval = 60
+
+font-0 = "coins:style=Regular;0"
diff --git a/.config/polybar/music b/.config/polybar/music
new file mode 100755
index 00000000..40a028f6
--- /dev/null
+++ b/.config/polybar/music
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+player_status=$(playerctl status 2> /dev/null)
+if [[ $? -eq 0 ]]; then
+ metadata=$(echo "$(playerctl metadata title) - $(playerctl metadata artist) - $(playerctl metadata album)" | cut -c -80)
+fi
+
+# Foreground color formatting tags are optional
+if [[ $player_status = "Playing" ]]; then
+ echo "%{F#FFFFFF}▶️ $metadata%{F-}"
+elif [[ $player_status = "Paused" ]]; then
+ echo "%{F#999}⏸️ $metadata%{F-}"
+else
+ echo ""
+fi
diff --git a/.config/polybar/pcrypto.py b/.config/polybar/pcrypto.py
new file mode 100755
index 00000000..3d9548a2
--- /dev/null
+++ b/.config/polybar/pcrypto.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3.6
+
+import requests
+import argparse
+import json
+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()
+home = os.path.expanduser("~/")
+
+unicode_dict = {}
+with open(f"{home}.config/polybar/coins.svg", "r", encoding="utf-8") as icons:
+ for line in icons:
+ unicode, coin = line.strip().split(":")
+ unicode_dict[unicode] = coin
+
+
+for coin in args.coins:
+ get = requests.get(
+ f"https://api.coinranking.com/v1/public/coins?prefix={coin}&base={args.base}").json()["data"]
+ price_float = round(float(get["coins"][0]["price"]), args.decimals)
+ current_price = get["base"]["sign"] + str(price_float)
+ change = get["coins"][0]["change"]
+
+ for _unicode, _coin in unicode_dict.items():
+ if _coin == coin:
+ icon = chr(int(_unicode, 16)) if len(_unicode) > 1 else _unicode
+ if args.display == "price":
+ if change > 0:
+ sys.stdout.write("%{F#00BB00}₿: " + current_price + "%{F-}")
+ else:
+ sys.stdout.write("%{F#BB0000}₿: " + current_price + "%{F-}")
+ if args.display == "percentage":
+ sys.stdout.write(f" {icon} {change:+}% ")
+ if args.display == "both":
+ sys.stdout.write(f" {icon} {current_price} | {change:+}% ")