100% API compatible with BitBar 1.9.2. All plugins that don't contain macOS-specific code will work with Argos

Asynchronous execution engine: Argos prevents blocking by scheduling scripts intelligently

Unicode support

Optimized for minimum resource consumption; the developer claims that even with multiple scripts refreshing every second, Argos uses less than 1% of the CPU

Argos installation and quick usage guide

Argos can be installed from extensions.gnome.org. Make sure you have the browser plugin and system package installed to be able to install Gnome Shell extensions, then visit extensions.gnome.org and install the extension by clicking on the toggle button.

You may also be able to install Argos by searching the extension in the Gnome Software app.

Installing Argos from source is also quite easy

Argos monitors the ~/.config/argos/ folder for new scripts. Any executable script placed in this folder is considered a plugin, and its output is displayed on the Gnome Shell panel (top bar) as soon as it's placed in this folder. Names starting with a dot ( . ) are ignored

(top bar) as soon as it's placed in this folder. Names starting with a dot ( ) are ignored The plugin filename has a special form: NAME.POSITION.INTERVAL[+].EXTENSION :

: POSITION : is optional and you can use it to specify the button position on the panel. The position is an integer + l (left), c (center) or r (right)

: is optional and you can use it to specify the button position on the panel. The position is an integer + (left), (center) or (right)

INTERVAL : is optional and you can use it to tell the plugin after which amount of time it should refresh. The interval is an integer + s (seconds), m (minutes), h (hours) or d (days)

: is optional and you can use it to tell the plugin after which amount of time it should refresh. The interval is an integer + (seconds), (minutes), (hours) or (days)

+ : if + follows INTERVAL , it tells the script to also update every time the dropdown menu is open.

: if follows , it tells the script to also update every time the dropdown menu is open.

