Exibir layout atual (código do idioma / bandeira do país) no indicador do teclado

11

Acabou de atualizar de 10.04 para 10.10, e o applet indicador de teclado não exibe mais o código do país com duas letras para o layout ativo.

Isso é terrível . Esse é o comportamento padrão? Qualquer pessoa que use dois layouts não pode dizer em que idioma está.

Não consigo encontrar a configuração para isso, ela costumava estar nas preferências do layout do teclado.

Atualização 1 : Caso isso não fosse óbvio - eu tenho dois layouts de teclado - inglês e hebraico. Acabei de atualizar o formulário 10.04, onde o código do país (USA / IL) era exibido, sobreposto na bandeira.

Agora tudo o que recebo é um ícone de teclado vago e não consigo encontrar as configurações para isso.

Atualização 2 : este parece ser um bug que as pessoas têm relatado desde o Lucid e agora está de volta ao Maverick

Jono
fonte
Obrigado Jono pelo último post. Eu removi acidentalmente o aplicativo indicador. Adicioná-lo resolveu o indicador de três letras ausentes do layout usado.
Parece 13.10 atualizou o indicador do teclado. As soluções neste segmento não funcionam. Alguma pista?
Hamid
Não uso o Ubuntu desde 2011. Ainda existe um problema com o indicador de teclado?
Jono

Respostas:

8

10,10

Sim, o ícone não reflete o idioma escolhido. Eu acho que pode ter algo a ver com o fato de que mostrar "bandeiras" geralmente não é apropriado. (Exemplos: bandeira da Grã-Bretanha na Índia, bandeira da Alemanha na Áustria, bandeira da França no Senegal).

A metáfora atual, ou seja, TECLADO → Idioma é muito de acordo com as diretrizes de experiência do usuário.

O comportamento que você está descrevendo foi removido há algum tempo. Foi outro aplicativo (que não lembra o nome) que lidou com os layouts de teclado. (Pelo menos me lembro de algo assim, não tenho muita certeza agora de pensar nisso)

O que eu fiz para obter a captura de tela acima foi acessar Layouts de teclado, selecionar adicionar, Hebraico / Israel e adicioná-lo à lista. Meu sistema foi atualizado desde a 9.10, portanto deve ser o mesmo em quase todas as instalações do Ubuntu.


texto alternativo

O antigo comportamento ainda está oculto no sistema. Se você deseja que o indicador mostre Bandeiras, você pode abrir gconf-editor, /desktop/peripherals/keyboard/indicatoracessar e ativar "showFlags". No entanto, você precisará que os sinalizadores relevantes estejam /home/<username>/.icons/flags(pressione CTRL+ Hpara mostrar os diretórios que começam com um ponto). A bandeira de israel deve ser nomeada il.png(que é o código de país israels ISO 3166-1 alfa-2 ).

Stefano Palazzo
fonte
Obrigado, vou tentar remover o layout hebraico e adicioná-lo novamente, para ver se funciona.
Jono
1
De qualquer forma, só para deixar claro - não são as bandeiras que estou procurando.
Jono
Stefano - isso não pareceu ajudar. Gostaria de saber se este é um problema com o Netbook Edition, onde ele não mostra o nome do idioma próximo ao ícone do teclado?
Jono
5

12,10

Por padrão, o indicador do teclado em 12.10 mostra um ícone do teclado e a abreviação de duas letras do layout.

Se você quiser mostrar as bandeiras do país, precisará fazer duas coisas

  1. Defina a opção de configuração para dconf:

    dconf write / org / gnome / libgnomekbd / indicador / show-flags true

  2. Instale os ícones de sinalizadores na pasta ~/.icons(não ~/.icons/flags). Uma maneira fácil de fazer isso é instalando famfamfam-flag-pnge vinculando os ícones à sua pasta,

    ln -s /usr/share/flags/countries/16x11/*.png ~ / .icons /

Nick Andrik
fonte
3

12.04

O indicador do teclado aparece quando você tem mais de um layout de teclado definido.

insira a descrição da imagem aqui

O país é exibido usando o código de duas letras

por exemplo - frança:

insira a descrição da imagem aqui

como

Pesquise no Dash o layout do teclado

Nota:

Diferente da versão 10.10 - embora exista uma entrada do gconf para o teclado, não há uma tecla show-flags semelhante.


Se você deseja que a bandeira do país seja exibida em vez do indicador do teclado, use um pequeno applet chamado gxneur.

insira a descrição da imagem aqui

gxneur Instalar gxneur

Para fazer isso, precisamos entrar na lista de permissões gxneur. Use dconf-editor:

dconf-tools Instale o dconf-tools

insira a descrição da imagem aqui

  • Adicione gxneur como mostrado.
  • Logout e login.
  • Inicie o gxNeur no Dash.
  • Isso exibirá o applet.
  • Clique com o botão direito do mouse no miniaplicativo exibido, escolha Propriedades do Teclado e selecione a guia Propriedades . Verifique se a Auto Startupcaixa de seleção está marcada.
  • Em seguida, você precisa desativar o indicador de teclado padrão. Siga as instruções nestas perguntas e respostas para conseguir isso.

Como remover o indicador do teclado?

liberdade de expressão
fonte
2

10.04

Bem, verifica-se que este é um bug que estava no Lucid Beta e agora está aparecendo novamente (Veja aqui: https://bugs.launchpad.net/gnome-settings-daemon/+bug/531173 ).

Aqui está uma solução alternativa:

  1. Clique com o botão direito do mouse na área de notificação e selecione Adicionar Applet ...
  2. Adicione o applet chamado "Applet de indicador".

Isso deve substituir (substituir) o grupo de indicadores atual, mas pode causar um pouco de confusão.

Jono
fonte
1

10,10

Por padrão, o indicador do teclado na 10.10 mostra um ícone do teclado e a abreviação de três letras do layout.

Também pode mostrar um ícone quando a /desktop/gnome/peripherals/keyboard/indicator/showFlagschave no GConf estiver definida e você tiver os ícones necessários instalados em algum lugar.

Observe que, apesar do nome da chave do GConf, as bandeiras dos países não são a melhor solução aqui, pois alguns layouts de teclado não estão vinculados a um país e alguns países podem ter vários layouts totalmente diferentes. Portanto, os nomes dos sinalizadores (arquivos) não são códigos de país alfa-2, mas códigos de layout de teclado XKB, que em muitos casos são baseados em códigos de país (mas nem sempre expressam corretamente todos os locais onde um determinado layout de teclado é usado), mas em outros casos, não são ( ara= "árabe", latam= "américa latina", mao= "maori", brai= "braille", epo= "esperanto"). Você pode encontrar uma lista de todos os códigos de layout em /usr/share/X11/xkb/rules/base.lstsob a ! layoutseção.

Até onde eu sei, para Natty, está planejado ter ícones SVG (ou baseados em SVG) que expressem o layout do teclado (IIRC, eles usarão a abreviação de três letras listada em base.xml, que pode ser encontrada no mesmo diretório que mencionei) acima) para que não precisemos mais do ícone do teclado + texto (os indicadores não podem ser somente texto atualmente ...).

E, como Richard diz, isso só aparece quando você tem mais de um layout configurado.

JanC
fonte
Adicionei uma observação à minha pergunta - presumi que seria óbvio o uso de vários layouts, caso contrário não precisaria saber qual layout estou usando.
Jono
Bem, eu assumi que você tinha vários layouts, apenas acrescentei isso para ser concluído. Mas, se eu entendi direito, você vê apenas o ícone do teclado, mas não a abreviação de layout de três letras? (Primeira imagem Ver de stefano como se deve olhar.)
janc
1

10,10

É exibido apenas se você tiver mais de um layout de teclado configurado.

Vá para Sistema> Preferências> Teclado

Na guia Layouts, adicione outro layout de teclado e observe como o ícone aparece na área de notificação.

Em outras palavras, você não obtém o applet se tiver apenas um layout de teclado para escolher.

Richard Holloway
fonte
mas o ícone não reflete qual layout eu estou usando - esse é o meu problema.
Jono
0

Eu encontrei uma criptografia python aqui: ubuntu App Developer: indicadores de aplicativos para criar um aplicativo indicador, e eu o ajustei um pouco e fiz um pequeno indicador da bandeira Lang.

insira a descrição da imagem aqui

country-indicator.py

#!/usr/bin/env python
# Copyright 2009 Canonical Ltd.
#
# Authors: Neil Jagdish Patel <[email protected]>
#          Jono Bacon <[email protected]>
#
# This program is free software: you can redistribute it and/or modify it 
# under the terms of either or both of the following licenses:
#
# 1) the GNU Lesser General Public License version 3, as published by the 
# Free Software Foundation; and/or
# 2) the GNU Lesser General Public License version 2.1, as published by 
# the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but 
# WITHOUT ANY WARRANTY; without even the implied warranties of 
# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR 
# PURPOSE.  See the applicable version of the GNU Lesser General Public 
# License for more details.
#
# You should have received a copy of both the GNU Lesser General Public 
# License version 3 and version 2.1 along with this program.  If not, see 
# <http://www.gnu.org/licenses/>
#
import gtk
import appindicator
import getpass
import locale

lang = locale.getdefaultlocale()
user = getpass.getuser()

png = '/home/' + user + '/.icons/flags/' + lang[0] + '.png'

def menuitem_response(w):
  gtk.main_quit()

if __name__ == "__main__":
  ind = appindicator.Indicator ("lang-flag-indicator", png, appindicator.CATEGORY_APPLICATION_STATUS)
  ind.set_status (appindicator.STATUS_ACTIVE)

  print "your current language is: %s, so it load the ~/.icons/flags/%s.png" % (lang[0], lang[0])

  # create a menu
  menu = gtk.Menu()
  mnuQuit = gtk.MenuItem("Exit")
  menu.append(mnuQuit)
  mnuQuit.connect("activate", menuitem_response)
  mnuQuit.show()

  ind.set_menu(menu)

  gtk.main()

poderia ser executado facilmente como Python scrypt ou ser compilado com o pyinstaller

espero que isto ajude

aaaaaaaaaaaaaaa
fonte
0

14.04

Nesse caso, é mais parecido com a resposta do usuário53768 . Tudo que você precisa fazer é:

1- Para converter as imagens desejadas em *.svgtexto usando o Inskscape.

2- Faça backup dos seus ícones antigos em diretórios /usr/share/icons/ubuntu-mono-dark/status/22/e /usr/share/icons/ubuntu-mono-light/status/22/(no meu exemplo eu uso os idiomas inglês e grego).

cd usr/share/icons/ubuntu-mono-dark/status/22/
sudo mv indicator-keyboard-En.svg indicator-keyboard-En.svg.bak    
sudo mv indicator-keyboard-Gr.svg indicator-keyboard-Gr.svg.bak
cd /usr/share/icons/ubuntu-mono-light/status/22/
sudo mv indicator-keyboard-En.svg indicator-keyboard-En.svg.bak
sudo mv indicator-keyboard-Gr.svg indicator-keyboard-Gr.svg.bak

3- Faça links simbólicos de suas imagens.

sudo ln -s /home/myUser/.icons/us.svg /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-En.svg
sudo ln -s /home/myUser/.icons/gr.svg /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-Gr.svg
sudo ln -s /home/myUser/.icons/us.svg /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-En.svg
sudo ln -s /home/myUser/.icons/gr.svg /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-Gr.svg

Isso é tudo !!

ioaniatr
fonte
0

No Saucy 13.10:

O idioma do teclado é indicado por duas letras em um fundo cinza (exemplo: inglês para inglês, francês para francês etc.). Você pode editar as imagens, que são arquivos svg, tendo em mente que as imagens svg não passam de arquivos xml. Você pode fazer isso em um editor de texto, mas primeiro você precisa colocar a (s) imagem (s) da (s) bandeira (s) no (s) arquivo (s) svg. Para isso, você precisa usar o Inskscape.

  1. Abra sua imagem de bandeira (png, jpg, o que for) no Inkscape e salve-a como um arquivo svg. Aviso - sua imagem do sinalizador não deve ser muito grande, em bytes, não mais do que algumas centenas de Kb ou menos.

  2. Faça um backup da imagem que você vai editar. As imagens (aquelas que mostram um código de duas letras em um fundo cinza) são encontradas em:

/ usr / share / icons / ubuntu-mono-dark / status / 22 / AND / usr / share / icons / ubuntu-mono-light / status / 22 /

Eles são nomeados: indicator-keyboard-En.svg para inglês indicator-keyboard-Fr.svg para francês indicator-keyboard-Es.svg para espanhol ... você entendeu.

  1. Depois que você fez backup dos que deseja modificar, abra a imagem svg nesse diretório em um editor de texto, com privilégios de root, porque você irá editá-los. No mesmo editor de texto, abra a imagem svg da bandeira que você converteu no Inkscape.

  2. Geralmente, a imagem svg final deve ter todas as tags formatadas corretamente de um arquivo xml, mas você pode remover quase tudo entre as tags e substituí-lo pelos dados do arquivo

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <svg width="30" xmlns="http://www.w3.org/2000/svg" version="1.1" height="18">
        <image
            width="30"
            height="18"
            xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCA
            YAAADIWo5HAAAABHNCSVQICAgIfAhkiAAAAKdJREFUaIHt0LEJwmAYBuHvD1joEhYZxD
            qdC7iA+ziDG2SBFBkoYGGKuMQPD8J7AxzHtRpfR/Xks9f8vtd0
            u3bVfpe1tsez2uXc1Tt0tf0hGaADNBmgAzQZoAM0GaADNBmgAzQZoAM0GaADNBmgAzQZ
            oAM0GaADNBmgAzQZoAM0GaADNBmgAzQZoAM0GaADNBmgAzQZoAM0GaADNBlQR9MNlKHq
            pBsoPwoXC6lf4YbfAAAAAElFTkSuQmCC"
            id="image3028"
            x="0"
            y="0"
        />
    </svg>
    

    Tudo entre a tag da imagem e seu fechamento "/>" veio do arquivo svg flag-image produzido pelo Inkscape, incluindo a longa cadeia alfanumérica que é a "carne" da imagem. Tudo acima e abaixo do arquivo svg original.

No exemplo acima, eu dei à imagem uma largura de 30 pixels e altura de 18 pixels, ela combina muito bem com os outros ícones / indicadores no painel.

Mais detalhes em: http://ubuntuforums.org/showthread.php?t=2193789

user53768
fonte
Agora, o problema é que defini os ícones como Oxigênio (usando a Unity Tweak Tool) e parece que ele está usando um ícone indicador de idioma genérico que não está incluído no diretório correspondente (como em / usr / share / icons / ubuntu-mono- escuro / status / 22 /). Alguma pista de onde está pegando a genérica?
Hamid
0

Solução universal para Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS usando Unity e GNOME FlashBack (com gnome-panel). Também funciona na tela de login do LightDM.
Mas não funcionará no Ubuntu 18.04 LTS com GNOME Shell por causa do mecanismo de indicação de layout de teclado diferente.

Etapas para mostrar sinalizadores para layouts de teclado:

  1. Primeiro de tudo, precisamos baixar as bandeiras dos países. No exemplo abaixo, usamos Rússia ( ru) e Estados Unidos ( us):

    cd ~/Downloads
    wget https://raw.githubusercontent.com/linuxmint/flags/master/usr/share/iso-flag-png/{ru,us}.png
    

    Nota: Eu usei rue us, você pode escolher outras pessoas no repositório LinuxMint GitHub .

  2. Precisamos converter esses sinalizadores PNG em SVG, salvando o canal alfa com o ImageMagick:

    sudo apt-get install imagemagick
    
    convert -alpha activate -resize x22 ru.png png:- > indicator-keyboard-Ru.svg
    convert -alpha activate -resize x22 us.png png:- > indicator-keyboard-En.svg
    
    sudo cp indicator-keyboard-*.svg /usr/share/icons/ubuntu-mono-dark/status/22/
    sudo cp indicator-keyboard-*.svg /usr/share/icons/ubuntu-mono-light/status/22/
    sudo cp indicator-keyboard-*.svg /usr/share/icons/Radiant-MATE/status/22/
    sudo cp indicator-keyboard-*.svg /usr/share/icons/Ambiant-MATE/status/22/
    

Se você deseja reverter as alterações - reinstale os seguintes pacotes.

  • Em 14.04 LTS:

    sudo apt-get install --reinstall ubuntu-mono
    
  • Em 16.04 LTS e 18.04 LTS

    sudo apt-get install --reinstall ubuntu-mono ubuntu-mate-icon-themes
    

Nota: Para o Ubuntu MATE (incluindo 18.04 LTS), consulte outra resposta . Não usa indicator-keyboard, então é outra história.

N0rbert
fonte