Documentação para theming de unidade-greeter

4

Há muitos ótimos temas gtk por aí para unity / gtk. No entanto, muito poucos deles têm apoio para a unidade-greeter. Quero trabalhar nelas, mas não consegui encontrar uma documentação (oficial) sobre como fazer isso. Tentei fazer a engenharia reversa da respectiva parte em gtk.css do tema Adwaita, e consegui fazer a maior parte, mas alguns widgets especiais que não consegui criar.

Longa história: Existe uma documentação em algum lugar que mostre como temar a saudação de unidade?

Só para esclarecer: estou falando sobre esse arquivo, por exemplo link

    
por wa4557 01.11.2015 / 18:32

2 respostas

2

Eu não encontrei uma documentação, mas encontrei o código-fonte ;)

apt-get source unity-greeter
tar xf unity-greeter_*.tar.xz
cd unity-greeter

Como o nome do arquivo gtk.css diz, é um arquivo CSS com definições para classes. Vamos começar um grep

% grep -r 'add_class' *
Binary file deb/usr/sbin/unity-greeter matches
Binary file dev/usr/sbin/unity-greeter matches
unity-greeter-15.10.1/tests/unity-greeter.vala:        ctx.add_class ("lightdm");
unity-greeter-15.10.1/src/toggle-box.vala:        selected_button.get_style_context ().add_class ("selected");
unity-greeter-15.10.1/src/toggle-box.vala:        item.get_style_context ().add_class ("toggle-button");
unity-greeter-15.10.1/src/unity-greeter.vala:        ctx.add_class ("lightdm");
unity-greeter-15.10.1/src/prompt-box.vala:        option_button.get_style_context ().add_class ("option-button");
unity-greeter-15.10.1/src/prompt-box.vala:        combo.get_style_context ().add_class ("lightdm-combo");
unity-greeter-15.10.1/src/prompt-box.vala:        combo.get_child ().get_style_context ().add_class ("lightdm-combo");

ou melhor

% grep -rlI 'add_class' * | xargs -I {} awk -F\" '/add_class/ {print }' {} | sort -u
lightdm
lightdm-combo
option-button
selected
toggle-button

e agora temos as classes suportadas. Todas as outras coisas, como background-image , background-color , border-color e assim por diante, são definições CSS.

Dig no código-fonte e aprenda CSS . Essa é a melhor documentação.

Versão anterior da minha resposta, talvez útil para outros leitores

Tudo que você precisa é em /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml . Depois de editar este arquivo, execute:

glib-compile-schemas /usr/share/glib-2.0/schemas/

Cada tag key tem uma tag summary para descrever o que a chave faz. Alguns exemplos:

  1. A imagem de fundo

    <key name="background" type="s">
      <default>'/usr/share/backgrounds/warty-final-ubuntu.png'</default>
      <summary>Background file to use, either an image path or a color (e.g. #772953)</summary>
    </key>
    
    • type="s" significa que precisa de uma string para a tag default
    • O valor é um caminho absoluto para um arquivo de imagem
  2. A cor de fundo

    <key name="background-color" type="s">
      <default>'#2C001E'</default>
      <summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
    </key>
    
    • type="s" significa que precisa de uma string para a tag default
    • O valor é um código de cor
  3. Mostrar o nome do host

    <key name="show-hostname" type="b">
      <default>true</default>
      <summary>Whether to show the hostname in the menubar</summary>
    </key>
    
    • type="b" significa, precisa de um valor booleano para a tag default
    • Valores válidos: verdadeiro / falso
  4. As configurações de resolução

    <key name="xft-dpi" type="d">
      <default>96</default>
      <summary>Resolution for Xft in dots per inch</summary>
    </key>
    
    • type="d" significa, preciso de valor numérico para a tag default
    • Use xrdb -query | grep dpi para determinar um valor correto ou reproduza com o valor para ver o comportamento

parcialmente fonte

A tentativa e o erro e a leitura do código-fonte são a melhor documentação =)

    
por A.B. 10.11.2015 / 08:47
0

Não há documentação para o tema Unice Greeter. A fonte Adwaita CSS e Unity Greeter são seus melhores lugares para ver o que pode ser temático.

    
por Robert Ancell 11.11.2015 / 03:44