ícone personalizado no menu “Lugares”

6

Sou muito novo no Ubuntu, mas conheço o básico.

Eu li o "Como faço para mudar os ícones das pastas no menu "Places"? " mas não ajudou, fiz a opção # 2 já que eu quero especificá-lo para um único diretório (por enquanto).

Então, o que devo fazer?

Eu tenho a imagem da pasta como SVG em:

  • /usr/share/icons/hicolor/scalable/apps/
  • /usr/share/icons/hicolor/scalable/places/

A imagem que quero usar:

e onde eu quero:

    
por Gurnarok 09.03.2011 / 09:48

1 resposta

10

Os ícones de favoritos que aparecem no menu de locais não podem ser alterados veja: link

Mas, como você pode ver as pastas de usuários como Vídeos e Imagens têm um ícone diferente, isso ocorre porque o menu de locais só olha para o atributo padrão :: icon: enquanto a personalização de um ícone apenas muda os metadados :: custom- ícone: atributo. Não há nenhuma maneira que eu encontrei para mudar o padrão: icon: atributo. Esse atributo, em uma pasta "normal", sempre será o mesmo.

Uma solução alternativa que eu usei é alterar o diretório de uma pasta de usuário (que não uso) para o diretório da pasta cujo ícone deve ser alterado e, depois disso, substituir os arquivos de ícone desse usuário pasta.

etapa 1)

A alteração do diretório de uma pasta de usuário pode ser feita editando o arquivo ~ / .config / user-dirs.dirs. Você pode abri-lo digitando a seguinte linha em uma janela de terminal:

gedit .config/user-dirs.dirs

Ou navegando para sua pasta pessoal, pressione Ctrl + H, procure pela pasta .config e abra o arquivo user-dirs.dirs a partir dali.

A saída desse arquivo será algo assim:

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_VIDEOS_DIR="$HOME/Videos"
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PICTURES_DIR="$HOME/Pictures"

Observação: antes de começar a editar este arquivo, faça um backup salvando-o com um nome como user-dirs.dirs.bak

Neste arquivo, você pode alterar o diretório de suas pastas de usuários. Por exemplo, se você quiser alterar o diretório da sua pasta Public para o diretório da sua pasta do Dropbox, altere a linha:

XDG_PUBLICSHARE_DIR="$HOME/Public"

para:

XDG_PUBLICSHARE_DIR="$HOME/Dropbox"

(assumindo que sua pasta do Dropbox está localizada em seu diretório pessoal)

Depois de ter feito isso, você notará que sua pasta do Dropbox (se você estiver usando o tema Ambiance) ficará assim:

E depois de marcá-lo como favorito, arrastando-o para sua barra lateral no nautilus, ele aparecerá em seu menu de lugares assim:

Se este não for o caso, tente atualizar sua janela pressionando Ctrl + R ou F5, se ainda não estiver funcionando, verifique o arquivo users-dirs.dirs para quaisquer erros que você possa ter cometido.

etapa 2)

Embora este seja um ícone muito bom, não é o que você queria usar. Você precisa substituir os ícones da pasta do usuário por seus próprios. Os ícones para a pasta do usuário public são denominados "folder-publicshare.svg" e podem ser encontrados em:

/usr/share/icons/Humanity/places/16/
/usr/share/icons/Humanity/places/22/
/usr/share/icons/Humanity/places/24/
/usr/share/icons/Humanity/places/32/
/usr/share/icons/Humanity/places/48/
/usr/share/icons/Humanity/places/64/

Porque eu estava entediado eu fiz um script bash para tornar isso fácil para você

#!/bin/bash
i=0
for d in 'ls -d */'
do cp  $d
echo copying  to $d
let i++
done
echo "The file  was copied to a total of $i locations"

Você pode copiar isso em um editor de texto como o gedit e salvá-lo em sua pasta pessoal com o nome copy.sh ou algum outro nome que você goste mais. Depois de salvá-lo, você precisa abrir uma janela de terminal e digitar:

sudo chmod +x ./copy.sh

Isso fará com que o arquivo que você acabou de criar seja executado, para substituir o tipo de ícones:

sudo ./copy.sh /dir/to/icon.png /usr/share/icons/Humanity/places/ folder-publicshare.svg

Substitua o primeiro parâmetro /dir/to/icon.png pela localização do seu ícone, o segundo parâmetro é o diretório pai das pastas onde os ícones estão armazenados, o terceiro parâmetro é o nome dos ícones que precisam ser substituído (esse parâmetro é opcional se o script for usado para um propósito diferente).

O uso deste script também fará uma cópia para a pasta 128 onde não é necessário, não causará nenhum dano, mas se você quiser excluí-lo, poderá fazer isso digitando a seguinte linha em uma janela de terminal:

sudo rm /usr/share/icons/Humanity/places/128/folder-publicshare.svg

Depois de sair e entrar novamente, este será o resultado (em holandês):

Como você pode ver, há outro ícone personalizado no meu cardápio chamado Escola (ele tem o logotipo da minha Escola), este substituiu a pasta do usuário Templates (acho que ninguém realmente usa essa pasta). Os ícones da pasta do usuário Modelos são nomeados como folder-templates.svg e podem ser encontrados nos mesmos locais que os ícones da pasta do usuário. Ao substituir esses ícones eu não usei o script bash que eu postei acima, mas eu os copiei manualmente porque eu fiz seis ícones diferentes com diferentes resoluções.

A desvantagem dessa abordagem é que você só pode personalizar um total de sete ícones e deve entregar uma pasta de usuário padrão.

Observação: não altere o diretório da sua Área de Trabalho, a menos que você saiba o que está fazendo.

Espero que isso tenha respondido à sua pergunta, pode parecer muito trabalho, mas é feito em um minuto.

    
por Jeffry 11.03.2011 / 04:16