Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EvaparotangCote/458892ec18f2482c90e5 to your computer and use it in GitHub Desktop.
Save EvaparotangCote/458892ec18f2482c90e5 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name Image dimensions before title
// @description Request by supasd. Code by wOxxOm. https://stackoverflow.com/a/32949363/5382305
// @icon https://assets-cdn.github.com/images/icons/emoji/unicode/1f504.png
// @grant none
// @run-at document-start
// ==/UserScript==
if (!changeTitle()) {
new MutationObserver(function(mutations) {
var nodes = mutations[0].addedNodes;
if (nodes[0] && nodes[0].localName == 'title' && changeTitle(nodes[0])
|| document.body && document.body.children.length) {
this.disconnect();
}
}).observe(document, {subtree: true, childList: true});
}
document.addEventListener('DOMContentLoaded', changeTitle);
function changeTitle(node) {
var m = document.title
.match(/^(.+?\.\w+) \((?:([^,]+?), )?(\d+)\s*[x×]\s*(\d+)( \w+)?\)/);
if (m) {
document.title = m[3] + 'x' + m[4] + ' ' + m[1] + (m[2] ? ' (' + m[2] + ')' : '');
return true;
}
}
// ==UserScript==
// @name Image dimensions before title
// @description Request by supasd. Code by wOxxOm. https://stackoverflow.com/a/32949363/5382305
// @icon https://assets-cdn.github.com/images/icons/emoji/unicode/1f504.png
// @grant none
// ==/UserScript==
(function() {
var m = document.title
.match(/^(.+?\.\w+) \((?:([^,]+?), )?(\d+)\s*[x×]\s*(\d+)( .+?)?\)/);
if (m)
document.title = m[3] + 'x' + m[4] + ' ' + m[1] + (m[2] ? ' (' + m[2] + ')' : '');
})();
@EvaparotangCote
Copy link
Author

Status: Read step 10. Introduced from Fx 43 onwards (meaning same applies for Fx 44) behavior in this step seems to have changed.

Reproducible every single time (on Windows 8.1):
Firefox Developer Edition (43):
Greasemonkey 3.4.1:

1. New clean profile/Firefox Developer Edition (43) install.
2. Install Greasemonkey 3.4.1.
3. Install image-dimensions-before-title-MutationObserver.user.js (just copy the code - 'New User Script...' - 'Use Script From Clipboard' - 'Save' - close Scratchpad window).
4. Do Ctrl+L + paste http://i.imgur.com/iEYEhJv.png + Alt+Enter.
5. Watch as it loads stuff is altered correctly. Finished loading it changes back to original order (ignores userscript).

6. Ctrl+F5 that tab. Same happens as in 5.
7. Now try F5 instead of Ctrl+F5.
8. F5 and Ctrl+F5 both produces the same result. Original order (ignores userscript).

9. Do another Ctrl+L, already having the same url (no Ctrl+V/pasting), press Alt+Enter.
10. Now the order ends up the same=original (ignores userscript). (This is different from previous versions of Firefox which for some reason in this step showed the order as the userscript says it want (though the correct order went away again doing a F5/Ctrl+F5)).)

11. Switch out the userscript ('Remove' the current one first) to image-dimensions-before-title-simple.user.js
(+ make sure it's enabled).
12. Now opening http://i.imgur.com/iEYEhJv.png (= doing the same as in 4.) alters the order as supposed to do. Though an interesting note is that while the image is loading, the original order is shown. As soon as loading's finished order gets switched to the one the userscript says it wants.

Firefox Developer Edition (43):
Greasemonkey 3.5beta3:

Using Greasemonkey 3.5beta3 or 3.4.1 produces the same results on Firefox Developer Edition (43).

@EvaparotangCote
Copy link
Author

Reproducible every single time (on Windows 8.1):
Firefox Nightly (44):
Greasemonkey 3.4.1:

Using Firefox Nightly (44) or Firefox Developer Edition (43) produces the same results.
Though in Firefox Nightly (44) using Greasemonkey 3.4.1, in step 3., clicking 'Use Script From Clipboard' adds the userscript right away. No Scratchpad window pops up, so no need to click 'Save' and close Scratchpad window. Trying to edit the userscript by clicking 'Options' - 'Edit This User Script' does nothing - the userscript can't be edited. 

Firefox Nightly (44):
Greasemonkey 3.5beta3:

Using Greasemonkey 3.5beta3 or 3.4.1 produces the same results on Firefox Nightly (44).
Though in Firefox Nightly (44) using Greasemonkey 3.5beta3 - yeah well it works the same as in Firefox Developer Edition (43). It's just that using Firefox Nightly (44) with Greasemonkey 3.4.1 doesn'tt as noted above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment