We are still actively working on the spam issue.
Ricing-Code-Snippets-Anon-No-76935693
Revision as of 23:40, 26 July 2020 by Tinfoil-hat (talk | contribs) (Created page with "800px = Music Player = == dzen popup config: == <pre> #!/bin/bash YPOS="16" FONT="lemon:size=8:antialias=false" TIMING="15" BG="#f1f1f4" FG1="#...")
Contents
Music Player
dzen popup config:
#!/bin/bash YPOS="16" FONT="lemon:size=8:antialias=false" TIMING="15" BG="#f1f1f4" FG1="#94949e" FG2="#70708f" INPUT_BG="#1f1f47" INPUT_FG="#dadada" red="#db758b" redb="#f0a3a3" blue="#7c96c9" blueb="#96b6d8" green="#7cc988" greenb="#b0deb7" cyan="#63918b" cyanb="#92b5b0" magenta="#e18bbd" purple="#a96fcd" white0="#626e74" bar_bg="#cbdbcd" bar_fg="#383847" notify="#F39D21" warning="#D23D3D" highlight="#b4b4b4" alert="#be698b"
dzen mpd popup:
#!/bin/bash # define variables source $(dirname $0)/d-conf #XPOS=1387 XPOS=845 HEIGHT="12" WIDTH="242" LINES="8" ALIGN="left" THUMBSDIR="$HOME/mu/thumbs" cover="$(dirname $0)/d-cover" buttons="^fg($blue) ^ca(1, mpc prev)⮳ ^ca() ^ca(1, mpc pause)⮔ ^ca() ^ca(1, $cover)↓ ^ca() ^ca(1, mpc play)⮓ ^ca() ^ca(1, mpc next)⮲ ^ca() " if [ "`mpc 2>&1 | wc -l`" -gt "1" ]; then # loop for continuous updates while true;do # format track information track_unformatted=`mpc current -f %title%` artist_unformatted=`mpc current -f %artist%` album_unformatted=`mpc current -f %album%` artist_search=`mpc current -f %artist% | sed -e 's/\//-/g'| sed -e 's/|/-/g' | sed -e 's/\://g' | sed -e 's/(//g' | sed -e 's/)//g' | sed -e 's/\[//g' | sed -e 's/\]//g'` album_search=`mpc current -f %album% | sed -e 's/\//-/g'| sed -e 's/|/-/g' | sed -e 's/\://g' | sed -e 's/(//g' | sed -e 's/)//g' | sed -e 's/\[//g' | sed -e 's/\]//g'` # replace overflow with ellipses len_artist=`echo ${#artist_unformatted}` if [ "$len_artist" -gt 17 ]; then artist_formatted=`echo ${artist_unformatted:0:16}…` else artist_formatted=$artist_unformatted fi len_album=`echo ${#album_unformatted}` if [ "$len_album" -gt 17 ]; then album_formatted=`echo ${album_unformatted:0:16}…` else album_formatted=$album_unformatted fi len_track=`echo ${#track_unformatted}` if [ "$len_track" -gt 24 ]; then trim=`echo $track_unformatted | cut -c1-23` track_formatted=`echo $trim…` else trailing=`expr 24 - $len_track` to_add=`expr $trailing / 2` whitespace=`printf '%*s' "$to_add" | tr ' ' " "` track_formatted=$whitespace$track_unformatted fi # return formatted track information artist="^fg($FG1)by ^fg($FG2)$artist_formatted" album="^fg($FG1)from ^fg($FG2)$album_formatted" track="^fg($FG1)track ^fg($FG2)$(mpc -f %track% | sed -n "1p")" time="^fg($FG1)time ^fg($FG2)$(mpc | sed -n "2p" | awk -F " " '{print $3}')" # progress bar perc=`mpc | awk 'NR == 2 {gsub(/[()%]/,""); print $4}'` percwidth=$(( $WIDTH - 128 )) percbar=`echo -e "$perc" | gdbar -bg $bar_bg -fg $bar_fg -h 1 -w $percwidth` # album art album_art="$THUMBSDIR/$(ls ~/mu/thumbs | grep "$artist_search - $album_search.xpm")" if [ -f "$album_art" ]; then img="^i($album_art)" else img="^i($THUMBSDIR/placeholder.xpm)" fi # spawn the popup echo "^ib(1) \ ^pa(0;4)$img \ ^pa(106;4)^fg($FG2) $track_formatted \ ^pa(106;16) $artist \ ^pa(106;28) $album \ ^pa(106;40) $track \ ^pa(106;52) $time \ ^pa(110;78) $percbar \ ^pa(106;88) $buttons" done | dzen2 -p $TIMING -bg $BG -fn $FONT -x $XPOS -y $YPOS -w $WIDTH -h 112 -e 'onstart=uncollapse;button1=exit;button2=exit;button3=exit;button4=exit;button5=exit;onexit=exec:pkill d-music' else (echo "^fg($FG2)MPD is not playing."; sleep 1) | dzen2 -bg $BG -fn $FONT -x 1540 -y $YPOS -w 95 -h $HEIGHT -l 0 -ta "center" -sa $ALIGN -e 'onstart=uncollapse;button1=exit;button2=exit;button3=exit;button4=exit;button5=exit' fi
Cover Art fetcher
!/bin/zsh artist="$(mpc current -f %artist%)" album="$(mpc current -f %album%)" file=$(mpc current -f %file%) album_dir="$HOME/mu/music/${file%/*}" thumbs_dir="$HOME/mu/music/thumbs" cd ~/mu/thumbs data=$(curl \ --data-urlencode method=album.getinfo \ --data-urlencode api_key=2f63459bcb2578a277c5cf5ec4ca62f7 \ --data-urlencode artist=$artist \ --data-urlencode album=$album \ -G -s http://ws.audioscrobbler.com/2.0/) [[ $? > 0 ]] && echo 'Error: Unable to fetch album data!' && return 3 setopt rematchpcre [[ $data =~ '<image size="large">([^<]+)</image>' ]] || { echo 'No cover art found.' && return 4 } artist_formatted="$(mpc current -f %artist% | sed -e 's/\//-/g' | sed -e 's/|/-/g' | sed -e 's/\://g' | sed -e 's/\*//g' | sed -e 's/\[//g' | sed -e 's/\]//g' | sed -e 's/(//g' | sed -e 's/)//g')" album_formatted="$(mpc current -f %album% | sed -e 's/\//-/g' | sed -e 's/|/-/g' | sed -e 's/\://g' | sed -e 's/\;//g' | sed -e 's/\[//g' | sed -e 's/\]//g' | sed -e 's/(//g' | sed -e 's/)//g')" 1=${1:gs/\//_} 2=${2:gs/\//_} echo 'Downloading…' curl -o /tmp/album.png -s $match echo 'Converting to .xpm…' convert -resize 104x104 /tmp/album.png "$artist_formatted - $album_formatted.xpm" echo 'Moving .png…' convert -resize 300x300 /tmp/album.png "$album_dir/album.png" [[ $? == 0 ]] && echo 'All done!' && cd ~ || { echo 'Error fetching or converting..' && return 5 && cd ~ }
UserChrome.css
/* things to hide {{{ --------------------- */ scrollbar, scrollbar scrollbarbutton, scrollbar gripper, scrollbar thumb, liberator-commandline-command, .webextension-browser-action, .findbar-button, .searchbar-textbox, #urlbar-wrapper, #social-share-button, #webide-button, #downloads-button, #sidebar-button, #home-button, #browser-bottombox, .tab-icon-image, .tabs-closebutton-box, .tab-close-button, #main-menubar, #urlbar dropmarker, #identity-box, #star-button, #go-button, #PanelUI-button, .tabbrowser-arrowscrollbox > .scrollbutton-up, .tab-throbber, .tabbrowser-arrowscrollbox > .scrollbutton-down, .notificationbox-stack, #TabsToolbar::after, .notificationbox-stack { display: none !important; } .tab-label-container[textoverflow]:not([pinned]) { mask-image: unset !important; } /* }}} */ /* nav bar {{{ */ #navigator-toolbox { background: #404059 !important; padding-top; 1px !important; padding-bottom: 1px !important; border-top: 1px solid #404059 !important; } #nav-bar { background: #404059 !important; margin-top: -18px !important; height: 18px !important; padding: 0px !important; margin-bottom: -2px !important; -moz-appearance: none !important; } #back-button, #forward-button { display: block !important; width: 10px !important; padding-right: 8px !important; } #back-button > .toolbarbutton-icon, #forward-button > .toolbarbutton-icon { list-style-image: none !important; border: none !important; border-radius: 0 0 0 0 !important; background-image: none !important; background: inherit !important; display: inline !important; } #back-button:before, #forward-button:before { display: block !important; background: #f1f1f4 !important; color: #414143 !important; font-size: 9px !important; font-family: lemon !important; text-align: center !important; margin-top: 3px !important; max-height: 12px !important; min-width: 18px !important; padding: 0px 4px 4px 3px !important; /*border-right: 0px solid #f1f1f4 !important;*/ border-right: none !important; } #back-button:before { content: " < > " !important; margin-left: -3px !important; margin-right: 1px !important; padding-bottom: 2px !important; } #back-button:hover:before { background: #595961 !important; color: #eee !important; } /* }}} */ /* tabs {{{ -------------- */ #TabsToolbar{ margin-left: 38px !important; } .tabbrowser-tab::before, .tabbrowser-tab::after { background: none !important; display: none !important; opacity: 1 !important; } .tab-background-start, .tab-background-end { visibility: hidden !important; box-shadow: none !important; background: none !important; } .tab-background-middle { background: none !important; } tabs#tabbrowser-tabs, tabs#tabbrowser-tabs * { -moz-appearance: none !important; border: none !important; border-radius: 0px !important; background-image: none !important; margin-top: 0px !important; box-shadow: none !important; max-height: 13px !important; min-height: 10px !important; padding-left: 0px !important; } tabs#tabbrowser-tabs { background: #404059 !important; padding: 1px !important; padding-top: 0px !important; border: 0px none !important; box-shadow: none !important; margin-left: -15px !important; margin-right: -15px !important; z-index: 2000 !important; } .tabbrowser-tab { margin-left: 0px !important; margin-right: 0px !important; padding-top: 0px !important; border: 0px none !important; color: #6d6d78 !important; background: #f1f1f4 !important; min-width:initial!important; } .tabbrowser-tab:hover, .tabbrowser-tab:active { background: #e6e6ea !important; box-shadow: none !important; } .tabbrowser-tab[selected=true], .tabbrowser-tab[selected=true]:hover { color: #eee !important; background: #404059 !important; } .tabbrowser-tab .tab-text { margin-left: 8px !important; margin-top: 0px !important; font-size: 8pt !important; font-family: lemon !important; text-align: center !important; -moz-box-flex: 1 !important; } .titlebar-placeholder[type="caption-buttons"] { margin-left: 10px !important; } .tabbrowser-tabs:not([drag=detach]) > .tabbrowser-tab:not([pinned])[fadein] { min-width: 10px !important; max-width: 100% !important; } .tab-background { opacity: 0 !important; } /* }}} */