Big-Store

#!/usr/bin/env bash #shellcheck disable=SC2155,SC2034,SC1135,SC2256 #shellcheck source=/dev/null # /usr/share/bigbashview/bcc/apps/big-store/header.sh.htm # Description: Control Center to help usage of BigLinux # # Created: 2020/11/01 # Altered: 2023/09/25 # # Copyright (c) 2023-2023, Vilmar Catafesta # 2022-2023, Bruno Gonçalves # 2022-2023, Rafael Ruscher # 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##*/}" _VERSION_="1.0.0-20230925" export BOOTLOG="/tmp/bigstore-$USER-$(date +"%d%m%Y").log" export LOGGER='/dev/tty8' export HOME_FOLDER="$HOME/.bigstore" export TMP_FOLDER="/tmp/bigstore-$USER" export INI_FILE_BIG_STORE="$HOME_FOLDER/big-store.ini" LIBRARY=${LIBRARY:-'/usr/share/bigbashview/bcc/shell'} [[ -f "${LIBRARY}/bcclib.sh" ]] && source "${LIBRARY}/bcclib.sh" [[ -f "${LIBRARY}/bstrlib.sh" ]] && source "${LIBRARY}/bstrlib.sh" [[ -f "${LIBRARY}/tinilib.sh" ]] && source "${LIBRARY}/tinilib.sh" function sh_config { #Translation export TEXTDOMAINDIR='/usr/share/locale' export TEXTDOMAIN=big-store declare -g ABOUT_APPSTREAM=$" Programas nativos possuem uma integração mais robusta com o sistema operacional.
Eles passam por extensos testes antes de serem disponibilizados, garantindo uma maior confiabilidade.
Por essas razões, optar por um programa nativo é especialmente recomendado quando o software desejado
está disponível em várias opções de instalação.
" declare -g ABOUT_AUR=$" Programas AUR são scripts criados por usuários
para instalar programas que não estão disponíveis
diretamente nos repositórios nativos do sistema.
Os programas instalados por esse método funcionam
bem, mas não passam pelos mesmos testes feitos
com os programas nativos." declare -g ABOUT_FLATPAK=$" Programas Flatpak, são disponibilizados para todas as
distribuições Linux, geralmente são mantidos pelos próprios
criadores dos programas, porém, não possuem algumas
otimizações e integrações com o sistema, como ocorre com
os programas nativos, essa pode ser uma boa alternativa
para quem tem computadores que possuem boa capacidade
de processamento e armazenamento." declare -g ABOUT_SNAP=$" Programas Snap, assim como o Flatpak
disponibiliza programas para todas as distribuições Linux.
Tende a ser mais pesado e menos integrado ao sistema, mas
se o programa que você procura está disponível apenas neste
formato, utilize-o." declare -g ABOUT_MODE_SIMPLE=$" Exibe apenas programas selecionados
e oculta resultados que são úteis
apenas a usuários avançados." declare -g TYPE_SEARCH=$"Procurar aplicativo" declare -g MODE_SIMPLE=$"Modo Simplificado" declare -g Nativos_text=$"Nativos" declare -g ProgressMessage=$"Aplicando - Aguarde" # declare -g Inicio=$"Início" declare -g Configuracoes=$"Configurações" declare -g Internet=$"Internet" declare -g Escritorio=$"Escritório" declare -g Graficos=$"Gráficos" declare -g Multimidia=$"Multimídia" declare -g Jogos=$"Jogos" declare -g Sistema=$"Sistema" declare -g Desenvolvimento=$"Desenvolvimento" declare -g Sobre=$"Sobre" # declare -g Programas_Nativos=$"Programas Nativos" declare -g Programas_AUR=$"Programas AUR" declare -g Programas_Flatpak=$"Programas Flatpak" declare -g Programas_Snap=$"Programas Snap" declare -g X_Sistema=$"X-Sistema" declare -g Imagem=$"Imagem" declare -g Video=$"Vídeo" declare -g Audio=$"Audio" export appstream_checkbox export aur_checkbox export flatpak_checkbox export snap_checkbox } function sh_refresh_installed_packages { #refrash installed packages #pacman -Qqe > ${TMP_FOLDER}/installed.txt #refrash installed packages AUR # pacman -Qm > ${TMP_FOLDER}/installedAur.txt : } function sh_include_script_pageshow { cat <<-EOF
EOF } function sh_include_style { cat <<-EOF
EOF } function sh_category { declare -g SUB_CATEGORY case "$category" in 3d) SUB_CATEGORY=$"Edição 3D e CAD" ;; audioplayer) SUB_CATEGORY=$"Reprodutores de áudio" ;; audioconvert) SUB_CATEGORY=$"Gravadores e conversores de áudio" ;; audioeditor) SUB_CATEGORY=$"Editores de áudio" ;; book) SUB_CATEGORY=$"Visualizadores de PDF, Epub, e-books e mais" ;; browser) SUB_CATEGORY=$"Navegadores" ;; calendar) SUB_CATEGORY=$"Agenda de tarefas e contatos" ;; cloud) SUB_CATEGORY=$"Armazenamento nas nuvens" ;; deveditor) SUB_CATEGORY=$"Editores de código e IDE" ;; devbd) SUB_CATEGORY=$"Banco de dados" ;; devgames) SUB_CATEGORY=$"Criadores de jogos" ;; devwebserver) SUB_CATEGORY=$"Servidores WEB" ;; download) SUB_CATEGORY=$"Download" ;; dvd) SUB_CATEGORY=$"Gravadores e copiadores de CD e DVD" ;; fonts) SUB_CATEGORY=$"Fontes (Tipografia)" ;; gamearcade) SUB_CATEGORY=$"Ação/Arcade" ;; gameboard) SUB_CATEGORY=$"Tabuleiro" ;; gamecard) SUB_CATEGORY=$"Cartas" ;; gameeducational) SUB_CATEGORY=$"Educacional" ;; gameemulator) SUB_CATEGORY=$"Emuladores" ;; gamemanager) SUB_CATEGORY=$"Gerenciadores de jogos" ;; gamepuzzle) SUB_CATEGORY=$"Puzzles" ;; gameretroarch) SUB_CATEGORY=$"Emulador Retroarch" ;; gamerpg) SUB_CATEGORY=$"RPG" ;; gamestrategy) SUB_CATEGORY=$"Estratégia" ;; gameutility) SUB_CATEGORY=$"Utilitários para jogos" ;; imageconvert) SUB_CATEGORY=$"Converter, redimensionar ou compactar imagens" ;; imageditor) SUB_CATEGORY=$"Editores de imagem e ferramentas de desenho" ;; imageplayer) SUB_CATEGORY=$"Visualizadores de imagem" ;; javajar) SUB_CATEGORY=$"Java JRE" ;; mail) SUB_CATEGORY=$"E-mail" ;; messages) SUB_CATEGORY=$"Mensageiros e Conferências" ;; network) SUB_CATEGORY=$"Ferramentas de rede" ;; news) SUB_CATEGORY=$"Notícias, Feeds e RSS" ;; office) SUB_CATEGORY=$"Suíte Office" ;; pdf) SUB_CATEGORY=$"Editores de PDF" ;; radio) SUB_CATEGORY=$"Rádio online" ;; remote) SUB_CATEGORY=$"Acesso Remoto, FTP, SSH, VNC, RDP..." ;; screenshot) SUB_CATEGORY=$"Captura de tela (Screenshot)" ;; storage) SUB_CATEGORY=$"Armazenamento e partições" ;; torrent) SUB_CATEGORY=$"Compartilhadores e Torrent" ;; videoplayer) SUB_CATEGORY=$"Reprodutores de vídeo" ;; videostream) SUB_CATEGORY=$"Vídeo online, IPTV, Youtube..." ;; videoeditor) SUB_CATEGORY=$"Editores e compactadores de vídeo" ;; virtualization) SUB_CATEGORY=$"Virtualização" ;; webcam) SUB_CATEGORY=$"Webcam, gravação de tela e transmissão de vídeo" ;; esac } function sh_include_div_he { if sh_lang_he; then echo '
' else echo '
' fi } # Carrega o tema e arquivos essenciais function sh_header_sh_htm_main { cat <<-EOF
$(sh_include_script_pageshow)
$(sh_include_style)
$ProgressMessage ...
$(sh_getbgcolor)
EOF # Save search query search="${search//+/ }" echo "$search" >"${TMP_FOLDER}/query.txt" if [[ -n "$search" ]]; then if [[ -n "$resultFilter_checkbox" ]]; then echo "" >"$HOME_FOLDER/resultFilter" else [[ -e "$HOME_FOLDER/resultFilter" ]] && rm -f "$HOME_FOLDER/resultFilter" fi else if [ -e "$HOME_FOLDER/resultFilter" ]; then resultFilter_checkbox="checked" fi fi cat <<-EOF
$MODE_SIMPLE
EOF #APPSTREAM if [[ -e "$HOME_FOLDER/hide_appstream" ]]; then appstream_checkbox="" if [[ "$appstream_change" = "y" ]]; then rm -f "$HOME_FOLDER/hide_appstream" appstream_checkbox="checked" fi else appstream_checkbox="checked" if [[ "$appstream_change" = "y" ]]; then echo "" >"$HOME_FOLDER/hide_appstream" appstream_checkbox="" fi fi #AUR if [[ -e "${HOME_FOLDER}/hide_aur" ]]; then aur_checkbox="" if [ "$aur_change" = "y" ]; then rm -f "$HOME_FOLDER/hide_aur" aur_checkbox="checked" fi else aur_checkbox="checked" if [ "$aur_change" = "y" ]; then echo "" >"${HOME_FOLDER}/hide_aur" aur_checkbox="" fi fi #FLATPAK if TIni.Exist "$INI_FILE_BIG_STORE" "flatpak" "flatpak_active" '1' && [[ -e "/usr/lib/libpamac-flatpak.so" ]]; then if TIni.Exist "$INI_FILE_BIG_STORE" "flatpak" "flatpak_hide" '1'; then flatpak_checkbox="" if [[ "$flatpak_change" = "y" ]]; then TIni.Set "$INI_FILE_BIG_STORE" "flatpak" "flatpak_hide" '0' flatpak_checkbox="checked" fi else flatpak_checkbox="checked" if [[ "$flatpak_change" = "y" ]]; then TIni.Set "$INI_FILE_BIG_STORE" "flatpak" "flatpak_hide" '1' flatpak_checkbox="" fi fi else DISABLE_FLATPAK="y" fi #SNAP if TIni.Exist "$INI_FILE_BIG_STORE" "snap" "snap_active" '1' && [[ -e "/usr/lib/libpamac-snap.so" ]]; then if TIni.Exist "$INI_FILE_BIG_STORE" "snap" "snap_hide" '1'; then snap_checkbox="" if [[ "$snap_change" = "y" ]]; then TIni.Set "$INI_FILE_BIG_STORE" "snap" "snap_hide" '0' snap_checkbox="checked" fi else snap_checkbox="checked" if [[ "$snap_change" = "y" ]]; then TIni.Set "$INI_FILE_BIG_STORE" "snap" "snap_hide" '1' snap_checkbox="" fi fi else DISABLE_SNAP="y" fi cat <<-EOF $(sh_div_lang)
$(sh_include_div_he)
EOF if sh_lang_he; then cat <<-EOF
EOF sh_category if [[ -n "$SUB_CATEGORY" ]]; then cat <<-EOF
$SUB_CATEGORY
EOF fi # Verifica que alguma palavra foi digitada na busca if [ "${#search}" -ge "2" ]; then if [[ "$appstream_checkbox" = "checked" ]]; then APPSTREAM_CATEGORY "${search,,}" fi if [[ "$aur_checkbox" = "checked" ]]; then AUR_CATEGORY "${search,,}" fi if [[ "$flatpak_checkbox" = "checked" ]]; then FLATPAK_CATEGORY "${search,,}" fi if [[ "$snap_checkbox" = "checked" ]]; then SNAP_CATEGORY "${search,,}" fi fi } #sh_debug sh_config sh_refresh_installed_packages sh_header_sh_htm_main