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:
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:
- 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
- Edite a linha:
status_command i3status
mudando parastatus_command i3blocks
(será o suficiente para pegar as configurações da pasta que criamos. - 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.
- 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
:
- 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:
- Entre na pasta que contenha o módulo desejado e abra o arquivo
i3blocks.conf
; - 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:
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