handle OB rc.xml font and button layout other OB themes
parent
6523ccd67a
commit
07d4274ac3
125
bin/colorizer-ob
125
bin/colorizer-ob
|
@ -47,6 +47,7 @@ case "$LANG" in
|
|||
INACTIVE_BG="Tło nieaktywnego okna"
|
||||
TITLEBAR_TEXT="Tekst paska tytułowego"
|
||||
FONT="Czcionka"
|
||||
FONTSIZE="Rozmiar czcionki"
|
||||
BOLD="Pogrubienie"
|
||||
ITALIC="Kursywa"
|
||||
TEXTALIGN="Wyrównanie tytułu"
|
||||
|
@ -68,6 +69,8 @@ case "$LANG" in
|
|||
RAISED="uniesiony - <b>raised</b>"
|
||||
SUNKEN="wklęsły - <b>sunken</b>"
|
||||
BUTTONS="Przyciski"
|
||||
BUTTONS_LAYOUT="Układ przycisków"
|
||||
LEGEND="Legenda"
|
||||
GRADIENT_TYPE="Typ Gradientu"
|
||||
SOLID_COLOR="Jednolity kolor (brak gradientu)"
|
||||
PRE_GRADIENTS="Gotowe gradienty"
|
||||
|
@ -105,6 +108,7 @@ case "$LANG" in
|
|||
TITLEBAR_TEXT="Title Bar Text"
|
||||
TITLEBAR_FONT="Title Bar Font"
|
||||
FONT="Font"
|
||||
FONTSIZE="Font size"
|
||||
BOLD="Bold"
|
||||
ITALIC="Italic"
|
||||
TEXTALIGN="Title align"
|
||||
|
@ -126,6 +130,8 @@ case "$LANG" in
|
|||
RAISED="raised"
|
||||
SUNKEN="sunken"
|
||||
BUTTONS="Buttons"
|
||||
BUTTONS_LAYOUT="Buttons Layout"
|
||||
LEGEND="Legend"
|
||||
GRADIENT_TYPE="Gradient type"
|
||||
SPLITVERTICAL="SplitVertical"
|
||||
MIRRORHORIZONTAL="MirrorHorizontal"
|
||||
|
@ -154,6 +160,41 @@ case "$LANG" in
|
|||
;;
|
||||
esac
|
||||
|
||||
getvalues () {
|
||||
read ABG <<< "$(grep .active.title.bg.color: ${THEMERC} | cut -d':' -f2)"
|
||||
read ABGTO <<< "$(grep .active.title.bg.colorTo ${THEMERC} | cut -d':' -f2)"
|
||||
read NBG <<< "$(grep .inactive.title.bg.color: ${THEMERC} | cut -d':' -f2)"
|
||||
read NBGTO <<< "$(grep .inactive.title.bg.colorTo ${THEMERC} | cut -d':' -f2)"
|
||||
read AFG <<< "$(grep .active.label.text.color ${THEMERC} | cut -d':' -f2)"
|
||||
read NFG <<< "$(grep .inactive.label.text.color ${THEMERC} | cut -d':' -f2)"
|
||||
read ALINE <<< "$(grep .active.border.color ${THEMERC} | cut -d':' -f2)"
|
||||
read NLINE <<< "$(grep inactive.border.color ${THEMERC} | cut -d':' -f2)"
|
||||
read PHEIGHT <<< "$(grep ^padding.height: ${THEMERC} | cut -d':' -f2)"
|
||||
read PWIDTH <<< "$(grep ^padding.width: ${THEMERC} | cut -d':' -f2)"
|
||||
read TXTJUST <<< "$(grep text.justify ${THEMERC} | cut -d':' -f2)"
|
||||
read HANDLE <<< "$(grep handle.width ${THEMERC} | cut -d':' -f2)"
|
||||
read BORD <<< "$(grep border.width ${THEMERC} | cut -d':' -f2)"
|
||||
read WINRAISED REST <<< "$(grep .title.bg: ${THEMERC} | cut -d':' -f2)"
|
||||
read AHBG <<< "$(grep .active.handle.bg.color: ${THEMERC} | cut -d':' -f2)"
|
||||
if [ "$ABG" == "$AHBG" ];then
|
||||
AHANDLE="yes"
|
||||
else
|
||||
AHANDLE="no"
|
||||
fi
|
||||
|
||||
}
|
||||
getvaluesrc() {
|
||||
#from RC.xml
|
||||
nspace="http://openbox.org/3.4/rc"
|
||||
cfg="$HOME/.config/openbox/rc.xml"
|
||||
|
||||
FSIZE=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:size' "$cfg")
|
||||
FNAME=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:name' "$cfg")
|
||||
NDSLIMC=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:titleLayout' "$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")
|
||||
}
|
||||
|
||||
|
||||
if [[ -f "$THEMERC" ]] && [[ "$OBTHEME" = "MBcolor"* ]]; then
|
||||
if [ ! -f "${THEMERC}.bak" ]; then
|
||||
|
@ -185,40 +226,10 @@ if [[ -f "$THEMERC" ]] && [[ "$OBTHEME" = "MBcolor"* ]]; then
|
|||
grep ^[^#] "$THEMERC" | grep -qiF -- .text.font: || echo "window.*.text.font: shadow=n:shadowtint=70:shadowoffset=1" >> "$THEMERC"
|
||||
fi
|
||||
|
||||
getvalues () {
|
||||
read ABG <<< "$(grep .active.title.bg.color: ${THEMERC} | cut -d':' -f2)"
|
||||
read ABGTO <<< "$(grep .active.title.bg.colorTo ${THEMERC} | cut -d':' -f2)"
|
||||
read NBG <<< "$(grep .inactive.title.bg.color: ${THEMERC} | cut -d':' -f2)"
|
||||
read NBGTO <<< "$(grep .inactive.title.bg.colorTo ${THEMERC} | cut -d':' -f2)"
|
||||
read AFG <<< "$(grep .active.label.text.color ${THEMERC} | cut -d':' -f2)"
|
||||
read NFG <<< "$(grep .inactive.label.text.color ${THEMERC} | cut -d':' -f2)"
|
||||
read ALINE <<< "$(grep .active.border.color ${THEMERC} | cut -d':' -f2)"
|
||||
read NLINE <<< "$(grep inactive.border.color ${THEMERC} | cut -d':' -f2)"
|
||||
read PHEIGHT <<< "$(grep ^padding.height: ${THEMERC} | cut -d':' -f2)"
|
||||
read PWIDTH <<< "$(grep ^padding.width: ${THEMERC} | cut -d':' -f2)"
|
||||
read TXTJUST <<< "$(grep text.justify ${THEMERC} | cut -d':' -f2)"
|
||||
read HANDLE <<< "$(grep handle.width ${THEMERC} | cut -d':' -f2)"
|
||||
read BORD <<< "$(grep border.width ${THEMERC} | cut -d':' -f2)"
|
||||
read WINRAISED REST <<< "$(grep .title.bg: ${THEMERC} | cut -d':' -f2)"
|
||||
read AHBG <<< "$(grep .active.handle.bg.color: ${THEMERC} | cut -d':' -f2)"
|
||||
if [ "$ABG" == "$AHBG" ];then
|
||||
AHANDLE="yes"
|
||||
else
|
||||
AHANDLE="no"
|
||||
fi
|
||||
|
||||
#from RC.xml
|
||||
nspace="http://openbox.org/3.4/rc"
|
||||
cfg="$HOME/.config/openbox/rc.xml"
|
||||
|
||||
FSIZE=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:size' "$cfg")
|
||||
FNAME=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:font[@place="ActiveWindow"]/a:name' "$cfg")
|
||||
NDSLIMC=$(xmlstarlet sel -N a="$nspace" -t -v '/a:openbox_config/a:theme/a:titleLayout' "$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")
|
||||
|
||||
}
|
||||
|
||||
|
||||
getvalues
|
||||
getvaluesrc
|
||||
|
||||
out+=("^sep($OBTHEME_LBL: <i>$OBTHEME</i>)")
|
||||
|
||||
|
@ -280,12 +291,12 @@ out2+=("Dots,obtctl buttons dots;$me")
|
|||
out2+=("^sep()")
|
||||
out2+=("Big 12px,obtctl buttons big-12;$me")
|
||||
out2+=("Big 14px,obtctl buttons big-14;$me")
|
||||
out2+=("^sep(TITLE_LAYOUT)")
|
||||
out2+=("^sep($BUTTONS_LAYOUT)")
|
||||
[[ "$NDSLIMC" == NDSLIMC ]] && out2+=("<big>綠</big> <tt>full </tt> <b>NDSLIMC</b> (default),obtctl ndslimc NDSLIMC;$me") || out2+=("<big>祿</big> <tt>full </tt> <b>NDSLIMC</b> (default),obtctl ndslimc NDSLIMC;$me")
|
||||
[[ "$NDSLIMC" == NLIMC ]] && out2+=("<big>綠</big> <tt>mini </tt> <b>NLIMC</b>,obtctl ndslimc NLIMC;$me") || out2+=("<big>祿</big> <tt>mini </tt> <b>NLIMC</b>,obtctl ndslimc NLIMC;$me")
|
||||
[[ "$NDSLIMC" == LIMC ]] && out2+=("<big>綠</big> <tt>mini (no icon)</tt> <b>LIMC</b>,obtctl ndslimc LIMC;$me") || out2+=("<big>祿</big> <tt>mini (no icon)</tt> <b>LIMC</b>,obtctl ndslimc LIMC;$me")
|
||||
[[ "$NDSLIMC" == CMIL ]] && out2+=("<big>綠</big> <tt>crazy </tt> <b>CMIL</b>,obtctl ndslimc CMIL;$me") || out2+=("<big>祿</big> <tt>crazy </tt> <b>CMIL</b>,obtctl ndslimc CMIL;$me")
|
||||
out2+=("^sep(<small>LEGEND</small>)")
|
||||
out2+=("^sep(<small>$LEGEND</small>)")
|
||||
out2+=("^sep(N:<small> Window icon</small>)")
|
||||
out2+=("^sep(L:<small> Window label (Title)</small>)")
|
||||
out2+=("^sep(I:<small> Iconify (Minimize)</small>)")
|
||||
|
@ -314,7 +325,7 @@ done
|
|||
out2+=("^sep()")
|
||||
[[ "$WEIGHT" =~ .*"old" ]] && out2+=("<big></big> <b>$BOLD</b>,obtctl fontweight Normal;$me") || out2+=("<big></big> <b>$BOLD</b>,obtctl fontweight Bold;$me")
|
||||
[[ "$SLANT" =~ .*"talic" ]] && out2+=("<big></big> <i>$ITALIC</i>,obtctl fontslant Normal;$me") || out2+=("<big></big> <i>$ITALIC</i>,obtctl fontslant Italic;$me")
|
||||
out2+=("^sep(size)")
|
||||
out2+=("^sep($FONTSIZE)")
|
||||
sizes=(8 9 10 11 12 13 14 15 16)
|
||||
for i in "${sizes[@]}"
|
||||
do
|
||||
|
@ -416,14 +427,44 @@ out2+=("6,obtctl handlewidth 6;$me")
|
|||
out2+=("8,obtctl handlewidth 8;$me")
|
||||
out2+=("10,obtctl handlewidth 10;$me")
|
||||
|
||||
else
|
||||
else # Theme other than MBColors, we can only edit rc.xml
|
||||
getvaluesrc
|
||||
out+=("^sep($NOT_SUPORTED_OBTHEME)")
|
||||
out+=("$SWITCH_TO_MBCOLORS,obtctl theme MBcolors;$me")
|
||||
#for i in $(ls $HOME/.themes);do
|
||||
#if [ -f "$HOME/.themes/${i}/openbox-3/themerc" ]; then
|
||||
#out+=("$i,obtctl theme $i;$me")
|
||||
#fi
|
||||
#done
|
||||
out+=("^sep($TITLEBAR_FONT)")
|
||||
out+=("$FONT... [ <b> ${FNAME} ${FSIZE} </b> ],mb-setfont obtitle;$me")
|
||||
out+=("^sep(font family)")
|
||||
fonts=("Noto Sans" "DejaVu Serif" "Roboto Light" "Inconsolata" "Ubuntu" "Source Code Pro")
|
||||
for i in "${fonts[@]}"
|
||||
do
|
||||
[[ "$FNAME" == "$i" ]] && out+=("<big>綠</big> <span size=\"large\" font_family=\"${i}\">$i</span>,$me") || out+=("<big>祿</big> <span size=\"large\" font_family=\"${i}\">$i</span>,obtctl fontfamily \"${i}\";$me")
|
||||
done
|
||||
out+=("^sep()")
|
||||
[[ "$WEIGHT" =~ .*"old" ]] && out+=("<big></big> <b>$BOLD</b>,obtctl fontweight Normal;$me") || out+=("<big></big> <b>$BOLD</b>,obtctl fontweight Bold;$me")
|
||||
[[ "$SLANT" =~ .*"talic" ]] && out+=("<big></big> <i>$ITALIC</i>,obtctl fontslant Normal;$me") || out+=("<big></big> <i>$ITALIC</i>,obtctl fontslant Italic;$me")
|
||||
out+=("^sep()")
|
||||
out+=("$FONTSIZE [ <b>$FSIZE px</b> ],^checkout(obfsize)")
|
||||
out2+=("^tag(obfsize)")
|
||||
out2+=("^sep($FONTSIZE)")
|
||||
sizes=(8 9 10 11 12 13 14 15 16)
|
||||
for i in "${sizes[@]}"
|
||||
do
|
||||
[[ "$FSIZE" == "$i" ]] && out2+=("<big>綠</big> <b>$i px</b>,obtctl fontsize $i;$me") || out2+=("<big>祿</big> $i px,obtctl fontsize $i;$me")
|
||||
done
|
||||
|
||||
out+=("^sep($BUTTONS_LAYOUT)")
|
||||
[[ "$NDSLIMC" == NDSLIMC ]] && out+=("<big>綠</big> <tt>full </tt> <b>NDSLIMC</b> (default),obtctl ndslimc NDSLIMC;$me") || out+=("<big>祿</big> <tt>full </tt> <b>NDSLIMC</b> (default),obtctl ndslimc NDSLIMC;$me")
|
||||
[[ "$NDSLIMC" == NLIMC ]] && out+=("<big>綠</big> <tt>mini </tt> <b>NLIMC</b>,obtctl ndslimc NLIMC;$me") || out+=("<big>祿</big> <tt>mini </tt> <b>NLIMC</b>,obtctl ndslimc NLIMC;$me")
|
||||
[[ "$NDSLIMC" == LIMC ]] && out+=("<big>綠</big> <tt>mini (no icon)</tt> <b>LIMC</b>,obtctl ndslimc LIMC;$me") || out+=("<big>祿</big> <tt>mini (no icon)</tt> <b>LIMC</b>,obtctl ndslimc LIMC;$me")
|
||||
[[ "$NDSLIMC" == CMIL ]] && out+=("<big>綠</big> <tt>crazy </tt> <b>CMIL</b>,obtctl ndslimc CMIL;$me") || out+=("<big>祿</big> <tt>crazy </tt> <b>CMIL</b>,obtctl ndslimc CMIL;$me")
|
||||
out+=("^sep(<small>$LEGEND</small>)")
|
||||
out+=("^sep(N:<small> Window icon</small>)")
|
||||
out+=("^sep(L:<small> Window label (Title)</small>)")
|
||||
out+=("^sep(I:<small> Iconify (Minimize)</small>)")
|
||||
out+=("^sep(M:<small> Maximize</small>)")
|
||||
out+=("^sep(C:<small> Close</small>)")
|
||||
out+=("^sep(S:<small> Shade (Roll up)</small>)")
|
||||
out+=("^sep(D:<small> Omnipresent (On all desktops)</small>)")
|
||||
fi
|
||||
|
||||
### RUN
|
||||
|
|
19
bin/obtctl
19
bin/obtctl
|
@ -3,15 +3,18 @@
|
|||
OBTHEME=$(awk '/<theme>/ {while (getline n) {if (match(n, /<name>/))
|
||||
{l=n; exit}}} END {split(l, a, "[<>]"); print a[3]}' "$HOME/.config/openbox/rc.xml")
|
||||
#echo "$OBTHEME"
|
||||
if [[ $OBTHEME = MBcolor* ]];then
|
||||
THEMEDIR="$HOME/.themes/$OBTHEME/openbox-3"
|
||||
THEMERC="$HOME/.themes/$OBTHEME/openbox-3/themerc"
|
||||
|
||||
#if [[ $OBTHEME = MBcolor* ]];then
|
||||
#switch to MBcolors theme
|
||||
THEMEDIR="$HOME/.themes/$OBTHEME/openbox-3"
|
||||
THEMERC="$HOME/.themes/$OBTHEME/openbox-3/themerc"
|
||||
else
|
||||
xmlstarlet ed -L -N o="http://openbox.org/3.4/rc" -u '/o:openbox_config/o:theme/o:name' -v "MBcolors" "$HOME/.config/openbox/rc.xml"
|
||||
THEMEDIR="$HOME/.themes/MBcolors/openbox-3"
|
||||
THEMERC="$HOME/.themes/MBcolors/openbox-3/themerc"
|
||||
fi
|
||||
# THEMEDIR="$HOME/.themes/$OBTHEME/openbox-3"
|
||||
# THEMERC="$HOME/.themes/$OBTHEME/openbox-3/themerc"
|
||||
# else
|
||||
# xmlstarlet ed -L -N o="http://openbox.org/3.4/rc" -u '/o:openbox_config/o:theme/o:name' -v "MBcolors" "$HOME/.config/openbox/rc.xml"
|
||||
# THEMEDIR="$HOME/.themes/MBcolors/openbox-3"
|
||||
# THEMERC="$HOME/.themes/MBcolors/openbox-3/themerc"
|
||||
#fi
|
||||
|
||||
|
||||
MBCOLORSDIR="$HOME"/.themes/MBcolors/openbox-3/
|
||||
|
|
Loading…
Reference in New Issue