Example Argos plugin (script) filename: plugin.1r.10m+.sh . This plugin will positioned just right of the Gnome Shell clock (if you didn't move it from the center of the panel), it will run the script to update the info every 10 minutes, and it will also run every time the dropdown menu is open.

. This plugin will positioned just right of the Gnome Shell clock (if you didn't move it from the center of the panel), it will run the script to update the info every 10 minutes, and it will also run every time the dropdown menu is open. The buttons showed by Argos on the panel are arranged from left to right in alphabetical order, unless the POSITION is specified in the filename, as mentioned above

View source

Ctrl + s

~/.config/argos/

Properties

Permissions

Allow executing file as program

~/.config/argos/

argos.sh

~/.config/argos/

Argos plugin examples

api_key : change the api_key value to your darksky.net API key. You can get your free DarkSky API key at https://darksky.net/dev

: change the value to your darksky.net API key. You can get your free DarkSky API key at https://darksky.net/dev optional:

if you want to use a custom location:



change the man_loc value to the latitude and longitude coordinates for your location. You can find this using Google Maps. For example, searching for Berlin on Google Maps, you get this URL: https://www.google.com/maps/place/Berlin,+Germany/@ 52.5175012,13.1539869 ,10.25z... . Copy the latitude and longitude ( 52.5175012,13.1539869 ) part of the URL, and paste it as the man_loc value (.e.g: man_loc = '52.5065116,13.1438652' )

value to the latitude and longitude coordinates for your location. You can find this using Google Maps. For example, searching for Berlin on Google Maps, you get this URL: . Copy the latitude and longitude ( ) part of the URL, and paste it as the value (.e.g: )



change the man_name value to the name of your location. For example man_name = 'Berlin, Germany'

value to the name of your location. For example

the color and font appearance can also be customized, and this is already explained in the weather script

#killall Firefox...

Firefox

https://cryptomate.co.uk/api/all/GBP/

https://cryptomate.co.uk/api/all/USD/

£

$

feed_url

https://old.reddit.com/r/linux/.rss

stories

jq

curl

https://airapi.airly.eu/v2/installations/nearest?lat=YOUR_LAT&lng=YOUR_LNG&maxDistanceKM=5&maxResults=3&apikey=YOUR_API_KEY

YOUR_LAT

YOUR_LNG

id

SENSOR_ID

BitBar plugins website (plugins having macOS-specific code won't work with Argos)

The Argos wiki (it only has 4 plugins right now)

This Argos bug report contains quite a few plugins. Some are added to a list in the initial bug report, but quite a few others are mentioned in the comments as well.

Search GitHub for Argos plugins

Using it, you can essentially write your own custom Gnome Shell extension using a language you're already familiar with, like Bash, Python, and many others. Since an Argos plugin is just an executable script that writes to stdout, any language can be used to create plugins for it.Don't know Bash, Python, etc.? No problem, you'll find already existing Argos / BitBar plugins compatible with Argos for a wide range of tasks.Argos features:You have multiple. Start by downloading a simple example, say this Ping plugin (to download the script click on thelink, then pressto save it), copy the script to, and make it executable (you can make it executable from the Files app: right click the script, select, then go to thetab and enable).Once Argos finds your new executable script in, it will show its output on the panel and drop-down menu:You can delete thescript that already exists in theas it's only a bookmark to the Argos configuration folder, and to the Argos GitHub project page.If you want to write your own Argos plugin, I recommend starting with an already existing example, and checking out the Argos rendering and line attributes documentation Argos already has a few functional plugin examples on its GitHub page, like an application launcher or top viewer. You'll also find a few BitBar plugin examples that work with Argos, like a Ping plugin, Stock Ticker, or World Clock.Besides these, I found a few extra plugin examples for Argos that I wanted to share with you.This is a complex Argos plugin that shows the current weather and a 7-day weather forecast, with icons and various extra information like the wind speed, humidity, and much more. It supports automatically detecting your current location, as well as manually specifying a location.To use it, you'll have to open the script with a text editor and modify:(Argos compatible)This is a very simple, yet useful plugin that checks if you're currently using a VPN (it checks the availability of tun0 or ipsec0). It also allows to kill a program when you're disconnected from the VPN.If you want the plugin to kill a program when disconnected from VPN, uncomment theline, and replacewith the program you want to kill when disconnected from VPN.This is a plugin that shows cryptocurrency rates on the panel. By default it shows the rates in GBP (British Pound), but you can change it to say USD, by changing the URL fromto, and and a simple search and replace forwithso it shows the correct currency symbol. As you can see I changed it to USD for the screenshot.This also works with EUR and other currencies.(download the getnews.py script)GetNews is simple Python3 plugin for Argos that pulls the latest stories (headlines only) from a configurable RSS feed, showing them in a menu. By default it uses the Google News RSS feed, but I changed it to Linux Uprising for the screenshot.You can refresh the feed directly from the plugin menu shown on the Gnome Shell panel. Clicking any news item opens the article in your default web browser.Change thevalue to a valid RSS feed to pull the news from. This can be a single website RSS feed, or a feed aggregator. You can also use some subreddit RSS feed (e.g.). Change thevalue to the number of stories to be shown in the plugin menu.SimpleWattage-Argos is an Argos plugin for showing power and battery info, like voltage and ampere used, battery charge %, battery capacity and more.I don't have access to a laptop right now, that's why I didn't try this Argos plugin, and the screenshot is from its project page.Airly.sh reads the Air Quality Index from airly.eu sensors, showing it on the panel. This only works if airly.eu has air quality sensors for your city.To use it, make sureandare installed on your system. You'll also need to get your airly.eu API key Once you get your API key, use it as the API_KEY value in the script. You need to get a sensor ID as well - this can be obtained by visiting, replacingwith the latitude of your location, andwith the longitude of your location. I already explain how to obtain your latitude and longitude using Google Maps in the instructions for the weather Argos plugin. Once you visit the URL with those parameters, you should get something that begins withfollowed by some numbers. Copy those numbers in the script, replacing thevalue.