Ir para o conteúdo
Promovaweb

Plugin SysMon no Omarchy

Em destaque

O que o Plugin SysMon faz no seu Omarchy

  1. Veja CPU, GPU e memória com temperaturas na barra
  2. Passe o mouse e leia médias de dez minutos
  3. Abra anéis de resumo e gráficos de histórico
  4. Ordene os 25 processos por CPU ou memória
  5. Encerre um processo com TERM ou KILL pelo painel
SysMonwartafak.sysmon
Tipo
Widget da barra
Categoria
Sistema
Origem
Comunidade · Wartafak/omarchy-sysmon
Mantenedor
wartafak
Licença
MIT
Versão
1.1.0
Compatibilidade
Omarchy com plugins do shell, `bash` e `wl-copy`, presente na instalação padrão do Hyprland. A GPU é detectada por `nvidia-smi`, pelo sysfs do `amdgpu` ou pelo driver Intel, e desaparece da barra quando não há placa reconhecida. Node só entra nos testes, não no uso diário. Referência do portal: Omarchy 4.5.0-rc1.
Tags
#barra#quickshell#sistema
Widget do SysMon no lado direito da barra e painel aberto com anéis de resumo de CPU, GPU e memória, valores atuais e gráficos de histórico.
Repositório Wartafak/omarchy-sysmon (MIT)

Instalar e manter

  1. Instale o plugin

    O Omarchy clona o repositório do plugin e valida os arquivos no seu computador. Só depois ele instala e ativa o plugin.

    Instalar
    omarchy plugin add https://github.com/Wartafak/omarchy-sysmon.git --enable
  2. Atualize quando sair uma versão nova

    Rode este comando para trazer as mudanças publicadas no repositório do plugin.

    Atualizar
    omarchy plugin update wartafak.sysmon
  3. Remova quando não precisar mais

    O comando retira o plugin do seu Omarchy. Use o mesmo identificador mostrado no cartão de detalhes.

    Remover
    omarchy plugin remove wartafak.sysmon

O SysMon mostra uso e temperatura de CPU, GPU e memória na barra e guarda dez minutos de histórico para cada métrica. O widget ocupa pouco espaço, some com a parte de GPU quando não encontra placa compatível e responde ao mouse: passar por cima mostra os valores atuais e as médias, o clique esquerdo abre o painel e o clique direito força uma atualização.

No painel, o foco muda. Cada métrica ganha um anel de resumo, com temperatura e volume em GB, seguido do valor atual, da média de dez minutos e de um gráfico de linha. Abaixo disso fica a tabela de processos, que ordena por nome, PID, CPU ou memória e oferece os botões para encerrar um programa. É o complemento do monitor que só mostra números: aqui você age sobre o processo que consome a máquina.

Antes de instalar

O plugin exige Omarchy com plugins do shell e usa bash nos coletores. Para copiar um PID, o plugin chama o wl-copy, padrão em sessões Hyprland e Wayland.

A leitura de GPU depende do driver: em NVIDIA, o nvidia-smi precisa existir. Em AMD, o plugin lê gpu_busy_percent no sysfs. Em Intel, o plugin usa o que o driver expõe. Quando nenhuma placa responde, o trecho de GPU desaparece da barra e do painel, sem espaço reservado para um número que não existe.

Node aparece apenas nos testes do repositório. O uso diário roda em Bash, QML e JavaScript embutido, sem instalar runtime extra.

Instale

Terminal
omarchy plugin add https://github.com/Wartafak/omarchy-sysmon.git --enable

Também dá para instalar pelo checkout:

Terminal
git clone https://github.com/Wartafak/omarchy-sysmon.git ~/.config/omarchy/plugins/wartafak.sysmon
omarchy plugin enable wartafak.sysmon --section right

Depois de editar QML, rode omarchy restart shell. A recarga automática não reexecuta um plugin que já está carregado, então a alteração só aparece no reinício do shell.

Use o widget

Ação Resultado
passar o mouse mostra valores atuais e médias de dez minutos
clique esquerdo abre ou fecha o painel
clique direito força uma atualização das leituras
↓ PROCESSES salta para a tabela de processos
clique em um PID copia o número para a área de transferência
TERM ou KILL na linha encerra o processo escolhido

O botão ↓ PROCESSES traz o número de processos em execução ao lado. A tabela mostra os 25 primeiros e reordena na hora quando você clica no cabeçalho de nome, PID, CPU ou memória. A memória aparece em valor absoluto e em percentual, como 1.3GB (3.6%), com a ordenação pelo valor absoluto.

Encerre um processo com cuidado

Cada linha tem dois botões. O TERM solicita o encerramento normal e o KILL força a parada. Os dois passam pelo killproc.sh, que confere os argumentos antes de agir: aceita apenas TERM ou KILL seguido de um PID numérico e recusa o PID 1. Com essa checagem, o QML pode passar os valores como argumentos sem montar uma linha de shell.

Vale usar o TERM primeiro. Programas com arquivos abertos conseguem gravar e fechar o que estavam fazendo. O KILL fica para o processo travado que não responde ao encerramento normal, ao custo de perder o que não foi gravado.

De onde vêm as leituras

O stats.sh coleta a cada 2 segundos e imprime uma linha JSON. O uso de CPU vem de /proc/stat. A temperatura passa por coretemp no hwmon, pela zona térmica e, por fim, pelo sensors. A memória sai de /proc/meminfo. A GPU é detectada na ordem NVIDIA, AMD e Intel. Os rótulos fixos, como modelo e número de threads do processador, são relidos a cada coleta e acompanham o hardware da máquina.

O BarWidget.qml guarda os coletores e as séries de 300 amostras, o equivalente a dez minutos. O processes.sh amostra a lista a cada 2 segundos, mas só enquanto o painel está aberto, o que evita trabalho com ele fechado. O CPU por processo é a fatia da capacidade total entre duas leituras de /proc separadas por 0,5 segundo e não a média desde o início do programa que o ps informa.

Em AMD e Intel, o driver não expõe uso de GPU por processo, então a tabela ordena apenas por CPU, memória ou nome.

Teste, atualize e remova

Terminal
omarchy plugin validate ~/.config/omarchy/plugins/wartafak.sysmon
node --test tests/
./tests/integration.sh

Os testes de unidade não têm dependências e cobrem o Model.js, que reúne as funções puras de leitura, formatação e ordenação usadas pelo QML e pelos testes. O teste de integração confere o formato JSON do stats.sh, os limites de valor, a ordem da lista de processos e a checagem de argumentos do killproc.sh, além de acionar o widget pela IPC do Quickshell quando a sessão está disponível. O acessador debugState serve para inspecionar o estado por script.

Terminal
omarchy plugin update wartafak.sysmon
omarchy plugin remove wartafak.sysmon

A remoção tira o widget da barra e apaga o checkout do plugin. Como o histórico vive na memória do widget, não sobra banco de métricas para limpar. O plugin não mantém configuração própria, então não sobra ajuste para limpar.