Alterando Status do DWM

Publicado por Xerxes Lins em 16/10/2019

[ Hits: 1.098 ]

Blog: https://voidlinux.org/

 


Alterando Status do DWM



Gosto muito do gerenciador de janelas i3, principalmente o i3-gaps. Mas, ultimamente tenho preferido usar o DWM, pois ele parece ser mais simples e leve que o i3. Mas o DWM não é tão "out of the box" quanto o i3. Quando iniciamos o DWM pela primeira vez, vemos que o status exibe apenas a versão do DWM, algo como "dwm-6.2".

Para alterar o status, basta usarmos um comando com o "xsetroot", dessa forma:

xsetroot -name "hello world!"

Bem fácil, não?

Se quiser exibir a data, bastaria usar o seguinte:

xsetroot -name "$(date)"

Como já deve ter percebido, a informação não se atualiza automaticamente. Para que ela seja atualizada, é necessário criar um "loop" em um Shell Script. Por exemplo:

while true; do
	xsetroot -name "$(date)"
	sleep 2
done

Mas além da data e hora, se você quiser encontrar outras informações, pode seguir os comandos abaixo:

1. Para exibir o uso médio do processador no último minuto:

cat /proc/loadavg | awk '{print $1}'

2. Para exibir a temperatura do processador:

sed 's/000$/°C/' /sys/class/thermal/thermal_zone0/temp
Ou:
sed 's/000$/°C/' /sys/class/hwmon/hwmon0/temp2_input

Busque em "thermal" e em "hwmon", pois depende do computador.

3. Para ver o espaço livre em disco, use o seguinte:

df -h | awk '{ if ($6 == "/") print $4 }'

4. Para ver uso da memória:

free -h | awk '(NR==2){ print $3 }'

5. Para ver o volume do som:

amixer get Master | awk -F'[][]' 'END{ print $2 }'

6. Para ver o status do dispositivo de rede:

cat /sys/class/net/enp1s0/operstate

Obs.: troque "enp1s0" pelo SEU dispositivo.

7. E para pegar a data e hora de forma mais organizada, use:

date +"%a %d %h %H:%M"

Agora, para colocar todas as informações em um script, faça o seguinte:

#!/bin/bash

DATE=$(date +"%a %d %h %H:%M")
VOL=$( amixer get Master | awk -F'[][]' 'END{ print $2 }')
CPUUSE=$(cat /proc/loadavg | awk '{print $1}')
MEMUSE=$(free -h | awk '(NR==2){ print $3 }')
TEMPCPU=$(sed 's/000$/°C/' /sys/class/hwmon/hwmon0/temp2_input)
DISKFREE=$(df -h | awk '{ if ($6 == "/") print $4 }')
NETSTATE=$(cat /sys/class/net/enp1s0/operstate)

echo " CPU: $CPUUSE% | TEMP: $TEMPCPU | /: $DISKFREE | MEM: $MEMUSE | VOL: $VOL | NET: $NETSTATE | $DATE"

Salve o arquivo e torne-o executável ("chmod +x arquivo"). No meu caso resolvi salvar como "info.sh".

Ao executar o script, receberá uma saída assim:

CPU: 1.00% | TEMP: 92°C | /: 423G | MEM: 1,3Gi | VOL: 100% | NET: up | qua 02 out 09:42

Para colocar essa informação no status do dwm coloque em um "loop", assim:

while true; do
        xsetroot -name "$(sh ~/info.sh)"
        sleep 10
done &

Altere o tempo do "sleep" a seu gosto. No meu caso, coloquei o "loop" no arquivo ".xinitrc", antes de executar o DWM. Assim:

setxkbmap -layout br

while true; do
        xsetroot -name "$(sh ~/info.sh)"
        sleep 10
done &

exec dwm

Então, quando inicio o "dwm", a informação vai para o status automaticamente.

Para mais informações:
Outras dicas deste autor

GNOME 3 completo no Ubuntu 12.10

Shadow Era no GNU/Linux com CrossOver

Corrigindo o bug de maximizar vídeos do Youtube no Firefox 3

VirtualBox no Devuan pelo site oficial

Transforme seu aparelho Android em um PSP

Leitura recomendada

Alterando o MAC addrres de sua placa de rede

Funtoo com Fresh Plugin (Pepper Flash no Firefox)

Temas no IceWM

KDE de inglês para português no Debian

Ajuste do brilho LCD do notebook W7635 da Itautec usando Ubuntu 8.04

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts