#!/usr/bin/env bash #shellcheck disable=SC2155,SC2034,SC1135 #shellcheck source=/dev/null # /usr/share/bigbashview/bcc/apps/big-restore-config/index.sh.htm # Description: Restore Settings to help usage of BigLinux # # Created: 2020/09/01 # Altered: 2024/11/17 - 11:38:01 -04 # # Copyright (c) 2023-2024, Vilmar Catafesta # 2020-2023, Bruno Gonçalves # 2020-2023, Rafael Ruscher # 2020-2023, eltonff # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. APP="${0##*/}" _DATE_ALTERED_='17-11-2024 - 11:38' _VERSION_="1.0.0-20241117" _HTML_VERSION_="${_VERSION_} - ${_DATE_ALTERED_}" _UPDATED_="${_DATE_ALTERED_}" export BOOTLOG="/tmp/big-config-$USER-$(date +"%d%m%Y").log" export LOGGER='/dev/tty8' export HOME_FOLDER="$HOME/.big-config" export TMP_FOLDER="/tmp/big-config-$USER" export INI_FILE_BIG_CONFIG="$HOME_FOLDER/big-config.ini" LIBRARY=${LIBRARY:-'/usr/share/bigbashview/bcc/shell'} [[ -f "${LIBRARY}/bcclib.sh" ]] && source "${LIBRARY}/bcclib.sh" [[ -f "${LIBRARY}/tinilib.sh" ]] && source "${LIBRARY}/tinilib.sh" [[ -f "${LIBRARY}/bcfglib.sh" ]] && source "${LIBRARY}/bcfglib.sh" function sh_bcfg_config() { #Translation export TEXTDOMAINDIR="/usr/share/locale" export TEXTDOMAIN=biglinux-config declare -gA aMenu=( [TITLE]="$(gettext "Big-Restore-Config - Restaurar Configurações de Aplicativos")" [Principais]="$(gettext "Principais")" [Internet]="$(gettext "Internet")" [Multimidia]="$(gettext "Multimídia")" [Graficos]="$(gettext "Gráficos")" [Escritorio]="$(gettext "Escritório")" [Musicas]="$(gettext "Músicas")" [Sistema]="$(gettext "Sistema")" [Terminal]="$(gettext "Terminal")" [FileManager]="$(gettext "Gerenciador de Arquivos")" [Sobre]="$(gettext "Sobre")" [Aplicativo_Not_Installed]="$(gettext "Aplicativo não está instalado")" [Restaurar_Clique_Escolher]="$(gettext "Clique para escolher modo de restauração das configurações do aplicativo")" [Restaurar_padrao_programa]="$(gettext "Restaurar as configurações no modo padrão do aplicativo")" [Restaurar_padrao_distro]="$(gettext "Restaurar as configurações no modo padrão da distribuição")" [Restaurar_padrao_biglinux]="$(gettext "Restaurar as configurações no modo padrão da distribuição BigLinux")" [Sim]="$(gettext "Sim")" [Nao]="$(gettext "Não")" [OK]="$(gettext "OK")" [Cancelar]="$(gettext "Cancelar")" [Em_qual_modo_você_deseja_restaurar]="$(gettext "Em qual modo você deseja restaurar?")" [Pesquisar]="$(gettext "Pesquisar aplicativo")" [Confirma]="$(gettext "Você tem certeza que deseja restaurar todas as configurações?")" ) declare -gA Afinish=( [finish-erro]="$(gettext "Houve erro na restauração das configurações")" [sucesso]="$(gettext "As configurações foram restauradas com sucesso!")" [sucesso_DE1]="$(gettext "As configurações do")" [sucesso_DE2]="$(gettext "foram restauradas com sucesso!")" [sucesso_KDE]="$(gettext "As configurações do BigLinux KDE foram restauradas com sucesso!")" [sucesso_XFCE]="$(gettext "As configurações do BigLinux XFCE foram restauradas com sucesso!")" [reiniciar_sessao]="$(gettext "É necessário reiniciar a sessão para concluir a restauração!")" [sair_sessao]="$(gettext "Sair da sessão")" [app_em_execucao]="$(gettext "Atenção! O programa está em execução!")" [app_on_close]="$(gettext "Será fechado para que a restauração seja concluída.")" [erase_all]="$(gettext "Isso apagará todas as customizações feitas por")" [prosseguir]="$(gettext "Prosseguir?")" ) # O array associa o nome do aplicativo a uma série de informações/campos separadas por | (barra vertical). # [brave]="Star|/usr/lib/brave-browser/brave|icons/brave.png|modal_1|Brave|sh_reset_brave" # Vou desmembrar as informações/campos: # [brave]: Chave do array associativo, indicando o nome do aplicativo. # Valor associado à chave "brave": # "Star|/usr/lib/brave-browser/brave|icons/brave.png|modal_1|Brave|sh_reset_brave" # Este valor contém várias informações separadas por |. # campo1 - classe : Classe do aplicativo. # campo2 - /usr/lib/brave-browser/brave : Caminho para o executável do aplicativo Brave. # campo3 - icons/brave.png : Caminho para o ícone do aplicativo. # campo4 - modal_1 : informação relacionada a um modal. # campo5 - Brave : Nome do aplicativo. # campo6 - sh_reset_brave : Nome de um arquivo ou script sh associado. # campo7 - Texto (opcional) : Subtitulo (se houver). declare -gA AFullNameApp=( [brave1]="Star|/usr/lib/brave-browser/brave|icons/brave.png|modal_1|Brave|sh_reset_brave" [firefox1]="Star|/usr/lib/firefox/firefox|icons/firefox.png|modal_11|Firefox|sh_reset_firefox" [dolphin1]="Star|/usr/bin/dolphin|icons/dolphin.png|modal_3|Dolphin|sh_reset_dolphin" [kate1]="Star|/usr/bin/kate|icons/kate.png|modal_4|Kate|sh_reset_kate" [lowriter2]="Star|/usr/bin/lowriter|icons/libreoffice.png|modal_17|LibreOffice|sh_reset_libreoffice" [chrome]="Star|/opt/google/chrome/google-chrome|icons/chrome.png|modal_13|Google Chrome|sh_reset_chrome" [nemo1]="Star|/usr/bin/nemo|icons/nemo.svg|modal_29|Nemo|sh_reset_nemo" [brave2]="Internet|/usr/lib/brave-browser/brave|icons/brave.png|modal_1|Brave|sh_reset_brave" [firefox2]="Internet|/usr/lib/firefox/firefox|icons/firefox.png|modal_2|Firefox|sh_reset_firx" [chromium]="Internet|/usr/lib/chromium/chromium|icons/chromium.png|modal_7|Chromium|sh_reset_chromium" [qbittorrent]="Internet|/usr/bin/qbittorrent|icons/qbittorrent.png|modal_19|qBittorrent|sh_reset_qbittorrent" [chrome2]="Internet|/opt/google/chrome/google-chrome|icons/chrome.png|modal_13|Google Chrome|sh_reset_chrome" [palemoon]="Internet|/usr/lib/palemoon/palemoon|icons/palemoon.svg|modal_25|Palemoon|sh_reset_palemoon" [dolphin2]="System|/usr/bin/dolphin|icons/dolphin.png|modal_10|Dolphin|sh_reset_dolphin" [nautilus1]="System|/usr/bin/nautilus|icons/nautilus.svg|modal_26|Nautilus|sh_reset_nautilus" [nemo2]="System|/usr/bin/nemo|icons/nemo.svg|modal_29|Nemo|sh_reset_nemo" [kate2]="Office|/usr/bin/kate|icons/kate.png|modal_4|Kate|sh_reset_kate" [lowriter]="Office|/usr/bin/lowriter|icons/libreoffice.png|modal_17|LibreOffice|sh_reset_libreoffice" [okular]="Office|/usr/bin/true|icons/okular.png|modal_18|Okular|sh_reset_okular" [smplayer]="Multimedia|/usr/bin/smplayer|icons/smplayer.png|modal_20|$(gettext "Vídeos")|sh_reset_smplayer|(Smplayer)" [mystiq]="Multimedia|/usr/bin/mystiq|icons/mystiq.png|modal_22|$(gettext "Conversor de áudio e vídeo")|sh_reset_mystiq|(MystiQ)" [vokoscreenNG]="Multimedia|/usr/bin/vokoscreenNG|icons/vokoscreen.png|modal_9|$(gettext "Gravador de Tela")|sh_reset_vokoscreenNG|(vokoscreenNG)" [clementine]="Multimedia|/usr/bin/clementine|icons/clementine.png|modal_8|$(gettext "Músicas")|sh_reset_clementine|(clementine)" [vlc]="Multimedia|/usr/bin/vlc|icons/vlc.png|modal_23|vlc|sh_reset_vlc" [/usr/bin/rhythmbox]="Multimedia|/usr/bin/rhythmbox|icons/Rhythmbox.png|modal_27|Rhythmbox|sh_reset_Rhythmbox" [/usr/bin/parole]="Multimedia|/usr/bin/parole|icons/parole.svg|modal_28|Parole|sh_reset_parole" [inkscape]="Graphic|/usr/bin/inkscape|icons/inkscape.png|modal_21|Inkscape|sh_reset_inkscape" [ksnip]="Graphic|/usr/bin/ksnip|icons/ksnip.png|modal_16|Ksnip|sh_reset_ksnip" [gimp]="Graphic|/usr/bin/gimp|icons/gimp.png|modal_12|Gimp|sh_reset_gimp" [gwenview]="Graphic|/usr/bin/gwenview|icons/gwenview.png|modal_14|Gwenview|sh_reset_gwenview" [ristretto]="Graphic|/usr/bin/ristretto|icons/ristretto.png|modal_27|Ristretto|sh_reset_ristretto" [xfce4-terminal]="Terminal|/usr/bin/xfce4-terminal|icons/xfce4-terminal.svg|modal_28|xfce4-terminal|sh_reset_xfce4_terminal" [bash]="Terminal|/usr/bin/bash|icons/bash.svg|modal_30|bash|sh_reset_bash" [dolphin3]="FileManager|/usr/bin/dolphin|icons/dolphin.png|modal_10|Dolphin|sh_reset_dolphin" [nautilus2]="FileManager|/usr/bin/nautilus|icons/nautilus.svg|modal_26|Nautilus|sh_reset_nautilus" [nemo3]="FileManager|/usr/bin/nemo|icons/nemo.svg|modal_29|Nemo|sh_reset_nemo" ) } function sh_bcfg_start_html() { cat <<-EOF ${aMenu[TITLE]} $(sh_bcfg_getbgcolor)
$(sh_get_de)
$(sh_div_lang)

  • $(gettext "Ambiente"):

        $(gettext "Desktop") : $XDG_CURRENT_DESKTOP
        $(gettext "Sessão") : $XDG_SESSION_TYPE
  • $(gettext "Aplicativo"):

        $(gettext "Nome") : big-restore-config
        $(gettext "Htm versão") : $_HTML_VERSION_
        $(gettext "Lib versão") : $_BCFGLIB_VERSION_
  • $(gettext "Desenvolvedores"):

        2023-2024, Vilmar Catafesta, vcatafesta@gmail.com
        2023-2023, Bruno Gonçalves, biglinux.com.br
        2023-2023, Rafael Ruscher, rruscher@gmail.com
        2020-2023, eltonff, biglinux.com.br
  • $(gettext "Colaboradores"):

        Tales, @talesam
        Narayan, @narayansilva
        Thiago, @thiago_brgs
        Marcelo, @elppans
        Lucas, @luskaedivinsky
EOF } function sh_bcfg_process_de() { local classe="$1" local icon="$2" local titulo="$3" local cmd="$4" local killcmd="$5" cat <<-EOF
${aMenu[Restaurar_padrao_biglinux]}
EOF } function sh_bcfg_process_apps() { local classe local file_path local file_icon local modal local xtitle local cmd local subxtitle local app local IsExist local fullTitle local boxTitle for app in "${!AFullNameApp[@]}"; do IsExist= IFS='|' read -r classe file_path file_icon modal xtitle cmd subxtitle <<< "${AFullNameApp[$app]}" if [[ ! -e "$file_path" ]]; then IsExist='box-not-exist' fullTitle="${aMenu[Aplicativo_Not_Installed]} $xtitle" boxTitle="$xtitle $subxtitle
[${aMenu[Aplicativo_Not_Installed]}]" else fullTitle="${aMenu[Restaurar_Clique_Escolher]} $xtitle" boxTitle="$xtitle $subxtitle" fi cat <<-EOF
${fullTitle}
EOF done } function sh_bcfg_finish_html() { local titulo="$1" cat <<-EOF
EOF } function sh_bcfg_main() { local regex="(XFCE|XFCE4|PLASMA|KDE|GNOME|DDE|CINNAMON)" local current_desktop="$(sh_get_de)" local icon local titulo local cmd local killcmd [[ "${current_desktop^^}" =~ $regex ]] case "${BASH_REMATCH[0]}" in XFCE|XFCE4) icon="icons/xfce.png" cmd="sh_reset_xfce" killcmd='xfce4-session-logout --logout' ;; PLASMA|KDE) icon="icons/kde.png" cmd="sh_reset_kde" killcmd='qdbus org.kde.ksmserver /KSMServer logout 1 0 2' ;; GNOME) icon="icons/gnome.png" cmd="sh_reset_gnome" killcmd='gnome-session-quit --no-prompt' ;; DDE) icon="icons/deepin.svg" cmd="sh_reset_dde" killcmd='dde-session-logout' ;; CINNAMON) icon="icons/cinnamon.svg" cmd="sh_reset_cinnamon" killcmd='cinnamon-session-quit --logout --no-prompt' ;; *) ;; esac titulo="BigLinux $current_desktop" sh_bcfg_start_html sh_bcfg_process_de "Star" "$icon" "$titulo" "$cmd" "$killcmd" sh_bcfg_process_de "System" "$icon" "$titulo" "$cmd" "$killcmd" sh_bcfg_process_apps sh_bcfg_finish_html "$titulo" } #sh_debug sh_bcfg_config sh_bcfg_main "$@"