Skip to content

Instantly share code, notes, and snippets.

@seikichi
Last active August 29, 2015 14:07
Show Gist options
  • Save seikichi/8925a8794c5b47449576 to your computer and use it in GitHub Desktop.
Save seikichi/8925a8794c5b47449576 to your computer and use it in GitHub Desktop.
Feedly Star Opener (2014/10/13 Firefox 32.0.3 Greasemonkey 2.2)
// ==UserScript==
// @name Feedly Star Opener
// @namespace http://www.srcw.net/
// @description Open saved items in Feedly
// @include http://feedly.com/*
// @include https://feedly.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @version 1.0.2
// ==/UserScript==
(function () {
var MAX_WINDOW_OPEN = 5;
var triggerMouseClick = function (element) {
['mouseover', 'mousedown', 'mouseup', 'click'].forEach(function (eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initMouseEvent(eventType, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(clickEvent);
});
};
var onKeyDown = function (event) {
if (event.keyCode == 87 && !event.shiftKey) { // push 'w' key
var savedtabs = document.evaluate('//div[@id="savedtab_label"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
if (savedtabs.snapshotLength <= 0) {
return;
}
triggerMouseClick(savedtabs.snapshotItem(0));
waitForKeyElements('#loadingEntries:hidden', function (_node) {
var entries = document.evaluate('//div[@class="entryholder"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0, len = Math.min(entries.snapshotLength, MAX_WINDOW_OPEN); i < len; i++) {
var entry = entries.snapshotItem(i);
var link = entry.getElementsByClassName('entryTitle') [0].href;
var savedIcon = entry.getElementsByClassName('headerInfo-expanded-img') [0];
window.open(link);
triggerMouseClick(savedIcon);
}
}, true);
}
};
document.addEventListener('keydown', onKeyDown, false);
}) ();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment