Cor do terminal incorporado do Gedit

1

Eu tento o seguinte as prescrições desta resposta: Como mudar Gedit incorporou as cores do plug-in do terminal?

Eu os usei com sucesso no Ubuntu 14.04 e no gedit 3.10.1, sem limpar a paleta.

Com o 16.04 e o gedit 3.18.3, não funciona.

Eu tento limpar a paleta clara. Existe sempre uma mensagem de erro se o argumento for totalmente preto.

[] é aceito, mas as cores não são alteradas.

Alguma ajuda?

Algo semelhante aqui, sem resposta: link

    
por Tarass 08.07.2016 / 11:52

1 resposta

1

A partir do código-fonte do plugin do terminal gedit (/usr/lib/x86_64-linux-gnu/gedit/plugins/terminal.py), parece que as configurações são lidas de / org / gnome / terminal / legacy / profiles primeiro . Na minha máquina (Ubuntu 16.04) existe algum grupo de chaves contendo apenas os dois valores "scrollback-unlimited" e "use-theme-transparency". As chaves "foreground-color", "background-color" e "palette" estavam faltando no perfil padrão.

O plugin terminal assume incorretamente que todas as chaves necessárias estão presentes se você criar um novo perfil a partir do gnome-terminal. Para impor a criação completa da chave, você precisa alternar entre diferentes configurações de paleta e também tive que criar dois perfis e alternar "Editar / Preferências / Perfis / Perfil usado ao iniciar um novo Terminal" também (isso garante que a chave org.gnome.terminal.legacy.profiles / default está definida).

No entanto, acho que as configurações em "org.gnome.gedit.plugins.terminal" devem ter precedência sobre as configurações do sistema referentes ao plug-in terminal no gedit. O usuário pode querer um esquema de cores para o terminal do sistema e outro diferente para o plugin do terminal.

Então, finalmente, mudei a função de script python get_profile_settings de volta para como era nas versões anteriores do Ubuntu (apenas adicionei o comentário #) e obtive o resultado desejado.

def get_profile_settings(self):
#        profiles = self.settings_try_new("org.gnome.Terminal.ProfilesList")
#        if profiles:
#            default_path = "/org/gnome/terminal/legacy/profiles:/:" + profiles.get_string("default") + "/"
#            settings = Gio.Settings.new_with_path("org.gnome.Terminal.Legacy.Profile",
#                                                  default_path)
#        else:
        settings = Gio.Settings.new("org.gnome.gedit.plugins.terminal")

        return settings
    
por DeLinuxMaulwurfn42 12.05.2018 / 16:42