Altera a cor / estilo da barra de janelas com base no aplicativo

3

Eu tenho personalizado bastante o meu desktop elementar para parecer mais do meu agrado, e gostaria de saber se é possível alterar a cor da barra acima de cada janela, com base no aplicativo que está sendo executado. Parece que seria possível, mas quando eu pesquiso no Google, eu nunca consigo encontrar nada. Na verdade, não encontro nada; sem perguntas, sem artigos - achei que poderia estar chamando a coisa errada, ou simplesmente não é possível. É por isso que estou perguntando aqui. É possível alterar dinamicamente a cor da barra da janela?

Além disso, minha segunda pergunta é como a primeira, mas não tão importante, é possível alterar dinamicamente a cor do painel na parte superior da área de trabalho com base na cor do aplicativo aberta? Eu vi algo parecido usando o ImageMagick, mas não consegui encontrá-lo novamente

    
por Axel M 27.05.2015 / 19:29

1 resposta

5

tl; dr É possível, mas não é super simples e não funciona em todas as aplicações.

Primeiramente, há algo chamado Gtk.CSS que é usado para estilizar o kit de ferramentas. Se você estiver familiarizado com CSS, saberá que ele opera com base na seleção de elementos (como classes e IDs). Para selecionar uma janela de aplicativo específica, seria necessário definir um ID que você possa selecionar em CSS. Alguns aplicativos funcionam, mas alguns aplicativos não. Felizmente para nós, Sam Hewitt fez muito trabalho de descobrir quais aplicativos definem IDs. Você pode usar sua folha de estilo de papel como referência.

Agora, você precisará modificar sua folha de estilo e adicionar novas regras de CSS para cada aplicativo que deseja ter. Isso pode ser complexo, dependendo de qual folha de estilo você está usando no momento.

No elementary, atualmente estamos trabalhando em um utilitário Granite simples que os desenvolvedores de aplicativos podem usar para definir cores para a barra de cabeçalho de seus aplicativos. Mas isso precisará ser feito a partir do código-fonte do aplicativo.

No que diz respeito a alterar a cor do painel por aplicativo, isso não é realmente possível no momento. O painel está ciente apenas do estado do aplicativo focalizado (maximizado, lado a lado ou não). Ele não recebe informações sobre o CSS interno do aplicativo.

    
por 03.06.2015 / 17:58