tint2 pipemenu simplified

master
Daniel Napora 2020-09-27 12:29:11 +02:00
parent 4b166777fa
commit 2960ef69df
2 changed files with 136 additions and 70 deletions

View File

@ -1,114 +1,66 @@
#!/bin/bash
# mabox-tint2-pipemenu - an Openbox pipemenu for tint2 manipulation
# Copyright (C) 2015-2016 damo <damo@bunsenlabs.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
MB_COMMON_LIBDIR='/usr/lib/mabox/mabox-common'
TINT2PATH="$HOME/.config/tint2"
TINT2RC="$TINT2PATH/tint2rc"
TZEN="mb-tint2-manager"
if ! . "$MB_COMMON_LIBDIR/mabox-include.cfg" 2> /dev/null; then
echo $"Error: Failed to source mabox-include.cfg in $MB_COMMON_LIBDIR" >&2
exit 1
fi
case $LANG in
pl*)
TITLE="Panel Tint2"
RUNNING_TINT2="Działające Tint2"
DEFAULT_TINT2RC="Domyślny tint2rc"
EDIT_TINT2="Edytuj Tint2"
TINT2_EDITOR="Wybierz pliki Tint2 do edycji..."
TINT2_EDITOR_GUI="tint2conf (GUI)"
CHOOSE_TINT2="Wybierz Tint2"
CHOOSE_TINT2="Wybierz Tint2..."
RESTART_TINT2="Restartuj Tint2"
CONFIGURE="Konfiguruj"
;;
es*)
TITLE="Panel Tint2"
RUNNING_TINT2="Panel(es) en ejecución"
DEFAULT_TINT2RC="Panel tint2rc x defecto"
EDIT_TINT2="Edición manual panel"
TINT2_EDITOR="Elegir panel Tint2 a editar"
TINT2_EDITOR_GUI="Editor gráfico"
CHOOSE_TINT2="Elegir un panel"
CHOOSE_TINT2="Elegir un panel..."
RESTART_TINT2="Reiniciar panel(es)"
CONFIGURE="Configurar"
;;
*)
TITLE="Tint2 Panel"
RUNNING_TINT2="Running Tint2"
DEFAULT_TINT2RC="Default tint2rc"
EDIT_TINT2="Edit Tint2"
TINT2_EDITOR="Choose Tint2 to edit"
TINT2_EDITOR_GUI="tint2conf (GUI)"
CHOOSE_TINT2="Choose Tint2"
CHOOSE_TINT2="Choose Tint2..."
RESTART_TINT2="Restart Tint2"
CONFIGURE="Configure"
;;
esac
loadTEditmenu(){
menuSeparator
menuItem "$DEFAULT_TINT2RC" "geany $TINT2RC"
out+=("^sep($TITLE)")
out+=("$CHOOSE_TINT2,$TZEN")
out+=("$RESTART_TINT2,mb-tint2restart")
if [ "$(pidof tint2)" ];then
menuSubmenu "RunningTint2" "$RUNNING_TINT2"
menuSeparator "$RUNNING_TINT2"
pgrep -a tint2 | while read -r pid cmd; do
out+=("^sep($TINT2_EDITOR_GUI)")
while read -r pid cmd; do
if [[ ${cmd%% *} = tint2 ]]; then
TINT=${cmd##* }
TINT2=${TINT#$HOME/.config/}
TINT2=${TINT#$HOME/.config/tint2/}
if [[ $TINT = tint2 ]];then
TINT="$TINT2RC"
TINT2="$DEFAULT_TINT2RC"
fi
menuItem "$TINT2" "geany $TINT"
out+=("$CONFIGURE <i>$TINT2</i>,tint2conf $TINT")
fi
done
menuSubmenuEnd
done < <(pgrep -a tint2)
fi
}
#out+=("^sep($EDIT_TINT2)")
getTint2s(){
menuSubmenu "EditTint2" "$EDIT_TINT2"
menuSeparator "$EDIT_TINT2"
menuItem "$TINT2_EDITOR_GUI" "tint2conf"
if type mb-tint2edit &>/dev/null;then # mb-tint2edit script found
menuItem "$TINT2_EDITOR" "mb-tint2edit"
loadTEditmenu
else
loadTEditmenu
fi
menuSubmenuEnd
}
loadChoosermenu(){
if type $TZEN &>/dev/null;then # mb-tint2zen script found
menuItem "$CHOOSE_TINT2" "$TZEN"
fi
}
loadRestartmenu(){
if [ "$(pidof tint2)" ];then
if type mb-tint2restart &>/dev/null;then # mb-tint2restart script found
menuItem "$RESTART_TINT2" "mb-tint2restart"
fi
fi
}
menuStart "Tintmenu" "Tint2"
menuSeparator "Tint2 panel"
loadChoosermenu
loadRestartmenu
getTint2s
menuEnd
printf '%s\n' "${out[@]}"

View File

@ -0,0 +1,114 @@
#!/bin/bash
# mabox-tint2-pipemenu - an Openbox pipemenu for tint2 manipulation
# Copyright (C) 2015-2016 damo <damo@bunsenlabs.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
MB_COMMON_LIBDIR='/usr/lib/mabox/mabox-common'
TINT2PATH="$HOME/.config/tint2"
TINT2RC="$TINT2PATH/tint2rc"
TZEN="mb-tint2-manager"
if ! . "$MB_COMMON_LIBDIR/mabox-include.cfg" 2> /dev/null; then
echo $"Error: Failed to source mabox-include.cfg in $MB_COMMON_LIBDIR" >&2
exit 1
fi
case $LANG in
pl*)
RUNNING_TINT2="Działające Tint2"
DEFAULT_TINT2RC="Domyślny tint2rc"
EDIT_TINT2="Edytuj Tint2"
TINT2_EDITOR="Wybierz pliki Tint2 do edycji..."
TINT2_EDITOR_GUI="tint2conf (GUI)"
CHOOSE_TINT2="Wybierz Tint2"
RESTART_TINT2="Restartuj Tint2"
;;
es*)
RUNNING_TINT2="Panel(es) en ejecución"
DEFAULT_TINT2RC="Panel tint2rc x defecto"
EDIT_TINT2="Edición manual panel"
TINT2_EDITOR="Elegir panel Tint2 a editar"
TINT2_EDITOR_GUI="Editor gráfico"
CHOOSE_TINT2="Elegir un panel"
RESTART_TINT2="Reiniciar panel(es)"
;;
*)
RUNNING_TINT2="Running Tint2"
DEFAULT_TINT2RC="Default tint2rc"
EDIT_TINT2="Edit Tint2"
TINT2_EDITOR="Choose Tint2 to edit"
TINT2_EDITOR_GUI="tint2conf (GUI)"
CHOOSE_TINT2="Choose Tint2"
RESTART_TINT2="Restart Tint2"
;;
esac
loadTEditmenu(){
menuSeparator
menuItem "$DEFAULT_TINT2RC" "geany $TINT2RC"
if [ "$(pidof tint2)" ];then
menuSubmenu "RunningTint2" "$RUNNING_TINT2"
menuSeparator "$RUNNING_TINT2"
pgrep -a tint2 | while read -r pid cmd; do
if [[ ${cmd%% *} = tint2 ]]; then
TINT=${cmd##* }
TINT2=${TINT#$HOME/.config/}
if [[ $TINT = tint2 ]];then
TINT="$TINT2RC"
TINT2="$DEFAULT_TINT2RC"
fi
menuItem "$TINT2" "geany $TINT"
fi
done
menuSubmenuEnd
fi
}
getTint2s(){
menuSubmenu "EditTint2" "$EDIT_TINT2"
menuSeparator "$EDIT_TINT2"
menuItem "$TINT2_EDITOR_GUI" "tint2conf"
if type mb-tint2edit &>/dev/null;then # mb-tint2edit script found
menuItem "$TINT2_EDITOR" "mb-tint2edit"
loadTEditmenu
else
loadTEditmenu
fi
menuSubmenuEnd
}
loadChoosermenu(){
if type $TZEN &>/dev/null;then # mb-tint2zen script found
menuItem "$CHOOSE_TINT2" "$TZEN"
fi
}
loadRestartmenu(){
if [ "$(pidof tint2)" ];then
if type mb-tint2restart &>/dev/null;then # mb-tint2restart script found
menuItem "$RESTART_TINT2" "mb-tint2restart"
fi
fi
}
menuStart "Tintmenu" "Tint2"
menuSeparator "Tint2 panel"
loadChoosermenu
loadRestartmenu
getTint2s
menuEnd