Emoji testing
-
@loopback0 said in Discussion of NodeBB Updates:
@hungrier said in Discussion of NodeBB Updates:
I don't know where else to put this
Freds are three.
-
And here's the one from the other thread. It doesn't look like much at low res
-
Hey darkies, how does this look?
-
@boomzilla it was established some time ago over that it seemed fine for everyone. It's not excellent but I can see it (that it moves certainly helps).
-
@kazitor welp... so merged.
-
@boomzilla phew, I was worried everyone would be stuck with something even worse. How dare you make me work.
-
@kazitor sometimes it helps when I pretend to care what other people around here think about stuff like that.
-
@kazitor said in Emoji testing:
It's not excellent but I can see it
Can we get some better anti-aliasing? The downscaling looks pretty awful.
-
@topspin I believe that's what I said back whenever, but at least this is better than before.
-
-
@topspin I think that's a browser issue. For me (Windows 10, Opera, dark-ish theme) it's barely visible (maybe ironic since it's my re-colour of the yellow one that light themers didn't like) but it gets properly antialiased
-
@boomzilla said in Emoji testing:
Hey darkies, how does this look?
Ship it!
At whatever random point in the future we deploy the next updates, natch.
-
@loopback0 said in Emoji testing:
@boomzilla said in Emoji testing:
Hey darkies, how does this look?
Ship it!
At whatever random point in the future we deploy the next updates, natch.Whenever @ben_lubar passes through again.
-
-
Can we change the color of the ?
-
-
and also currently look really bad on a dark background.
-
@Mason_Wheeler I've posted my userscript a couple times before but I guess this is as good a place as any
"use strict"; // ==UserScript== // @name wtfwtf emoji inverter // @namespace WTDWTF // @grant none // @match https://what.thedailywtf.com/* // @match http://what.thedailywtf.com/* // @description inverts emojis for dark themes // @author hungrier // @version 1.4 // ==/UserScript== (function() { var hoverms = 1000; var storageKey = 'wtdwtf-dark-emojicons'; var emojiClassPrefix = "emoji--"; var defaultEmojis = ["arrows_clockwise", "back", "copyright", "curly_loop", "currency_exchange", "dark_sunglasses", "eight_pointed_black_star", "end", "eyeglasses", "headdesk", "heavy_check_mark", "heavy_division_sign", "heavy_dollar_sign", "heavy_minus_sign", "heavy_multiplication_x", "heavy_plus_sign", "magnets_having_sex", "moving_goal_post", "mu", "musical_note", "notes", "on", "onion", "pen_fountain", "pendant", "registered", "soon", "tm", "top", "wavy_dash", "whoosh"]; var storage = localStorage || { setItem: function setItem() { return null; }, getItem: function getItem() { return null; } }; var loadInvisibles = function loadInvisibles() { var keyString = storage.getItem(storageKey); var keys = keyString ? keyString.split(':') : defaultEmojis; return keys.reduce(function(ob, k) { ob[k] = 1; return ob; }, {}); }; var invisibles = loadInvisibles(); var saveInvisibles = function saveInvisibles() { var keys = Object.keys(invisibles); console.log(keys); storage.setItem(storageKey, keys.join(':')); }; var createCssRule = function createCssRule() { var wrapKey = function wrapKey(which) { return '.' + emojiClassPrefix + which;// + "']"; }; var genFilter = function genFilter(prefix) { return prefix + 'filter: invert(1);'; }; var keys = Object.keys(invisibles); var prefixes = ['-webkit-', '-moz-', '-o-', '-ms-', '-khtml-', '']; var selector = keys.map(wrapKey).join(','); var rules = prefixes.map(genFilter).join(' '); var fullRule = selector + '{' + rules + '}'; return fullRule; }; var invertStyle = $('<style>').prop('type', 'text/css').html(createCssRule()).appendTo('head'); var thinger = $('<div/>').css({ border: '1px solid white', 'background-color': 'black', padding: '8px 14px', 'border-radius': '8px', position: 'fixed', display: 'none', 'z-index': 100 }).appendTo('body'); var hideTimer = void 0; var startHide = function startHide() { hideTimer = setTimeout(function() { thinger.css('display', 'none'); }, hoverms); }; var stopHide = function stopHide() { clearTimeout(hideTimer); }; var showHoverer = function showHoverer(id, text, x, y) { stopHide(); let displayedText = id === text? text: `${text} [${id}]`; thinger.attr('data-emoji-name', id); thinger.text(displayedText); thinger.css({ left: x + 2, top: y + 2 }); thinger.css('display', 'block'); }; thinger.on('click', function() { var which = thinger.attr('data-emoji-name'); if (invisibles[which]) { delete invisibles[which]; } else { invisibles[which] = 1; } saveInvisibles(); invertStyle.html(createCssRule()); }); thinger.on('mouseover', stopHide); thinger.on('mouseout', startHide); $('body').on('mouseover', '.emoji', function(mouseEvent) { //var emojiId = mouseEvent.target.dataset.emojiId; let targets = [mouseEvent.target, mouseEvent.currentTarget]; let target = targets.find((c)=>c.classList.length > 0); if (!target) { return console.log('no target',mouseEvent); } let emojiIdClass = Array.from(target.classList) .find((c)=>c.startsWith(emojiClassPrefix)); if (!emojiIdClass) { return console.log('no eidc',mouseEvent); } var emojiId = emojiIdClass.substr(emojiClassPrefix.length); //var emojiTitle = mouseEvent.target.title; var emojiTitle = emojiId; var cx = mouseEvent.clientX; var cy = mouseEvent.clientY; showHoverer(emojiId, emojiTitle, cx, cy); }); $('body').on('mouseout', '.emoji', startHide); })();
tldr: when you hover over an emoticon it pops up a tooltip you can click on to invert it.
e:
-
@boomzilla said in Emoji testing:
@kazitor sometimes it helps when I pretend to care what other people around here think about stuff like that.
It has been said that a warden who does not pretend to care what the inmate advisory committee thinks is risking a riot.
-
-
@topspin said in Emoji testing:
@jinpa said in Emoji testing:
is risking a riot.
What makes you think he cares about that?
I have wondered if he gets any kind of compensation. Remy does, I believe; I don't know about Booms.
-
@jinpa said in Emoji testing:
I have wondered if he gets any kind of compensation. Remy does, I believe; I don't know about Booms.
Isn't TDWTF its own reward?
-
@jinpa said in Emoji testing:
@topspin said in Emoji testing:
@jinpa said in Emoji testing:
is risking a riot.
What makes you think he cares about that?
I have wondered if he gets any kind of compensation. Remy does, I believe; I don't know about Booms.
All the money is on the front page.
INB4: the what page?
-
-
@hungrier said in Emoji testing:
I quoted your post and all the emojis were there! What sorcery is this?!
Anyway, I'm trying to figure what is the use of this emoji.
I'm quite happy about and .
-
@hungrier
:technically-correct:
? Awesome!
-
@Zecc
If you put two of them together, you have clapping!
-
@hungrier said in Emoji testing:
@topspin I think that's a browser issue. For me (Windows 10, Opera, dark-ish theme) it's barely visible (maybe ironic since it's my re-colour of the yellow one that light themers didn't like) but it gets properly antialiased
Yeah, it looks fine on mobile Safari (with admittedly higher dpi screen).
-
-
@hungrier Well played sir.
-
@Zecc said in Emoji testing:
@hungrier said in Emoji testing:
Anyway, I'm trying to figure what is the use of this emoji.I can imagine it could be of use if someone said something irrational, or asked a question with no answer.
(For those who aren't familiar with the background on this, one of the most famous Zen koans is "What is the sound of one hand clapping?")
-
@jinpa said in Emoji testing:
"What is the sound of one hand clapping?"
-
-
@hungrier Just my luck, I want to make a PR but Github appears to be down
-
-
-
@hungrier Exactly!
-
Lets see if this works at emoji size
-
@spike_tt said in I hate printers, with a passion:
Why not spend a million euros on a printer that won't fit through your door?
How about that for an over-sized version of the emoji!
-
-
-
Not sure if recognizable.
-
@Zecc Why not use the full sized source image?
-
@hungrier There have been complaints before about trying to put in a large one.
-
@Zecc I've always figured as long as the filesize is reasonable and the artwork is distinct, it should be fine
-
I'm not sure the full size image is any more recognisable at emoji scale.
-
@hungrier said in Emoji testing:
Why not use the full sized source image?
-
<font face="Krabby Patty">ONE GIMP SESSION LATER</font>
-
@hungrier said in Emoji testing:
@Mason_Wheeler I've posted my userscript a couple times before but I guess this is as good a place as any
"use strict"; // ==UserScript== // @name wtfwtf emoji inverter // @namespace WTDWTF // @grant none // @match https://what.thedailywtf.com/* // @match http://what.thedailywtf.com/* // @description inverts emojis for dark themes // @author hungrier // @version 1.4 // ==/UserScript== (function() { var hoverms = 1000; var storageKey = 'wtdwtf-dark-emojicons'; var emojiClassPrefix = "emoji--"; var defaultEmojis = ["arrows_clockwise", "back", "copyright", "curly_loop", "currency_exchange", "dark_sunglasses", "eight_pointed_black_star", "end", "eyeglasses", "headdesk", "heavy_check_mark", "heavy_division_sign", "heavy_dollar_sign", "heavy_minus_sign", "heavy_multiplication_x", "heavy_plus_sign", "magnets_having_sex", "moving_goal_post", "mu", "musical_note", "notes", "on", "onion", "pen_fountain", "pendant", "registered", "soon", "tm", "top", "wavy_dash", "whoosh"]; var storage = localStorage || { setItem: function setItem() { return null; }, getItem: function getItem() { return null; } }; var loadInvisibles = function loadInvisibles() { var keyString = storage.getItem(storageKey); var keys = keyString ? keyString.split(':') : defaultEmojis; return keys.reduce(function(ob, k) { ob[k] = 1; return ob; }, {}); }; var invisibles = loadInvisibles(); var saveInvisibles = function saveInvisibles() { var keys = Object.keys(invisibles); console.log(keys); storage.setItem(storageKey, keys.join(':')); }; var createCssRule = function createCssRule() { var wrapKey = function wrapKey(which) { return '.' + emojiClassPrefix + which;// + "']"; }; var genFilter = function genFilter(prefix) { return prefix + 'filter: invert(1);'; }; var keys = Object.keys(invisibles); var prefixes = ['-webkit-', '-moz-', '-o-', '-ms-', '-khtml-', '']; var selector = keys.map(wrapKey).join(','); var rules = prefixes.map(genFilter).join(' '); var fullRule = selector + '{' + rules + '}'; return fullRule; }; var invertStyle = $('<style>').prop('type', 'text/css').html(createCssRule()).appendTo('head'); var thinger = $('<div/>').css({ border: '1px solid white', 'background-color': 'black', padding: '8px 14px', 'border-radius': '8px', position: 'fixed', display: 'none', 'z-index': 100 }).appendTo('body'); var hideTimer = void 0; var startHide = function startHide() { hideTimer = setTimeout(function() { thinger.css('display', 'none'); }, hoverms); }; var stopHide = function stopHide() { clearTimeout(hideTimer); }; var showHoverer = function showHoverer(id, text, x, y) { stopHide(); let displayedText = id === text? text: `${text} [${id}]`; thinger.attr('data-emoji-name', id); thinger.text(displayedText); thinger.css({ left: x + 2, top: y + 2 }); thinger.css('display', 'block'); }; thinger.on('click', function() { var which = thinger.attr('data-emoji-name'); if (invisibles[which]) { delete invisibles[which]; } else { invisibles[which] = 1; } saveInvisibles(); invertStyle.html(createCssRule()); }); thinger.on('mouseover', stopHide); thinger.on('mouseout', startHide); $('body').on('mouseover', '.emoji', function(mouseEvent) { //var emojiId = mouseEvent.target.dataset.emojiId; let targets = [mouseEvent.target, mouseEvent.currentTarget]; let target = targets.find((c)=>c.classList.length > 0); if (!target) { return console.log('no target',mouseEvent); } let emojiIdClass = Array.from(target.classList) .find((c)=>c.startsWith(emojiClassPrefix)); if (!emojiIdClass) { return console.log('no eidc',mouseEvent); } var emojiId = emojiIdClass.substr(emojiClassPrefix.length); //var emojiTitle = mouseEvent.target.title; var emojiTitle = emojiId; var cx = mouseEvent.clientX; var cy = mouseEvent.clientY; showHoverer(emojiId, emojiTitle, cx, cy); }); $('body').on('mouseout', '.emoji', startHide); })();
tldr: when you hover over an emoticon it pops up a tooltip you can click on to invert it.
e:
That userscript looks very familiar somehow.
-