#!/bin/bash # mabox-conky-pipemenu - an Openbox pipemenu for manipulating conky # Copyright (C) 2015 damo # # 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 . MB_COMMON_LIBDIR='/usr/lib/mabox/mabox-common' CONKYDEFAULT="$HOME/.conkyrc" CONKYPATH="$HOME/.config/conky" CSESSIONFILE="$CONKYPATH/conky-sessionfile" SESSIONS="$CONKYPATH/saved-sessions" CZEN="mb-conky-manager" CSESSION="mb-conky-session" HELPFILE="/usr/share/mabox/mabox-docs/helpfile-conkyzen.txt" if ! . "$MB_COMMON_LIBDIR/mabox-include.cfg" 2> /dev/null; then echo "Error: Failed to source mb-include.cfg in $MB_COMMON_LIBDIR" >&2 exit 1 fi if [ ! -e "$CSESSIONFILE" ] 2> /dev/null ; then echo "Error: Failed to locate conky-sessionfile in $CONKYPATH" >&2 echo "conky -c $HOME/.conkyrc & sleep 1" > "$CSESSIONFILE" fi if [ ! -e "$SESSIONS" ] 2> /dev/null ; then echo "$0: Failed to locate saved-sessions in $CONKYPATH" >&2 fi declareDependencies yad case $LANG in pl*) CHOOSE_CONKY="Wybierz Conky" NEW_SESSION="Nowa sesja Conky" RELOAD="Przeładuj Conky" SAVED_SESSIONS="Zachowane sesje" DEFAULT_CONKYRC="Domyślne conkyrc" RUNNING_CONKY="Działające Conky" EDIT_CONKY="Edytuj Conky" CONKY_EDITOR="Wybierz plik Conky do edycji..." NONE="Brak" DEFAULT="Domyślna";; es*) CHOOSE_CONKY="Elegir recuadro Conky" NEW_SESSION="Guardar sesión actual Conky" RELOAD="Recargar recuadros Conky" SAVED_SESSIONS="Sesiones Conky guardadas" DEFAULT_CONKYRC="Archivo conkyrc x defecto" RUNNING_CONKY="Recuadros en ejecución" EDIT_CONKY="Edición manual recuadro" CONKY_EDITOR="Editor de recuadro" NONE="Ninguno" DEFAULT="Default" ;; *) CHOOSE_CONKY="Choose Conky" NEW_SESSION="New Conky session" RELOAD="Reload Conky" SAVED_SESSIONS="Saved sessions" DEFAULT_CONKYRC="Default conkyrc" RUNNING_CONKY="Running Conky" EDIT_CONKY="Edit Conky" CONKY_EDITOR="Conky Editor" NONE="None" DEFAULT="Default" ;; esac getSessions(){ # read any saved sessions from save-sessions file menuSeparator "$SAVED_SESSIONS" #menuItem "$DEFAULT" "$CSESSION $CSESSIONFILE" if [ -e "$SESSIONS" ] then while read -r session ;do [[ -z $session ]] && continue # skip if line is blank menuItem "$session" "$CSESSION $session" done < "$SESSIONS" else echo "$0: Failed to locate saved-sessions in $CONKYPATH" >&2 fi } loadChooserMenu(){ if type "$CZEN" &>/dev/null;then # mb-conkyzen script found menuItem "$CHOOSE_CONKY" "$CZEN" fi } loadNewsessionMenu(){ if type "$CZEN" &>/dev/null;then # mb-conkyzen script found menuItem "$NEW_SESSION" "$CZEN -z" fi } loadReloadMenu(){ if type "$CSESSION" &>/dev/null;then # mb-conky-session script found menuItem "$RELOAD" "$CSESSION" fi } loadSavedsessionSubmenu(){ if type "$CSESSION" &>/dev/null;then # mb-conky-session script found menuSubmenu "Sessions" "$SAVED_SESSIONS" getSessions menuSubmenuEnd fi } loadPinMenu(){ if type mb-conkypin &>/dev/null;then menuItem "Ustaw pozycję Conky" "mb-conkypin" menuSeparator fi } loadEditMenu(){ if [[ $(pidof conky) ]];then menuSubmenu "RunningConky" "$RUNNING_CONKY" menuSeparator "$RUNNING_CONKY" while read -r session ;do # get running conkys from sessionfile [[ -z $session ]] && continue CPATH=$(echo "$session" | awk '{print $3}') CONKY=$(echo "$CPATH" | awk -F"/" '{print $(NF-1)"/"$NF }') menuItem "$CONKY" "xdg-open $CPATH" done < "$CSESSIONFILE" menuSubmenuEnd else menuItem "$NONE" fi } getConkys(){ menuSubmenu "EditConky" "$EDIT_CONKY" menuSeparator "$EDIT_CONKY" if type mb-conkyedit &>/dev/null;then # mb-conkyedit script found menuItem "$CONKY_EDITOR" "mb-conkyedit" loadEditMenu else loadEditMenu fi menuSubmenuEnd } checkHelpfile(){ DLG="yad --text-info --center --borders=20 \ --title='BunsenLabs Conky Manager Help' \ --window-icon=distributor-logo-bunsenlabs \ --filename=$HELPFILE --fontname=Monospace \ --width=650 --height=700 \ --button=OK:0" if [[ -e $HELPFILE ]];then menuItem "Pomoc do Conky Manager" "$DLG" fi } menuStart "Conkymenu" "Conky" menuSeparator "Conky" loadChooserMenu loadReloadMenu getConkys menuSeparator #loadPinMenu loadNewsessionMenu loadSavedsessionSubmenu #menuSeparator #checkHelpfile menuEnd