Skip to content

Instantly share code, notes, and snippets.

@agoose77
Created January 22, 2026 14:56
Show Gist options
  • Select an option

  • Save agoose77/aef3e09dfdeca56455c215de1466cebf to your computer and use it in GitHub Desktop.

Select an option

Save agoose77/aef3e09dfdeca56455c215de1466cebf to your computer and use it in GitHub Desktop.
Google Meet custom reacts
// ==UserScript==
// @name Custom Meet GIFs
// @namespace http://tampermonkey.net/
// @version 2026-01-22
// @description try to take over the world!
// @author You
// @match https://meet.google.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant none
// ==/UserScript==
(function () {
"use strict";
var observer = new MutationObserver(function (mutations) {
// Map Noto font glyphs onto replacement URLs
const notoFontGlyphMap = {
"1f44e":
"https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExeDhyaWV3cnVkeWsxeWVmb3NmbHZkOW40eWFwdXBsdHNqczlwZnc0ciZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xvRQ0ag9DhIffjs2wv/giphy.gif",
"1f389": "https://c.tenor.com/3_mXIoBPNhoAAAAC/tenor.gif",
"1f44f": "https://media.tenor.com/jkzLp9NQrusAAAAi/clappi-cat-clap.gif"
};
// Build query to match images
const query = Object.keys(notoFontGlyphMap)
.map(
(glyph) =>
`img[src^="https://fonts.gstatic.com/s/e/notoemoji/16.0/${glyph}/"]`,
)
.join(",");
/* Is this as horrible it looks? Yes. Yes it is.*/
const images = document.querySelectorAll(query);
images.forEach((img) => {
for (const [glyph, replacement] of Object.entries(notoFontGlyphMap)) {
if (img.src.includes(`/${glyph}/`)) {
img.src = replacement;
}
img.loading = "eager";
}
});
});
observer.observe(document, {
// Dear god this is going to be slow. Let's hope the query is fast!
attributes: true,
childList: true,
characterData: false,
subtree: true,
});
// Your code here...
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment