Ambiente de Trabalho #11
Eu até estava satisfeito com a minha personalização anterior, mas ao pesquisar por temas para a Polybar, eu vi uma outra possibilidade: Fazer as cores de algumas coisas mudarem de acordo com o papel de parede por meio do Pywal.
Colorindo as coisas
E assim, encontrei um tema Openbox que faz isso, que é o Obtgen. E olhando o Script que cria a colorização desse tema, vi que ele apenas copiava as configurações com as cores baseadas no arquivo .Xresources
gerado pelo wal
para um arquivo temporário e movia esse arquivo para a pasta do tema do Openbox.
E com base nisso, fiz outros Scripts que fiz o mesmo com o Rofi e a Polybar. E com o Script tendo essa estrutura:
#!/bin/bash## Arquivo de Configuração a ser mudado e a Pasta onde esse Arquivo irácolorFile="nippybox/colors.ini"colorFolder=" $HOME/.config/polybar/"## Arquivo .Xresources, de onde as cores são extraídasfile=$HOME/.Xresources## Função para extrair as coresfill_color(){get_colors(){grep "color$1 *:" $file | awk -F\# '{print $2}' | head -1}get_colors_bg=`grep "background *:" $file | awk -F\# '{print $2}' | head -1`get_colors_fg=`grep "foreground *:" $file | awk -F\# '{print $2}' | head -1`}## Arquivo de Configuração a ser mudado.color() {{fill_color## A partir desse "cat <<EOF", insira todo o arquivo de configuração a ser mudado. As cores de Background e Foreground tem que estar nesse formato #${get_colors_bg} e as demais cores (de 0 a 15) tem que estar nesse formato #$(get_colors 8)cat <<EOF[color]background = #${get_colors_bg}foreground = #${get_colors_fg}foreground-alt = #$(get_colors 8)module-fg = #F5F5F5primary = #$(get_colors 1)secondary = #$(get_colors 2)alternate = #$(get_colors 3)EOF} > $colorFile ## Escrevendo no Arquivo temporáriomv $colorFile $colorFolder ## Movendo para o local certo}## Executando a função.color
E esse Script foi feito para a Polybar e a Rofi. Depois juntei tudo num Script só, em que ele muda o papel de parede (com o nitrogen
), extrai as cores (com o wal
) e aplica as cores de acordo com as configurações feitas no Script. E ele executa assim: