Crie arquivos da área de trabalho com capacidade de vinho com argumento de arquivo opcional

0

Estou usando o MS Office 2007 via Wine / PoL e criei os arquivos da área de trabalho para eles assim:

Para começar:

[Desktop Entry]
Encoding=UTF-8
Name=Word 2007
GenericName=Game
Comment=PlayOnLinux
Type=Application
Exec=/usr/share/playonlinux/playonlinux --run "Microsoft Word 2007"
Icon=/home/sebastian/.PlayOnLinux//icones/full_size/Word 2007
Categories=Office;

Para a abertura de arquivos: ( z: é o link do vinho para / )

[Desktop Entry]
Encoding=UTF-8
Name=Mit Word 2007 öffnen
GenericName=Game
Comment=PlayOnLinux
Type=Application
Exec=/usr/share/playonlinux/playonlinux --run "Microsoft Word 2007" z:%f
Icon=/home/sebastian/.PlayOnLinux//icones/full_size/Word 2007
Categories=Office;

No entanto, o atalho de abertura de arquivo não aceita arquivos com espaços (eles são substituídos por %20 ).

Agora, quero mesclar esses dois arquivos em um, que deve iniciar o Word e, se fornecido, abrir um documento, que pode conter espaços.

Como faço isso?

    
por s3lph 28.01.2014 / 14:40

1 resposta

0

Eu encontrei uma solução para mim mesmo. Eu criei o seguinte script:

#!/bin/bash
if [ "$2" != "" ]
 then
  mode="open"
  DATA="file:///Z:$2"
  DATA=${DATA// /%20}
else
  mode="noopen"
fi
case $1 in
  winword)
    if [ $mode == "open" ]
    then
      /usr/share/playonlinux/playonlinux --run "Microsoft Word 2007" "$DATA"
    else
      /usr/share/playonlinux/playonlinux --run "Microsoft Word 2007"
    fi
  ;;
  excel)
    if [ $mode == "open" ]
    then
      /usr/share/playonlinux/playonlinux --run "Microsoft Excel 2007" "$DATA"
    else
      /usr/share/playonlinux/playonlinux --run "Microsoft Excel 2007"
    fi
  ;;
  pwrpoint)
    if [ $mode == "open" ]
    then
      /usr/share/playonlinux/playonlinux --run "Microsoft Powerpoint 2007" "$DATA"
    else
      /usr/share/playonlinux/playonlinux --run "Microsoft Powerpoint 2007"
    fi
  ;;
  *)
    exit
  ;;
esac

Converte o nome do arquivo em um URL ( file:///Z:/home/sebastian/Documents/test.docx ). Ele também determina se é necessário fornecer um segundo argumento ou não, portanto, o Office não informará File "Z:" not found .

Os lançadores se parecem com isso agora: (este por palavra)

[Desktop Entry]
Encoding=UTF-8
Name=Word 2007
GenericName=Word Processor
Comment=PlayOnLinux
Type=Application
Exec=/home/sebastian/.PlayOnLinux//wineprefix/Office2007/MSOfficeExecutor.sh winword %f
Icon=/home/sebastian/.PlayOnLinux//icones/full_size/Word 2007
Categories=Office;
    
por s3lph 04.05.2014 / 18:15