quarta-feira, 12 de junho de 2024

Adicionando ícones de status do teclado no system tray do Xfce4

 O desktop Xfce4 não tem nenhum plugin ou applet nativo para exibir especificamente o status de teclado no painel onde para quem usa distros como Ubuntu e Debian ou com base na mesma é muito fácil adicionar um ícone de status do teclado, bastando instalar o app indicator-keylock que está disponível somente em repositórios do tipo .ppa e não tendo como instalar em outras distros diferentes que não utilizam a base do Ubuntu ou Debian.

Mas felizmente existe uma solução bem simples que é instalar o plugin xfce4-genmon-plugin do repositório da sua distro, ou caso a mesma não tenha este plugin você pode baixar o source oficial do repositório do plugin em https://archive.xfce.org/src/panel-plugins/xfce4-genmon-plugin/ e copilar o mesmo.

O xfce4-genmon-plugin é um monitor de sistema para o painel do Xfce que serve para monitorar qualquer scripts de shell deste que o resultado dos comandos seja bem simples de apenas uma ou duas linhas com poucos caracteres, no qual ele executará automaticamente o script após o intervalo configurando e pontando podemos criar um script para mostrar qual é o status do teclado atualmente, onde o mesmo sempre estará visível no system tray com o status atual e sendo atualizado instantaneamente assim que você pressionar a tecla Caps Lock ou Num Lock.


Procedimentos:

1- Instale o pacote xfce4-genmon-plugin do repositório da sua distro.

2- Criando os scripts 

- Script para o Caps Lock com nome de caps salvo em /usr/local/bin com permissão x.

#!/bin/sh
# set to:
# 5 for CapsLock
# 9 for NumLock
# 13 for ScrollLock
FIELD=5

ICON_ON="/usr/share/icons/caps-lock-on-amarelo.png"
ICON_OFF="/usr/share/icons/caps-lock-off.png"

STATUS=`xset q | grep Caps | tr -s ' ' | cut -d ' ' -f $FIELD`

if [[ $STATUS == "on" ]]; then
echo "<img>${ICON_ON}</img>"
else
echo "<img>${ICON_OFF}</img>"
fi
echo "<tool>CapsLock: $STATUS</tool>"

Notas:

  • Coloque o caminho completo das imagens nas linhas ICON_ON= e ICON_OFF=
  • Onde a parte ON é quando o capslock estiver ligado e OFF é quando estiver desligado.
  • Use imagens de tam. 36x36 ou menor podendo ser no formato png ou svg.

- Script para o Num Lock com nome de numlock salvo em /usr/local/bin com permissão x.

#!/bin/sh
# set to:
# 5 for CapsLock
# 9 for NumLock
# 13 for ScrollLock
FIELD=9
ICON_ON="/usr/share/icons/num-lock-on-amarelo.png"
ICON_OFF="/usr/share/icons/num-lock-off.png"

STATUS=`xset q | grep Caps | tr -s ' ' | cut -d ' ' -f $FIELD`
if [[ $STATUS == "on" ]]; then
echo "<img>${ICON_ON}</img>"
else
echo "<img>${ICON_OFF}</img>"
fi
echo "<tool>NumLock: $STATUS</tool>"


3- Utilizando o plugin xfce4-genmon-plugin

Para utilizar o plugin do xfce4-genmon-plugin, clique com o botão direito do mouse no Painel e escolha a opção Painel/Adicionar novos itens, selecione Monitor genérico e clique em Adicionar e depois Fechar onde no painel aparecerá (genmon)XXX, clique neste ícone com o botão direito do mouse e escolha Propriedades.

Configurando:

Comando: coloque o nome do seu script caps
Rótulo:  deixe em branco, ou desmarque Rótulo
Período: configure o tempo desejado em segundos para verificação, para o script caps configure para 1.00 (1 segundo) e clique em Salvar.

Pronto, agora quando você ligar o Caps Lock, aparecerá o ícone de um A amarelo que sempre estará sendo exibido no painel, até que você desligue o Caps Lock onde será agora substituído pelo ícone de um A escurecido.

Faça o mesmo procedimento para o script numlock adicionando outro botão do Monitor genérico no painel.

Shot parcial do painel dos ícones de status do teclado

A primeira imagem é quando o Caps Lock e o Num Lock estão desligados e a segunda e quando os mesmos estão ligados.



Observações:

Procedimento realizado no Xfce4 versão 4.16 e utilizando o xfce4-genmon-plugin versão 4.1.1 no Slackware 15.0.

Referência:  https://forum.salixos.org/viewtopic.php?t=8045