more on conky handling
This commit is contained in:
parent
997222b9ab
commit
661a120efb
@ -34,6 +34,9 @@ case "$LANG" in
|
|||||||
NO_CONKY_RUNNING="Brak uruchomionych Conky"
|
NO_CONKY_RUNNING="Brak uruchomionych Conky"
|
||||||
RUN_CONKY_SESSION="Uruchom zapisaną sesję"
|
RUN_CONKY_SESSION="Uruchom zapisaną sesję"
|
||||||
MOVEABLEALL="Ustaw wszystkie (<i>przeciągaj</i>)..."
|
MOVEABLEALL="Ustaw wszystkie (<i>przeciągaj</i>)..."
|
||||||
|
NOT_FULLY_SUPPORTED="Częściowo wspierane..."
|
||||||
|
UNSUPPORTED="Conky - częściowo wspierane"
|
||||||
|
UNSUPPORTED_START="kliknij aby uruchomić"
|
||||||
GENERATEFROMWP="Generuj z kolorów tapety"
|
GENERATEFROMWP="Generuj z kolorów tapety"
|
||||||
LIGHTBG="Jasne tło"
|
LIGHTBG="Jasne tło"
|
||||||
DARKBG="Ciemne tło"
|
DARKBG="Ciemne tło"
|
||||||
@ -74,6 +77,9 @@ case "$LANG" in
|
|||||||
NO_CONKY_RUNNING="No Conky running"
|
NO_CONKY_RUNNING="No Conky running"
|
||||||
RUN_CONKY_SESSION="Run Conky session"
|
RUN_CONKY_SESSION="Run Conky session"
|
||||||
MOVEABLEALL="Make moveable all..."
|
MOVEABLEALL="Make moveable all..."
|
||||||
|
NOT_FULLY_SUPPORTED="Partially supported"
|
||||||
|
UNSUPPORTED="partially supported Conkies"
|
||||||
|
UNSUPPORTED_START="click to start"
|
||||||
GENERATEFROMWP="Generate from wallpaper colors"
|
GENERATEFROMWP="Generate from wallpaper colors"
|
||||||
LIGHTBG="Light Background"
|
LIGHTBG="Light Background"
|
||||||
DARKBG="Dark Background"
|
DARKBG="Dark Background"
|
||||||
@ -102,7 +108,7 @@ case "$LANG" in
|
|||||||
RUNNING_CONKIES="Running Conkys"
|
RUNNING_CONKIES="Running Conkys"
|
||||||
STOP_ALL="Stop All"
|
STOP_ALL="Stop All"
|
||||||
MORECONKIES="More Conkies Available"
|
MORECONKIES="More Conkies Available"
|
||||||
CLICKTOSTART="click to start"
|
CLICKTOSTART="...click to start"
|
||||||
STARTALL="Start all"
|
STARTALL="Start all"
|
||||||
RESET="Reset"
|
RESET="Reset"
|
||||||
RESETALL="Reset all to defaults"
|
RESETALL="Reset all to defaults"
|
||||||
@ -155,8 +161,9 @@ if pgrep -af "conky.*mbcolor" >/dev/null; then
|
|||||||
# array with running conkies - only filenames with full path
|
# array with running conkies - only filenames with full path
|
||||||
readarray -t running < <(pgrep -af "conky -c " | cut -d' ' -f4)
|
readarray -t running < <(pgrep -af "conky -c " | cut -d' ' -f4)
|
||||||
|
|
||||||
#array with all supported conkies
|
#array with all conkies found
|
||||||
for i in "$CONKYDIR"/*.con* "$CONKYDIR"/**/*.con*; do
|
#for i in "$CONKYDIR"/*.con* "$CONKYDIR"/**/*.con*; do
|
||||||
|
for i in "$CONKYDIR"/*.conkyrc "$CONKYDIR"/*.conf "$CONKYDIR"/**/*.conkyrc "$CONKYDIR"/**/*.conf; do
|
||||||
if [[ "$i" == *mbcolor* ]];then
|
if [[ "$i" == *mbcolor* ]];then
|
||||||
supported+=("$i")
|
supported+=("$i")
|
||||||
else
|
else
|
||||||
@ -170,40 +177,60 @@ if pgrep -af "conky.*mbcolor" >/dev/null; then
|
|||||||
notstarted=($(echo ${running[@]} ${supported[@]} ${unsupported[@]} ${unsupported[@]}| tr ' ' '\n' | sort | uniq -u))
|
notstarted=($(echo ${running[@]} ${supported[@]} ${unsupported[@]} ${unsupported[@]}| tr ' ' '\n' | sort | uniq -u))
|
||||||
notstarted_unsupported=($(echo ${running[@]} ${supported[@]} ${supported[@]} ${unsupported[@]} | tr ' ' '\n' | sort | uniq -u))
|
notstarted_unsupported=($(echo ${running[@]} ${supported[@]} ${supported[@]} ${unsupported[@]} | tr ' ' '\n' | sort | uniq -u))
|
||||||
|
|
||||||
|
RCONKIES="${#running[@]}"
|
||||||
|
NSCONKIES="${#notstarted[@]}"
|
||||||
|
ALLSUPP=$(($RCONKIES+$NSCONKIES))
|
||||||
|
#notify-send.sh "$ALLSUPP" "$RCONKIES $NSCONKIES"
|
||||||
if [[ ${#running[@]} > 0 ]];then
|
if [[ ${#running[@]} > 0 ]];then
|
||||||
out+=("^sep($RUNNING_CONKIES)")
|
out+=("^sep($RUNNING_CONKIES)")
|
||||||
for c in ${running[@]};do
|
for c in ${running[@]};do
|
||||||
filename=${c##*/}
|
filename=${c##*/}
|
||||||
name=${filename%%_mb*}
|
name=${filename%%_mb*}
|
||||||
title=${name//_/ }
|
name2=${name%%.con*}
|
||||||
|
title=${name2//_/ }
|
||||||
out+=("${title^},^pipe(conkyctl single ${c})")
|
out+=("${title^},^pipe(conkyctl single ${c})")
|
||||||
done
|
done
|
||||||
out+=("^sep()")
|
out+=("^sep()")
|
||||||
out+=("$STOP_ALL (${#running[@]}),conky_toggle;sleep .5;$me")
|
out+=("$STOP_ALL (${#running[@]}),conky_toggle;sleep .5;$me")
|
||||||
fi
|
fi
|
||||||
if [[ ${#notstarted[@]} > 0 ]];then
|
if [[ ${#notstarted[@]} > 0 ]];then
|
||||||
out+=("^sep($MORECONKIES)")
|
out+=("^sep($MORECONKIES)")
|
||||||
|
if [[ "$ALLSUPP" < 15 ]];then
|
||||||
out+=("^sep(<small><i>$CLICKTOSTART</i></small>)")
|
out+=("^sep(<small><i>$CLICKTOSTART</i></small>)")
|
||||||
for c in ${notstarted[@]};do
|
for c in ${notstarted[@]};do
|
||||||
filename=${c##*/}
|
filename=${c##*/}
|
||||||
name=${filename%%_mb*}
|
name=${filename%%_mb*}
|
||||||
title=${name//_/ }
|
title=${name//_/ }
|
||||||
out+=("${title^},conkyctl startone ${c};$me")
|
out+=("${title^},conkyctl startone ${c};$me")
|
||||||
done
|
done
|
||||||
if [[ ${#notstarted[@]} > 1 ]];then
|
if [[ ${#notstarted[@]} > 1 ]];then
|
||||||
out+=("^sep()")
|
out+=("^sep()")
|
||||||
out+=("$STARTALL (${#notstarted[@]}),conkyctl startall;$me")
|
out+=("$STARTALL (${#notstarted[@]}),conkyctl startall;$me")
|
||||||
fi
|
fi
|
||||||
|
else # too many conkies - not started go to submenu
|
||||||
|
out+=("$CLICKTOSTART (${#notstarted[@]}),^checkout(nstarted)")
|
||||||
|
out2+=("^tag(nstarted)")
|
||||||
|
for c in ${notstarted[@]};do
|
||||||
|
filename=${c##*/}
|
||||||
|
name=${filename%%_mb*}
|
||||||
|
title=${name//_/ }
|
||||||
|
out2+=("${title^},conkyctl startone ${c};$me")
|
||||||
|
done
|
||||||
|
if [[ ${#notstarted[@]} > 1 ]];then
|
||||||
|
out2+=("^sep()")
|
||||||
|
out2+=("$STARTALL (${#notstarted[@]}),conkyctl startall;$me")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ ${#notstarted_unsupported[@]} > 0 ]];then
|
if [[ ${#notstarted_unsupported[@]} > 0 ]];then
|
||||||
out+=("^sep()")
|
out+=("^sep()")
|
||||||
out+=("UNSUPPORTED,^checkout(unsup)")
|
out+=("$NOT_FULLY_SUPPORTED (${#notstarted_unsupported[@]}),^checkout(unsup)")
|
||||||
out2+=("^tag(unsup)")
|
out2+=("^tag(unsup)")
|
||||||
out2+=("^sep(UNSUPPORTED)")
|
out2+=("^sep($UNSUPPORTED)")
|
||||||
|
out2+=("^sep($UNSUPPORTED_START)")
|
||||||
for c in ${notstarted_unsupported[@]};do
|
for c in ${notstarted_unsupported[@]};do
|
||||||
filename=${c##*/}
|
filename=${c##*/}
|
||||||
name=${filename%%_mb*}
|
name=${filename%%.con*}
|
||||||
title=${name//_/ }
|
title=${name//_/ }
|
||||||
out2+=("${title^},conkyctl startone ${c};$me")
|
out2+=("${title^},conkyctl startone ${c};$me")
|
||||||
done
|
done
|
||||||
|
@ -66,7 +66,7 @@ read MB1 MB2 MBFG<<< "$(grep '^Messages Border ' ${THEMERC})"
|
|||||||
|
|
||||||
out+=("^sep($COLORIZE_PYRADIO)")
|
out+=("^sep($COLORIZE_PYRADIO)")
|
||||||
#out+=("$START_PYRADIO,terminator --geometry=420x440-20-20 -e pyradio")
|
#out+=("$START_PYRADIO,terminator --geometry=420x440-20-20 -e pyradio")
|
||||||
out+=("$INFO,notify-send.sh -i music '$INFO_HEAD' '$INFO_TXT' -t 20000")
|
out+=(" $INFO,notify-send.sh -i music '$INFO_HEAD' '$INFO_TXT' -t 20000")
|
||||||
out+=("^sep(<i>$GENERATEFROMWP</i>)")
|
out+=("^sep(<i>$GENERATEFROMWP</i>)")
|
||||||
out+=("$LIGHTBG,w2theme pyradio light;$me")
|
out+=("$LIGHTBG,w2theme pyradio light;$me")
|
||||||
out+=("$DARKBG,w2theme pyradio dark;$me")
|
out+=("$DARKBG,w2theme pyradio dark;$me")
|
||||||
@ -113,13 +113,13 @@ read MB1 MB2 MBFG<<< "$(grep '^Messages Border ' ${THEMERC})"
|
|||||||
|
|
||||||
out+=("^sep($CONFIG_AND_DOCS)")
|
out+=("^sep($CONFIG_AND_DOCS)")
|
||||||
#out+=("PyRadio README,cat /usr/share/doc/pyradio/README.html| yad --html --no-buttons --no-escape --height=800 --width=600")
|
#out+=("PyRadio README,cat /usr/share/doc/pyradio/README.html| yad --html --no-buttons --no-escape --height=800 --width=600")
|
||||||
out+=(" $README,xdg-open /usr/share/doc/pyradio/README.html")
|
out+=(" $README,xdg-open /usr/share/doc/pyradio/README.html")
|
||||||
out+=(" $MANUAL,^term(man pyradio)")
|
out+=(" $MANUAL,^term(man pyradio)")
|
||||||
out+=("^sep()")
|
out+=("^sep()")
|
||||||
out+=(" $EDITCONF,xdg-open ~/.config/pyradio/config")
|
out+=(" $EDITCONF,xdg-open ~/.config/pyradio/config")
|
||||||
out+=(" $EDITSTATIONS,xdg-open ~/.config/pyradio/stations.csv")
|
out+=(" $EDITSTATIONS,xdg-open ~/.config/pyradio/stations.csv")
|
||||||
out+=("^sep()")
|
out+=("^sep()")
|
||||||
out+=(" $CONFIGDIR,^pipe(jgbrowser ~/.config/pyradio)")
|
out+=(" $CONFIGDIR,^pipe(jgbrowser ~/.config/pyradio)")
|
||||||
|
|
||||||
|
|
||||||
### RUN
|
### RUN
|
||||||
|
96
bin/conkyctl
96
bin/conkyctl
@ -155,28 +155,28 @@ pos () {
|
|||||||
### jak po środku to wyzerować gaps
|
### jak po środku to wyzerować gaps
|
||||||
case "$1" in
|
case "$1" in
|
||||||
top_left|top_right|bottom_left|bottom_right)
|
top_left|top_right|bottom_left|bottom_right)
|
||||||
sd "gap_x .*=.*,$" "gap_x = ${def_x}," ${2}
|
sd "gap_x .*=.*," "gap_x = ${def_x}," ${2}
|
||||||
sd "gap_y .*=.*,$" "gap_y = ${def_y}," ${2}
|
sd "gap_y .*=.*," "gap_y = ${def_y}," ${2}
|
||||||
;;
|
;;
|
||||||
top_middle|bottom_middle)
|
top_middle|bottom_middle)
|
||||||
sd "gap_x .*=.*,$" "gap_x = 0," ${2}
|
sd "gap_x .*=.*," "gap_x = 0," ${2}
|
||||||
sd "gap_y .*=.*,$" "gap_y = ${def_y}," ${2}
|
sd "gap_y .*=.*," "gap_y = ${def_y}," ${2}
|
||||||
;;
|
;;
|
||||||
middle_left|middle_right)
|
middle_left|middle_right)
|
||||||
sd "gap_x .*=.*,$" "gap_x = ${def_x}," ${2}
|
sd "gap_x .*=.*," "gap_x = ${def_x}," ${2}
|
||||||
sd "gap_y .*=.*,$" "gap_y = 0," ${2}
|
sd "gap_y .*=.*," "gap_y = 0," ${2}
|
||||||
;;
|
;;
|
||||||
middle_middle)
|
middle_middle)
|
||||||
sd "gap_x .*=.*,$" "gap_x = 0," ${2}
|
sd "gap_x .*=.*," "gap_x = 0," ${2}
|
||||||
sd "gap_y .*=.*,$" "gap_y = 0," ${2}
|
sd "gap_y .*=.*," "gap_y = 0," ${2}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
gap_x () {
|
gap_x () {
|
||||||
sd "gap_x .*=.*,$" "gap_x = ${1}," ${2}
|
sd "gap_x .*=.*," "gap_x = ${1}," ${2}
|
||||||
}
|
}
|
||||||
gap_y () {
|
gap_y () {
|
||||||
sd "gap_y .*=.*,$" "gap_y = ${1}," ${2}
|
sd "gap_y .*=.*," "gap_y = ${1}," ${2}
|
||||||
}
|
}
|
||||||
setpos () {
|
setpos () {
|
||||||
filename=${1##*/}
|
filename=${1##*/}
|
||||||
@ -310,13 +310,15 @@ saveposall () {
|
|||||||
while read -r WIN_ID b c X Y rest
|
while read -r WIN_ID b c X Y rest
|
||||||
do
|
do
|
||||||
conffile=$(xprop -id $WIN_ID |grep WM_COMMAND |cut -d'"' -f6)
|
conffile=$(xprop -id $WIN_ID |grep WM_COMMAND |cut -d'"' -f6)
|
||||||
pos top_left ${conffile}
|
if [[ "$conffile" = *"mbcolor"* ]];then
|
||||||
#notify-send.sh -t 10000 "${X} ${Y}" "${conffile}"
|
pos top_left ${conffile}
|
||||||
# improve conky margin calculation here: gap = border_width + border_inner_margin + border_outer_margin
|
#notify-send.sh -t 10000 "${X} ${Y}" "${conffile}"
|
||||||
((X=X+17))
|
# improve conky margin calculation here: gap = border_width + border_inner_margin + border_outer_margin
|
||||||
((Y=Y+17))
|
((X=X+17))
|
||||||
gap_x ${X} ${conffile}
|
((Y=Y+17))
|
||||||
gap_y ${Y} ${conffile}
|
gap_x ${X} ${conffile}
|
||||||
|
gap_y ${Y} ${conffile}
|
||||||
|
fi
|
||||||
done < <(wmctrl -lpG | grep '1 0 ')
|
done < <(wmctrl -lpG | grep '1 0 ')
|
||||||
makedesktoptypeall
|
makedesktoptypeall
|
||||||
}
|
}
|
||||||
@ -345,6 +347,10 @@ resetcolorsone () {
|
|||||||
languages () {
|
languages () {
|
||||||
case "$LANG" in
|
case "$LANG" in
|
||||||
pl*)
|
pl*)
|
||||||
|
UNSUPPORTED="częściowo wspierane!!!"
|
||||||
|
OLD_SYNTAX_DETECTED="<b><span bgcolor='yellow'> stara składnia! </span></b> wykryta..."
|
||||||
|
CONVERT_OLD="Czy spróbować skonwertować?"
|
||||||
|
CONVERT_OLD_TRY="Tak, spróbuj konwertować"
|
||||||
POSITION="Pozycja"
|
POSITION="Pozycja"
|
||||||
MAKEMOVEABLE="Ustaw wszystkie (<i>poprzez przeciąganie</i>)..."
|
MAKEMOVEABLE="Ustaw wszystkie (<i>poprzez przeciąganie</i>)..."
|
||||||
MARKNEWPOS="Nowa pozycja (<i>zaznacz na ekranie</i>)..."
|
MARKNEWPOS="Nowa pozycja (<i>zaznacz na ekranie</i>)..."
|
||||||
@ -401,6 +407,10 @@ languages () {
|
|||||||
MOUNTPOINTS="Dyski (punkty montowania)"
|
MOUNTPOINTS="Dyski (punkty montowania)"
|
||||||
;;
|
;;
|
||||||
es*)
|
es*)
|
||||||
|
UNSUPPORTED="partially supported!!!"
|
||||||
|
OLD_SYNTAX_DETECTED="<b><span bgcolor='yellow'> old syntax!!! </span></b> detected..."
|
||||||
|
CONVERT_OLD="Try to convert to new syntax?"
|
||||||
|
CONVERT_OLD_TRY="Yes, try to convert"
|
||||||
POSITION="Position"
|
POSITION="Position"
|
||||||
MAKEMOVEABLE="Make moveable all..."
|
MAKEMOVEABLE="Make moveable all..."
|
||||||
MARKNEWPOS="New position (<i>mark on the screen</i>)..."
|
MARKNEWPOS="New position (<i>mark on the screen</i>)..."
|
||||||
@ -457,6 +467,10 @@ languages () {
|
|||||||
MOUNTPOINTS="Discs (mount points)"
|
MOUNTPOINTS="Discs (mount points)"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
UNSUPPORTED="partially supported!!!"
|
||||||
|
OLD_SYNTAX_DETECTED="<b><span bgcolor='yellow'> old syntax!!! </span></b> detected..."
|
||||||
|
CONVERT_OLD="Try to convert to new syntax?"
|
||||||
|
CONVERT_OLD_TRY="Yes, try to convert"
|
||||||
POSITION="Position"
|
POSITION="Position"
|
||||||
MAKEMOVEABLE="Make moveable all..."
|
MAKEMOVEABLE="Make moveable all..."
|
||||||
MARKNEWPOS="New position (<i>mark on the screen</i>)..."
|
MARKNEWPOS="New position (<i>mark on the screen</i>)..."
|
||||||
@ -516,10 +530,15 @@ languages () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
single () {
|
single () {
|
||||||
|
unset NOT_SUPPORTED OLD_SYNTAX
|
||||||
|
|
||||||
languages
|
languages
|
||||||
filename=${1##*/}
|
filename=${1##*/}
|
||||||
name=${filename%%_mb*}
|
name=${filename%%_mb*}
|
||||||
title=${name//_/ }
|
title=${name//_/ }
|
||||||
|
|
||||||
|
grep -q "conky.text" "$1" && : || OLD_SYNTAX="true"
|
||||||
|
|
||||||
# breaks mbclr color picking from contextmenu, leave it as "colorizer-conky -s" for now
|
# breaks mbclr color picking from contextmenu, leave it as "colorizer-conky -s" for now
|
||||||
if [[ "$2" == "s" ]];then
|
if [[ "$2" == "s" ]];then
|
||||||
me="none none"
|
me="none none"
|
||||||
@ -560,11 +579,18 @@ single () {
|
|||||||
if [[ "$filename" == *"mbcolor"* ]];then
|
if [[ "$filename" == *"mbcolor"* ]];then
|
||||||
out+=("^sep(Conky: [ ${title^} ])")
|
out+=("^sep(Conky: [ ${title^} ])")
|
||||||
else
|
else
|
||||||
|
NOT_SUPPORTED="true"
|
||||||
out+=("^sep(Conky: [ ${title^} ]")
|
out+=("^sep(Conky: [ ${title^} ]")
|
||||||
out+=("^sep(<span bgcolor='red'> unsupported!!! </span>)")
|
out+=("^sep(<span bgcolor='red' fgcolor='white'> ${UNSUPPORTED} </span>)")
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$OLD_SYNTAX" = "true" ]];then
|
||||||
|
out+=("$OLD_SYNTAX_DETECTED,^checkout(oldsyntax)")
|
||||||
|
out2+=("^tag(oldsyntax)")
|
||||||
|
out2+=("^sep($CONVERT_OLD)")
|
||||||
|
out2+=("\"\"\"$CONVERT_OLD_TRY\"\"\",conkyctl convert_from_old ${1}")
|
||||||
|
#notify-send.sh "Plik" "${1}"
|
||||||
|
else
|
||||||
out+=(" $POSITION,^checkout(position)")
|
out+=(" $POSITION,^checkout(position)")
|
||||||
if [[ "$1" =~ "etwork_mbcolor" ]]; then
|
if [[ "$1" =~ "etwork_mbcolor" ]]; then
|
||||||
out+=("$NOT_WORKING,conkyctl netdevice")
|
out+=("$NOT_WORKING,conkyctl netdevice")
|
||||||
@ -598,8 +624,11 @@ single () {
|
|||||||
for i in 0 10 20 30 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360; do
|
for i in 0 10 20 30 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360; do
|
||||||
out3+=("${i},conkyctl gap_y ${i} ${1};$me")
|
out3+=("${i},conkyctl gap_y ${i} ${1};$me")
|
||||||
done
|
done
|
||||||
|
if [[ "$NOT_SUPPORTED" != "true" ]];then
|
||||||
out2+=("^sep()")
|
out2+=("^sep()")
|
||||||
out2+=(" $MAKEMOVEABLE,conkyctl makemoveableall")
|
out2+=(" $MAKEMOVEABLE,conkyctl makemoveableall")
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [[ "$1" =~ "logo_mbcolor" ]]; then
|
if [[ "$1" =~ "logo_mbcolor" ]]; then
|
||||||
read LSIZE <<< "$(grep minimum_height ${1} | cut -d'=' -f2 | cut -d"," -f1)"
|
read LSIZE <<< "$(grep minimum_height ${1} | cut -d'=' -f2 | cut -d"," -f1)"
|
||||||
@ -690,12 +719,16 @@ single () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
out+=("$TRANSPARENT [ <b>$WINTRANS</b> ],^checkout(transsingle)")
|
out+=("$TRANSPARENT [ <b>$WINTRANS</b> ],^checkout(transsingle)")
|
||||||
if [ "$WINTRANS" == false ];then
|
if [[ "$WINCLR" != "#" ]];then
|
||||||
out+=("<small><span bgcolor='$WINCLR'> </span><span ${BG} fgcolor='$WINCLR'> AbCd </span></small> $BACKGROUND,^pipe(mbclr '$WINCLR' conkyctl win_bgcolor '${BACKGROUND}' '$me' ${1})")
|
if [ "$WINTRANS" == false ];then
|
||||||
else
|
out+=("<small><span bgcolor='$WINCLR'> </span><span ${BG} fgcolor='$WINCLR'> AbCd </span></small> $BACKGROUND,^pipe(mbclr '$WINCLR' conkyctl win_bgcolor '${BACKGROUND}' '$me' ${1})")
|
||||||
out+=("<small><span bgcolor='$WINCLR'> transparent </span></small> $BACKGROUND,^pipe(mbclr '$WINCLR' conkyctl win_bgcolor '${BACKGROUND}' '$me' ${1})")
|
out+=("^sep()")
|
||||||
|
else
|
||||||
|
out+=("<small><span bgcolor='$WINCLR'> transparent </span></small> $BACKGROUND,^pipe(mbclr '$WINCLR' conkyctl win_bgcolor '${BACKGROUND}' '$me' ${1})")
|
||||||
|
out+=("^sep()")
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
out+=("^sep()")
|
|
||||||
if [[ "$1" != *"logo_mbcolor"* ]]; then
|
if [[ "$1" != *"logo_mbcolor"* ]]; then
|
||||||
|
|
||||||
[[ "$CLR" != "#" ]] && out+=("<small><span bgcolor='$CLR'> </span><span ${BG} fgcolor='$CLR'> <b>AbCd</b> </span></small> $DEFCOLOR,^pipe(mbclr '$CLR' conkyctl default_color '${DEFCOLOR}' '$me' ${1})")
|
[[ "$CLR" != "#" ]] && out+=("<small><span bgcolor='$CLR'> </span><span ${BG} fgcolor='$CLR'> <b>AbCd</b> </span></small> $DEFCOLOR,^pipe(mbclr '$CLR' conkyctl default_color '${DEFCOLOR}' '$me' ${1})")
|
||||||
@ -742,7 +775,7 @@ single () {
|
|||||||
out2+=("2,conkyctl stippled_borders 2 ${1};$me")
|
out2+=("2,conkyctl stippled_borders 2 ${1};$me")
|
||||||
out2+=("3,conkyctl stippled_borders 3 ${1};$me")
|
out2+=("3,conkyctl stippled_borders 3 ${1};$me")
|
||||||
out2+=("4,conkyctl stippled_borders 4 ${1};$me")
|
out2+=("4,conkyctl stippled_borders 4 ${1};$me")
|
||||||
|
fi #OLD SYNTAX CHECK
|
||||||
out+=("^sep()")
|
out+=("^sep()")
|
||||||
out+=(" $EDIT ${title^},xdg-open ${1}")
|
out+=(" $EDIT ${title^},xdg-open ${1}")
|
||||||
out+=("北 $RELOAD ${title^},conkyctl restartone ${1}")
|
out+=("北 $RELOAD ${title^},conkyctl restartone ${1}")
|
||||||
@ -844,7 +877,7 @@ contextmenu () {
|
|||||||
|
|
||||||
|
|
||||||
mkconfigfile
|
mkconfigfile
|
||||||
|
if [[ "$OLD_SYNTAX" != "true" ]];then
|
||||||
echo "color_menu_bg_to=${WINCLR} 100" >> ${CONFIG_FILE}
|
echo "color_menu_bg_to=${WINCLR} 100" >> ${CONFIG_FILE}
|
||||||
TXTCOLOR=$(pastel textcolor ${WINCLR}|pastel format hex)
|
TXTCOLOR=$(pastel textcolor ${WINCLR}|pastel format hex)
|
||||||
#notify-send.sh "TXTCOLOR" "${TXTCOLOR} ${menu_gradient_pos}"
|
#notify-send.sh "TXTCOLOR" "${TXTCOLOR} ${menu_gradient_pos}"
|
||||||
@ -875,7 +908,7 @@ contextmenu () {
|
|||||||
|
|
||||||
echo "color_sep_fg=${CLR} 10" >> ${CONFIG_FILE}
|
echo "color_sep_fg=${CLR} 10" >> ${CONFIG_FILE}
|
||||||
echo "font=${FONT} 10" >> ${CONFIG_FILE}
|
echo "font=${FONT} 10" >> ${CONFIG_FILE}
|
||||||
|
fi
|
||||||
cat <<EOF > ${MENU_ITEMS}
|
cat <<EOF > ${MENU_ITEMS}
|
||||||
$(printf '%s\n' "${out[@]}")
|
$(printf '%s\n' "${out[@]}")
|
||||||
$(printf '%s\n' "${out2[@]}")
|
$(printf '%s\n' "${out2[@]}")
|
||||||
@ -1186,6 +1219,14 @@ newcolorscheme () {
|
|||||||
savecolorscheme "${themename}" "${1}"
|
savecolorscheme "${themename}" "${1}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
convert_from_old () {
|
||||||
|
# try to convert from old syntax to new by convert.lua script
|
||||||
|
#notify-send.sh "Convert func" "${1}"
|
||||||
|
kill ${1}
|
||||||
|
convert.lua ${1}
|
||||||
|
sleep 1
|
||||||
|
startone ${1}
|
||||||
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
transparent_all) transparent_all "$2";;
|
transparent_all) transparent_all "$2";;
|
||||||
@ -1232,5 +1273,6 @@ case "$1" in
|
|||||||
settheme_all) settheme_all "$2";;
|
settheme_all) settheme_all "$2";;
|
||||||
newcolorscheme) newcolorscheme "$2";;
|
newcolorscheme) newcolorscheme "$2";;
|
||||||
netdevice) netdevice ;;
|
netdevice) netdevice ;;
|
||||||
|
convert_from_old) convert_from_old "$2";;
|
||||||
*) : ;;
|
*) : ;;
|
||||||
esac
|
esac
|
||||||
|
161
bin/convert.lua
Executable file
161
bin/convert.lua
Executable file
@ -0,0 +1,161 @@
|
|||||||
|
#! /usr/bin/lua
|
||||||
|
|
||||||
|
local usage = [[
|
||||||
|
Usage: convert.lua old_conkyrc [new_conkyrc]
|
||||||
|
|
||||||
|
Tries to convert conkyrc from the old v1.x format to the new, lua-based format.
|
||||||
|
|
||||||
|
Keep in mind that there is no guarantee that the output will work correctly
|
||||||
|
with conky, or that it will be able to convert every conkyrc. However, it
|
||||||
|
should provide a good starting point.
|
||||||
|
|
||||||
|
Although you can use this script with only 1 arg and let it overwrite the old
|
||||||
|
config, it's suggested to use 2 args so that the new config is written in a new
|
||||||
|
file (so that you have backup if something went wrong).
|
||||||
|
|
||||||
|
Optional: Install dos2unix. We will attempt to use this if it is available
|
||||||
|
because Conky configs downloaded from Internet sometimes are created on DOS/Windows
|
||||||
|
machines with different line endings than Conky configs created on Unix/Linux.
|
||||||
|
|
||||||
|
For more information about the new format, read the wiki page
|
||||||
|
<https://github.com/brndnmtthws/conky/wiki>
|
||||||
|
]];
|
||||||
|
|
||||||
|
local function quote(s)
|
||||||
|
if not s:find("[\n'\\]") then
|
||||||
|
return "'" .. s .. "'";
|
||||||
|
end;
|
||||||
|
local q = '';
|
||||||
|
while s:find(']' .. q .. ']', 1, true) do
|
||||||
|
q = q .. '=';
|
||||||
|
end;
|
||||||
|
return string.format('[%s[\n%s]%s]', q, s, q);
|
||||||
|
end;
|
||||||
|
|
||||||
|
local bool_setting = {
|
||||||
|
background = true, disable_auto_reload = true, double_buffer = true, draw_borders = true,
|
||||||
|
draw_graph_borders = true, draw_outline = true, draw_shades = true, extra_newline = true,
|
||||||
|
format_human_readable = true, no_buffers = true, out_to_console = true,
|
||||||
|
out_to_wayland = true,
|
||||||
|
out_to_ncurses = true, out_to_stderr = true, out_to_x = true, override_utf8_locale = true,
|
||||||
|
own_window = true, own_window_argb_visual = true, own_window_transparent = true,
|
||||||
|
short_units = true, show_graph_range = true, show_graph_scale = true,
|
||||||
|
times_in_seconds = true, top_cpu_separate = true, uppercase = true, use_xft = true,
|
||||||
|
draw_blended = true, forced_redraw = true
|
||||||
|
};
|
||||||
|
|
||||||
|
local num_setting = {
|
||||||
|
border_inner_margin = true, border_outer_margin = true, border_width = true,
|
||||||
|
cpu_avg_samples = true, diskio_avg_samples = true, gap_x = true, gap_y = true,
|
||||||
|
imlib_cache_flush_interval = true, imlib_cache_size = true,
|
||||||
|
max_port_monitor_connections = true, max_text_width = true, max_user_text = true,
|
||||||
|
maximum_width = true, mpd_port = true, music_player_interval = true, net_avg_samples = true,
|
||||||
|
own_window_argb_value = true, pad_percents = true, stippled_borders = true,
|
||||||
|
text_buffer_size = true, top_name_width = true, total_run_times = true,
|
||||||
|
update_interval = true, update_interval_on_battery = true, xftalpha = true,
|
||||||
|
xinerama_head = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
local split_setting = {
|
||||||
|
default_bar_size = true, default_gauge_size = true, default_graph_size = true,
|
||||||
|
minimum_size = true
|
||||||
|
};
|
||||||
|
|
||||||
|
local colour_setting = {
|
||||||
|
color0 = true, color1 = true, color2 = true, color3 = true, color4 = true, color5 = true,
|
||||||
|
color6 = true, color7 = true, color8 = true, color9 = true, default_color = true,
|
||||||
|
default_outline_color = true, default_shade_color = true, own_window_colour = true
|
||||||
|
};
|
||||||
|
|
||||||
|
local function alignment_map(value)
|
||||||
|
local map = { m = 'middle', t = 'top', b = 'bottom', r = 'right', l = 'left' };
|
||||||
|
if map[value] == nil then
|
||||||
|
return value;
|
||||||
|
else
|
||||||
|
return map[value];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local function handle(setting, value)
|
||||||
|
setting = setting:lower();
|
||||||
|
if setting == '' then
|
||||||
|
return '';
|
||||||
|
end;
|
||||||
|
if split_setting[setting] then
|
||||||
|
local x, y = value:match('^(%S+)%s*(%S*)$');
|
||||||
|
local ret = setting:gsub('_size', '_width = ') .. x .. ',';
|
||||||
|
if y ~= '' then
|
||||||
|
ret = ret .. ' ' .. setting:gsub('_size', '_height = ') .. y .. ',';
|
||||||
|
end;
|
||||||
|
return '\t' .. ret;
|
||||||
|
end;
|
||||||
|
if bool_setting[setting] then
|
||||||
|
value = value:lower();
|
||||||
|
if value == 'yes' or value == 'true' or value == '1' or value == '' then
|
||||||
|
value = 'true';
|
||||||
|
else
|
||||||
|
value = 'false';
|
||||||
|
end;
|
||||||
|
elseif not num_setting[setting] then
|
||||||
|
if setting == 'alignment' and value:len() == 2 then
|
||||||
|
value = alignment_map(value:sub(1,1)) .. '_' .. alignment_map(value:sub(2,2));
|
||||||
|
elseif colour_setting[setting] and value:match('^[0-9a-fA-F]+$') then
|
||||||
|
value = '#' .. value;
|
||||||
|
elseif setting == 'xftfont' then
|
||||||
|
setting = 'font';
|
||||||
|
end;
|
||||||
|
value = quote(value);
|
||||||
|
end;
|
||||||
|
return '\t' .. setting .. ' = ' .. value .. ',';
|
||||||
|
end;
|
||||||
|
|
||||||
|
local function convert(s)
|
||||||
|
local setting, comment = s:match('^([^#]*)#?(.*)\n$');
|
||||||
|
if comment ~= '' then
|
||||||
|
comment = '--' .. comment;
|
||||||
|
end;
|
||||||
|
comment = comment .. '\n';
|
||||||
|
return handle(setting:match('^%s*(%S*)%s*(.-)%s*$')) .. comment;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local input;
|
||||||
|
local output;
|
||||||
|
|
||||||
|
if conky == nil then --> standalone program
|
||||||
|
-- 1 arg: arg is input and outputfile
|
||||||
|
-- 2 args: 1st is inputfile, 2nd is outputfile
|
||||||
|
-- 0, 3 or more args: print usage to STDERR and quit
|
||||||
|
if #arg == 1 or #arg == 2 then
|
||||||
|
if os.execute('command -v dos2unix 2>&1 >/dev/null') == 0 then
|
||||||
|
os.execute('dos2unix ' .. arg[1]);
|
||||||
|
end
|
||||||
|
input = io.input(arg[1]);
|
||||||
|
else
|
||||||
|
io.stderr:write(usage);
|
||||||
|
return;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
-- we are called from conky, the filename is the first argument
|
||||||
|
input = io.open(..., 'r');
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
local config = input:read('*a');
|
||||||
|
input:close();
|
||||||
|
|
||||||
|
local settings, text = config:match('^(.-)TEXT\n(.*)$');
|
||||||
|
|
||||||
|
local converted = 'conky.config = {\n' .. settings:gsub('.-\n', convert) .. '};\n\nconky.text = ' ..
|
||||||
|
quote(text) .. ';\n';
|
||||||
|
|
||||||
|
if conky == nil then
|
||||||
|
if #arg == 2 then
|
||||||
|
output = io.output(arg[2]);
|
||||||
|
else
|
||||||
|
output = io.output(arg[1]);
|
||||||
|
end
|
||||||
|
output:write(converted);
|
||||||
|
output:close();
|
||||||
|
else
|
||||||
|
return assert(load(converted, 'converted config'));
|
||||||
|
end;
|
Loading…
Reference in New Issue
Block a user