Remova “Link to” do nome de exibição do arquivo .desktop

1

No firefox, se eu destacar o endereço e arrastá-lo para a área de trabalho, será criado um arquivo .desktop com links para essa página. O nome tem o formulário "Link para ...". Existe uma configuração para se livrar da parte "Link para"?

EDITAR: Para esclarecer, gosto de arrastar links de páginas da Web para a área de trabalho (ou outro diretório) onde um arquivo .desktop é criado. No entanto, não gosto do esquema de nomenclatura "Link para ...". Percebo que poderia renomear os arquivos como um segundo passo, mas estou perguntando se há uma maneira de evitar esse passo.

    
por CrazyApe84 16.09.2015 / 22:07

1 resposta

1

A nomenclatura é provavelmente codificada no nautilus e difícil de mudar.

O que pode ser feito, no entanto, é para corrigi-lo automaticamente, sem qualquer ação do seu lado, ou com uma tecla de atalho. A única limitação é que ele funcionaria com um conjunto específico de diretórios, como a área de trabalho e um número arbitrário de diretórios adicionais (de sua escolha).

torna-seautomaticamente:

Oquefaz

Asoluçãopropostaé,àsuaescolha:

  • umscriptdesegundoplano,procurandoautomaticamenteporarquivos" .desktop " com nome "defeituoso" e renomeá-los imediata e automaticamente, ou:
  • um script, chamado por uma combinação de teclas de atalho, fazendo exatamente o mesmo, mas somente sempre que você pressionar a (s) tecla (s)

O script; versão de fundo

Eu testei o script na carga do processador, e não consegui perceber nenhuma atividade extra (usando o monitor do sistema) em meu sistema de idosos (pelo menos 6-7 anos de idade).

Versão em segundo plano

#!/usr/bin/env python3
import time
import os
import sys

dirs = sys.argv[1:]
# ---you might need to edit the string below to your local (language) version
edit_out = "Link to"
# ---

def edit_link(dr, newfiles):
    for f in newfiles:
        file = dr+"/"+f; text = open(file).read().splitlines()
        for i, l in enumerate(text):
            if all([l.startswith("Name="), edit_out in l]):
                text[i] = text[i].replace(edit_out+" ", "")
                open(file, "wt").write("\n".join(text))

files1 = []
while True:
    time.sleep(2)
    for dr in dirs:
        files2 = os.listdir(dr)
        newfiles = [f for f in files2 if all([not f in files1, f.endswith(".desktop")])]
        edit_link(dr, newfiles)
        files1 = files2
  1. Copie em um arquivo vazio
  2. Salvar como rename_links.py
  3. Altere, se necessário, na linha:

    edit_out = "Link to"
    

    a string "Link to" pela string localizada em seu idioma ( "Verwijzing naar" em holandês)

  4. Teste - execute-o pelo comando:

    python3 /path/to/rename_links.py <directory_1> <directory_2> (etc.)
    

    onde você pode adicionar quantos diretórios desejar (use aspas se o diretório contiver espaços)

  5. Se tudo funcionar bem, adicione-o aos seus aplicativos de inicialização: Dash > Aplicativos de inicialização > Adicione o comando:

    python3 /path/to/rename_links.py <directory_1> <directory_2>
    

Versão de atalho

#!/usr/bin/env python3
import os
import sys

dirs = sys.argv[1:]
edit_out = "Link to"

def edit_link(dr):
    files = os.listdir(dr)
    for f in files:
        if f.endswith(".desktop"):
            file = dr+"/"+f; text = open(file).read().splitlines()
            for i, l in enumerate(text):
                if all([l.startswith("Name="), edit_out in l]):
                    text[i] = text[i].replace(edit_out+" ", "")
                    open(file, "wt").write("\n".join(text))

for dr in dirs:
    edit_link(dr)

A configuração é exatamente igual à versão em segundo plano, além de [5.] :

  1. Se tudo funcionar bem, adicione o script a uma tecla de atalho: escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:

    python3 /path/to/rename_links.py <directory_1> <directory_2>
    

Explicação

O nome, como aparece na sua área de trabalho, não é o arquivo -name, mas o nome, conforme definido na linha Name= do arquivo .desktop .

O script examina possíveis arquivos .desktop nos diretórios usados como argumento. Se encontrar uma linha, começando com Name=Link to , ela substitui (remove) Link to + um espaço, renomeando efetivamente o nome visível do inicializador em sua área de trabalho.

Editar

Procurando uma solução "nativa", experimentei o Deskcut do Mozilla veja o que faz com o nome do link. Em ambos os dias 14.04 e 15.04, não fez nada

.

    
por Jacob Vlijm 17.09.2015 / 17:22