Criando um editor dependente de tamanho de arquivo (para o mesmo tipo MIME)

6

Eu tenho alguns arquivos muito grandes na minha unidade como dados. Meu editor padrão é o gedit. Gostaria de saber se posso mudar meu editor padrão para algo como o glogg, para arquivos acima de um certo limite de tamanho. Ou seja, posso escolher meu aplicativo padrão dependendo do tamanho do arquivo, até mesmo os arquivos são do mesmo formato?

    
por user35952 28.09.2015 / 14:15

1 resposta

2

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/wrapper.desktop
      
    • Adicione a configuração abaixo

      [Desktop Entry]
      Name=File size dependent editor
      Comment=File size dependent editor
      Exec=/home/user/bin/wrapper %f
      Icon=gedit
      Terminal=false
      Type=Application
      Categories=Editor;
      StartupNotify=true
      MimeType=text/plain;
      
    • Substitua user em Exec=/home/user/bin/wrapper %f pelo seu nome de usuário, a saída de

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

    • Use MimeType=text/plain 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
      
    • Se você quiser usar um editor com uma CLI, como nano, em vez de substituir false em Terminal=false com true

  2. O script de wrapper

    • Crie um novo script

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

      #!/usr/bin/env bash
      LARGE_FILE_EDITOR="glogg"
      SMALL_FILE_EDITOR="gedit"
      
      MAX_SMALL_FILE_SIZE=1000000
      
      FILESIZE=$(stat -c%s "")
      
      if [ "$FILESIZE" -le $MAX_SMALL_FILE_SIZE ]; then
              "$SMALL_FILE_EDITOR" ""
      else
              "$LARGE_FILE_EDITOR" ""
      fi
      exit 0
      
    • Defina seu editor para arquivos grandes em LARGE_FILE_EDITOR , por exemplo glogg

    • Defina seu editor para arquivos pequenos em SMALL_FILE_EDITOR , por exemplo gedit

    • Defina o tamanho máximo de arquivo para o $SMALL_FILE_EDITOR em MAX_SMALL_FILE_SIZE , por exemplo 1000000 para 1MB

    • Torne seu script de wrapper executável

      chmod +x ~/bin/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 wrapper

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

    • Clique em Abrir com outro aplicativo

    • Clique no botão Visualizar todos os aplicativos

    • Selecione a entrada Editor dependente do tamanho do arquivo

  5. Aproveite ;)

por A.B. 28.09.2015 / 18:26