Como incluir módulos no i3blocks

Ao usar um ambiente que venha com uma barra mais simples como i3status, muitos preferem mudar para i3blocks, por ter uma maior personalização e ainda manter a simplicidade, pensando nisso, vou passar umas dicas de como incluir módulos.

Como exemplo, vou deixar um print da atual barra em uma VM:


Primeiramente, ante de tentar escrever todos os módulos manualmente, podemos baixa-los, poupando bastante esforço.

Observação: Antes de começar a personalizar é necessário ter em mente que esse teste funcionou com a versão 1.5-1 para cima do i3blocks, ao testar com a versão 1.4-4 (Debian 10) a maioria dos módulos não carregaram.

Com isso em mente, baixe os módulos desse GitHub:

Como baixar os módulos
  1. Acesso o endereço acima;
  2. Clique em Code
  3. Clique em Download ZIP


Onde deixar os arquivos

Descompacte o arquivo baixado, vai notar que vem com 63 ítens, todas essas pastas são módulos que podem ser configurados na i3blocks:

Peguei o hábito de renomear essa pasta para i3blocks e jogar dentro de ~/.config ficando com o caminho completo: ~/.config/i3blocks (guardem essa informação, será necessária mais a frente). Caso queira deixar em outro lugar, tudo tudo bem, mas terá que se lembrar para apontar no config.


Mudar o sistema para ler i3blocks ao invés da i3status

Uma vez baixado e estando dentro da pasta ~/.config/i3blocks precisamos modificar o config do i3 para que enxergue i3blocks e não i3status:

  1. Abra o arquivo ~/.config/.i3/config com seu editor de textos preferido (no caso do Manjaro, a pasta do i3 não fica dentro de config, ficando: ~/.i3/config
  2. Edite a linha:
    status_command i3status mudando para status_command i3blocks (será o suficiente para pegar as configurações da pasta que criamos.
  3. Segue exemplo de como está esse trexo da minha configuração:
bar
{
    #position top
    workspace_buttons yes
    separator_symbol ""
	  status_command i3blocks
	  font pango: DejaVu Sans Regular 9
	  colors
	  {
            #                    Border Background Text
		    focused_workspace   #254E80    #254E80    $fgfoc
		    active_workspace    $bg    $bg    $white
		    inactive_workspace  $bg    $bg    $fgnorm
		    urgent_workspace    $bg    $bg    $gray
		    background          #080031
    } i3bar_command i3bar -t
}

Como o módulo funciona

Agora podemos começar a personalizar os módulos, nada mais é que apontar no arquivo config o que queremos exibir na barra.

  1. Abra o arquivo ~/.config/i3blocks/config com seu editor de texto favorito e note como cada módulo é configurado:

Como exemplo, vamos observar o módulo cpu_usage:

  1. Caso tenha optado por colocar em outro endereço, terá que mudar o caminho para cada módulo.

Acrescentar um novo módulo

Para acrescentar um novo, um que já não esteja no config é bem simples:

  1. Entre na pasta que contenha o módulo desejado e abra o arquivo i3blocks.conf;
  2. Note que esse arquivo contem as instruções de inclusão no arquivo ~/.config/i3blocks/config:



Possíveis problemas e como corrigir:

Permissão de execução

Mesmo configurando tudo, não mostra o módulo. Como são arquivos da internet, pode ser necessário dar permissão de execução, tive que fazer isso com quase todos:

image


Dependências

Alguns módulos possuem requisitos que, sem os quais, não exibem a informação.
Vamos usar como exemplo o módulo cpu_usage.

Como saber quais são as dependências?

Essa informação pode ser encontrada no arquivos README.md dentro da pasta do módulo:


Recarregar o i3

Mesmo mudando tudo, não aparece a informação. Tenho que finalizar a sessão toda vez?

-Não exatamente. Pode ser necessário recarregar o seu i3, caso não tenha personalizado as teclas de atalho, basta clicar em mod+shift+r



Minha atual configuração

Caso tenha interesse em ver como ficou a minha configuração, segue:

#  _ _____ _     _            _
# (_)___ /| |__ | | ___   ___| | _____
# | | |_ \| '_ \| |/ _ \ / __| |/ / __|
# | |___) | |_) | | (_) | (__|   <\__ \
# |_|____/|_.__/|_|\___/ \___|_|\_\___/

full_text= 
align=center
separator=false
color=#101216
separator_block_width=6
markup=pango


[root]
color=#b4afb9
command=df -h / | awk 'FNR==2{print $4}'
interval=3
label=<span color="#5da0ee"> </span>

[separator]

[cpu_usage]
color=#b4afb9
command=~/.config/i3blocks/cpu_usage/cpu_usage
interval=2
label=<span color="#5da0ee"> </span>
#min_width=CPU: 100.00%

[separator]

[memory]
color=#b4afb9
command=~/.config/i3blocks/memory/memory
label=<span color="#5da0ee"> </span>
interval=30

# [separator]

# [temperature]
# color=#b4afb9
# command=~/.config/i3blocks/temperature/temperature
# label=<span color="#5da0ee"> </span>
# interval=10

[separator]

[calendar]
command=~/.config/i3blocks/calendar/calendar
color=#b4afb9
interval=1
LABEL=<span color="#5da0ee"> </span>
#DATEFMT=+%A %e/%m  %H:%M
DATEFMT=+%A %e/%m <span color="#5da0ee"> </span> %H:%M
HEIGHT=200
WIDTH=220

[separator]

[shutdown_menu]
color=#5da0ee
full_text=  
command=~/.config/i3blocks/shutdown_menu/shutdown_menu
10 curtidas

caramba,ficou tudo tão perfeito tão formatado e organizado

1 curtida

consegui,muito obrigado tava dando errado mas era por causa dos diretorios que eu não tinha especificado

1 curtida

eu só queria saber como eu posso deixar eles coloridos, ou sla colocar tema como esta nesse fedora

1 curtida

Agora já sabe, olhando a minha configuração (ultimo tópico), vai notar a linha:
LABEL=<span color="#5da0ee"> </span>
onde #5da0ee é a cor, daí é só trocar para a desejada, em cada módulo.

:laughing:

1 curtida

Achei esse tpc e queria saber se tem como mudar o tema do shutdown_menu. Já virei a internet, mudei o tema de tudo e não consigo mudar esse tema kkkkk

WhatsApp Image 2021-01-27 at 23.37.06

Ele está puxando o tema do Rofi, você pode personalizar o seu. Eu uso um tema, dá uma olhada nessa outra resposta:

Tem muitos outros nesse GitHub:

2 curtidas

Opa, vou tentar aqui, to usando o shutdown_menu do próprio github postado lá no começo do tpc. Valeu pela ajuda.

O que eu achei estranho é justamente por puxar o tema do rofi, to usando o tema Arc-Dark e não tá pegando nesse menu que eu postei, mesmo até reiniciando o sistema.

1 curtida

Nesse link que te passei tem os arquivos de configuração da minha máquina, assim como a configuração do .config do i3, vai reparar que tem uma configuração de desligamento, muito simples e elegante, vai gostar.

Deu certo, mano. Valeu mesmo pela ajuda, já não sabia mais onde procurar kkkk

1 curtida

Peguei exatamente dela, não tinha visto teu último comentário, ficou perfeito aqui.

Bom, tive que trocar pelo i3status, pois aparentemente o i3blocks está descontinuado.
Sua última versão é de 2019 e o último commit/pull de 2019 :confused:
Porém existem alternativas, like polybar:

Ele tem o desenvolvimento mais lento mesmo, assim como o i3status. Porém, dá para usar de boa. O que você precisa tá lá. Não tem necessidade de abandonar ele apenas por isso. Se for para procurar outros recursos ou alguma barra ou painel diferente ai tudo bem. Agora, se parar para ver, o i3status mesmo tem um tempão que não tem uma atualização de verdade.

A proposta que o i3status e o i3blocks tem não necessita de um desenvolvimento frenético. A ideia é serem simples geradores de status. O i3status inclusive é bem simples e fácil de configurar. Já o i3blocks nasceu para trazer o que o i3status não trazia, e ainda te permite adicionar scripts personalizados.

2 curtidas