#!/bin/bash MBCOLORSDIR="$HOME"/.themes/MBcolors/openbox-3/ if [ ! -d "$MBCOLORSDIR" ]; then mkdir -p ${MBCOLORSDIR} rsync -a /usr/share/mabox-colorizer/themes/MBcolors/openbox-3/* ${MBCOLORSDIR}/ fi OBTHEME=$(awk '// {while (getline n) {if (match(n, //)) {l=n; exit}}} END {split(l, a, "[<>]"); print a[3]}' "$HOME/.config/openbox/rc.xml") THEMERC="$HOME/.themes/$OBTHEME/openbox-3/themerc" me="colorizer-ob -s" if [ -f "$THEMERC" ]; then if [ ! -f "${THEMERC}.bak" ]; then cp ${THEMERC} ${THEMERC}.bak #check if lines, and add missing # colorTo # handle # grip # text.justify # window.active.label.text.font:shadow=n:shadowtint=70:shadowoffset=1 #grep -qF -- "$LINE" "$FILE" || echo "$LINE" >> "$FILE" grep ^[^#] "$THEMERC" | grep -qiF -- .active.title.bg.colorTo || echo "window.active.title.bg.colorTo: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .inactive.title.bg.colorTo || echo "window.inactive.title.bg.colorTo: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- handle.width: || echo "window.handle.width: 0" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .handle.bg: || echo "window.*.handle.bg: parentrelative" >> "$THEMERC" ################################################################################################################################## Kolory poniżej obliczyć grep ^[^#] "$THEMERC" | grep -qiF -- .active.handle.bg.color: || echo "window.active.handle.bg.color: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .active.handle.bg.colorTo: || echo "window.active.handle.bg.colorTo: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .inactive.handle.bg.color: || echo "window.inactive.handle.bg.color: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .inactive.handle.bg.colorTo: || echo "window.inactive.handle.bg.colorTo: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .grip.bg: || echo "window.*.grip.bg: parentrelative" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .active.grip.bg.color: || echo "window.active.grip.bg.color: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .active.grip.bg.colorTo: || echo "window.active.grip.bg.colorTo: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .inactive.grip.bg.color: || echo "window.inactive.grip.bg.color: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .inactive.grip.bg.colorTo: || echo "window.inactive.grip.bg.colorTo: #222222" >> "$THEMERC" grep ^[^#] "$THEMERC" | grep -qiF -- .text.justify: || echo "window.*.text.justify: center" >> "$THEMERC" 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 } getvalues out+=("^sep(Openbox theme: $OBTHEME)") out+=("SELECT,^checkout(themes)") out+=("^sep(TITLEBAR)") out+=(" ACTIVEBG,^pipe(mbclr '$ABG' obtctl clractivebg ACTIVE_BG '$me')") out+=(" NORMALBG,^pipe(mbclr '$NBG' obtctl clrnormalbg NORMAL_BG '$me')") out+=("TEXT,^checkout(titletext)") out+=("PADDING [ $PHEIGHT $PWIDTH ],^checkout(padding)") out+=("^sep(BORDER)") out+=(" ACTIVELINE,^pipe(mbclr '$ALINE' obtctl activeborderColor ACTIVE_BORDER_COLOR '$me')") out+=(" NORMALLINE,^pipe(mbclr '$NLINE' obtctl inactiveborderColor INACTIVE_BORDER_COLOR '$me')") out+=("BORDER [ $BORD ],^checkout(border)") out+=("HANDLEWIDTH [ $HANDLE ],^checkout(handlewidth)") out+=("^sep(EFFECTS)") out+=("GRADIENT [ ${REST##* } ],^checkout(gradient)") out+=("RAISED? [ $WINRAISED ],^checkout(raised)") out+=("ACTIVEHANDLE? [ $AHANDLE ],^checkout(handle)") out+=("^sep()") if [ -f "${THEMERC}.bak" ]; then out+=("RESET TO DEFAULTS,obtctl reset;$me") fi out+=("Edit...,xdg-open ${THEMERC}") out2+=("^tag(themes)") out2+=("^sep(themes)") for i in $(ls $HOME/.themes);do if [ -f "$HOME/.themes/${i}/openbox-3/themerc" ]; then out2+=("$i,obtctl theme $i;$me") fi done #TEXT out2+=("^tag(titletext)") out2+=("^sep(TITLE_BAR)") out2+=("FONT...,mb-setfont obtitle;$me") out2+=("TEXTALIGN [ $TXTJUST ],^checkout(talign)") out2+=("SHADOW,^checkout(shadow)") out2+=("^sep()") out2+=(" ACTIVEFG,^pipe(mbclr '$AFG' obtctl activetextcolor ACTIVE_COLOR '$me')") out2+=(" NORMALFG,^pipe(mbclr '$NFG' obtctl inactivetextcolor INACTIVE_COLOR '$me')") #TEXTALIGN out2+=("^tag(talign)") out2+=("^sep(TEXTALIGN)") out2+=("center,obtctl textjustify center;$me") out2+=("left,obtctl textjustify left;$me") out2+=("right,obtctl textjustify right;$me") out2+=("^tag(shadow)") out2+=("^sep(SHADOW)") out2+=("no shadow,obtctl shadow 0;$me") out2+=("^sep()") out2+=("Dark,obtctl shadow 1;$me") out2+=("Light,obtctl shadow 2;$me") #PADDING out2+=("^tag(padding)") out2+=("^sep(VERTICAL)") out2+=("0,obtctl paddingHeight 0;$me") out2+=("^sep()") out2+=("1,obtctl paddingHeight 1;$me") out2+=("2,obtctl paddingHeight 2;$me") out2+=("3,obtctl paddingHeight 3;$me") out2+=("4,obtctl paddingHeight 4;$me") out2+=("5,obtctl paddingHeight 5;$me") out2+=("6,obtctl paddingHeight 6;$me") out2+=("7,obtctl paddingHeight 7;$me") out2+=("8,obtctl paddingHeight 8;$me") out2+=("10,obtctl paddingHeight 10;$me") out2+=("^sep(HORIZONTAL)") out2+=("0,obtctl paddingWidth 0;$me") out2+=("^sep()") out2+=("1,obtctl paddingWidth 1;$me") out2+=("2,obtctl paddingWidth 2;$me") out2+=("3,obtctl paddingWidth 3;$me") out2+=("4,obtctl paddingWidth 4;$me") out2+=("5,obtctl paddingWidth 5;$me") #BORDER out2+=("^tag(border)") out2+=("^sep(border)") out2+=("0,obtctl borderWidth 0;$me") out2+=("^sep()") out2+=("1,obtctl borderWidth 1;$me") out2+=("2,obtctl borderWidth 2;$me") out2+=("3,obtctl borderWidth 3;$me") out2+=("4,obtctl borderWidth 4;$me") out2+=("5,obtctl borderWidth 5;$me") #RAISED out2+=("^tag(raised)") out2+=("^sep(raised)") out2+=("0 (flat),obtctl raised 0;$me") out2+=("1 (raised),obtctl raised 1;$me") #GRADIENT out2+=("^tag(gradient)") out2+=("^sep(GRADIENT)") out2+=("solid,obtctl gradient solid;$me") out2+=("^sep()") out2+=("Vertical,obtctl gradient vertical;$me") out2+=("Horizontal,obtctl gradient horizontal;$me") out2+=("MirrorHorizontal,obtctl gradient mirrorhorizontal;$me") out2+=("SplitVertical,obtctl gradient splitvertical;$me") out2+=("Diagonal,obtctl gradient diagonal;$me") out2+=("CrossDiagonal,obtctl gradient crossdiagonal;$me") out2+=("Pyramid,obtctl gradient pyramid;$me") out2+=("^sep(COLORS)") [[ ! -z "$ABGTO" ]] && out2+=(" ACTIVEBGTO,^pipe(mbclr '$ABGTO' obtctl clractivebgto ACTIVE_BG_TO '$me')") [[ ! -z "$ABGTO" ]] && out2+=(" NORMALBGTO,^pipe(mbclr '$NBGTO' obtctl clrnormalbgto INACTIVE_BG_TO '$me')") #HANDLE out2+=("^tag(handle)") out2+=("^sep(ACTIVEHANDLE)") out2+=("NO,obtctl activehandle no;$me") out2+=("YES,obtctl activehandle yes;$me") out2+=("GRIPONLY,obtctl activehandle grip;$me") #HANDLE out2+=("^tag(handlewidth)") out2+=("^sep(HANDLEWIDTH)") out2+=("0,obtctl handlewidth 0;$me") out2+=("^sep()") out2+=("2,obtctl handlewidth 2;$me") out2+=("3,obtctl handlewidth 3;$me") out2+=("4,obtctl handlewidth 4;$me") out2+=("6,obtctl handlewidth 6;$me") out2+=("8,obtctl handlewidth 8;$me") out2+=("10,obtctl handlewidth 10;$me") else out+=("^sep(NOT WRITABLE)") for i in $(ls $HOME/.themes);do if [ -f "$HOME/.themes/${i}/openbox-3/themerc" ]; then out+=("$i,obtctl theme $i;$me") fi done fi ### RUN if [[ "$1" == "-s" ]]; then . /usr/share/mb-jgtools/pipemenu-standalone.cfg . $HOME/.config/mabox/mabox.conf out+=("^sep()") out+=(" ⮜ Back to Colorizer,colorizer -s") if [[ $panels_heightpos == "top" ]]; then MENU_VALIGN="top" MENU_MARGIN_Y=${panels_topmargin:-0} elif [[ $panels_heightpos == "bottom" ]]; then MENU_VALIGN="bottom" MENU_MARGIN_Y=${panels_topmargin:-0} else MENU_VALIGN="center" fi MENU_PADDING_TOP=${jgtools_padding:-0} MENU_HALIGN="left" jgmenu_icon_size=0 JGWIDTH=40 menu_margin_x=${submenu_spacing:-0} [ $(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 IMAGE 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 #TEMP POSITION: MENU_VALIGN="top" MENU_MARGIN_Y="60" mkconfigfile cat < ${MENU_ITEMS} @icon,,$((jgtools_padding + 4)),$((jgtools_padding + 4)),270,150,4,left,top,,,${THUMB} @icon,,$((jgtools_padding + 4)),$((jgtools_padding + 4)),270,150,4,left,top,,,/usr/share/mabox-colorizer/img/colorizer-ob.png $(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[@]}"