Atualização dos Menus do Wine

Publicado por Rafael em 08/10/2017

[ Hits: 2.029 ]

 


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

HD externo em EXT4 com a praticidade da NTFS - FUSB

Descobrir o MAC address de um IP com arping

Problema ao criar scripts com Kommander 1.3 no Slackware Linux?

Configuração de placas de vídeo nVidia através do module assistant

Bloquear mais de uma execução simultânea do script (bash)

  

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