Dwb Flattr Extension

Wer Vimperator oder Pentadactyl unter Firefox nutzt, weiß die kompfortable Bedienung eines “VI-like”-Browsers zu schätzen. Wem mit der Zeit Firefox zu groß und langsam wurde, kann auch auf einem minimalen Browser umsteigen, der dennoch die wichtigsten Funktionen implementiert hat, dafür aber keinen “GUI”-overhead mehr besitzt. Mein Favorit ist in diesem Bereich dwb und gefühlt steigt auch immer mehr dessen Popularität. Zumindest seine Entwicklung wird weiterhin aktiv vorangetrieben und damit spürbar auch seine performance und stabilität (obwohl libwebkitgtk unter der Haube selbst in ArchTesting nicht sehr aktuell ist).
Mir fehlen dennoch einige Addons, neben YouTube/Grooveshark-Unblocker ist das noch eine Flattr-Extension:

#!javascript

bind(null, function() { flattr(tabs.current.uri); }, "flattr");

function checkflattr(url){
  var reqret = sendRequestSync("https://api.flattr.com/rest/v2/things/lookup?q="+url);
  var returnobject = JSON.parse(reqret.body);
  if(returnobject.message !== "not_found"){
    return returnobject.id;
  }
  return false;
};

function flattr(url){
  var flattrid = checkflattr(url);
  if(flattrid){
    execute("tabopen https://flattr.com/thing/"+flattrid);
  } else {
    io.notify("Flattr not available for this page!");
  }
};

signals.connect("loadCommitted", function(wv) {
  if(checkflattr(wv.uri)){
    io.notify("Flattr available!");
  }
});

Problem (fürs erste) solved :) Es erscheint eine kurze Meldung, dass man die Inhalte flattrn kann und mit dem Befehl :flattr ist dies auch getan. Wer Flattr nicht kennt? Klick!

Mit ein wenig Kenntnis der API lassen sich schnell noch andere, weitere Extension-Ideen umsetzen, es würde sich da einiges anbieten (auto-dl bei 1-click-hostern, autotranslate webpage …).

💬 Are you interested in our work or have some questions? Join us in our public Signal chat pi crew 👋
🪙 If you like our work or want to supprot us, you can donate MobileCoins to our address.

Leave a Reply

Your email address will not be published. Required fields are marked *