mabox-tools/bin/mb-setfont

132 lines
3.9 KiB
Plaintext
Raw Normal View History

2022-04-10 21:42:46 +02:00
#!/bin/bash
# mb-setfont
2022-12-11 18:26:22 +01:00
get_obfont () {
nspace="http://openbox.org/3.4/rc"
cfg="$HOME/.config/openbox/rc.xml"
NAME=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:name' "$cfg")
SIZE=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:size' "$cfg")
WEIGHT=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:weight' "$cfg")
SLANT=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:slant' "$cfg")
notify-send.sh "OB ActiveWindow Font" "$NAME $WEIGHT $SLANT $SIZE"
CURRENT_FONT="$NAME $WEIGHT $SLANT $SIZE"
}
get_menu_item_font () {
. ~/.config/mabox/mabox.conf
CURRENT_FONT="${menu_font_family} ${menu_font_size}"
}
get_menu_sep_font () {
. ~/.config/mabox/mabox.conf
CURRENT_FONT="${menu_sep_font_family:-Ubuntu} ${menu_sep_font_size:-10}"
}
selectfont () {
2022-05-11 01:35:24 +02:00
case "$LANG" in
pl*)
SELECTFONT="Wybierz czcionkę i jej rozmiar"
CANCEL="Anuluj"
SELECT="Wybierz"
;;
*)
SELECTFONT="Select A Font"
CANCEL="Cancel"
SELECT="Select"
;;
esac
2022-12-11 18:26:22 +01:00
FONT=$(yad --title="${SELECTFONT}" --font --fontname="${CURRENT_FONT}" --separate-output --button="$CANCEL:1" --button="$SELECT:0")
2022-04-10 21:42:46 +02:00
FONTNAME=$(echo $FONT | cut -d'|' -f1)
FONTSTYLE=$(echo $FONT | cut -d'|' -f2)
FONTSIZE=$(echo $FONT | cut -d'|' -f3)
}
font_obtitle () {
if [[ "$FONT" ]]; then
[[ "$FONTSTYLE" =~ .*"Bold".* ]] && WEIGHT="Bold" || WEIGHT="Normal"
[[ "$FONTSTYLE" =~ .*"Italic".* ]] && SLANT="Italic" || SLANT="Normal"
nspace="http://openbox.org/3.4/rc"
cfg="$HOME/.config/openbox/rc.xml"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:name' -v "$FONTNAME" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:size' -v "$FONTSIZE" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:weight' -v "$WEIGHT" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:slant' -v "$SLANT" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:name' -v "$FONTNAME" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:size' -v "$FONTSIZE" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:weight' -v "$WEIGHT" "$cfg"
xmlstarlet ed -L -N a="$nspace" -u '/a:openbox_config/a:theme/a:font[@place="InactiveWindow"]/a:slant' -v "$SLANT" "$cfg"
openbox --reconfigure
else
exit 0
fi
}
2022-05-11 01:35:24 +02:00
font_menu_item () {
2022-04-10 21:42:46 +02:00
if [[ "$FONT" ]]; then
mb-setvar menu_font_family="'${FONTNAME} ${FONTSTYLE}'"
mb-setvar menu_font_size=${FONTSIZE}
else
exit 0
fi
}
2022-05-11 01:35:24 +02:00
font_menu_sep () {
if [[ "$FONT" ]]; then
mb-setvar menu_sep_font_family="'${FONTNAME} ${FONTSTYLE}'"
mb-setvar menu_sep_font_size=${FONTSIZE}
else
exit 0
fi
}
2022-05-19 15:11:29 +02:00
font_conky_single () {
# if -f "$1"
if [[ "$FONT" ]]; then
sd "font .*=.*,$" "font = '${FONTNAME}:size=${FONTSIZE}'," ${1}
else
exit 0
fi
#fi
}
font_conky_all () {
if [[ "$FONT" ]]; then
CONKYDIR="$HOME/.config/conky"
sd "font .*=.*,$" "font = '${FONTNAME}:size=${FONTSIZE}'," ${CONKYDIR}/*mbcolor.conkyrc
else
exit 0
fi
}
2022-04-10 21:42:46 +02:00
case "$1" in
2022-12-11 18:26:22 +01:00
2022-04-10 21:42:46 +02:00
obtitle)
2022-12-11 18:26:22 +01:00
get_obfont
selectfont
2022-04-10 21:42:46 +02:00
font_obtitle
;;
2022-05-11 01:35:24 +02:00
menu_item)
2022-12-11 18:26:22 +01:00
get_menu_item_font
selectfont
2022-05-11 01:35:24 +02:00
font_menu_item
;;
menu_sep)
2022-12-11 18:26:22 +01:00
get_menu_sep_font
selectfont
2022-05-11 01:35:24 +02:00
font_menu_sep
2022-04-10 21:42:46 +02:00
;;
2022-05-19 15:11:29 +02:00
conky_single)
2022-12-11 18:26:22 +01:00
selectfont
2022-05-19 15:11:29 +02:00
font_conky_single "${2}"
;;
conky_all)
2022-12-11 18:26:22 +01:00
selectfont
2022-05-19 15:11:29 +02:00
font_conky_all
;;
2022-04-10 21:42:46 +02:00
*)
:
;;
esac