207 lines
9.9 KiB
Bash
Executable File
207 lines
9.9 KiB
Bash
Executable File
#!/bin/bash
|
|
me="colorizer-menus -s"
|
|
. $HOME/.config/mabox/mabox.conf
|
|
case "$jgmenu_theme" in
|
|
obtheme)
|
|
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"
|
|
THEMERC="$HOME/.config/mabox/jgobthemes/${OBTHEME}.colorrc"
|
|
jgmenu_theme="$OBTHEME";; #only to show real theme name in menu
|
|
*)
|
|
THEMERC="$HOME/.config/mabox/jgobthemes/${jgmenu_theme}.colorrc";;
|
|
esac
|
|
|
|
# Backup original theme file
|
|
if [ ! -f "${THEMERC}.bak" ]; then
|
|
cp ${THEMERC} ${THEMERC}.bak
|
|
fi
|
|
case "$LANG" in
|
|
pl*)
|
|
GENERATEFROMWP="<i>Generuj z kolorów tapety...</i>"
|
|
LIGHTBG="Jasne tło"
|
|
DARKBG="Ciemne tło"
|
|
;;
|
|
*)
|
|
GENERATEFROMWP="<i>Generate from wallpaper colors...</i>"
|
|
LIGHTBG="Light Background"
|
|
DARKBG="Dark Background"
|
|
;;
|
|
esac
|
|
|
|
getvalues () {
|
|
read MBG MBGA<<< "$(grep 'color_menu_bg ' ${THEMERC} | cut -d'=' -f2)"
|
|
read MBGT MBGTA<<< "$(grep 'color_menu_bg_to' ${THEMERC} | cut -d'=' -f2)"
|
|
read MBORDER MBORDERA<<< "$(grep 'color_menu_border' ${THEMERC} | cut -d'=' -f2)"
|
|
read GRADIENT<<< "$(grep 'menu_gradient_pos' ${THEMERC} | cut -d'=' -f2)"
|
|
if [ "$GRADIENT" == "" ]; then
|
|
mb-setvar menu_gradient_pos=none ${THEMERC}
|
|
read GRADIENT<<< "$(grep 'menu_gradient_pos' ${THEMERC} | cut -d'=' -f2)"
|
|
fi
|
|
read SEPHALIGN<<< "$(grep 'sep_halign' ${THEMERC} | cut -d'=' -f2)"
|
|
read SEPFG SEPFGA<<< "$(grep 'color_sep_fg' ${THEMERC} | cut -d'=' -f2)"
|
|
read TBG TBGA<<< "$(grep 'color_title_bg' ${THEMERC} | cut -d'=' -f2)"
|
|
read TFG TFGA<<< "$(grep 'color_title_fg' ${THEMERC} | cut -d'=' -f2)"
|
|
read TBORDER TBORDERA<<< "$(grep 'color_title_border' ${THEMERC} | cut -d'=' -f2)"
|
|
read NORMBG NORMBGA<<< "$(grep color_norm_bg ${THEMERC} | cut -d'=' -f2)"
|
|
read NFG NFGA<<< "$(grep color_norm_fg ${THEMERC} | cut -d'=' -f2)"
|
|
read SBG SBGA<<< "$(grep 'color_sel_bg' ${THEMERC} | cut -d'=' -f2)"
|
|
read SFG SFGA<<< "$(grep 'color_sel_fg' ${THEMERC} | cut -d'=' -f2)"
|
|
read SBORDER SBORDERA<<< "$(grep 'color_sel_border' ${THEMERC} | cut -d'=' -f2)"
|
|
read IBORDER<<< "$(grep 'item_border' ${THEMERC} | cut -d'=' -f2)"
|
|
read IRADIUS<<< "$(grep 'item_radius' ${THEMERC} | cut -d'=' -f2)"
|
|
}
|
|
getvalues
|
|
|
|
|
|
out+=("^sep(Menu theme: <i>${jgmenu_theme}</i>)")
|
|
out+=("^sep($GENERATEFROMWP)")
|
|
out+=("$LIGHTBG,w2theme menu light;$me")
|
|
out+=("$DARKBG,w2theme menu dark;$me")
|
|
out+=("^sep(menu)")
|
|
out+=("<tt><small>$(printf '%3s' "$MBGA")</small> <span bgcolor='$MBG' bgalpha='${MBGA/#[0]/1}%'> </span><span bgcolor='$MBG'> </span></tt> COLOR_MENU_BG,^pipe(mbclr '$MBG' jgctl color_menu_bg COLOR_MENU_BG '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$MBGTA")</small> <span bgcolor='$MBGT' bgalpha='${MBGTA/#[0]/1}%'> </span><span bgcolor='$MBGT'> </span></tt> COLOR_MENU_BG_TO,^pipe(mbclr '$MBGT' jgctl color_menu_bg_to COLOR_MENU_BG_TO '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$MBORDERA")</small> <span bgcolor='$MBORDER' bgalpha='${MBORDERA/#[0]/1}%'> </span><span bgcolor='$MBORDER'> </span></tt> COLOR_MENU_BORDER,^pipe(mbclr '$MBORDER' jgctl color_menu_border COLOR_MENU_BORDER '$me')")
|
|
out+=("^sep()")
|
|
out+=("GRADIENT_POS [ <b>$GRADIENT</b> ],^checkout(gradientpos)")
|
|
|
|
out+=("^sep(item)")
|
|
out+=("<tt><small>$(printf '%3s' "$NFGA")</small> <span weight='bold' fgcolor='$NFG' fgalpha='${NFGA/#[0]/1}%'> AbCd </span></tt> COLOR_NORM_FG,^pipe(mbclr '$NFG' jgctl color_norm_fg COLOR_NORM_FG '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$SBGA")</small> <span bgcolor='$SBG' bgalpha='${SBGA/#[0]/1}%'> </span><span bgcolor='$SBG'> </span></tt> COLOR_SEL_BG,^pipe(mbclr '$SBG' jgctl color_sel_bg COLOR_SEL_BG '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$SFGA")</small> <span weight='bold' bgcolor='$SBG' bgalpha='${SBGA/#[0]/1}%' fgcolor='$SFG' fgalpha='${SFGA/#[0]/1}%'> AbCd </span></tt> COLOR_SEL_FG,^pipe(mbclr '$SFG' jgctl color_sel_fg COLOR_SEL_FG '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$SBORDERA")</small> <span bgcolor='$SBORDER' bgalpha='${SBORDERA/#[0]/1}%'> </span><span bgcolor='$SBORDER'> </span></tt> COLOR_SEL_BORDER,^pipe(mbclr '$SBORDER' jgctl color_sel_border COLOR_SEL_BORDER '$me')")
|
|
out+=("ITEM_BORDER [ <b>$IBORDER</b> ],^checkout(itemborder)")
|
|
out+=("ITEM_RADIUS [ <b>$IRADIUS</b> ],^checkout(itemradius)")
|
|
out+=("^sep()")
|
|
[[ ! -z "$NORMBG" ]] && out+=("<tt><small>$(printf '%3s' "$NORMBGA")</small> <span bgcolor='${NORMBG}' bgalpha='${NORMBGA/#[0]/1}%'> </span><span bgcolor='${NORMBG}'> </span></tt> COLOR_NORM_BG,^pipe(mbclr '$NORMBG' jgctl color_norm_bg COLOR_NORM_BG '$me')")
|
|
|
|
out+=("^sep(separator/title)")
|
|
out+=("<tt><small>$(printf '%3s' "$TBGA")</small> <span bgcolor='$TBG' bgalpha='${TBGA}%'> </span><span bgcolor='$TBG'> </span></tt> COLOR_TITLE_BG,^pipe(mbclr '$TBG' jgctl color_title_bg COLOR_TITLE_BG '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$TFGA")</small> <span weight='bold' bgcolor='$TBG' bgalpha='${TBGA/#[0]/1}%' fgcolor='$TFG' fgalpha='${TFGA}%'> AbCd </span></tt> COLOR_TITLE_FG,^pipe(mbclr '$TFG' jgctl color_title_fg COLOR_TITLE_FG '$me')")
|
|
out+=("<tt><small>$(printf '%3s' "$TBORDERA")</small> <span bgcolor='$TBORDER' bgalpha='${TBORDERA/#[0]/1}%'> </span><span bgcolor='$TBORDER'> </span></tt> COLOR_TITLE_BORDER,^pipe(mbclr '$TBORDER' jgctl color_title_border COLOR_TITLE_BORDER '$me')")
|
|
out+=("^sep()")
|
|
out+=("SEP_HALIGN [ <b>$SEPHALIGN</b> ],^checkout(sephalign)")
|
|
out+=("^sep()")
|
|
out+=("<tt><small>$(printf '%3s' "$SEPFGA")</small> <span fgcolor='$SEPFG' fgalpha='${SEPFGA/#[0]/1}%'>------</span></tt> COLOR_SEP_FG,^pipe(mbclr '$SEPFG' jgctl color_sep_fg COLOR_SEP_FG '$me')")
|
|
|
|
out2+=("^tag(gradientpos)")
|
|
out2+=("^sep(GRADIENT_POS <small>$GRADIENT</small>)")
|
|
out2+=("none,jgctl menu_gradient_pos none;$me")
|
|
out2+=("^sep()")
|
|
out2+=("top,jgctl menu_gradient_pos top;$me")
|
|
out2+=("right,jgctl menu_gradient_pos right;$me")
|
|
out2+=("bottom,jgctl menu_gradient_pos bottom;$me")
|
|
out2+=("left,jgctl menu_gradient_pos left;$me")
|
|
out2+=("top_left,jgctl menu_gradient_pos top_left;$me")
|
|
out2+=("top_right,jgctl menu_gradient_pos top_right;$me")
|
|
out2+=("bottom_left,jgctl menu_gradient_pos bottom_left;$me")
|
|
out2+=("bottom_right,jgctl menu_gradient_pos bottom_right;$me")
|
|
|
|
out2+=("^tag(sephalign)")
|
|
out2+=("^sep(SEP_HALIGN)")
|
|
out2+=("left,jgctl sep_halign left;$me")
|
|
out2+=("center,jgctl sep_halign center;$me")
|
|
out2+=("right,jgctl sep_halign right;$me")
|
|
out2+=("^tag(itemborder)")
|
|
out2+=("^sep(ITEM_BORDER)")
|
|
out2+=("0,jgctl item_border 0;$me")
|
|
out2+=("^sep()")
|
|
out2+=("1,jgctl item_border 1;$me")
|
|
out2+=("2,jgctl item_border 2;$me")
|
|
out2+=("^tag(itemradius)")
|
|
out2+=("^sep(ITEM_RADIUS)")
|
|
out2+=("0,jgctl item_radius 0;$me")
|
|
out2+=("^sep()")
|
|
out2+=("1,jgctl item_radius 1;$me")
|
|
out2+=("2,jgctl item_radius 2;$me")
|
|
out2+=("3,jgctl item_radius 3;$me")
|
|
out2+=("4,jgctl item_radius 4;$me")
|
|
out2+=("5,jgctl item_radius 5;$me")
|
|
out2+=("6,jgctl item_radius 6;$me")
|
|
|
|
|
|
|
|
out+=("^sep(MORE MENU SETTINGS)")
|
|
out+=("Global Menu Settings,jgmenusettings-pipe -c")
|
|
### COPIED FROM jgmenusettings-pipe for now
|
|
#out+=("FONT_ITEM [ <b>${menu_font_family:-0} ${menu_font_size:-0}</b> ],mb-setfont menu_item;$me")
|
|
#out+=("FONT_TITLE [ <b>${menu_sep_font_family:-0} ${menu_sep_font_size:-0}</b> ],mb-setfont menu_sep;$me")
|
|
#out+=("BORDER [ <b>${jgtools_border:-0}</b> ],^checkout(mborder)")
|
|
#out+=("PADDING [ <b>${jgtools_padding:-0}</b> ],^checkout(mpadding)")
|
|
#out+=("RADIUS [ <b>${jgtools_radius:-0}</b> ],^checkout(mradius)")
|
|
#out+=("SUBSPACING [ <b>${submenu_spacing:-0}</b> ],^checkout(subspacing)")
|
|
out2+=("^tag(mborder)")
|
|
for i in 0 1 2 3 4 5 6 8 10 12; do out2+=("$(printf "<tt>%3s</tt>,%s" "$i" "mb-setvar jgtools_border=${i};$me")");done
|
|
out2+=("^tag(mpadding)")
|
|
for i in 0 2 4 6 8 10 12 14 16 18 20 22 24 28 32 40; do out2+=("$(printf "<tt>%3s</tt>,%s" "$i" "mb-setvar jgtools_padding=${i};$me")");done
|
|
out2+=("^tag(mradius)")
|
|
for i in 0 1 2 3 4 6 8 12 14 16 18 20 40; do out2+=("$(printf "<tt>%3s</tt>,%s" "$i" "mb-setvar jgtools_radius=${i};$me")");done
|
|
out2+=("^tag(subspacing)")
|
|
for i in -20 -8 -6 -4 -2 0 1 2 4 6 8 10 12 14 16 18 20; do out2+=("$(printf "<tt>%4s</tt>,%s" "$i" "mb-setvar submenu_spacing=${i};$me")");done
|
|
|
|
out+=("^sep()")
|
|
if [ -f "${THEMERC}.bak" ]; then
|
|
out+=("Reset <i>${jgmenu_theme}</i> to default,jgctl reset;$me")
|
|
fi
|
|
out+=("Edit <i>${jgmenu_theme}</i> file,xdg-open $THEMERC")
|
|
out+=("Set random menu theme,mb-setvar jgmenu_theme=$(basename -s .colorrc $(ls ~/.config/mabox/jgobthemes/*.colorrc | shuf -n 1));$me")
|
|
|
|
### RUN
|
|
if [[ "$1" == "-s" ]]; then
|
|
. /usr/share/mb-jgtools/pipemenu-standalone.cfg
|
|
. $HOME/.config/mabox/mabox.conf
|
|
|
|
CNF_DIR="$HOME/.config/colorizer"
|
|
CNF_FILE="$CNF_DIR/colorizer.conf"
|
|
source "$CNF_FILE"
|
|
|
|
out+=("^sep()")
|
|
out+=(" ⮜ Back to Colorizer,colorizer -s")
|
|
|
|
if [[ "$colorizer_size" == "full" ]];then
|
|
eval $(xdotool getdisplaygeometry --shell)
|
|
MENU_HEIGHT_MIN="$HEIGHT"
|
|
MENU_HEIGHT_MAX=$MENU_HEIGHT_MIN
|
|
MENU_RADIUS="0"
|
|
menu_margin_x="0"
|
|
else
|
|
MENU_VALIGN="center"
|
|
menu_margin_x=${submenu_spacing:-0}
|
|
fi
|
|
|
|
MENU_PADDING_TOP=${jgtools_padding:-0}
|
|
MENU_HALIGN="left"
|
|
jgmenu_icon_size=0
|
|
JGWIDTH=40
|
|
|
|
[ $(pidof picom) ] && MENU_RADIUS=$jgtools_radius
|
|
[ -z $jgmenu_use_borders ] && menu_border=0
|
|
JGWIDTH=$((jgtools_padding + 278 + jgtools_padding))
|
|
MENU_PADDING_TOP=$((jgtools_padding + 158))
|
|
#WALLPAPER
|
|
read WALLPATH<<< $(grep file "$HOME"/.config/nitrogen/bg-saved.cfg | cut -d'=' -f2)
|
|
WALLPAPER=${WALLPATH##*/}
|
|
THUMBDIR="$HOME/.config/mabox/wallthumbs"
|
|
mkdir -p ${THUMBDIR}
|
|
THUMB="${THUMBDIR}/${WALLPAPER}.png"
|
|
if [[ ! -f "$THUMB" ]]
|
|
then
|
|
convert ${WALLPATH} -resize 270x150^ -gravity center -extent 270x150 ${THUMB}
|
|
fi
|
|
|
|
|
|
|
|
mkconfigfile
|
|
|
|
cat <<EOF > ${MENU_ITEMS}
|
|
@icon,,$((jgtools_padding + 4)),$((jgtools_padding + 4)),270,150,4,left,top,,,${THUMB}
|
|
$(printf '%s\n' "${out[@]}")
|
|
$(printf '%s\n' "${out2[@]}")
|
|
EOF
|
|
|
|
jgmenu --config-file=${CONFIG_FILE} --csv-file=${MENU_ITEMS} 2>/dev/null
|
|
exit 0
|
|
fi
|
|
printf '%s\n' "${out[@]}"
|
|
printf '%s\n' "${out2[@]}"
|