Como definir o programa padrão para abrir um determinado tipo de arquivo em uma determinada pasta?

21

Além de ser um Panda, eu também sou um artista. Faço minha arte principalmente no GIMP e salvo minhas fotos em um determinado diretório no meu computador. No entanto, tenho um pequeno inconveniente porque salvo minhas imagens em jpeg format, no entanto, o programa padrão para abrir jpeg s é o Image Viewer e, se eu alterá-lo para GIMP para conveniência com meu trabalho artístico, significa que todos os outros jpeg s no meu computador abrem em GIMP , e eu não os quero, então é aí que o problema começa ...

Então, estou pensando se há alguma maneira de fazer com que todos os jpeg s abertos nesse determinado diretório em meu computador sejam abertos em GIMP , mas todos os outros jpeg s em outro local sejam abertos no Image Viewer ?

    
por Great Uncle Bulgaria 28.12.2015 / 13:17

1 resposta

21

Você precisa de um arquivo desktop e um script de wrapper:

  1. O arquivo desktop

    • Crie um arquivo da área de trabalho

      nano ~/.local/share/applications/jpeg-wrapper.desktop
      
    • Adicione a configuração abaixo (altere a propriedade para Name )

      [Desktop Entry]
      Name=Special or Standard
      Comment=Open a JPEG depending of the path
      Exec=/home/user/bin/jpeg-wrapper %f
      Icon=
      Terminal=false
      Type=Application
      Categories=Editor;
      StartupNotify=true
      MimeType=image/jpeg;
      
    • Substitua user em Exec=/home/user/bin/jpeg-wrapper %f pelo seu nome de usuário, a saída de

      echo $USER
      
    • Substitua o nome do ícone em Icon= por um nome ou caminho de sua preferência

    • Use MimeType=image/jpeg para especificar os tipos de arquivos mímicos para os quais a decisão deve ser aplicada. Separe vários tipos de mime via ;

      Obtenha o tipo MIME via

      mimetype your_file
      

      por exemplo. para um arquivo de texto

      text/plain
      
  2. O script de wrapper

    • Crie um novo script

      mkdir -p ~/bin
      nano ~/bin/jpeg-wrapper
      
    • Adicione o código abaixo

        
      #!/usr/bin/env bash
      image_path=$(dirname "")
      my_special_path="$HOME/tmp"
      open_with_special="gimp"
      open_with_standard="eog"
      
      if [[ $(mimetype -b "") == "image/jpeg" ]] && [[ "$image_path" == "$my_special_path"* ]]; then
              "$open_with_special" ""
      else
              "$open_with_standard" ""
      fi
      
    • Altere my_special_path para a sua pasta artwork . Todas as subpastas também são consideradas.

    • Altere open_with_special para seu aplicativo especial (por exemplo, gimp )

    • Torne seu script de wrapper executável

      chmod +x ~/bin/jpeg-wrapper
      
  3. Reinicie o Unity / GNOME Shell, para o GNOME Shell, por exemplo. Alt - F2 , digite r e Digite

  4. Associe um ou mais tipos de arquivo ao arquivo da área de trabalho

    • Abra o gerenciador de arquivos e clique com o botão direito do mouse em um arquivo cuja decisão é aplicar

    • Clique em Propriedades

    • Ative a aba Abrir com

    • Selecione a entrada Especial ou Padrão

    • Clique em Definir como padrão

  5. Aproveite ;)

Script marcado aqui .

    
por A.B. 28.12.2015 / 14:20