Blog Linux Avante

Argos é como BitBar para Gnome Shell: mostra a saída de scripts no painel (barra superior)

6 de junho de 2019

Procurando uma maneira de mostrar uma saída de script no painel do Gnome Shell (barra superior), me deparei com Argos. Esta extensão Gnome Shell faz apenas uma coisa: adiciona um novo item com um menu suspenso ao painel, mostrando a saída de um script e expondo a funcionalidade.

A extensão é inspirada no BitBar, um programa popular para colocar a saída de qualquer script na barra de menus do macOS, e é até compatível com a maioria dos scripts BitBar.

Argos Gnome Shell

Usando-o, você pode essencialmente escrever sua própria extensão Gnome Shell usando uma linguagem com a qual você já está familiarizado, como Bash, Python e muitos outros. Uma vez que um plugin Argos é apenas um script executável que grava em stdout, qualquer linguagem pode ser usada para criar plugins para ele.

Não conhece Bash, Python, etc.? Não tem problema, você encontrará plug-ins Argos/BitBar já existentes compatíveis com Argos para uma ampla gama de tarefas.

Recursos do Argos:

  • 100% API compatível com BitBar 1.9.2. Todos os plug-ins que não contêm código específico do macOS funcionarão com o Argos
  • Mecanismo de execução assíncrona: Argos evita o bloqueio programando scripts de forma inteligente
  • Suporte Unicode
  • Otimizado para consumo mínimo de recursos; o desenvolvedor afirma que mesmo com vários scripts atualizando a cada segundo, Argos usa menos de 1% da CPU

Além de instalar o Argos e alguns usos básicos, este artigo também inclui alguns plug-ins/scripts extras do Argos e alguns lugares para encontrar plug-ins para o Argos. Continue lendo!

Guia de instalação e uso rápido do Argos

Você tem várias maneiras de instalar o Argos:

Noções básicas de uso do plugin Argos para você começar:

  • Argos monitora a pasta ~/.config/argos/ em busca de novos scripts. Qualquer script executável colocado nesta pasta é considerado um plugin e sua saída é exibida no painel Gnome Shell (barra superior) assim que é colocado nesta pasta. Nomes que começam com um ponto (.) são ignorados

  • O nome do arquivo do plugin tem um formato especial: NAME.POSITION.INTERVAL[+].EXTENSION:

    • POSITION: é opcional e você pode usá-lo para especificar a posição do botão no painel. A posição é um número inteiro + l (esquerda), c (centro) ou r (direita)

    • INTERVAL: é opcional e você pode usá-lo para informar ao plugin após quanto tempo ele deve ser atualizado. O intervalo é um número inteiro + s (segundos), m (minutos), h (horas) ou d (dias)

    • +: se + seguir INTERVAL, ele informa ao script para atualizar também toda vez que o menu suspenso for aberto.

    • Exemplo de nome de arquivo do plugin Argos (script): plugin.1r.10m+.sh. Este plugin será posicionado exatamente à direita do relógio do Gnome Shell (se você não o moveu do centro do painel), ele executará o script para atualizar as informações a cada 10 minutos, e também será executado sempre que o menu suspenso for aberto.

  • Os botões mostrados por Argos no painel são organizados da esquerda para a direita em ordem alfabética, a menos que POSITION seja especificado no nome do arquivo, conforme mencionado acima

É hora de "instalar" seu primeiro plugin Argos. Comece baixando um exemplo simples, digamos plug-in Ping (para baixar o script, clique no link View source e pressione Ctrl + s para salvá-lo), copie o script para ~/.config/argos/ e torne-o executável (você pode torná-lo executável do aplicativo Arquivos: clique com o botão direito do mouse no script, selecione Properties, vá para a guia Permissions e ative Allow executing file as program) .

Assim que Argos encontrar seu novo script executável em ~/.config/argos/, ele mostrará sua saída no painel e no menu suspenso:

Plug-in de ping do Argos BitBar

Você pode excluir o script argos.sh que já existe no ~/.config/argos/, pois é apenas um marcador para a pasta de configuração do Argos e para a página do projeto Argos GitHub.

Se você deseja escrever seu próprio plugin Argos, recomendo começar com um exemplo já existente e verificar a documentação de renderização e atributos de linha do Argos.

Exemplos de plugins Argos

Argos já tem alguns [exemplos de plug-ins] funcionais (https://github.com/p-e-w/argos#examples) em sua página do GitHub, como um iniciador de aplicativo ou visualizador superior. Você também encontrará alguns exemplos de plug-ins BitBar que funcionam com Argos, como um plug-in Ping, Stock Ticker ou World Clock.

Além desses, encontrei alguns exemplos de plug-ins extras para Argos que gostaria de compartilhar com vocês.

1. argosWeather plugin

Plugin de clima Argos

Este é um plugin complexo do Argos que mostra o tempo atual e uma previsão do tempo para 7 dias, com ícones e várias informações extras como a velocidade do vento, umidade e muito mais. Ele suporta a detecção automática de sua localização atual, bem como a especificação manual de um local.

Para usá-lo, você terá que abrir o script com um editor de texto e modificar:

  • api_key: altere o valor api_key para sua chave de API darksky.net. Você pode obter sua chave de API DarkSky gratuita em https://darksky.net/dev

  • opcional:

    • se você deseja usar um local personalizado:
  • altere o valor man_loc para as coordenadas de latitude e longitude de sua localização. Você pode encontrar isso usando o Google Maps. Por exemplo, pesquisando Berlim no Google Maps, você obtém este URL: https://www.google.com/maps/place/Berlin,+Germany/@52.5175012,13.1539869,10.25z.... Copie a parte de latitude e longitude (52.5175012,13.1539869) do URL e cole-a como o valor man_loc (. Por exemplo: man_loc = '52.5065116,13.1438652')

  • altere o valor man_name para o nome do seu local. Por exemplo man_name = 'Berlin, Germany'

    • a cor e a aparência da fonte também podem ser personalizadas, e isso já está explicado no script

2. Plugin VPN Checker para BitBar (compatível com Argos)

Plug-in de verificador Argos BitBar VPN

Este é um plugin muito simples, mas útil, que verifica se você está usando uma VPN (verifica a disponibilidade de tun0 ou ipsec0). Também permite matar um programa quando você está desconectado da VPN.

Se você deseja que o plug-in elimine um programa quando desconectado da VPN, remova o comentário da linha #killall Firefox... e substitua Firefox pelo programa que deseja eliminar quando desconectado da VPN.

3. Plug-in de taxas de criptomoeda BitBar compatível com Argos

Plug-in de criptomoeda Argos BitBar

Este é um plugin que mostra as taxas de criptomoeda no painel. Por padrão, ele mostra as taxas em GBP (Libra Esterlina), mas você pode alterá-lo para dizer USD, alterando o URL de https://cryptomate.co.uk/api/all/GBP/ para https://cryptomate.co.uk/api/all/USD/ e uma simples pesquisa e substituição de £ por $ para mostrar o símbolo de moeda correto. Como você pode ver, mudei para USD na captura de tela.

Isso também funciona com EUR e outras moedas.

4. GetNews for Argos (baixe o script getnews.py)

Plug-in do feed RSS da Argos News

GetNews é um plugin Python3 simples para Argos que obtém as últimas histórias (apenas manchetes) de um feed RSS configurável, mostrando-as em um menu. Por padrão, ele usa o feed RSS do Google Notícias, mas eu mudei para Linux Uprising para a captura de tela.

Você pode atualizar o feed diretamente do menu de plug-ins mostrado no painel Gnome Shell. Clicar em qualquer notícia abre o artigo em seu navegador padrão.

Altere o valor feed_url para um feed RSS válido de onde extrair as notícias. Pode ser um único feed RSS de um site ou um agregador de feed. Você também pode usar algum feed RSS do subreddit (por exemplo, https://old.reddit.com/r/linux/.rss). Altere o valor stories para o número de histórias a serem mostradas no menu de plug-ins.

5. SimpleWattage-Argos

SimpleWattage-Argos é um plugin Argos para mostrar informações de energia e bateria, como voltagem e ampere usados, % de carga da bateria, capacidade da bateria e muito mais.

Não tenho acesso a um laptop no momento, é por isso que não experimentei este plugin Argos, e a captura de tela é da página do projeto.

6. Airly.sh air quality for Argos (link para download do script)

Verificador de qualidade do ar Argos

Airly.sh lê o Índice de Qualidade do Ar dos sensores airly.eu, mostrando-o no painel. Isso só funciona se airly.eu tiver sensores de qualidade do ar para sua cidade.

Para usá-lo, certifique-se de que jq e curl estejam instalados em seu sistema. Você também precisará obter sua chave de API airly.eu.

Depois de obter sua chave API, use-a como o valor API_KEY no script. Você também precisa obter um ID de sensor - isso pode ser obtido visitando https://airapi.airly.eu/v2/installations/nearest?lat=YOUR_LAT&lng=YOUR_LNG&maxDistanceKM=5&maxResults=3&apikey=YOUR_API_KEY, substituindo YOUR_LAT pela latitude de sua localização e YOUR_LNG pela longitude de sua localização. Já expliquei como obter sua latitude e longitude usando o Google Maps nas instruções do plugin de clima Argos. Depois de visitar o URL com esses parâmetros, você deve obter algo que começa com id seguido por alguns números. Copie esses números no script, substituindo o valor SENSOR_ID.

Onde encontrar mais plug-ins Argos:

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.