A aplicação sempre aparece na terceira posição no Ubuntu 16.04

5

Depois de atualizar meu ubutu para 16.04, tive um problema com o iniciador do Unity. Sempre que eu abro uma aplicação que não está listada no lançador, ela assumirá a terceira posição em vez da última posição. Alguém tem o mesmo problema?

    
por Jared Chu 08.12.2016 / 18:40

2 respostas

7

Há um item de lançador invisível especial chamado "Running Apps", que está sempre presente nos favoritos do lançador e determina em qual posição os ícones de aplicativos em execução desmarcados aparecem. No seu caso, obviamente, de alguma forma chegou a uma posição estranha, mas é facilmente consertável.

Existem duas maneiras, uma maneira fácil e, claro, também a maneira de linha de comando nerd; -)

Eu quero que seja fácil de fazer e lembrar!

A maneira mais simples é simplesmente arrastar e soltar os ícones do lançador na ordem correta.

Portanto, abra um aplicativo que não esteja marcado no iniciador, como as configurações de aparência na captura de tela. Não deve ser fixado, caso contrário, isso não funcionará.

Então você não arrasta o ícone desafinado , porque isso não afetará a posição do item "Running Apps" especial, mas apenas fixará o ícone arrastado no novo local.
Em vez disso, arraste todos os ícones abaixo / à direita (funciona para ambas as orientações do lançador) do desmarcado para diretamente acima / à esquerda dele. Dessa forma, você move o ícone desatado para a parte inferior / direita sem tocá-lo.

Quando chegar à posição em que você deseja que todos os ícones de aplicativos desmarcados apareçam, você está pronto. Agora você pode fechar essa janela e abri-la novamente ou novas para testar se funcionou.

Estou me sentindo nerd hoje, vamos cortar o terminal!

Seus itens de lançador fixos são chamados de "favoritos" e são armazenados como configurações do dconf em seu perfil de usuário. Você pode ver sua lista de favoritos abrindo um terminal e executando

gsettings get com.canonical.Unity.Launcher favorites

Isso pode parecer com o exemplo abaixo (formatação de saída adicionada por mim):

$ gsettings get com.canonical.Unity.Launcher favorites
['application://gnome-terminal.desktop', 
 'application://org.gnome.Nautilus.desktop', 
 'application://firefox.desktop', 
 'unity://running-apps', 
 'unity://desktop-icon',
 'unity://devices']

Esta saída representa um lançador minimalista com apenas um terminal, ícone Nautilus e Firefox fixado. O próximo item é 'unity://running-apps' , que é o item especial importante que serve como espaço reservado para os ícones de todos os aplicativos em execução desmarcados. Depois disso, há mais itens especiais a seguir, a saber, o ícone "Mostrar área de trabalho" e outro item de espaço reservado que define onde os ícones de dispositivos removíveis conectados serão exibidos.

O único item interessante para nós é o item "Aplicativos em execução". Para corrigir o seu problema, você deve movê-lo para a posição desejada na lista de itens.

Você faz isso digitando o comando

gsettings set com.canonical.Unity.Launcher favorites []

mas em vez de uma lista vazia [] , você precisa passar sua lista modificada como último argumento, é claro.

Por exemplo, dado o lançador descrito acima, para que os ícones dos aplicativos em execução apareçam abaixo de "Mostrar área de trabalho", mas ainda acima dos ícones do dispositivo, execute este:

$ gsettings set com.canonical.Unity.Launcher favorites "['application://gnome-terminal.desktop', 'application://org.gnome.Nautilus.desktop', 'application://firefox.desktop', 'unity://desktop-icon', 'unity://running-apps', 'unity://devices']"

As alterações entrarão em vigor imediatamente, por isso, inicie alguns aplicativos desafinados para verificar se você colocou o item na posição correta e aproveite.

    
por Byte Commander 14.12.2016 / 00:35
2

Como o ByteCommander explicou corretamente, a unity://running-apps position na lista do esquema com.canonical.Unity.Launcher gsettings afeta onde os aplicativos em execução aparecem, por isso sua resposta está correta. Para demonstrar e testar isso, escrevi um pequeno script cujos resultados você pode ver nas capturas de tela abaixo.

Observe como o script chamado com o índice 1 e o índice 2 mostra dois aplicativos de terminal movendo-se juntos para a posição respectiva no iniciador (por exemplo, executando aplicativos que são não na lista atual são agrupados juntos). Observe que a lista começa com o índice 0, que é apropriadamente adotado pelo ícone do cromo.

Nota:sevocêquiserqueosaplicativossejamúltimos,bastausar-1comoargumento.

Script

from gi.repository import Gio import sys def gsettings_get(schema, path, key): """Get value of gsettings schema""" if path is None: gsettings = Gio.Settings.new(schema) else: gsettings = Gio.Settings.new_with_path(schema, path) return gsettings.get_value(key) def gsettings_set(schema, path, key, value): """Set value of gsettings schema""" if path is None: gsettings = Gio.Settings.new(schema) else: gsettings = Gio.Settings.new_with_path(schema, path) if isinstance(value, list): return gsettings.set_strv(key, value) if isinstance(value, int): return gsettings.set_int(key, value) def main(): schema='com.canonical.Unity.Launcher' key='favorites' current_list = list(gsettings_get(schema,None,key)) running_index = current_list.index('unity://running-apps') position = int(sys.argv[1]) temp = current_list[position] current_list[position] = current_list[running_index] current_list[running_index] = temp gsettings_set(schema,None,key,current_list) if __name__ == '__main__': main()     
por Sergiy Kolodyazhnyy 14.12.2016 / 02:36