Awesome Archives - Technik - Blogbasis.net https://technik.blogbasis.net/tag/awesome Die Basis des freien Wissens – Technik Wed, 16 Dec 2015 21:32:36 +0000 de hourly 1 https://wordpress.org/?v=6.8.1 Vicious – Warnung bei niedriger Batterie https://technik.blogbasis.net/vicious-warnung-bei-niedriger-batterie-16-12-2015 https://technik.blogbasis.net/vicious-warnung-bei-niedriger-batterie-16-12-2015#respond Wed, 16 Dec 2015 21:32:36 +0000 http://technik.blogbasis.net/?p=1382 Aufgrund eines Wackelkontaktes in meinem Laptop kam es in letzter Zeit häufiger zum Wechsel von Netz- auf Batteriebetrieb. Das hab ich meist nicht mitbekommen und saß schlagartig vor einem schwarzen Bildschirm, da der Akku alle war.  Eine Warnmeldung musste her!

Ich nutze das Plugin „Vicious“ für den Batteriestatus in Awesome. Eine beispielhafte Implementierung für das Battery-Widget findet man in der README, allerdings bei mir im Textmodus:

batwidget = wibox.widget.textbox()
vicious.register(batwidget, vicious.widgets.bat, "⚡: $2%/$3", 30, "BAT0")

Der 3. Parameter kann netterweise eine Funktion sein, sodass man einfach den Batteriestatus prüfen und entsprechend eine Meldung ausgeben kann:

vicious.register(batwidget, vicious.widgets.bat, function(widget, args) 
 if args[2] <= 15 then
 naughty.notify({
 title="BATTERY!!",
 text="Battery left: "..args[2].."%",
 bg="#ff0000",
 fg="#000",
 timeout=5,
 border_width=5,
 font="Arial 25" 
 })
 end
 return "⚡: "..args[2].."%/".. args[3]
 end, 30, "BAT0")

In meinem Fall wird die Meldung angezeigt, wenn weniger als 15% Akku verbleiben. Das sieht dann so aus (100% nur, da es ein Test ist):

battery

Damit sollten sich die unbemerkten Abschaltungen meines Laptops in Zukunft drastisch reduzieren.

~ Sebastian

]]>
https://technik.blogbasis.net/vicious-warnung-bei-niedriger-batterie-16-12-2015/feed 0
Mit Awesome und curl den aktuellen DOGE/BTC-Kurs im Blick haben https://technik.blogbasis.net/mit-awesome-und-curl-den-aktuellen-dogebtc-kurs-im-blick-haben-27-01-2014 https://technik.blogbasis.net/mit-awesome-und-curl-den-aktuellen-dogebtc-kurs-im-blick-haben-27-01-2014#respond Mon, 27 Jan 2014 01:13:28 +0000 http://technik.blogbasis.net/?p=1013 Wenn man Leute beobachtet, die sich viel mit Crypto-Währungen beschäftigt fällt auf, dass immer wieder Webseiten aufgerufen werden um den aktuellen Kurs zu erfahren. Dass muss nicht sein. Denn mit einer API kann man die Kurse auch durch ein Programm abrufen lassen. Wenn man Linux nutzt geht das recht schnell. Hier will ich kurz zeigen wie man sich für Awesome ein kleines Wiget für diese Aufgabe schreibt.

Erstmal braucht man eine Möglichkeit um den aktuellen Kurs zu erfahren.

Wenn es schon eine API gibt ist das natürlich praktisch. Durch Googeln von „Dogecoin API Price“ bekommt man einen nützlichen Beitrag auf Reddit. Dort gibt es dann auch gleich einen Link auf eine Web-API. Die kann man dann dank curl auch direkt von der Shell aus nutzen.

curl https://bter.com/api/1/ticker/doge_btc

gibt einem

{"result":"true","last":"0.00000184","high":"0.00000220","low":"0.00000180","avg":"0.00000195","sell":"0.00000185","buy":"0.00000182","vol_doge":395657724.31,"vol_btc":769.703167}%

zurück. Für ein Widget muss man sich die Ausgabe dann nur noch etwas formatieren. Ich hab das erstmal mit einem Ruby-Skript gemacht. Denn hier gibt es das coole Tool Rubular.

cmd = `curl -s http://bter.com/api/1/ticker/doge_btc`
regex = /last\":\"([0-9\.]+)/
cap = cmd.match(regex).captures
p cap[0]

das geht also alles soweit erstmal.

Jetzt ein Awesome-Wiget schreiben:

Erstmal braucht man eine rc.lua . Hier kann man jetzt an einer geeigneten stelle den Lua-Code für das Widget einfügen. Der sieht dann so aus:

--Create a Doge-Notifier, which shows the number of doge/BTC
mydogeStatus = widget({ type = "textbox" })
mydogeStatus.text ="Doge-Notifier init"

mydogeStatustimer = timer({ timeout = 5 })
mydogeStatustimer:add_signal("timeout", function()

mydogeStatus.text = "Doge/BTC: ".. awful.util.pread([[curl -s http://bter.com/api/1/ticker/doge_btc | grep -m 1 -ioP 'last":"([0-9\.]+)' | sed -e 's/last":"//g']])

end
)
mydogeStatustimer:start()

So das wars auch schon: Den Code hier drüber kann man einfach in seine rc.lua Copy-Pasten und dann noch das „mydogeStatus“ in die entsprechende Widgetbox (oft wibox) packen.

Im Code hier verwende ich kein Ruby mehr, dass war zu ineffizient (Warum eigentlich?). Egal bash-Magie tuts ja auch. Wenn man es klüger machen kann kannst du es ja mit einem Kommentar mitteilen (wäre sogar sehr nett).

]]>
https://technik.blogbasis.net/mit-awesome-und-curl-den-aktuellen-dogebtc-kurs-im-blick-haben-27-01-2014/feed 0