Atualização dos Menus do Wine

Publicado por Rafael em 08/10/2017

[ Hits: 2.183 ]

 


Atualização dos Menus do Wine



Saudações, amigos!

Wine é uma mão na roda e funciona bem na maioria dos casos, se você o usa, provavelmente já deve ter presenciado algum problema com seu menu, costuma acontecer quando removemos algum programa e ele insiste em permanece na lista, ou também, por vezes, novos programas não aparecem no menu.

Esta dica pode ser útil, executando este script será apagado todo o menu e gerado um novo a partir dos programas instalados no Wine. Um detalhe é importante, mudar as variáveis "wine" e "rm", caso estes estejam em caminhos diferentes do padrão.

#!/bin/sh

wine="wine"
rm="/bin/rm"

iterate_start_menu ()
{
 local menu_dir
 local oldIFS
 menu_dir=$1
# don't use space as field-separator otherwise "paths with spaces" will fail to parse correctly
 oldIFS=$IFS
 IFS=?
 echo "menu_dir=${menu_dir}"
# add a trailing slash to the directory name, then the glob wildcard
 for entry in ${menu_dir}/*; do
  if [ -f "$entry" ]; then
   echo "Link: $entry";
    "$wine" winemenubuilder "$entry" 2>/dev/null
  elif [ -d "$entry" ]; then
   echo "Directory: $entry";
   iterate_start_menu "$entry"
  else
   echo "Empty: $entry";
  fi
 done

 IFS=$oldIFS
}

# Delete current user-defined wine menus
"$rm" -f $HOME/.config/menus/applications-merged/wine*
"$rm" -rf $HOME/.local/share/applications/wine

# Rebuild Start Menu for all prefixes starting with ".wine-" or ".wine" itself
for prefix in "$HOME/".wine-* "$HOME/".wine; do
 WINEPREFIX="$prefix"
 export WINEPREFIX
# do not use a trailing / at the end of the directory name
 iterate_start_menu "${WINEPREFIX}/drive_c/windows/profiles/*/Start Menu"
done

##Finalizar a atualização
export WINEPREFIX="$prefix"; find $WINEPREFIX/drive_c/ -name "*.lnk" -exec wine winemenubuilder '{}' \;

Fonte: WineHQ Forums • View topic - Wine menus - rebuilding, deleting

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Comando sed para formatar datas

Ordenando strings em shell script

Comando para mostrar o IP utilizado na Internet

Livros de shell script (um é grátis)

LibreOffice - Acessando arquivos recentes pelo Unity Launcher

  

Comentários
[1] Comentário enviado por rahremix em 11/10/2017 - 16:03h

Já tive esse problema, porém, por não ser nada de muito sério, nunca procurei uma solução.
Obrigado por compartilhar, assim que chegar em casa arrumo meu menu do wine ;-)

------------------------------------------------------------------------------------------------------
http://www.gnu.org/philosophy/free-software-even-more-important.pt-br.html

[2] Comentário enviado por maurixnovatrento em 30/11/2020 - 21:26h


Muito bom.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts