379 lines
14 KiB
Bash
Executable File
379 lines
14 KiB
Bash
Executable File
#!/bin/bash
|
|
#TODO Handle more than one tint
|
|
#TODO Reset to defaults
|
|
|
|
TINT2PATH="$HOME/.config/tint2"
|
|
TINT2RC="$TINT2PATH/tint2rc"
|
|
TZEN="mb-tint2-manager"
|
|
|
|
me="jgtint2-pipe -s"
|
|
|
|
case $LANG in
|
|
pl*)
|
|
LNG="pl"
|
|
TITLE="Panel Tint2"
|
|
POSITION="Pozycja"
|
|
SIZE="Rozmiar"
|
|
WIDTH="Szerokość"
|
|
HEIGHT="Wysokość"
|
|
MARGIN="Margines"
|
|
PADDING="Odstęp"
|
|
COMPACT="Kompaktowy ?"
|
|
AUTOHIDE="Autoukrywanie ?"
|
|
SIZEHIDDEN="Rozmiar gdy ukryty"
|
|
ICONS="Ikony"
|
|
CLOCK_LINE1=""
|
|
CLOCK_LINE2=""
|
|
RESET="Resetuj"
|
|
TOP="Góra"
|
|
BOTTOM="Dół"
|
|
TOPLEFT="Góra po lewej"
|
|
TOPRIGHT="Góra po prawej"
|
|
LEFT="Lewa"
|
|
RIGHT="Prawa"
|
|
BOTTOMLEFT="Dół po lewej"
|
|
BOTTOMRIGHT="Dół po prawej"
|
|
HORIZONTAL="Poziomo"
|
|
VERTICAL="Pionowo"
|
|
SPACING="Odstęp"
|
|
YES="Tak (1)"
|
|
NO="Nie (0)"
|
|
RUNNING_TINT2="Działające Tint2"
|
|
DEFAULT_TINT2RC="Domyślny tint2rc"
|
|
EDIT_TINT2="Edytuj plik konfiguracyjny"
|
|
APPS="Programy (Launcher)"
|
|
LAUNCHERS="Dodaj/usuń programy..."
|
|
TINT2_EDITOR="Wybierz pliki Tint2 do edycji..."
|
|
TINT2_CONFIGURE="Konfiguracja panelu tint2"
|
|
CHOOSE_TINT2="Wybierz Tint2..."
|
|
RESTART_TINT2="Restartuj Tint2"
|
|
RELOAD_TINT2="Przeładuj Tint2"
|
|
CONFIGURE="Konfiguruj (GUI)"
|
|
REMOVE="Usuń to menu z panelu"
|
|
TRAY_HWMON="Monitor zasobów w trayu"
|
|
;;
|
|
es*)
|
|
LNG="en"
|
|
TITLE="Panel Tint2"
|
|
POSITION="Position"
|
|
SIZE="Size"
|
|
WIDTH="Width"
|
|
HEIGHT="Height"
|
|
MARGIN="Margin"
|
|
PADDING="Padding"
|
|
COMPACT="Compact?"
|
|
AUTOHIDE="Autohide?"
|
|
SIZEHIDDEN="Size when hidden:"
|
|
ICONS="Icon theme"
|
|
RESET="Reset to default"
|
|
TOP="Top"
|
|
BOTTOM="Bottom"
|
|
TOPLEFT="TopLeft"
|
|
TOPRIGHT="TopRight"
|
|
LEFT="Left"
|
|
RIGHT="Right"
|
|
BOTTOMLEFT="BottomLeft"
|
|
BOTTOMRIGHT="BottomRight"
|
|
HORIZONTAL="Horizontal"
|
|
VERTICAL="Vertical"
|
|
SPACING="Spacing"
|
|
YES="Yes (1)"
|
|
NO="No (0)"
|
|
RUNNING_TINT2="Panel(es) en ejecución"
|
|
DEFAULT_TINT2RC="Panel tint2rc x defecto"
|
|
EDIT_TINT2="Edición manual panel"
|
|
APPS="Launchers"
|
|
LAUNCHERS="Add/Remove Launchers..."
|
|
TINT2_EDITOR="Elegir panel Tint2 a editar"
|
|
TINT2_CONFIGURE="Editor gráfico"
|
|
CHOOSE_TINT2="Elegir un panel..."
|
|
RESTART_TINT2="Reiniciar panel(es)"
|
|
RELOAD_TINT2="Reload Tint2"
|
|
CONFIGURE="Editor gráfico"
|
|
REMOVE="Eliminar este menú del panel"
|
|
TRAY_HWMON="Systray HW monitor"
|
|
;;
|
|
*)
|
|
LNG="en"
|
|
TITLE="Tint2 Panel"
|
|
POSITION="Position"
|
|
SIZE="Size"
|
|
WIDTH="Width"
|
|
HEIGHT="Height"
|
|
MARGIN="Margin"
|
|
PADDING="Padding"
|
|
COMPACT="Compact?"
|
|
AUTOHIDE="Autohide?"
|
|
SIZEHIDDEN="Size when hidden:"
|
|
ICONS="Icon theme"
|
|
RESET="Reset to default"
|
|
TOP="Top"
|
|
BOTTOM="Bottom"
|
|
TOPLEFT="TopLeft"
|
|
TOPRIGHT="TopRight"
|
|
LEFT="Left"
|
|
RIGHT="Right"
|
|
BOTTOMLEFT="BottomLeft"
|
|
BOTTOMRIGHT="BottomRight"
|
|
HORIZONTAL="Horizontal"
|
|
VERTICAL="Vertical"
|
|
SPACING="Spacing"
|
|
YES="Yes (1)"
|
|
NO="No (0)"
|
|
RUNNING_TINT2="Running Tint2"
|
|
DEFAULT_TINT2RC="Default tint2rc"
|
|
EDIT_TINT2="Edit config file"
|
|
APPS="Launchers"
|
|
LAUNCHERS="Add/Remove Launchers..."
|
|
TINT2_EDITOR="Choose Tint2 to edit"
|
|
TINT2_CONFIGURE="Configure tint2 panel"
|
|
CHOOSE_TINT2="Choose Tint2..."
|
|
RESTART_TINT2="Restart Tint2"
|
|
RELOAD_TINT2="Reload Tint2"
|
|
CONFIGURE="Configure (GUI)"
|
|
REMOVE="Remove this menu from panel"
|
|
TRAY_HWMON="Systray HW monitor"
|
|
;;
|
|
esac
|
|
getvalues () {
|
|
read VE HO OR <<< "$(grep panel_position ${TINT} | cut -d'=' -f2)"
|
|
read W H <<< "$(grep panel_size ${TINT} | cut -d'=' -f2)"
|
|
read HOR VERT <<< "$(grep panel_margin ${TINT} | cut -d'=' -f2)"
|
|
read PHOR PVERT SPACE <<< "$(grep panel_padding ${TINT} | cut -d'=' -f2)"
|
|
read SHRINK <<< "$(grep panel_shrink ${TINT} | cut -d'=' -f2)"
|
|
read HIDE <<< "$(grep "autohide " ${TINT} | cut -d'=' -f2)"
|
|
read ICONTHEME <<< "$(grep "launcher_icon_theme" ${TINT} | cut -d'=' -f2)"
|
|
read PANELITEMS <<< "$(grep "panel_items" ${TINT} | cut -d'=' -f2)"
|
|
read TF1 <<< "$(grep "time1_format" ${TINT} | cut -d'=' -f2)"
|
|
read TF2 <<< "$(grep "time2_format" ${TINT} | cut -d'=' -f2)"
|
|
}
|
|
|
|
qactions () {
|
|
out+=("<tt>$(printf "%-20s %20s" "$POSITION" "[ <b>$VE $HO</b> ]")</tt>,^checkout(ppos$i)")
|
|
out+=("<tt>$(printf "%-20s %20s" "$SIZE" "[ <b>$W</b> ]")</tt>,^checkout(pwidth$i)")
|
|
out+=("<tt>$(printf "%-20s %20s" "$WIDTH" "[ <b>$H</b> ]")</tt>,^checkout(pheight$i)")
|
|
out+=("<tt>$(printf "%-20s %20s" "$MARGIN" "[ <b>$HOR $VERT</b> ]")</tt>,^checkout(pmargin$i)")
|
|
out+=("<tt>$(printf "%-20s %20s" "$PADDING" "[ <b>$PHOR $PVERT $SPACE</b> ]")</tt>,^checkout(ppadding$i)")
|
|
out+=("<tt>$(printf "%-20s %20s" "$AUTOHIDE" "[ <b>$HIDE</b> ]")</tt>,^checkout(phide$i)")
|
|
out+=("^sep()")
|
|
out+=("$ICONS [ <b>$ICONTHEME</b> ],^checkout(iconthemes$i)")
|
|
# Clock
|
|
if [[ "$PANELITEMS" == *C* ]]; then
|
|
out+=("^sep()")
|
|
out+=("Clock line 1 [ <b> $(date "+${TF1}") </b> ],^checkout(cl1)")
|
|
out+=("Clock line 2 [ <b> $(date "+${TF2}") </b> ],^checkout(cl2)")
|
|
out2+=("^tag(cl1)")
|
|
out2+=("^sep(Clock first line)")
|
|
out2+=("<b>$(date +"%H:%M")</b> <small>(%H:%M)</small>,t2ctl clockline1 '%H:%M' ${TINT};$me")
|
|
out2+=("<b>$(date +"%I:%M %p")</b> <small>(%I:%M %p)</small>,t2ctl clockline1 '%I:%M %p' ${TINT};$me")
|
|
out2+=("<b>$(date +"%-I:%M %p")</b> <small>(%I-:%M %p)</small>,t2ctl clockline1 '%-I:%M %p' ${TINT};$me")
|
|
out2+=("<b>$(date +"%H:%M:%S")</b> <small>(%H:%M:%S)</small>,t2ctl clockline1 '%H:%M:%S' ${TINT};$me")
|
|
|
|
out2+=("^tag(cl2)")
|
|
out2+=("^sep(Clock second line )")
|
|
out2+=("none,t2ctl clockline2 none ${TINT};$me")
|
|
out2+=("^sep()")
|
|
out2+=("<b>$(date +"%A %d %B")</b> <small>(%A %d %B)</small>,t2ctl clockline2 '%A %d %B' ${TINT};$me")
|
|
out2+=("<b>$(date +"%a %d %b")</b> <small>(%a %d %b)</small>,t2ctl clockline2 '%a %d %b' ${TINT};$me")
|
|
out2+=("<b>$(date +"%x")</b> <small>(%x)</small>,t2ctl clockline2 '%x' ${TINT};$me")
|
|
out2+=("<b>$(date +"%m-%d-%Y")</b> <small>(%m-%d-%Y)</small>,t2ctl clockline2 '%m-%d-%Y' ${TINT};$me")
|
|
out2+=("<b>$(date +"%F")</b> <small>(%F)</small>,t2ctl clockline2 '%F' ${TINT};$me")
|
|
|
|
fi
|
|
# END Clock
|
|
|
|
|
|
out+=("^sep()")
|
|
if [ -f "/usr/share/mabox/lang/${LNG}/.config/tint2/${TINT2}" ];then
|
|
out+=("$RESET,t2ctl reset ${TINT2};me")
|
|
out+=("^sep()")
|
|
fi
|
|
out2+=("^tag(iconthemes$i)")
|
|
for item in "/usr/share/icons"/*; do
|
|
if [[ -d $item ]]; then
|
|
out2+=("${item##*/},t2ctl icontheme ${item##*/} ${TINT};$me")
|
|
fi
|
|
done
|
|
|
|
out2+=("^tag(ppos$i)")
|
|
out2+=("^sep($POSITION)")
|
|
out2+=("^sep($HORIZONTAL)")
|
|
out2+=("$TOP,t2ctl position tch ${TINT};$me")
|
|
out2+=("$BOTTOM,t2ctl position bch ${TINT};$me")
|
|
out2+=("^sep()")
|
|
out2+=("$TOPLEFT,t2ctl position tlh ${TINT};$me")
|
|
out2+=("$TOPRIGHT,t2ctl position trh ${TINT};$me")
|
|
out2+=("$BOTTOMLEFT,t2ctl position blh ${TINT};$me")
|
|
out2+=("$BOTTOMRIGHT,t2ctl position brh ${TINT};$me")
|
|
out2+=("^sep($VERTICAL)")
|
|
out2+=("$LEFT,t2ctl position clv ${TINT};$me")
|
|
out2+=("$RIGHT,t2ctl position crv ${TINT};$me")
|
|
out2+=("^sep()")
|
|
out2+=("$TOPLEFT,t2ctl position tlv ${TINT};$me")
|
|
out2+=("$TOPRIGHT,t2ctl position trv ${TINT};$me")
|
|
out2+=("$BOTTOMLEFT,t2ctl position blv ${TINT};$me")
|
|
out2+=("$BOTTOMRIGHT,t2ctl position brv ${TINT};$me")
|
|
out2+=("^tag(pwidth$i)")
|
|
out2+=("^sep($SIZE)")
|
|
out2+=("100%,t2ctl width 100% ${TINT};$me")
|
|
out2+=("95%,t2ctl width 95% ${TINT};$me")
|
|
out2+=("90%,t2ctl width 90% ${TINT};$me")
|
|
out2+=("80%,t2ctl width 80% ${TINT};$me")
|
|
out2+=("75%,t2ctl width 75% ${TINT};$me")
|
|
out2+=("60%,t2ctl width 60% ${TINT};$me")
|
|
out2+=("50%,t2ctl width 50% ${TINT};$me")
|
|
out2+=("40%,t2ctl width 40% ${TINT};$me")
|
|
out2+=("30%,t2ctl width 30% ${TINT};$me")
|
|
out2+=("^sep()")
|
|
out2+=("<tt>$(printf "%-20s %20s" "$COMPACT" "[ <b>$SHRINK</b> ]")</tt>,^checkout(pcompact$i)")
|
|
out2+=("")
|
|
out2+=("^tag(pheight$i)")
|
|
out2+=("^sep($WIDTH)")
|
|
out2+=("24,t2ctl height 24 ${TINT};$me")
|
|
out2+=("28,t2ctl height 28 ${TINT};$me")
|
|
out2+=("32,t2ctl height 32 ${TINT};$me")
|
|
out2+=("40,t2ctl height 40 ${TINT};$me")
|
|
out2+=("48,t2ctl height 48 ${TINT};$me")
|
|
out2+=("60,t2ctl height 60 ${TINT};$me")
|
|
out2+=("^tag(pmargin$i)")
|
|
out2+=("^sep($HORIZONTAL)")
|
|
out2+=("0,t2ctl marginh 0 ${TINT};$me")
|
|
out2+=("1,t2ctl marginh 1 ${TINT};$me")
|
|
out2+=("2,t2ctl marginh 2 ${TINT};$me")
|
|
out2+=("4,t2ctl marginh 4 ${TINT};$me")
|
|
out2+=("")
|
|
out2+=("^sep($VERTICAL)")
|
|
out2+=("0,t2ctl marginv 0 ${TINT};$me")
|
|
out2+=("1,t2ctl marginv 1 ${TINT};$me")
|
|
out2+=("2,t2ctl marginv 2 ${TINT};$me")
|
|
out2+=("4,t2ctl marginv 4 ${TINT};$me")
|
|
out2+=("^tag(ppadding$i)")
|
|
out2+=("^sep($HORIZONTAL)")
|
|
out2+=("0,t2ctl paddingh 0 ${TINT};$me")
|
|
out2+=("1,t2ctl paddingh 1 ${TINT};$me")
|
|
out2+=("2,t2ctl paddingh 2 ${TINT};$me")
|
|
out2+=("4,t2ctl paddingh 4 ${TINT};$me")
|
|
out2+=("")
|
|
out2+=("^sep($VERTICAL)")
|
|
out2+=("0,t2ctl paddingv 0 ${TINT};$me")
|
|
out2+=("1,t2ctl paddingv 1 ${TINT};$me")
|
|
out2+=("2,t2ctl paddingv 2 ${TINT};$me")
|
|
out2+=("4,t2ctl paddingv 4 ${TINT};$me")
|
|
out2+=("^sep($SPACING)")
|
|
out2+=("0,t2ctl spacing 0 ${TINT};$me")
|
|
out2+=("1,t2ctl spacing 1 ${TINT};$me")
|
|
out2+=("2,t2ctl spacing 2 ${TINT};$me")
|
|
out2+=("4,t2ctl spacing 4 ${TINT};$me")
|
|
out2+=("^tag(pcompact$i)")
|
|
out2+=("^sep($COMPACT)")
|
|
out2+=("$NO,t2ctl shrink 0 ${TINT};$me")
|
|
out2+=("$YES,t2ctl shrink 1 ${TINT};$me")
|
|
out2+=("^tag(phide$i)")
|
|
out2+=("^sep($AUTOHIDE)")
|
|
out2+=("$NO,t2ctl autohide 0 ${TINT};$me")
|
|
out2+=("$YES,t2ctl autohide 1 ${TINT}")
|
|
out2+=("^sep($SIZEHIDDEN)")
|
|
out2+=("1,t2ctl hideheight 1 ${TINT}")
|
|
out2+=("2,t2ctl hideheight 2 ${TINT}")
|
|
out2+=("3,t2ctl hideheight 3 ${TINT}")
|
|
out2+=("4,t2ctl hideheight 4 ${TINT}")
|
|
out2+=("5,t2ctl hideheight 5 ${TINT}")
|
|
}
|
|
out+=("^sep($TITLE)")
|
|
out+=("^sep($APPS)")
|
|
out+=("$LAUNCHERS,jgtint2launcher")
|
|
if [ "$(pidof tint2)" ];then
|
|
i=0
|
|
out+=("^sep($TINT2_CONFIGURE)")
|
|
while read -r pid cmd; do
|
|
if [[ ${cmd%% *} = tint2 ]]; then
|
|
TINT=${cmd##* }
|
|
TINT2=${TINT#$HOME/.config/tint2/}
|
|
if [[ $TINT = tint2 ]];then
|
|
TINT="$TINT2RC"
|
|
TINT2="$DEFAULT_TINT2RC"
|
|
fi
|
|
out+=("^sep($TINT2)")
|
|
((i=i+1))
|
|
getvalues
|
|
qactions
|
|
out+=("$CONFIGURE <i>$TINT2</i>,tint2conf $TINT")
|
|
out+=("$EDIT_TINT2 <i>$TINT2</i>,xdg-open $TINT")
|
|
|
|
|
|
fi
|
|
done < <(pgrep -a tint2)
|
|
fi
|
|
|
|
|
|
|
|
if command -v phwmon.py &>/dev/null; then
|
|
PHWRUN="mabox-obstart phwmon"
|
|
|
|
. $HOME/.config/mabox/mabox.conf
|
|
|
|
out+=("^sep($TRAY_HWMON)")
|
|
if [ "$(pgrep -f phwmon.py)" ];then
|
|
out+=("Stop/Disable,mb-setvar phwmon_monitor=false;sleep 2;$PHWRUN;$me")
|
|
else
|
|
out+=("Start/Enable,mb-setvar phwmon_monitor=true;$PHWRUN;$me")
|
|
fi
|
|
out+=("^sep()")
|
|
[[ $phwmon_cpu = false ]] && out+=("<i><s>CPU</s></i>,mb-setvar phwmon_cpu=true;$PHWRUN;$me") || out+=("CPU,mb-setvar phwmon_cpu=false;$PHWRUN;$me")
|
|
[[ $phwmon_mem = false ]] && out+=("<i><s>Memory</s></i>,mb-setvar phwmon_mem=true;$PHWRUN;$me") || out+=("Memory,mb-setvar phwmon_mem=false;$PHWRUN;$me")
|
|
[[ $phwmon_swap = false ]] && out+=("<i><s>Swap</s></i>,mb-setvar phwmon_swap=true;$PHWRUN;$me") || out+=("Swap,mb-setvar phwmon_swap=false;$PHWRUN;$me")
|
|
[[ $phwmon_net = false ]] && out+=("<i><s>Network usage</s></i>,mb-setvar phwmon_net=true;$PHWRUN;$me") || out+=("Network usage,mb-setvar phwmon_net=false;$PHWRUN;$me")
|
|
[[ $phwmon_io = false ]] && out+=("<i><s>Disk IO</s></i>,mb-setvar phwmon_io=true;$PHWRUN;$me") || out+=("Disk IO,mb-setvar phwmon_io=false;$PHWRUN;$me")
|
|
fi
|
|
|
|
#out+=("^sep($EDIT_TINT2)")
|
|
|
|
# out+=("^sep()")
|
|
out+=("^sep($TITLE)")
|
|
out+=("$CHOOSE_TINT2,$TZEN")
|
|
out+=("$RESTART_TINT2,mb-tint2restart")
|
|
out+=("$RELOAD_TINT2,killall -SIGUSR1 tint2")
|
|
|
|
if [ $1 == "-s" ]; then
|
|
. /usr/share/mb-jgtools/pipemenu-standalone.cfg
|
|
. $HOME/.config/mabox/mabox.conf
|
|
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"
|
|
MENU_MARGIN_Y=40
|
|
jgmenu_icon_size=0
|
|
menu_margin_x=${submenu_spacing:-0}
|
|
[ $(pidof picom) ] && MENU_RADIUS=$jgtools_radius
|
|
[ -z $jgmenu_use_borders ] && menu_border=0
|
|
POSITION_MODE=${2:-center}
|
|
mkconfigfile
|
|
|
|
cat <<EOF > ${MENU_ITEMS}
|
|
|
|
$(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[@]}"
|
|
|
|
if [ "$1" == "-r" ]; then
|
|
printf '%s\n' "^sep()"
|
|
printf '%s\n' "<i>$REMOVE</i>,mb-setvar places_tint2pipe=false;mb-jgtools places"
|
|
fi
|