From 05edcc165e528dc26fde485f1d0fa2a6da6d161b Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Fri, 31 Mar 2023 16:21:33 +0200 Subject: [PATCH 01/22] Add config to build and run Emote as a flatpak package using the meson build system. Upgraded pygobject to ==3.42.2. I could not find how to install keybinder in flatpak, so I disabled it if not installed (should not impact usage in snap) --- .gitignore | 5 + Makefile | 13 ++ Pipfile | 3 +- Pipfile.lock | 281 ++++++++++++++++++++------------------ README.md | 53 ++++++- com.tomjwatson.Emote.yml | 33 +++++ emote/__init__.py | 19 ++- emote/config.py | 2 + emote/css.py | 2 + emote/emojis.py | 2 + emote/emote.in | 41 ++++++ emote/meson.build | 32 +++++ emote/picker.py | 2 + meson.build | 20 +++ python3-requirements.json | 54 ++++++++ setup.py | 2 +- static/meson.build | 3 + 17 files changed, 421 insertions(+), 146 deletions(-) create mode 100644 com.tomjwatson.Emote.yml create mode 100755 emote/emote.in create mode 100644 emote/meson.build create mode 100644 meson.build create mode 100644 python3-requirements.json create mode 100644 static/meson.build diff --git a/.gitignore b/.gitignore index cdd8333..5ff5896 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,10 @@ dist venv *.snap +# Flatpak +.flatpak-builder +/requirements.txt +flatpak-pip-generator + # Editors .vim diff --git a/Makefile b/Makefile index 6cbc161..8c39de3 100644 --- a/Makefile +++ b/Makefile @@ -17,3 +17,16 @@ package: clean: snapcraft clean + +flatpak: + flatpak-builder --user --install --force-clean build com.tomjwatson.Emote.yml + flatpak run com.tomjwatson.Emote + +flatpak-install: + flatpak install flathub -y org.flatpak.Builder org.gnome.Platform//43 org.gnome.Sdk//43 + wget -N https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/pip/flatpak-pip-generator + chmod +x flatpak-pip-generator + +flatpak-requirements: + pipenv requirements > requirements.txt + pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements -r requirements.txt diff --git a/Pipfile b/Pipfile index 4a8d194..b5cfb04 100644 --- a/Pipfile +++ b/Pipfile @@ -4,13 +4,14 @@ url = "https://pypi.org/simple" verify_ssl = true [packages] -pygobject = "==3.38.0" +pygobject = "==3.42.2" manimpango = "==0.3.0" setproctitle = "==1.2.2" [dev-packages] black = "==19.10b0" flake8 = "*" +requirements-parser = "*" [requires] python_version = "3.8" diff --git a/Pipfile.lock b/Pipfile.lock index c7bdb2f..4a66a09 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "f9ed13cddfea6b20cd613d86fad8f401c138e0cddb896b9ae4ee45b17a3ba7f6" + "sha256": "5f4fe1bd2a72b5b44ea575e30bfa5cc31449edaa8e1792addf1f4181afdae0cd" }, "pipfile-spec": 6, "requires": { @@ -37,27 +37,27 @@ }, "pycairo": { "hashes": [ - "sha256:0d7a6754d410d911a46f00396bee4be96500ccd3d178e7e98aef1140e3dd67ae", - "sha256:1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b", - "sha256:261c69850d4b2ec03346c9745bad2a835bb8124e4c6961b8ceac503d744eb3b3", - "sha256:5525da2d8de912750dd157752aa96f1f0a42a437c5625e85b14c936b5c6305ae", - "sha256:6db823a18e7be1eb2a29c28961f2f01e84d3b449f06be7338d05ac8f90592cd5", - "sha256:736ffc618e851601e861a630293e5c910ef016b83b2d035a336f83a367bf56ab", - "sha256:9a32e4a3574a104aa876c35d5e71485dfd6986b18d045534c6ec510c44d5d6a7", - "sha256:b605151cdd23cedb31855b8666371b6e26b80f02753a52c8b8023a916b1df812", - "sha256:c8c2bb933974d91c5d19e54b846d964de177e7bf33433bf34ac34c85f9b30e94", - "sha256:e800486b51fffeb11ed867b4f2220d446e2a60a81a73b7c377123e0cbb72f49d", - "sha256:f123d3818e30b77b7209d70a6dcfd5b4e34885f9fa539d92dd7ff3e4e2037213" + "sha256:1a6d8e0f353062ad92954784e33dbbaf66c880c9c30e947996c542ed9748aaaf", + "sha256:2dec5378133778961993fb59d66df16070e03f4d491b67eb695ca9ad7a696008", + "sha256:3a71f758e461180d241e62ef52e85499c843bd2660fd6d87cec99c9833792bfa", + "sha256:564601e5f528531c6caec1c0177c3d0709081e1a2a5cccc13561f715080ae535", + "sha256:82e335774a17870bc038e0c2fb106c1e5e7ad0c764662023886dfcfce5bb5a52", + "sha256:87efd62a7b7afad9a0a420f05b6008742a6cfc59077697be65afe8dc73ae15ad", + "sha256:9b61ac818723adc04367301317eb2e814a83522f07bbd1f409af0dada463c44c", + "sha256:a4b1f525bbdf637c40f4d91378de36c01ec2b7f8ecc585b700a079b9ff83298e", + "sha256:d6bacff15d688ed135b4567965a4b664d9fb8de7417a7865bb138ad612043c9f", + "sha256:e7cde633986435d87a86b6118b7b6109c384266fd719ef959883e2729f6eafae", + "sha256:ec305fc7f2f0299df78aadec0eaf6eb9accb90eda242b5d3492544d3f2b28027" ], - "markers": "python_version >= '3.6' and python_version < '4'", - "version": "==1.20.1" + "markers": "python_version >= '3.7'", + "version": "==1.23.0" }, "pygobject": { "hashes": [ - "sha256:051b950f509f2e9f125add96c1493bde987c527f7a0c15a1f7b69d6d1c3cd8e6" + "sha256:21524cef33100c8fd59dc135948b703d79d303e368ce71fa60521cc971cd8aa7" ], "index": "pypi", - "version": "==3.38.0" + "version": "==3.42.2" }, "setproctitle": { "hashes": [ @@ -97,11 +97,11 @@ }, "attrs": { "hashes": [ - "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", - "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" + "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", + "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==21.4.0" + "markers": "python_version >= '3.6'", + "version": "==22.2.0" }, "black": { "hashes": [ @@ -113,128 +113,125 @@ }, "click": { "hashes": [ - "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3", - "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b" + "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", + "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" ], - "markers": "python_version >= '3.6'", - "version": "==8.0.3" + "markers": "python_version >= '3.7'", + "version": "==8.1.3" }, "flake8": { "hashes": [ - "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d", - "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d" + "sha256:3833794e27ff64ea4e9cf5d410082a8b97ff1a06c16aa3d2027339cd0f1195c7", + "sha256:c61007e76655af75e6785a931f452915b371dc48f56efd765247c8fe68f2b181" ], "index": "pypi", - "version": "==4.0.1" + "version": "==6.0.0" }, "mccabe": { "hashes": [ - "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", - "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" + "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", + "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" ], - "version": "==0.6.1" + "markers": "python_version >= '3.6'", + "version": "==0.7.0" }, "pathspec": { "hashes": [ - "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a", - "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1" + "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687", + "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293" ], - "version": "==0.9.0" + "markers": "python_version >= '3.7'", + "version": "==0.11.1" }, "pycodestyle": { "hashes": [ - "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20", - "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f" + "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053", + "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==2.8.0" + "markers": "python_version >= '3.6'", + "version": "==2.10.0" }, "pyflakes": { "hashes": [ - "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c", - "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e" + "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf", + "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.4.0" + "markers": "python_version >= '3.6'", + "version": "==3.0.1" }, "regex": { "hashes": [ - "sha256:0416f7399e918c4b0e074a0f66e5191077ee2ca32a0f99d4c187a62beb47aa05", - "sha256:05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f", - "sha256:0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc", - "sha256:07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4", - "sha256:0f594b96fe2e0821d026365f72ac7b4f0b487487fb3d4aaf10dd9d97d88a9737", - "sha256:139a23d1f5d30db2cc6c7fd9c6d6497872a672db22c4ae1910be22d4f4b2068a", - "sha256:162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4", - "sha256:2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8", - "sha256:2409b5c9cef7054dde93a9803156b411b677affc84fca69e908b1cb2c540025d", - "sha256:2fee3ed82a011184807d2127f1733b4f6b2ff6ec7151d83ef3477f3b96a13d03", - "sha256:30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f", - "sha256:3598893bde43091ee5ca0a6ad20f08a0435e93a69255eeb5f81b85e81e329264", - "sha256:3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a", - "sha256:3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef", - "sha256:416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f", - "sha256:42b50fa6666b0d50c30a990527127334d6b96dd969011e843e726a64011485da", - "sha256:432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc", - "sha256:473e67837f786404570eae33c3b64a4b9635ae9f00145250851a1292f484c063", - "sha256:4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50", - "sha256:50a7ddf3d131dc5633dccdb51417e2d1910d25cbcf842115a3a5893509140a3a", - "sha256:529801a0d58809b60b3531ee804d3e3be4b412c94b5d267daa3de7fadef00f49", - "sha256:537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d", - "sha256:53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d", - "sha256:5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733", - "sha256:563d5f9354e15e048465061509403f68424fef37d5add3064038c2511c8f5e00", - "sha256:5d408a642a5484b9b4d11dea15a489ea0928c7e410c7525cd892f4d04f2f617b", - "sha256:61600a7ca4bcf78a96a68a27c2ae9389763b5b94b63943d5158f2a377e09d29a", - "sha256:6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36", - "sha256:666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345", - "sha256:68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0", - "sha256:6e1d2cc79e8dae442b3fa4a26c5794428b98f81389af90623ffcc650ce9f6732", - "sha256:74cbeac0451f27d4f50e6e8a8f3a52ca074b5e2da9f7b505c4201a57a8ed6286", - "sha256:780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12", - "sha256:788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646", - "sha256:7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667", - "sha256:7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244", - "sha256:83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29", - "sha256:85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec", - "sha256:9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf", - "sha256:93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4", - "sha256:962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449", - "sha256:96fc32c16ea6d60d3ca7f63397bff5c75c5a562f7db6dec7d412f7c4d2e78ec0", - "sha256:98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a", - "sha256:a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d", - "sha256:a955b747d620a50408b7fdf948e04359d6e762ff8a85f5775d907ceced715129", - "sha256:b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb", - "sha256:b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e", - "sha256:b9ed0b1e5e0759d6b7f8e2f143894b2a7f3edd313f38cf44e1e15d360e11749b", - "sha256:ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83", - "sha256:ca49e1ab99593438b204e00f3970e7a5f70d045267051dfa6b5f4304fcfa1dbf", - "sha256:ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e", - "sha256:cd410a1cbb2d297c67d8521759ab2ee3f1d66206d2e4328502a487589a2cb21b", - "sha256:ce298e3d0c65bd03fa65ffcc6db0e2b578e8f626d468db64fdf8457731052942", - "sha256:d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a", - "sha256:d5fd67df77bab0d3f4ea1d7afca9ef15c2ee35dfb348c7b57ffb9782a6e4db6e", - "sha256:da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94", - "sha256:dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc", - "sha256:dc07f021ee80510f3cd3af2cad5b6a3b3a10b057521d9e6aaeb621730d320c5a", - "sha256:dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e", - "sha256:e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965", - "sha256:e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0", - "sha256:e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36", - "sha256:e6096b0688e6e14af6a1b10eaad86b4ff17935c49aa774eac7c95a57a4e8c296", - "sha256:e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec", - "sha256:ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23", - "sha256:eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7", - "sha256:f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe", - "sha256:f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6", - "sha256:f5be7805e53dafe94d295399cfbe5227f39995a997f4fd8539bf3cbdc8f47ca8", - "sha256:f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b", - "sha256:f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb", - "sha256:fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b", - "sha256:fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30", - "sha256:fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e" + "sha256:086afe222d58b88b62847bdbd92079b4699350b4acab892f88a935db5707c790", + "sha256:0b8eb1e3bca6b48dc721818a60ae83b8264d4089a4a41d62be6d05316ec38e15", + "sha256:11d00c31aeab9a6e0503bc77e73ed9f4527b3984279d997eb145d7c7be6268fd", + "sha256:11d1f2b7a0696dc0310de0efb51b1f4d813ad4401fe368e83c0c62f344429f98", + "sha256:1b1fc2632c01f42e06173d8dd9bb2e74ab9b0afa1d698058c867288d2c7a31f3", + "sha256:20abe0bdf03630fe92ccafc45a599bca8b3501f48d1de4f7d121153350a2f77d", + "sha256:22720024b90a6ba673a725dcc62e10fb1111b889305d7c6b887ac7466b74bedb", + "sha256:2472428efc4127374f494e570e36b30bb5e6b37d9a754f7667f7073e43b0abdd", + "sha256:25f0532fd0c53e96bad84664171969de9673b4131f2297f1db850d3918d58858", + "sha256:2848bf76673c83314068241c8d5b7fa9ad9bed866c979875a0e84039349e8fa7", + "sha256:37ae17d3be44c0b3f782c28ae9edd8b47c1f1776d4cabe87edc0b98e1f12b021", + "sha256:3cd9f5dd7b821f141d3a6ca0d5d9359b9221e4f051ca3139320adea9f1679691", + "sha256:4479f9e2abc03362df4045b1332d4a2b7885b245a30d4f4b051c4083b97d95d8", + "sha256:4c49552dc938e3588f63f8a78c86f3c9c75301e813bca0bef13bdb4b87ccf364", + "sha256:539dd010dc35af935b32f248099e38447bbffc10b59c2b542bceead2bed5c325", + "sha256:54c3fa855a3f7438149de3211738dd9b5f0c733f48b54ae05aa7fce83d48d858", + "sha256:55ae114da21b7a790b90255ea52d2aa3a0d121a646deb2d3c6a3194e722fc762", + "sha256:5ccfafd98473e007cebf7da10c1411035b7844f0f204015efd050601906dbb53", + "sha256:5fc33b27b1d800fc5b78d7f7d0f287e35079ecabe68e83d46930cf45690e1c8c", + "sha256:6560776ec19c83f3645bbc5db64a7a5816c9d8fb7ed7201c5bcd269323d88072", + "sha256:6572ff287176c0fb96568adb292674b421fa762153ed074d94b1d939ed92c253", + "sha256:6b190a339090e6af25f4a5fd9e77591f6d911cc7b96ecbb2114890b061be0ac1", + "sha256:7304863f3a652dab5e68e6fb1725d05ebab36ec0390676d1736e0571ebb713ef", + "sha256:75f288c60232a5339e0ff2fa05779a5e9c74e9fc085c81e931d4a264501e745b", + "sha256:7868b8f218bf69a2a15402fde08b08712213a1f4b85a156d90473a6fb6b12b09", + "sha256:787954f541ab95d8195d97b0b8cf1dc304424adb1e07365967e656b92b38a699", + "sha256:78ac8dd8e18800bb1f97aad0d73f68916592dddf233b99d2b5cabc562088503a", + "sha256:79e29fd62fa2f597a6754b247356bda14b866131a22444d67f907d6d341e10f3", + "sha256:845a5e2d84389c4ddada1a9b95c055320070f18bb76512608374aca00d22eca8", + "sha256:86b036f401895e854de9fefe061518e78d506d8a919cc250dc3416bca03f6f9a", + "sha256:87d9951f5a538dd1d016bdc0dcae59241d15fa94860964833a54d18197fcd134", + "sha256:8a9c63cde0eaa345795c0fdeb19dc62d22e378c50b0bc67bf4667cd5b482d98b", + "sha256:93f3f1aa608380fe294aa4cb82e2afda07a7598e828d0341e124b8fd9327c715", + "sha256:9bf4a5626f2a0ea006bf81e8963f498a57a47d58907eaa58f4b3e13be68759d8", + "sha256:9d764514d19b4edcc75fd8cb1423448ef393e8b6cbd94f38cab983ab1b75855d", + "sha256:a610e0adfcb0fc84ea25f6ea685e39e74cbcd9245a72a9a7aab85ff755a5ed27", + "sha256:a81c9ec59ca2303acd1ccd7b9ac409f1e478e40e96f8f79b943be476c5fdb8bb", + "sha256:b7006105b10b59971d3b248ad75acc3651c7e4cf54d81694df5a5130a3c3f7ea", + "sha256:c07ce8e9eee878a48ebeb32ee661b49504b85e164b05bebf25420705709fdd31", + "sha256:c125a02d22c555e68f7433bac8449992fa1cead525399f14e47c2d98f2f0e467", + "sha256:c37df2a060cb476d94c047b18572ee2b37c31f831df126c0da3cd9227b39253d", + "sha256:c869260aa62cee21c5eb171a466c0572b5e809213612ef8d495268cd2e34f20d", + "sha256:c88e8c226473b5549fe9616980ea7ca09289246cfbdf469241edf4741a620004", + "sha256:cd1671e9d5ac05ce6aa86874dd8dfa048824d1dbe73060851b310c6c1a201a96", + "sha256:cde09c4fdd070772aa2596d97e942eb775a478b32459e042e1be71b739d08b77", + "sha256:cf86b4328c204c3f315074a61bc1c06f8a75a8e102359f18ce99fbcbbf1951f0", + "sha256:d5bbe0e1511b844794a3be43d6c145001626ba9a6c1db8f84bdc724e91131d9d", + "sha256:d895b4c863059a4934d3e874b90998df774644a41b349ebb330f85f11b4ef2c0", + "sha256:db034255e72d2995cf581b14bb3fc9c00bdbe6822b49fcd4eef79e1d5f232618", + "sha256:dbb3f87e15d3dd76996d604af8678316ad2d7d20faa394e92d9394dfd621fd0c", + "sha256:dc80df325b43ffea5cdea2e3eaa97a44f3dd298262b1c7fe9dbb2a9522b956a7", + "sha256:dd7200b4c27b68cf9c9646da01647141c6db09f48cc5b51bc588deaf8e98a797", + "sha256:df45fac182ebc3c494460c644e853515cc24f5ad9da05f8ffb91da891bfee879", + "sha256:e152461e9a0aedec7d37fc66ec0fa635eca984777d3d3c3e36f53bf3d3ceb16e", + "sha256:e2396e0678167f2d0c197da942b0b3fb48fee2f0b5915a0feb84d11b6686afe6", + "sha256:e76b6fc0d8e9efa39100369a9b3379ce35e20f6c75365653cf58d282ad290f6f", + "sha256:ea3c0cb56eadbf4ab2277e7a095676370b3e46dbfc74d5c383bd87b0d6317910", + "sha256:ef3f528fe1cc3d139508fe1b22523745aa77b9d6cb5b0bf277f48788ee0b993f", + "sha256:fdf7ad455f1916b8ea5cdbc482d379f6daf93f3867b4232d14699867a5a13af7", + "sha256:fffe57312a358be6ec6baeb43d253c36e5790e436b7bf5b7a38df360363e88e9" + ], + "markers": "python_version >= '3.8'", + "version": "==2023.3.23" + }, + "requirements-parser": { + "hashes": [ + "sha256:3336f3a3ae23e06d3f0f88595e4052396e3adf91688787f637e5d2ca1a904069", + "sha256:e7fcdcd04f2049e73a9fb150d8a0f9d51ce4108f5f7cbeac74c484e17b12bcd9" ], - "version": "==2021.11.10" + "index": "pypi", + "version": "==0.5.0" }, "toml": { "hashes": [ @@ -246,28 +243,40 @@ }, "typed-ast": { "hashes": [ - "sha256:24058827d8f5d633f97223f5148a7d22628099a3d2efe06654ce872f46f07cdb", - "sha256:256115a5bc7ea9e665c6314ed6671ee2c08ca380f9d5f130bd4d2c1f5848d695", - "sha256:38cf5c642fa808300bae1281460d4f9b7617cf864d4e383054a5ef336e344d32", - "sha256:484137cab8ecf47e137260daa20bafbba5f4e3ec7fda1c1e69ab299b75fa81c5", - "sha256:4f30a2bcd8e68adbb791ce1567fdb897357506f7ea6716f6bbdd3053ac4d9471", - "sha256:591bc04e507595887160ed7aa8d6785867fb86c5793911be79ccede61ae96f4d", - "sha256:5b6ab14c56bc9c7e3c30228a0a0b54b915b1579613f6e463ba6f4eb1382e7fd4", - "sha256:5d8314c92414ce7481eee7ad42b353943679cf6f30237b5ecbf7d835519e1212", - "sha256:71dcda943a471d826ea930dd449ac7e76db7be778fcd722deb63642bab32ea3f", - "sha256:7c42707ab981b6cf4b73490c16e9d17fcd5227039720ca14abe415d39a173a30", - "sha256:9caaf2b440efb39ecbc45e2fabde809cbe56272719131a6318fd9bf08b58e2cb", - "sha256:a2b8d7007f6280e36fa42652df47087ac7b0a7d7f09f9468f07792ba646aac2d", - "sha256:a6d495c1ef572519a7bac9534dbf6d94c40e5b6a608ef41136133377bba4aa08", - "sha256:a80d84f535642420dd17e16ae25bb46c7f4c16ee231105e7f3eb43976a89670a", - "sha256:b53ae5de5500529c76225d18eeb060efbcec90ad5e030713fe8dab0fb4531631", - "sha256:b6d17f37f6edd879141e64a5db17b67488cfeffeedad8c5cec0392305e9bc775", - "sha256:c9bcad65d66d594bffab8575f39420fe0ee96f66e23c4d927ebb4e24354ec1af", - "sha256:ca9e8300d8ba0b66d140820cf463438c8e7b4cdc6fd710c059bfcfb1531d03fb", - "sha256:de4ecae89c7d8b56169473e08f6bfd2df7f95015591f43126e4ea7865928677e" + "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2", + "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1", + "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6", + "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62", + "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac", + "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d", + "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc", + "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2", + "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97", + "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35", + "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6", + "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1", + "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4", + "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c", + "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e", + "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec", + "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f", + "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72", + "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47", + "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72", + "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe", + "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6", + "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3", + "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66" ], "markers": "python_version >= '3.6'", - "version": "==1.5.1" + "version": "==1.5.4" + }, + "types-setuptools": { + "hashes": [ + "sha256:a5efd019b53c5793a112e0112b91bb402df749f75ee7abe681b6240841650ce4", + "sha256:fb46e651c6b5880ec8932a8876aa832071d612b2954fc5156b09cd263927d85b" + ], + "version": "==67.6.0.6" } } } diff --git a/README.md b/README.md index 924277a..a8e2069 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,9 @@ Previous Emoji Category: `Ctrl+Shift+Tab` Install development libraries: ```bash -sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev +sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev flatpak-builder +# or with dnf +sudo dnf install xdotool gtk3-devel keybinder3-devel libgirepository1.0-dev ``` Install pipenv: @@ -101,7 +103,7 @@ Launch app in debug mode with interactive inspector: make dev-debug ``` -### Packaging +### Packaging for Snap Ensure you have `snapcraft` installed: @@ -131,6 +133,53 @@ Push the packaged snap to the `edge` channel on the snap store. snapcraft push --release=edge ``` +### Packaging for Flatpak + +https://docs.flatpak.org/en/latest/first-build.html + +Install `flatpak-builder` and the GNOME SDK: + +```bash +make flatpak-install +``` + +Re-generate pip requirements if they have changed: + +```bash +make flatpak-requirements +``` + +Build the flatpak and install it locally: + +```bash +make flatpak +``` + +Try it: + +```bash +flatpak run com.tomjwatson.Emote +``` + +Check installed files: + +```bash +pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements "pygobject==3.42.2" "manimpango==0.3.0" "setproctitle==1.2.2" + +cat ~/.local/share/flatpak/app/com.tomjwatson.Emote/ +chmod +x ~/.local/share/flatpak/app/com.tomjwatson.Emote/x86_64/master/active/files/bin/emote + +cat /var/lib/flatpak/app/it.mijorus.smile/x86_64/stable/ +``` + +Put it in a repo: + +```bash +flatpak-builder --repo=repo --force-clean build com.tomjwatson.Emote.yml +``` + +Desktop entry: https://github.com/GNOME/balsa/blob/master/org.desktop.Balsa.desktop.meson + ### Attribution Emoji data is sourced from https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/data/openmoji.csv which is compiled by the lovely people at https://openmoji.org. diff --git a/com.tomjwatson.Emote.yml b/com.tomjwatson.Emote.yml new file mode 100644 index 0000000..0132da2 --- /dev/null +++ b/com.tomjwatson.Emote.yml @@ -0,0 +1,33 @@ +app-id: com.tomjwatson.Emote +runtime: org.gnome.Platform +runtime-version: '43' +sdk: org.gnome.Sdk +command: emote +finish-args: + - --share=ipc + - --socket=wayland + - --socket=fallback-x11 + - --device=dri +cleanup: + - /include + - /lib/pkgconfig + - /man + - /share/doc + - /share/gtk-doc + - /share/man + - /share/pkgconfig + - "*.la" + - "*.a" +modules: + - python3-requirements.json + - name: emote + buildsystem: meson + sources: + - type: dir + path: "./" + # - type: archive + # url: https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz + # sha256: e6e3de4e1f3b201814a956ab8f16dfc8a262db1937ff1eee4d855365398c6020 + # - type: git + # url: "https://github.com/tom-james-watson/Emote" + # commit: f71e41b92bfe8a32451f0f0d93ae47da886d2b51 diff --git a/emote/__init__.py b/emote/__init__.py index 689d2f2..c87a7e3 100644 --- a/emote/__init__.py +++ b/emote/__init__.py @@ -4,13 +4,19 @@ from setproctitle import setproctitle gi.require_version("Gtk", "3.0") -gi.require_version("Keybinder", "3.0") -from gi.repository import Gtk, Keybinder +from gi.repository import Gtk +try: + gi.require_version("Keybinder", "3.0") + from gi.repository import Keybinder +except: + Keybinder = None from emote import picker, css, emojis, user_data, config # Register updated emoji font if config.is_snap: manimpango.register_font(f"{config.snap_root}/static/NotoColorEmoji.ttf") +elif config.is_flatpak: + manimpango.register_font(f"{config.flatpak_root}/static/NotoColorEmoji.ttf") else: manimpango.register_font("static/NotoColorEmoji.ttf") @@ -28,7 +34,8 @@ def start_daemon(self): setproctitle("emote") if not config.is_wayland: - Keybinder.init() + if Keybinder: + Keybinder.init() self.set_accelerator() css.load_css() @@ -51,7 +58,7 @@ def set_accelerator(self): """Register global shortcut for invoking the emoji picker""" accel_string, _ = user_data.load_accelerator() - if accel_string: + if accel_string and Keybinder: Keybinder.bind(accel_string, self.handle_accelerator) def set_theme(self): @@ -67,7 +74,7 @@ def set_theme(self): def unset_accelerator(self): old_accel_string, _ = user_data.load_accelerator() - if old_accel_string: + if old_accel_string and Keybinder: Keybinder.unbind(old_accel_string) def handle_accelerator(self, keystring): @@ -90,7 +97,7 @@ def create_picker_window(self, show_welcome=False): if self.picker_window: self.picker_window.destroy() self.picker_window = picker.EmojiPicker( - Keybinder.get_current_event_time(), + Keybinder.get_current_event_time() if Keybinder else 1, self.update_accelerator, self.update_theme, show_welcome, diff --git a/emote/config.py b/emote/config.py index fa443b3..b876fd9 100644 --- a/emote/config.py +++ b/emote/config.py @@ -5,4 +5,6 @@ is_dev = os.environ.get("ENV") == "dev" is_snap = os.environ.get("SNAP") is not None snap_root = os.environ.get("SNAP") +is_flatpak = os.environ.get("FLATPAK") is not None +flatpak_root = os.environ.get("FLATPAK") is_wayland = os.environ.get("XDG_SESSION_TYPE", "").lower() == "wayland" diff --git a/emote/css.py b/emote/css.py index bb305d8..f038af2 100644 --- a/emote/css.py +++ b/emote/css.py @@ -14,6 +14,8 @@ def load_css(): if config.is_snap: css_provider.load_from_path(f"{config.snap_root}/static/style.css") + elif config.is_flatpak: + css_provider.load_from_path(f"{config.flatpak_root}/static/style.css") else: css_provider.load_from_path("static/style.css") diff --git a/emote/emojis.py b/emote/emojis.py index d63c27a..396addc 100644 --- a/emote/emojis.py +++ b/emote/emojis.py @@ -239,6 +239,8 @@ def init(): filename = ( f"{config.snap_root}/static/emojis.csv" if config.is_snap + else f"{config.flatpak_root}/static/emojis.csv" + if config.is_flatpak else "static/emojis.csv" ) diff --git a/emote/emote.in b/emote/emote.in new file mode 100755 index 0000000..907d734 --- /dev/null +++ b/emote/emote.in @@ -0,0 +1,41 @@ +#!@PYTHON@ + +# emote.in +# +# Copyright 2023 +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os +import sys +import signal +import locale +import gettext + +VERSION = '@VERSION@' +pkgdatadir = '@pkgdatadir@' +localedir = '@localedir@' + +sys.path.insert(1, pkgdatadir) +signal.signal(signal.SIGINT, signal.SIG_DFL) +locale.bindtextdomain('emote', localedir) +locale.textdomain('emote') +gettext.install('emote', localedir) + +# NOTE: needed to pass the pkg data dir to __init__.py to point to the static folder +os.environ["FLATPAK"] = pkgdatadir + +if __name__ == '__main__': + from emote import main + sys.exit(main()) \ No newline at end of file diff --git a/emote/meson.build b/emote/meson.build new file mode 100644 index 0000000..b3421d1 --- /dev/null +++ b/emote/meson.build @@ -0,0 +1,32 @@ +pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) +moduledir = join_paths(pkgdatadir, 'emote') +# gnome = import('gnome') + +# gnome.compile_resources('emote', +# 'emote.gresource.xml', +# gresource_bundle: true, +# install: true, +# install_dir: pkgdatadir, +# ) + +python = import('python') + +conf = configuration_data() +conf.set('PYTHON', python.find_installation('python3').path()) +conf.set('VERSION', meson.project_version()) +conf.set('localedir', join_paths(get_option('prefix'), get_option('localedir'))) +conf.set('pkgdatadir', pkgdatadir) + +configure_file( + input: 'emote.in', + output: 'emote', + configuration: conf, + install: true, + install_dir: get_option('bindir') +) + + +message(get_option('bindir')) +message(moduledir) + +install_subdir('.', install_dir: moduledir) \ No newline at end of file diff --git a/emote/picker.py b/emote/picker.py index 5788f1e..1d555d7 100644 --- a/emote/picker.py +++ b/emote/picker.py @@ -329,6 +329,8 @@ def open_about(self): logo_path = ( f"{config.snap_root}/static/logo.svg" if config.is_snap + else f"{config.flatpak_root}/static/logo.svg" + if config.is_flatpak else "static/logo.svg" ) logo = Pixbuf.new_from_file(logo_path) diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..3b763ca --- /dev/null +++ b/meson.build @@ -0,0 +1,20 @@ +project('emote', + version: '3.1.0', + meson_version: '>= 0.50.0', + default_options: [ 'warning_level=2', ], +) + +i18n = import('i18n') + +# keybinderdeps = [ +# dependency('libkeybinder-3.0-0'), +# # dependency('libgirepository1.0-dev'), +# # dependency('gir1.2-keybinder-3.0') +# ] + +# canberra_dep = dependency('libcanberra-gtk3') + +subdir('emote') +subdir('static') + +# meson.add_install_script('build-aux/meson/postinstall.py', 'emote') \ No newline at end of file diff --git a/python3-requirements.json b/python3-requirements.json new file mode 100644 index 0000000..fce2bd2 --- /dev/null +++ b/python3-requirements.json @@ -0,0 +1,54 @@ +{ + "name": "python3-requirements", + "buildsystem": "simple", + "build-commands": [], + "modules": [ + { + "name": "python3-pygobject", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pygobject==3.42.2\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/fe/40/9afaeb8d3b453fb8596fcb6c7bc2b64e434868c91eda19955742778eff74/PyGObject-3.42.2.tar.gz", + "sha256": "21524cef33100c8fd59dc135948b703d79d303e368ce71fa60521cc971cd8aa7" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/69/ca/9e9fa2e8be0876a9bbf046a1be7ee33e61d4fdfbd1fd25c76c1bdfddf8c4/pycairo-1.23.0.tar.gz", + "sha256": "9b61ac818723adc04367301317eb2e814a83522f07bbd1f409af0dada463c44c" + } + ] + }, + { + "name": "python3-manimpango", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"manimpango==0.3.0\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/f4/ad/0cc179bc96cfbbdb71ef9047345d56ad0115a0958a9b45fd8fbc9c33a2cd/ManimPango-0.3.0.tar.gz", + "sha256": "5c3b6f89e043fbb5e467131fb346801496e1d8e92803362d0a47a0761c5c55c8" + } + ] + }, + { + "name": "python3-setproctitle", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"setproctitle==1.2.2\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/a1/7f/a1d4f4c7b66f0fc02f35dc5c85f45a8b4e4a7988357a29e61c14e725ef86/setproctitle-1.2.2.tar.gz", + "sha256": "7dfb472c8852403d34007e01d6e3c68c57eb66433fb8a5c77b13b89a160d97df" + } + ] + } + ] +} \ No newline at end of file diff --git a/setup.py b/setup.py index e992176..4c2ffa4 100644 --- a/setup.py +++ b/setup.py @@ -10,5 +10,5 @@ "emote = emote.__init__:main", ] }, - install_requires=["pygobject==3.36.0", "manimpango==0.3.0", "setproctitle==1.2.2"], + install_requires=["pygobject==3.42.2", "manimpango==0.3.0", "setproctitle==1.2.2"], ) diff --git a/static/meson.build b/static/meson.build new file mode 100644 index 0000000..bb088e2 --- /dev/null +++ b/static/meson.build @@ -0,0 +1,3 @@ +pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) + +install_subdir('.', install_dir: join_paths(pkgdatadir, 'static')) \ No newline at end of file From 46470f4b869fa8852e10903415f6b4bd284a0730 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 08:48:16 +0200 Subject: [PATCH 02/22] Enable desktop entry for flatpak --- README.md | 17 ++--------------- emote/meson.build | 12 ------------ flatpak/com.tomjwatson.Emote.desktop | 10 ++++++++++ flatpak/meson.build | 13 +++++++++++++ meson.build | 9 ++++----- static/meson.build | 10 +++++++++- 6 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 flatpak/com.tomjwatson.Emote.desktop create mode 100644 flatpak/meson.build diff --git a/README.md b/README.md index a8e2069..94bb93e 100644 --- a/README.md +++ b/README.md @@ -135,9 +135,7 @@ snapcraft push --release=edge ### Packaging for Flatpak -https://docs.flatpak.org/en/latest/first-build.html - -Install `flatpak-builder` and the GNOME SDK: +Ensure you have `flatpak-builder` and the GNOME SDK installed: ```bash make flatpak-install @@ -149,7 +147,7 @@ Re-generate pip requirements if they have changed: make flatpak-requirements ``` -Build the flatpak and install it locally: +Build the flatpak package and install it locally: ```bash make flatpak @@ -161,17 +159,6 @@ Try it: flatpak run com.tomjwatson.Emote ``` -Check installed files: - -```bash -pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements "pygobject==3.42.2" "manimpango==0.3.0" "setproctitle==1.2.2" - -cat ~/.local/share/flatpak/app/com.tomjwatson.Emote/ -chmod +x ~/.local/share/flatpak/app/com.tomjwatson.Emote/x86_64/master/active/files/bin/emote - -cat /var/lib/flatpak/app/it.mijorus.smile/x86_64/stable/ -``` - Put it in a repo: ```bash diff --git a/emote/meson.build b/emote/meson.build index b3421d1..e629b43 100644 --- a/emote/meson.build +++ b/emote/meson.build @@ -1,13 +1,5 @@ pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) moduledir = join_paths(pkgdatadir, 'emote') -# gnome = import('gnome') - -# gnome.compile_resources('emote', -# 'emote.gresource.xml', -# gresource_bundle: true, -# install: true, -# install_dir: pkgdatadir, -# ) python = import('python') @@ -25,8 +17,4 @@ configure_file( install_dir: get_option('bindir') ) - -message(get_option('bindir')) -message(moduledir) - install_subdir('.', install_dir: moduledir) \ No newline at end of file diff --git a/flatpak/com.tomjwatson.Emote.desktop b/flatpak/com.tomjwatson.Emote.desktop new file mode 100644 index 0000000..8f3106a --- /dev/null +++ b/flatpak/com.tomjwatson.Emote.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Emote +Type=Application +GenericName=Emoji picker +Comment=Modern popup emoji picker +Exec=emote +Categories=Utility;GTK; +Keywords=emoji,smiley,emoticon,icon +Icon=com.tomjwatson.Emote +Terminal=false diff --git a/flatpak/meson.build b/flatpak/meson.build new file mode 100644 index 0000000..eebfdad --- /dev/null +++ b/flatpak/meson.build @@ -0,0 +1,13 @@ +sharedir = join_paths(get_option('prefix'), get_option('datadir')) +pkgdatadir = join_paths(sharedir, meson.project_name()) +appdir = join_paths(sharedir, 'applications') + +conf = configuration_data() +conf.set('pkgdatadir', pkgdatadir) +configure_file( + input: 'com.tomjwatson.Emote.desktop', + output: 'com.tomjwatson.Emote.desktop', + configuration: conf, + install: true, + install_dir: appdir +) diff --git a/meson.build b/meson.build index 3b763ca..14a2481 100644 --- a/meson.build +++ b/meson.build @@ -3,18 +3,17 @@ project('emote', meson_version: '>= 0.50.0', default_options: [ 'warning_level=2', ], ) +# Warning levels: 0, 1, 2, 3, everything i18n = import('i18n') # keybinderdeps = [ -# dependency('libkeybinder-3.0-0'), -# # dependency('libgirepository1.0-dev'), +# dependency('keybinder-3.0'), +# # dependency('gio-2.0'), # # dependency('gir1.2-keybinder-3.0') # ] - # canberra_dep = dependency('libcanberra-gtk3') subdir('emote') subdir('static') - -# meson.add_install_script('build-aux/meson/postinstall.py', 'emote') \ No newline at end of file +subdir('flatpak') diff --git a/static/meson.build b/static/meson.build index bb088e2..24bcea6 100644 --- a/static/meson.build +++ b/static/meson.build @@ -1,3 +1,11 @@ -pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) +sharedir = join_paths(get_option('prefix'), get_option('datadir')) +pkgdatadir = join_paths(sharedir, meson.project_name()) + +configure_file( + input: 'logo.svg', + output: 'com.tomjwatson.Emote.svg', + copy: true, + install_dir: join_paths(sharedir, 'icons', 'hicolor', 'scalable', 'apps') +) install_subdir('.', install_dir: join_paths(pkgdatadir, 'static')) \ No newline at end of file From 366daf9cc2704f9d3e07d073099eaf128016b3b5 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 10:25:07 +0200 Subject: [PATCH 03/22] Add keybinder and xdotool modules --- README.md | 3 ++- com.tomjwatson.Emote.yml | 25 ++++++++++++++++++++++--- emote/__init__.py | 18 +++++++----------- meson.build | 11 +++-------- 4 files changed, 34 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 94bb93e..de03891 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ Build the flatpak package and install it locally: make flatpak ``` -Try it: +Run emote with flatpak: ```bash flatpak run com.tomjwatson.Emote @@ -162,6 +162,7 @@ flatpak run com.tomjwatson.Emote Put it in a repo: ```bash +flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/com.tomjwatson.Emote flatpak-builder --repo=repo --force-clean build com.tomjwatson.Emote.yml ``` diff --git a/com.tomjwatson.Emote.yml b/com.tomjwatson.Emote.yml index 0132da2..0561ade 100644 --- a/com.tomjwatson.Emote.yml +++ b/com.tomjwatson.Emote.yml @@ -20,14 +20,33 @@ cleanup: - "*.a" modules: - python3-requirements.json + - name: keybinder-3.0 + sources: + - type: archive + url: https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz + sha256: e6e3de4e1f3b201814a956ab8f16dfc8a262db1937ff1eee4d855365398c6020 + # https://github.com/flathub/com.valvesoftware.Steam.Utility.steamtinkerlaunch/blob/45870ce8a15eb25d1b430ff31332ce776c933a2b/modules/xdotool.yml + - name: xdotool + no-autogen: true + make-args: + - WITHOUT_RPATH_FIX=1 + make-install-args: + - PREFIX=${FLATPAK_DEST} + - INSTALLMAN=${FLATPAK_DEST}/share/man + sources: + - type: archive + url: https://github.com/jordansissel/xdotool/archive/v3.20211022.1/xdotool-3.20211022.1.tar.gz + sha256: 82b15a944a5e82fee15e0f6116bd9f642bc3d0bb6989fc0ca5ad9dfe35de0847 + x-checker-data: + type: anitya + project-id: 8648 + stable-only: true + url-template: https://github.com/jordansissel/xdotool/archive/v$version/xdotool-$version.tar.gz - name: emote buildsystem: meson sources: - type: dir path: "./" - # - type: archive - # url: https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz - # sha256: e6e3de4e1f3b201814a956ab8f16dfc8a262db1937ff1eee4d855365398c6020 # - type: git # url: "https://github.com/tom-james-watson/Emote" # commit: f71e41b92bfe8a32451f0f0d93ae47da886d2b51 diff --git a/emote/__init__.py b/emote/__init__.py index c87a7e3..517ff70 100644 --- a/emote/__init__.py +++ b/emote/__init__.py @@ -4,12 +4,9 @@ from setproctitle import setproctitle gi.require_version("Gtk", "3.0") -from gi.repository import Gtk -try: - gi.require_version("Keybinder", "3.0") - from gi.repository import Keybinder -except: - Keybinder = None +gi.require_version("Keybinder", "3.0") +from gi.repository import Gtk, Keybinder + from emote import picker, css, emojis, user_data, config # Register updated emoji font @@ -34,8 +31,7 @@ def start_daemon(self): setproctitle("emote") if not config.is_wayland: - if Keybinder: - Keybinder.init() + Keybinder.init() self.set_accelerator() css.load_css() @@ -58,7 +54,7 @@ def set_accelerator(self): """Register global shortcut for invoking the emoji picker""" accel_string, _ = user_data.load_accelerator() - if accel_string and Keybinder: + if accel_string: Keybinder.bind(accel_string, self.handle_accelerator) def set_theme(self): @@ -74,7 +70,7 @@ def set_theme(self): def unset_accelerator(self): old_accel_string, _ = user_data.load_accelerator() - if old_accel_string and Keybinder: + if old_accel_string: Keybinder.unbind(old_accel_string) def handle_accelerator(self, keystring): @@ -97,7 +93,7 @@ def create_picker_window(self, show_welcome=False): if self.picker_window: self.picker_window.destroy() self.picker_window = picker.EmojiPicker( - Keybinder.get_current_event_time() if Keybinder else 1, + Keybinder.get_current_event_time(), self.update_accelerator, self.update_theme, show_welcome, diff --git a/meson.build b/meson.build index 14a2481..463b008 100644 --- a/meson.build +++ b/meson.build @@ -1,18 +1,13 @@ project('emote', version: '3.1.0', meson_version: '>= 0.50.0', - default_options: [ 'warning_level=2', ], + default_options: [ 'warning_level=1', ], ) -# Warning levels: 0, 1, 2, 3, everything +# Warning levels: 0, 1, 2, 3 i18n = import('i18n') -# keybinderdeps = [ -# dependency('keybinder-3.0'), -# # dependency('gio-2.0'), -# # dependency('gir1.2-keybinder-3.0') -# ] -# canberra_dep = dependency('libcanberra-gtk3') +# giodep = dependency('gio-2.0') subdir('emote') subdir('static') From c6b4e7927e9eb8282734326d68b4a4dd83c9ab1e Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 10:56:17 +0200 Subject: [PATCH 04/22] move flatpak config files to flatpak folder --- Makefile | 7 +++++-- README.md | 21 +++++++++++++------ .../com.tomjwatson.Emote.yml | 2 +- .../python3-requirements.json | 0 4 files changed, 21 insertions(+), 9 deletions(-) rename com.tomjwatson.Emote.yml => flatpak/com.tomjwatson.Emote.yml (98%) rename python3-requirements.json => flatpak/python3-requirements.json (100%) diff --git a/Makefile b/Makefile index 8c39de3..3fd710c 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ clean: snapcraft clean flatpak: - flatpak-builder --user --install --force-clean build com.tomjwatson.Emote.yml + flatpak-builder --user --install --force-clean build flatpak/com.tomjwatson.Emote.yml flatpak run com.tomjwatson.Emote flatpak-install: @@ -29,4 +29,7 @@ flatpak-install: flatpak-requirements: pipenv requirements > requirements.txt - pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements -r requirements.txt + pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output flatpak/python3-requirements -r requirements.txt + +flathub: + flatpak-builder --repo=flathub --force-clean build flatpak/com.tomjwatson.Emote.yml diff --git a/README.md b/README.md index de03891..5e7a478 100644 --- a/README.md +++ b/README.md @@ -135,13 +135,13 @@ snapcraft push --release=edge ### Packaging for Flatpak -Ensure you have `flatpak-builder` and the GNOME SDK installed: +Ensure you have `flatpak-builder`, the GNOME SDK, and `flatpak-pip-generator` installed: ```bash make flatpak-install ``` -Re-generate pip requirements if they have changed: +Re-generate the `flatpak/python3-requirements.json` if the dependencies in the `Pipfile` have changed: ```bash make flatpak-requirements @@ -153,20 +153,29 @@ Build the flatpak package and install it locally: make flatpak ``` -Run emote with flatpak: +Run Emote with flatpak: ```bash flatpak run com.tomjwatson.Emote ``` -Put it in a repo: +The first time you want to publish you will need to add the repository: ```bash flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/com.tomjwatson.Emote -flatpak-builder --repo=repo --force-clean build com.tomjwatson.Emote.yml ``` -Desktop entry: https://github.com/GNOME/balsa/blob/master/org.desktop.Balsa.desktop.meson +Build and publish to flathub: + +```bash +make flathub +``` + +In case you are facing issues with the cache not properly updating, use the `-B` flag with `make`, or you can clean the cache with: + +```bash +rm -rf .flatpak-builder build/ +``` ### Attribution diff --git a/com.tomjwatson.Emote.yml b/flatpak/com.tomjwatson.Emote.yml similarity index 98% rename from com.tomjwatson.Emote.yml rename to flatpak/com.tomjwatson.Emote.yml index 0561ade..c44421b 100644 --- a/com.tomjwatson.Emote.yml +++ b/flatpak/com.tomjwatson.Emote.yml @@ -46,7 +46,7 @@ modules: buildsystem: meson sources: - type: dir - path: "./" + path: "../" # - type: git # url: "https://github.com/tom-james-watson/Emote" # commit: f71e41b92bfe8a32451f0f0d93ae47da886d2b51 diff --git a/python3-requirements.json b/flatpak/python3-requirements.json similarity index 100% rename from python3-requirements.json rename to flatpak/python3-requirements.json From 49c005172a81d8ab84c9646d7f9eefca7aa98f51 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 12:56:15 +0200 Subject: [PATCH 05/22] added metainfo.xml file for better integration in packaging hubs and desktop environments (GNOME, KDE) --- Makefile | 1 + README.md | 10 +++++-- flatpak/com.tomjwatson.Emote.metainfo.xml | 32 +++++++++++++++++++++++ flatpak/meson.build | 7 +++++ 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 flatpak/com.tomjwatson.Emote.metainfo.xml diff --git a/Makefile b/Makefile index 3fd710c..072978d 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,7 @@ package: clean: snapcraft clean + rm -r .flatpak-builder build/ flatpak: flatpak-builder --user --install --force-clean build flatpak/com.tomjwatson.Emote.yml diff --git a/README.md b/README.md index 5e7a478..6ad9fea 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Previous Emoji Category: `Ctrl+Shift+Tab` Install development libraries: ```bash -sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev flatpak-builder +sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev # or with dnf sudo dnf install xdotool gtk3-devel keybinder3-devel libgirepository1.0-dev ``` @@ -174,7 +174,13 @@ make flathub In case you are facing issues with the cache not properly updating, use the `-B` flag with `make`, or you can clean the cache with: ```bash -rm -rf .flatpak-builder build/ +rm -r .flatpak-builder build/ +``` + +If you want to access inside the containerized flatpak app to debug: + +```bash +flatpak run --command=sh --devel com.tomjwatson.Emote ``` ### Attribution diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml new file mode 100644 index 0000000..a219875 --- /dev/null +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -0,0 +1,32 @@ + + + com.tomjwatson.Emote + + Emote + A modern emoji picker + + FSFAP + GPL-3.0-only + + +

+ Emote is a modern emoji picker for Linux 🚀. +

+

+ Written in GTK3, Emote is lightweight and stays out of your way. +

+

+ Launch the emoji picker with the configurable keyboard shortcut Ctrl+Alt+E, and select one or more emojis to paste them into the currently focused app. +

+

+ Note - Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - [Hotkey In Wayland](https://github.com/tom-james-watson/Emote/wiki/Hotkey-In-Wayland). This is due to intentional restrictions in the design of Wayland itself. +

+
+ + com.tomjwatson.Emote.desktop + + + https://raw.githubusercontent.com/tom-james-watson/Emote/master/images/screenshot.png + + +
\ No newline at end of file diff --git a/flatpak/meson.build b/flatpak/meson.build index eebfdad..d9c22da 100644 --- a/flatpak/meson.build +++ b/flatpak/meson.build @@ -11,3 +11,10 @@ configure_file( install: true, install_dir: appdir ) + +configure_file( + input: 'com.tomjwatson.Emote.metainfo.xml', + output: 'com.tomjwatson.Emote.metainfo.xml', + copy: true, + install_dir: join_paths(sharedir, 'metainfo') +) From 175be0ce95be837ab0f750bf9a6ad18422d5c273 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 13:07:26 +0200 Subject: [PATCH 06/22] cleanup meson.build files --- emote/meson.build | 3 +-- flatpak/com.tomjwatson.Emote.metainfo.xml | 6 +++--- flatpak/meson.build | 13 ++++--------- meson.build | 3 +-- static/meson.build | 7 +++---- 5 files changed, 12 insertions(+), 20 deletions(-) diff --git a/emote/meson.build b/emote/meson.build index e629b43..77107d3 100644 --- a/emote/meson.build +++ b/emote/meson.build @@ -1,6 +1,5 @@ pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) moduledir = join_paths(pkgdatadir, 'emote') - python = import('python') conf = configuration_data() @@ -17,4 +16,4 @@ configure_file( install_dir: get_option('bindir') ) -install_subdir('.', install_dir: moduledir) \ No newline at end of file +install_subdir('.', install_dir: moduledir) diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index a219875..0cc6fa5 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -3,14 +3,14 @@ com.tomjwatson.Emote Emote - A modern emoji picker + Modern popup emoji picker FSFAP GPL-3.0-only

- Emote is a modern emoji picker for Linux 🚀. + Emote is a modern emoji picker for Linux 🚀

Written in GTK3, Emote is lightweight and stays out of your way. @@ -19,7 +19,7 @@ Launch the emoji picker with the configurable keyboard shortcut Ctrl+Alt+E, and select one or more emojis to paste them into the currently focused app.

- Note - Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - [Hotkey In Wayland](https://github.com/tom-james-watson/Emote/wiki/Hotkey-In-Wayland). This is due to intentional restrictions in the design of Wayland itself. + ℹ️ Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - Hotkey In Wayland. This is due to intentional restrictions in the design of Wayland itself.

diff --git a/flatpak/meson.build b/flatpak/meson.build index d9c22da..f527613 100644 --- a/flatpak/meson.build +++ b/flatpak/meson.build @@ -1,20 +1,15 @@ -sharedir = join_paths(get_option('prefix'), get_option('datadir')) -pkgdatadir = join_paths(sharedir, meson.project_name()) -appdir = join_paths(sharedir, 'applications') +datadir = join_paths(get_option('prefix'), get_option('datadir')) -conf = configuration_data() -conf.set('pkgdatadir', pkgdatadir) configure_file( input: 'com.tomjwatson.Emote.desktop', output: 'com.tomjwatson.Emote.desktop', - configuration: conf, - install: true, - install_dir: appdir + copy: true, + install_dir: join_paths(datadir, 'applications') ) configure_file( input: 'com.tomjwatson.Emote.metainfo.xml', output: 'com.tomjwatson.Emote.metainfo.xml', copy: true, - install_dir: join_paths(sharedir, 'metainfo') + install_dir: join_paths(datadir, 'metainfo') ) diff --git a/meson.build b/meson.build index 463b008..26a609d 100644 --- a/meson.build +++ b/meson.build @@ -4,11 +4,10 @@ project('emote', default_options: [ 'warning_level=1', ], ) # Warning levels: 0, 1, 2, 3 +# giodep = dependency('gio-2.0') i18n = import('i18n') -# giodep = dependency('gio-2.0') - subdir('emote') subdir('static') subdir('flatpak') diff --git a/static/meson.build b/static/meson.build index 24bcea6..213eb8d 100644 --- a/static/meson.build +++ b/static/meson.build @@ -1,11 +1,10 @@ -sharedir = join_paths(get_option('prefix'), get_option('datadir')) -pkgdatadir = join_paths(sharedir, meson.project_name()) +datadir = join_paths(get_option('prefix'), get_option('datadir')) configure_file( input: 'logo.svg', output: 'com.tomjwatson.Emote.svg', copy: true, - install_dir: join_paths(sharedir, 'icons', 'hicolor', 'scalable', 'apps') + install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps') ) -install_subdir('.', install_dir: join_paths(pkgdatadir, 'static')) \ No newline at end of file +install_subdir('.', install_dir: join_paths(datadir, meson.project_name(), 'static')) From d6f5d49266a1311e4ddf4609cfbb6ccf24e04e0a Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 17:21:05 +0200 Subject: [PATCH 07/22] Improve flatpak cmds in Makefile --- Makefile | 8 +++++++- README.md | 2 +- flatpak/com.tomjwatson.Emote.metainfo.xml | 7 +++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 072978d..b8338f1 100644 --- a/Makefile +++ b/Makefile @@ -29,8 +29,14 @@ flatpak-install: chmod +x flatpak-pip-generator flatpak-requirements: + pipenv lock pipenv requirements > requirements.txt - pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output flatpak/python3-requirements -r requirements.txt + pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements -r requirements.txt + mv python3-requirements.json flatpak/python3-requirements.json + +flatpak-clean: + rm -r .flatpak-builder build/ + flatpak remove com.tomjwatson.Emote -y flathub: flatpak-builder --repo=flathub --force-clean build flatpak/com.tomjwatson.Emote.yml diff --git a/README.md b/README.md index 6ad9fea..9433bfa 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,7 @@ make flathub In case you are facing issues with the cache not properly updating, use the `-B` flag with `make`, or you can clean the cache with: ```bash -rm -r .flatpak-builder build/ +make flatpak-clean ``` If you want to access inside the containerized flatpak app to debug: diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index 0cc6fa5..42d9321 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -29,4 +29,11 @@ https://raw.githubusercontent.com/tom-james-watson/Emote/master/images/screenshot.png + + + +

First release on Flathub

+
+
+
\ No newline at end of file From bd0d7c67d0d5340a750fcab036cf8ab560fa2896 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 19:12:40 +0200 Subject: [PATCH 08/22] Cleanup emote.in and run black formatting --- Makefile | 1 + README.md | 42 +++++++++++++++----------------- emote/emote.in | 29 +--------------------- emote/picker.py | 6 ++--- flatpak/com.tomjwatson.Emote.yml | 1 - meson.build | 1 - 6 files changed, 24 insertions(+), 56 deletions(-) diff --git a/Makefile b/Makefile index b8338f1..4499bc5 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,7 @@ flatpak: flatpak run com.tomjwatson.Emote flatpak-install: + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub -y org.flatpak.Builder org.gnome.Platform//43 org.gnome.Sdk//43 wget -N https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/pip/flatpak-pip-generator chmod +x flatpak-pip-generator diff --git a/README.md b/README.md index 9433bfa..3d1568b 100644 --- a/README.md +++ b/README.md @@ -29,21 +29,21 @@ sudo snap install emote An unofficial build of Emote is also available in the AUR : https://aur.archlinux.org/packages/emote. -## Guide +## 📖 Guide -### Launching +### 🚀 Launching Emote runs in the background and automatically starts when you log in. The emoji picker can be opened with either the keyboard shortcut or by clicking the app icon again. -### Usage +### ℹ️ Usage Select an emoji to and have it be pasted to your currently focused app. The emoji will also be copied to your clipboard, so you can then paste the emoji wherever you need. You can select multiple emojis by selecting them with right click. -### Keyboard Shortcuts +### ⌨️ Keyboard Shortcuts Open Emoji Picker: `Ctrl+Alt+E` (configurable) @@ -57,9 +57,9 @@ Next Emoji Category: `Ctrl+Tab` Previous Emoji Category: `Ctrl+Shift+Tab` -## Development +## 🧑‍💻 Development -### Requirements +### 📥️ Requirements Install development libraries: @@ -81,7 +81,7 @@ Install dependencies: make install ``` -### Running +### 🛩️ Running Run the development version: @@ -89,7 +89,7 @@ Run the development version: make dev ``` -### Debugging GTK3 with GtkInspector +### 🐞 Debugging GTK3 with GtkInspector Enable debug keybinding: @@ -103,7 +103,7 @@ Launch app in debug mode with interactive inspector: make dev-debug ``` -### Packaging for Snap +### 🦜 Packaging with Snap Ensure you have `snapcraft` installed: @@ -117,7 +117,7 @@ Create a packaged `.snap` file: make package ``` -### Publishing +**Publishing**: First, ensure a git tag for the current version has been pushed. @@ -133,9 +133,11 @@ Push the packaged snap to the `edge` channel on the snap store. snapcraft push --release=edge ``` -### Packaging for Flatpak +### 📦️ Packaging with Flatpak -Ensure you have `flatpak-builder`, the GNOME SDK, and `flatpak-pip-generator` installed: +You will need to have [`flatpak`](https://flatpak.org/setup/) installed + +Install `flatpak-builder`, the GNOME SDK, and `flatpak-pip-generator`: ```bash make flatpak-install @@ -150,22 +152,16 @@ make flatpak-requirements Build the flatpak package and install it locally: ```bash -make flatpak +make -B flatpak ``` -Run Emote with flatpak: +Run Emote with flatpak (can also be done from the desktop entry): ```bash flatpak run com.tomjwatson.Emote ``` -The first time you want to publish you will need to add the repository: - -```bash -flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/com.tomjwatson.Emote -``` - -Build and publish to flathub: +**Build and publish to Flathub**: ```bash make flathub @@ -177,12 +173,12 @@ In case you are facing issues with the cache not properly updating, use the `-B` make flatpak-clean ``` -If you want to access inside the containerized flatpak app to debug: +Use `journalctl -f` to see the app logs, run the command below if you want to access inside the containerized flatpak app to debug. ```bash flatpak run --command=sh --devel com.tomjwatson.Emote ``` -### Attribution +### 🤝 Attribution Emoji data is sourced from https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/data/openmoji.csv which is compiled by the lovely people at https://openmoji.org. diff --git a/emote/emote.in b/emote/emote.in index 907d734..d9e39a0 100755 --- a/emote/emote.in +++ b/emote/emote.in @@ -1,41 +1,14 @@ #!@PYTHON@ -# emote.in -# -# Copyright 2023 -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - import os import sys -import signal -import locale -import gettext VERSION = '@VERSION@' pkgdatadir = '@pkgdatadir@' -localedir = '@localedir@' sys.path.insert(1, pkgdatadir) -signal.signal(signal.SIGINT, signal.SIG_DFL) -locale.bindtextdomain('emote', localedir) -locale.textdomain('emote') -gettext.install('emote', localedir) - -# NOTE: needed to pass the pkg data dir to __init__.py to point to the static folder os.environ["FLATPAK"] = pkgdatadir if __name__ == '__main__': from emote import main - sys.exit(main()) \ No newline at end of file + sys.exit(main()) diff --git a/emote/picker.py b/emote/picker.py index 1d555d7..87a2033 100644 --- a/emote/picker.py +++ b/emote/picker.py @@ -164,7 +164,7 @@ def init_category_selectors(self): self.category_selectors = [] self.selected_emoji_category = "recent" - for (category, _, category_image) in emojis.get_category_order(): + for category, _, category_image in emojis.get_category_order(): category_selector = Gtk.ToggleButton( label=category_image, name="category_selector_button" ) @@ -393,7 +393,7 @@ def on_category_selector_toggled(self, toggled_category_selector): def on_cycle_category(self, backwards=False): index = None - for (i, category_selector) in enumerate(self.category_selectors): + for i, category_selector in enumerate(self.category_selectors): if category_selector.category == self.selected_emoji_category: index = i break @@ -463,7 +463,7 @@ def render_emoji_search_results(self, query): def get_category_display_name(self, category): category_display_name = None - for (c, display_name, _) in emojis.get_category_order(): + for c, display_name, _ in emojis.get_category_order(): if c == category: category_display_name = display_name break diff --git a/flatpak/com.tomjwatson.Emote.yml b/flatpak/com.tomjwatson.Emote.yml index c44421b..ca56144 100644 --- a/flatpak/com.tomjwatson.Emote.yml +++ b/flatpak/com.tomjwatson.Emote.yml @@ -25,7 +25,6 @@ modules: - type: archive url: https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz sha256: e6e3de4e1f3b201814a956ab8f16dfc8a262db1937ff1eee4d855365398c6020 - # https://github.com/flathub/com.valvesoftware.Steam.Utility.steamtinkerlaunch/blob/45870ce8a15eb25d1b430ff31332ce776c933a2b/modules/xdotool.yml - name: xdotool no-autogen: true make-args: diff --git a/meson.build b/meson.build index 26a609d..caddc0d 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,6 @@ project('emote', default_options: [ 'warning_level=1', ], ) # Warning levels: 0, 1, 2, 3 -# giodep = dependency('gio-2.0') i18n = import('i18n') From 96482d2ce35bd6340e736108281ca280083d5538 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 20:16:35 +0200 Subject: [PATCH 09/22] add metainfo and desktop file validation for flathub, and fix metainfo.xml --- Makefile | 6 +++++- README.md | 6 +++--- flatpak/com.tomjwatson.Emote.metainfo.xml | 7 +++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 4499bc5..722a1f8 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ flatpak: flatpak-install: flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo - flatpak install flathub -y org.flatpak.Builder org.gnome.Platform//43 org.gnome.Sdk//43 + flatpak install flathub -y org.flatpak.Builder org.gnome.Platform//43 org.gnome.Sdk//43 org.freedesktop.appstream-glib wget -N https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/pip/flatpak-pip-generator chmod +x flatpak-pip-generator @@ -35,6 +35,10 @@ flatpak-requirements: pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements -r requirements.txt mv python3-requirements.json flatpak/python3-requirements.json +flatpak-validate: + desktop-file-validate flatpak/com.tomjwatson.Emote.desktop + flatpak run org.freedesktop.appstream-glib validate flatpak/com.tomjwatson.Emote.metainfo.xml + flatpak-clean: rm -r .flatpak-builder build/ flatpak remove com.tomjwatson.Emote -y diff --git a/README.md b/README.md index 3d1568b..73c154a 100644 --- a/README.md +++ b/README.md @@ -64,9 +64,9 @@ Previous Emoji Category: `Ctrl+Shift+Tab` Install development libraries: ```bash -sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev +sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev desktop-file-validate # or with dnf -sudo dnf install xdotool gtk3-devel keybinder3-devel libgirepository1.0-dev +sudo dnf install xdotool gtk3-devel keybinder3-devel libgirepository1.0-dev desktop-file-utils ``` Install pipenv: @@ -135,7 +135,7 @@ snapcraft push --release=edge ### 📦️ Packaging with Flatpak -You will need to have [`flatpak`](https://flatpak.org/setup/) installed +You will need to have [`flatpak`](https://flatpak.org/setup/) installed. Install `flatpak-builder`, the GNOME SDK, and `flatpak-pip-generator`: diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index 42d9321..2e9aae7 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -1,10 +1,9 @@ com.tomjwatson.Emote - Emote Modern popup emoji picker - + https://github.com/tom-james-watson/Emote FSFAP GPL-3.0-only @@ -36,4 +35,8 @@ + + mild + mild + \ No newline at end of file From 1c9e2c8d805ea4f8e19dfa7d1c31450e7b762ef9 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sat, 1 Apr 2023 20:20:21 +0200 Subject: [PATCH 10/22] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73c154a..83828c4 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ Install `flatpak-builder`, the GNOME SDK, and `flatpak-pip-generator`: make flatpak-install ``` -Re-generate the `flatpak/python3-requirements.json` if the dependencies in the `Pipfile` have changed: +Optionally re-generate the `flatpak/python3-requirements.json` if the dependencies in the `Pipfile` have been changed: ```bash make flatpak-requirements From d27c6a8e9214477716cc0130dafc8732be62cba4 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 06:08:09 +0200 Subject: [PATCH 11/22] Update the emojis list, and remove the SEQUENCE_BLOCKLIST for flatpak (all emojis in this list are working well with the flatpak package) --- Makefile | 3 + README.md | 21 +- emote/emojis.py | 2 +- flatpak/com.tomjwatson.Emote.metainfo.xml | 11 +- static/emojis.csv | 367 +++++++++++++++------- 5 files changed, 282 insertions(+), 122 deletions(-) diff --git a/Makefile b/Makefile index 722a1f8..058036e 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,9 @@ clean: snapcraft clean rm -r .flatpak-builder build/ +update-emojis: + wget -O static/emojis.csv https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/data/openmoji.csv + flatpak: flatpak-builder --user --install --force-clean build flatpak/com.tomjwatson.Emote.yml flatpak run com.tomjwatson.Emote diff --git a/README.md b/README.md index 83828c4..ae513ec 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,16 @@ Emote is a modern emoji picker for Linux 🚀. Written in GTK3, Emote is lightweight and stays out of your way. -Launch the emoji picker with the configurable keyboard shortcut `Ctrl+Alt+E` and select one or more emojis to have them be automatically pasted into your currently focused app. +Launch the emoji picker with the configurable keyboard shortcut `Ctrl+Alt+E`, and select one or more emojis to have them be automatically pasted into your currently focused app. -Note - Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - [Hotkey In Wayland](https://github.com/tom-james-watson/Emote/wiki/Hotkey-In-Wayland). This is due to intentional restrictions in the design of Wayland itself. +* 🍾 Built as a popup: quick invocation, and disappears when not needed, does not stay as a standalone window +* 🫠 Provide a large and up-to-date list of emojis retrieved from [openmoji.org](https://openmoji.org/) +* 🏛️ Shows the last used emojis by default +* 🔎 Search text box automatically focused and ready to type when invoked +* ⌨️ Can use shortcuts to navigates and select the emoji(s) +* ✒️ Selected emoji automatically pasted to your currently focused app (X11 only) + +ℹ️ Note - Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - [Hotkey In Wayland](https://github.com/tom-james-watson/Emote/wiki/Hotkey-In-Wayland). This is due to intentional restrictions in the design of Wayland itself.

@@ -89,6 +96,14 @@ Run the development version: make dev ``` +### 🔄 Update emojis + +To update the list of emojis to the latest available on [openmoji.org](https://openmoji.org), run: + +```bash +make update-emojis +``` + ### 🐞 Debugging GTK3 with GtkInspector Enable debug keybinding: @@ -181,4 +196,4 @@ flatpak run --command=sh --devel com.tomjwatson.Emote ### 🤝 Attribution -Emoji data is sourced from https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/data/openmoji.csv which is compiled by the lovely people at https://openmoji.org. +Emoji data is sourced from https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/data/openmoji.csv which is compiled by the lovely people at https://openmoji.org.🫠 diff --git a/emote/emojis.py b/emote/emojis.py index 396addc..61ff3b3 100644 --- a/emote/emojis.py +++ b/emote/emojis.py @@ -265,7 +265,7 @@ def init(): shortcode = row["annotation"].lower().replace("-", " ") shortcode = re.sub(r"[^\w\s]", "", shortcode).replace(" ", "_") - if shortcode in SEQUENCE_BLOCKLIST: + if not config.is_flatpak and shortcode in SEQUENCE_BLOCKLIST: continue emoji = { diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index 2e9aae7..3d53e6f 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -17,6 +17,14 @@

Launch the emoji picker with the configurable keyboard shortcut Ctrl+Alt+E, and select one or more emojis to paste them into the currently focused app.

+
    +
  • 🍾 Built as a popup: quick invocation, and disappears when not needed, does not stay as a standalone window
  • +
  • 🫠 Provide a large and up-to-date list of emojis retrieved from openmoji.org
  • +
  • 🏛️ Shows the last used emojis by default
  • +
  • 🔎 Search text box automatically focused and ready to type when invoked
  • +
  • ⌨️ Can use shortcuts to navigates and select the emoji(s)
  • +
  • ✒️ Selected emoji automatically pasted to your currently focused app (X11 only)
  • +

ℹ️ Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - Hotkey In Wayland. This is due to intentional restrictions in the design of Wayland itself.

@@ -35,8 +43,7 @@ + - mild - mild \ No newline at end of file diff --git a/static/emojis.csv b/static/emojis.csv index 1de1be2..df22c59 100644 --- a/static/emojis.csv +++ b/static/emojis.csv @@ -9,6 +9,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 😂,1F602,smileys-emotion,face-smiling,face with tears of joy,"face, joy, laugh, tear",,Emily Jäger,2018-04-18,,,,,0.6,8 🙂,1F642,smileys-emotion,face-smiling,slightly smiling face,"face, smile",satisfied,Emily Jäger,2018-04-18,,,,,1,9 🙃,1F643,smileys-emotion,face-smiling,upside-down face,"face, upside-down",turn,Emily Jäger,2018-04-18,,,,,1,10 +🫠,1FAE0,smileys-emotion,face-smiling,melting face,"disappear, dissolve, liquid, melt",,Liz Bravo,2022-02-10,,,,,14,11 😉,1F609,smileys-emotion,face-smiling,winking face,"face, wink",eye,Emily Jäger,2018-04-18,,,,,0.6,12 😊,1F60A,smileys-emotion,face-smiling,smiling face with smiling eyes,"blush, eye, face, smile",satisfied,Emily Jäger,2018-04-18,,,,,0.6,13 😇,1F607,smileys-emotion,face-smiling,smiling face with halo,"angel, face, fantasy, halo, innocent",,Emily Jäger,2018-04-18,,,,,1,14 @@ -29,13 +30,17 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🤑,1F911,smileys-emotion,face-tongue,money-mouth face,"face, money, mouth","tongue, dollar",Emily Jäger,2018-04-18,,,,,1,30 🤗,1F917,smileys-emotion,face-hand,smiling face with open hands,"face, hug, hugging, open hands, smiling face",hands,Emily Jäger,2018-04-18,,,,,1,31 🤭,1F92D,smileys-emotion,face-hand,face with hand over mouth,whoops,"hand, mouth, smile, giggling, covering",Liz Bravo,2020-12-21,,,,,5,32 +🫢,1FAE2,smileys-emotion,face-hand,face with open eyes and hand over mouth,"amazement, awe, disbelief, embarrass, scared, surprise",,Liz Bravo,2022-02-10,,,,,14,33 +🫣,1FAE3,smileys-emotion,face-hand,face with peeking eye,"captivated, peep, stare",,Robin Bauer,2022-05-09,,,,,14,34 🤫,1F92B,smileys-emotion,face-hand,shushing face,"quiet, shush","hand, silent",Emily Jäger,2018-04-18,,,,,5,35 -🤔,1F914,smileys-emotion,face-hand,thinking face,"face, thinking","hand, overthinking",Emily Jäger,2018-04-18,,,,,1,36 +🤔,1F914,smileys-emotion,face-hand,thinking face,"face, thinking","hand, chin, overthinking, frown, curious",Emily Jäger,2018-04-18,,,,,1,36 +🫡,1FAE1,smileys-emotion,face-hand,saluting face,"ok, salute, sunny, troops, yes",,Alan Seng,2022-05-09,,,,,14,37 🤐,1F910,smileys-emotion,face-neutral-skeptical,zipper-mouth face,"face, mouth, zipper",,Emily Jäger,2018-04-18,,,,,1,38 -🤨,1F928,smileys-emotion,face-neutral-skeptical,face with raised eyebrow,"distrust, skeptic",suspiciously,Emily Jäger,2018-04-18,,,,,5,39 -😐️,1F610,smileys-emotion,face-neutral-skeptical,neutral face,"deadpan, face, meh, neutral",,Mariella Steeb,2018-04-18,,,,,0.7,40 -😑,1F611,smileys-emotion,face-neutral-skeptical,expressionless face,"expressionless, face, inexpressive, meh, unexpressive",,Mariella Steeb,2018-04-18,,,,,1,41 +🤨,1F928,smileys-emotion,face-neutral-skeptical,face with raised eyebrow,"distrust, skeptic",suspicious,Emily Jäger,2018-04-18,,,,,5,39 +😐️,1F610,smileys-emotion,face-neutral-skeptical,neutral face,"deadpan, face, meh, neutral",poker face,Mariella Steeb,2018-04-18,,,,,0.7,40 +😑,1F611,smileys-emotion,face-neutral-skeptical,expressionless face,"expressionless, face, inexpressive, meh, unexpressive","unamused, annoyed",Mariella Steeb,2018-04-18,,,,,1,41 😶,1F636,smileys-emotion,face-neutral-skeptical,face without mouth,"face, mouth, quiet, silent",shhh,Emily Jäger,2018-04-18,,,,,1,42 +🫥,1FAE5,smileys-emotion,face-neutral-skeptical,dotted line face,"depressed, disappear, hide, introvert, invisible",,Liz Bravo,2022-02-10,,,,,14,43 😶‍🌫️,1F636-200D-1F32B-FE0F,smileys-emotion,face-neutral-skeptical,face in clouds,"absentminded, face in the fog, head in clouds",,Nelly Nieter,2021-04-23,,,,,13.1,44 😏,1F60F,smileys-emotion,face-neutral-skeptical,smirking face,"face, smirk",,Mariella Steeb,2018-04-18,,,,,0.6,46 😒,1F612,smileys-emotion,face-neutral-skeptical,unamused face,"face, unamused, unhappy",,Mariella Steeb,2018-04-18,,,,,0.6,47 @@ -66,25 +71,27 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 😎,1F60E,smileys-emotion,face-glasses,smiling face with sunglasses,"bright, cool, face, sun, sunglasses",,Emily Jäger,2018-04-18,,,,,1,72 🤓,1F913,smileys-emotion,face-glasses,nerd face,"face, geek, nerd","glasses, learning",Emily Jäger,2018-04-18,,,,,1,73 🧐,1F9D0,smileys-emotion,face-glasses,face with monocle,"face, monocle, stuffy","glasses, intelligent",Emily Jäger,2018-04-18,,,,,5,74 -😕,1F615,smileys-emotion,face-concerned,confused face,"confused, face, meh",,Mariella Steeb,2018-04-18,,,,,1,75 -😟,1F61F,smileys-emotion,face-concerned,worried face,"face, worried",,Mariella Steeb,2018-04-18,,,,,1,77 +😕,1F615,smileys-emotion,face-concerned,confused face,"confused, face, meh",frown,Mariella Steeb,2018-04-18,,,,,1,75 +🫤,1FAE4,smileys-emotion,face-concerned,face with diagonal mouth,"disappointed, meh, skeptical, unsure",,Liz Bravo,2022-02-10,,,,,14,76 +😟,1F61F,smileys-emotion,face-concerned,worried face,"face, worried",sad,Mariella Steeb,2018-04-18,,,,,1,77 🙁,1F641,smileys-emotion,face-concerned,slightly frowning face,"face, frown",,Mariella Steeb,2018-04-18,,,,,1,78 -☹️,2639,smileys-emotion,face-concerned,frowning face,"face, frown",negative,Mariella Steeb,2018-04-18,,,,,0.7,80 +☹️,2639,smileys-emotion,face-concerned,frowning face,"face, frown","negative, sad",Mariella Steeb,2018-04-18,,,,,0.7,80 😮,1F62E,smileys-emotion,face-concerned,face with open mouth,"face, mouth, open, sympathy",,Mariella Steeb,2018-04-18,,,,,1,81 😯,1F62F,smileys-emotion,face-concerned,hushed face,"face, hushed, stunned, surprised",,Mariella Steeb,2018-04-18,,,,,1,82 😲,1F632,smileys-emotion,face-concerned,astonished face,"astonished, face, shocked, totally",,Emily Jäger,2018-04-18,,,,,0.6,83 😳,1F633,smileys-emotion,face-concerned,flushed face,"dazed, face, flushed",red jaws,Mariella Steeb,2018-04-18,,,,,0.6,84 🥺,1F97A,smileys-emotion,face-concerned,pleading face,"begging, mercy, puppy eyes",,Antonia Wagner,2019-05-03,,,,,11,85 +🥹,1F979,smileys-emotion,face-concerned,face holding back tears,"angry, cry, proud, resist, sad",,Liz Bravo,2022-02-10,,,,,14,86 😦,1F626,smileys-emotion,face-concerned,frowning face with open mouth,"face, frown, mouth, open",,Mariella Steeb,2018-04-18,,,,,1,87 😧,1F627,smileys-emotion,face-concerned,anguished face,"anguished, face",,Mariella Steeb,2018-04-18,,,,,1,88 😨,1F628,smileys-emotion,face-concerned,fearful face,"face, fear, fearful, scared",,Liz Bravo,2020-12-27,,,,,0.6,89 😰,1F630,smileys-emotion,face-concerned,anxious face with sweat,"blue, cold, face, rushed, sweat","anxious, worried, considerate",Mariella Steeb,2018-04-18,,,,,0.6,90 -😥,1F625,smileys-emotion,face-concerned,sad but relieved face,"disappointed, face, relieved, whew",,Liz Bravo,2020-12-27,,,,,0.6,91 +😥,1F625,smileys-emotion,face-concerned,sad but relieved face,"disappointed, face, relieved, whew",anxious,Liz Bravo,2020-12-27,,,,,0.6,91 😢,1F622,smileys-emotion,face-concerned,crying face,"cry, face, sad, tear",,Mariella Steeb,2018-04-18,,,,,0.6,92 😭,1F62D,smileys-emotion,face-concerned,loudly crying face,"cry, face, sad, sob, tear",,Carlin MacKenzie,2020-05-11,,,,,0.6,93 😱,1F631,smileys-emotion,face-concerned,face screaming in fear,"face, fear, munch, scared, scream",open mouth,Mariella Steeb,2018-04-18,,,,,0.6,94 😖,1F616,smileys-emotion,face-concerned,confounded face,"confounded, face",,Mariella Steeb,2018-04-18,,,,,0.6,95 -😣,1F623,smileys-emotion,face-concerned,persevering face,"face, persevere",,Mariella Steeb,2018-04-18,,,,,0.6,96 +😣,1F623,smileys-emotion,face-concerned,persevering face,"face, persevere",ouch,Mariella Steeb,2018-04-18,,,,,0.6,96 😞,1F61E,smileys-emotion,face-concerned,disappointed face,"disappointed, face",,Mariella Steeb,2018-04-18,,,,,0.6,97 😓,1F613,smileys-emotion,face-concerned,downcast face with sweat,"cold, face, sweat",,Mariella Steeb,2018-04-18,,,,,0.6,98 😩,1F629,smileys-emotion,face-concerned,weary face,"face, tired, weary",distraught,Mariella Steeb,2018-04-18,,,,,0.6,99 @@ -155,36 +162,60 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🗯️,1F5EF,smileys-emotion,emotion,right anger bubble,"angry, balloon, bubble, mad",,Laura Humpfer,2018-04-18,,,,,0.7,175 💭,1F4AD,smileys-emotion,emotion,thought balloon,"balloon, bubble, comic, thought",think,Laura Humpfer,2018-04-18,,,,,1,176 💤,1F4A4,smileys-emotion,emotion,ZZZ,"comic, good night, sleep, zzz",night,Laura Humpfer,2018-04-18,,,,,0.6,177 -👋,1F44B,people-body,hand-fingers-open,waving hand,"hand, wave, waving","Hello, Goodbye, Waving Hand Sign, Wave",Julian Grüneberg,2018-04-18,,single,👋,1F44B,0.6,178 +👋,1F44B,people-body,hand-fingers-open,waving hand,"hand, wave, waving","hello, goodbye, waving hand sign, wave",Julian Grüneberg,2018-04-18,,single,👋,1F44B,0.6,178 👋🏻,1F44B-1F3FB,people-body,hand-fingers-open,waving hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👋,1F44B,1,179 👋🏼,1F44B-1F3FC,people-body,hand-fingers-open,waving hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👋,1F44B,1,180 👋🏽,1F44B-1F3FD,people-body,hand-fingers-open,waving hand: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👋,1F44B,1,181 👋🏾,1F44B-1F3FE,people-body,hand-fingers-open,waving hand: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,👋,1F44B,1,182 👋🏿,1F44B-1F3FF,people-body,hand-fingers-open,waving hand: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,👋,1F44B,1,183 -🤚,1F91A,people-body,hand-fingers-open,raised back of hand,"backhand, raised","Backhand, raised, hand",Julian Grüneberg,2018-04-18,,single,🤚,1F91A,3,184 +🤚,1F91A,people-body,hand-fingers-open,raised back of hand,"backhand, raised","backhand, raised, hand",Julian Grüneberg,2018-04-18,,single,🤚,1F91A,3,184 🤚🏻,1F91A-1F3FB,people-body,hand-fingers-open,raised back of hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤚,1F91A,3,185 🤚🏼,1F91A-1F3FC,people-body,hand-fingers-open,raised back of hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤚,1F91A,3,186 🤚🏽,1F91A-1F3FD,people-body,hand-fingers-open,raised back of hand: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤚,1F91A,3,187 🤚🏾,1F91A-1F3FE,people-body,hand-fingers-open,raised back of hand: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤚,1F91A,3,188 🤚🏿,1F91A-1F3FF,people-body,hand-fingers-open,raised back of hand: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤚,1F91A,3,189 -🖐️,1F590,people-body,hand-fingers-open,hand with fingers splayed,"finger, hand, splayed","Five Hand, Hand, Five, Splayed",Julian Grüneberg,2018-04-18,,single,🖐️,1F590,0.7,191 -🖐🏻,1F590-1F3FB,people-body,hand-fingers-open,hand with fingers splayed: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🖐️,1F590,1,192 -🖐🏼,1F590-1F3FC,people-body,hand-fingers-open,hand with fingers splayed: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🖐️,1F590,1,193 -🖐🏽,1F590-1F3FD,people-body,hand-fingers-open,hand with fingers splayed: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🖐️,1F590,1,194 -🖐🏾,1F590-1F3FE,people-body,hand-fingers-open,hand with fingers splayed: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🖐️,1F590,1,195 -🖐🏿,1F590-1F3FF,people-body,hand-fingers-open,hand with fingers splayed: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🖐️,1F590,1,196 +🖐️,1F590,people-body,hand-fingers-open,hand with fingers splayed,"finger, hand, splayed","five hand, hand, five, splayed",Aileen Gedrat,2022-07-01,,single,🖐️,1F590,0.7,191 +🖐🏻,1F590-1F3FB,people-body,hand-fingers-open,hand with fingers splayed: light skin tone,,,Aileen Gedrat,2022-07-01,1,single,🖐️,1F590,1,192 +🖐🏼,1F590-1F3FC,people-body,hand-fingers-open,hand with fingers splayed: medium-light skin tone,,,Aileen Gedrat,2022-07-01,2,single,🖐️,1F590,1,193 +🖐🏽,1F590-1F3FD,people-body,hand-fingers-open,hand with fingers splayed: medium skin tone,,,Aileen Gedrat,2022-07-01,3,single,🖐️,1F590,1,194 +🖐🏾,1F590-1F3FE,people-body,hand-fingers-open,hand with fingers splayed: medium-dark skin tone,,,Aileen Gedrat,2022-07-01,4,single,🖐️,1F590,1,195 +🖐🏿,1F590-1F3FF,people-body,hand-fingers-open,hand with fingers splayed: dark skin tone,,,Aileen Gedrat,2022-07-01,5,single,🖐️,1F590,1,196 ✋,270B,people-body,hand-fingers-open,raised hand,"hand, high 5, high five","raise, raised, raised hand, hand",Julian Grüneberg,2018-04-18,,single,✋,270B,0.6,197 ✋🏻,270B-1F3FB,people-body,hand-fingers-open,raised hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,✋,270B,1,198 ✋🏼,270B-1F3FC,people-body,hand-fingers-open,raised hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,✋,270B,1,199 ✋🏽,270B-1F3FD,people-body,hand-fingers-open,raised hand: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,✋,270B,1,200 ✋🏾,270B-1F3FE,people-body,hand-fingers-open,raised hand: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,✋,270B,1,201 ✋🏿,270B-1F3FF,people-body,hand-fingers-open,raised hand: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,✋,270B,1,202 -🖖,1F596,people-body,hand-fingers-open,vulcan salute,"finger, hand, spock, vulcan","finger, hand, spock, vulcan",Julian Grüneberg,2018-04-18,,single,🖖,1F596,1,203 +🖖,1F596,people-body,hand-fingers-open,vulcan salute,"finger, hand, spock, vulcan","fingers, star trek",Julian Grüneberg,2018-04-18,,single,🖖,1F596,1,203 🖖🏻,1F596-1F3FB,people-body,hand-fingers-open,vulcan salute: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🖖,1F596,1,204 🖖🏼,1F596-1F3FC,people-body,hand-fingers-open,vulcan salute: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🖖,1F596,1,205 🖖🏽,1F596-1F3FD,people-body,hand-fingers-open,vulcan salute: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🖖,1F596,1,206 🖖🏾,1F596-1F3FE,people-body,hand-fingers-open,vulcan salute: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🖖,1F596,1,207 🖖🏿,1F596-1F3FF,people-body,hand-fingers-open,vulcan salute: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🖖,1F596,1,208 +🫱,1FAF1,people-body,hand-fingers-open,rightwards hand,"hand, right, rightward",,Pia Stockhaus,2022-05-09,,single,🫱,1FAF1,14,209 +🫱🏻,1FAF1-1F3FB,people-body,hand-fingers-open,rightwards hand: light skin tone,,,Pia Stockhaus,2022-05-09,1,single,🫱,1FAF1,14,210 +🫱🏼,1FAF1-1F3FC,people-body,hand-fingers-open,rightwards hand: medium-light skin tone,,,Pia Stockhaus,2022-05-09,2,single,🫱,1FAF1,14,211 +🫱🏽,1FAF1-1F3FD,people-body,hand-fingers-open,rightwards hand: medium skin tone,,,Pia Stockhaus,2022-05-09,3,single,🫱,1FAF1,14,212 +🫱🏾,1FAF1-1F3FE,people-body,hand-fingers-open,rightwards hand: medium-dark skin tone,,,Pia Stockhaus,2022-05-09,4,single,🫱,1FAF1,14,213 +🫱🏿,1FAF1-1F3FF,people-body,hand-fingers-open,rightwards hand: dark skin tone,,,Pia Stockhaus,2022-05-09,5,single,🫱,1FAF1,14,214 +🫲,1FAF2,people-body,hand-fingers-open,leftwards hand,"hand, left, leftward",,Pia Stockhaus,2022-05-09,,single,🫲,1FAF2,14,215 +🫲🏻,1FAF2-1F3FB,people-body,hand-fingers-open,leftwards hand: light skin tone,,,Pia Stockhaus,2022-05-09,1,single,🫲,1FAF2,14,216 +🫲🏼,1FAF2-1F3FC,people-body,hand-fingers-open,leftwards hand: medium-light skin tone,,,Pia Stockhaus,2022-05-09,2,single,🫲,1FAF2,14,217 +🫲🏽,1FAF2-1F3FD,people-body,hand-fingers-open,leftwards hand: medium skin tone,,,Pia Stockhaus,2022-05-09,3,single,🫲,1FAF2,14,218 +🫲🏾,1FAF2-1F3FE,people-body,hand-fingers-open,leftwards hand: medium-dark skin tone,,,Pia Stockhaus,2022-05-09,4,single,🫲,1FAF2,14,219 +🫲🏿,1FAF2-1F3FF,people-body,hand-fingers-open,leftwards hand: dark skin tone,,,Pia Stockhaus,2022-05-09,5,single,🫲,1FAF2,14,220 +🫳,1FAF3,people-body,hand-fingers-open,palm down hand,"dismiss, drop, shoo",,Pia Stockhaus,2022-05-09,,single,🫳,1FAF3,14,221 +🫳🏻,1FAF3-1F3FB,people-body,hand-fingers-open,palm down hand: light skin tone,,,Pia Stockhaus,2022-05-09,1,single,🫳,1FAF3,14,222 +🫳🏼,1FAF3-1F3FC,people-body,hand-fingers-open,palm down hand: medium-light skin tone,,,Pia Stockhaus,2022-05-09,2,single,🫳,1FAF3,14,223 +🫳🏽,1FAF3-1F3FD,people-body,hand-fingers-open,palm down hand: medium skin tone,,,Pia Stockhaus,2022-05-09,3,single,🫳,1FAF3,14,224 +🫳🏾,1FAF3-1F3FE,people-body,hand-fingers-open,palm down hand: medium-dark skin tone,,,Pia Stockhaus,2022-05-09,4,single,🫳,1FAF3,14,225 +🫳🏿,1FAF3-1F3FF,people-body,hand-fingers-open,palm down hand: dark skin tone,,,Pia Stockhaus,2022-05-09,5,single,🫳,1FAF3,14,226 +🫴,1FAF4,people-body,hand-fingers-open,palm up hand,"beckon, catch, come, offer",,Pia Stockhaus,2022-05-09,,single,🫴,1FAF4,14,227 +🫴🏻,1FAF4-1F3FB,people-body,hand-fingers-open,palm up hand: light skin tone,,,Pia Stockhaus,2022-05-09,1,single,🫴,1FAF4,14,228 +🫴🏼,1FAF4-1F3FC,people-body,hand-fingers-open,palm up hand: medium-light skin tone,,,Pia Stockhaus,2022-05-09,2,single,🫴,1FAF4,14,229 +🫴🏽,1FAF4-1F3FD,people-body,hand-fingers-open,palm up hand: medium skin tone,,,Pia Stockhaus,2022-05-09,3,single,🫴,1FAF4,14,230 +🫴🏾,1FAF4-1F3FE,people-body,hand-fingers-open,palm up hand: medium-dark skin tone,,,Pia Stockhaus,2022-05-09,4,single,🫴,1FAF4,14,231 +🫴🏿,1FAF4-1F3FF,people-body,hand-fingers-open,palm up hand: dark skin tone,,,Pia Stockhaus,2022-05-09,5,single,🫴,1FAF4,14,232 👌,1F44C,people-body,hand-fingers-partial,OK hand,"hand, ok","hand, ok, okay, perfect",Julian Grüneberg,2018-04-18,,single,👌,1F44C,0.6,233 👌🏻,1F44C-1F3FB,people-body,hand-fingers-partial,OK hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👌,1F44C,1,234 👌🏼,1F44C-1F3FC,people-body,hand-fingers-partial,OK hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👌,1F44C,1,235 @@ -203,49 +234,55 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🤏🏽,1F90F-1F3FD,people-body,hand-fingers-partial,pinching hand: medium skin tone,,,Laura Dworatschek,2019-05-06,3,single,🤏,1F90F,12,248 🤏🏾,1F90F-1F3FE,people-body,hand-fingers-partial,pinching hand: medium-dark skin tone,,,Laura Dworatschek,2019-05-06,4,single,🤏,1F90F,12,249 🤏🏿,1F90F-1F3FF,people-body,hand-fingers-partial,pinching hand: dark skin tone,,,Laura Dworatschek,2019-05-06,5,single,🤏,1F90F,12,250 -✌️,270C,people-body,hand-fingers-partial,victory hand,"hand, v, victory","hand, v, victory, Air Quotes, quotes, Peace, Peace Sign, V Sign",Julian Grüneberg,2018-04-18,,single,✌️,270C,0.6,252 +✌️,270C,people-body,hand-fingers-partial,victory hand,"hand, v, victory","hand, v, victory, air quotes, quotes, peace, peace sign, V sign",Julian Grüneberg,2018-04-18,,single,✌️,270C,0.6,252 ✌🏻,270C-1F3FB,people-body,hand-fingers-partial,victory hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,✌️,270C,1,253 ✌🏼,270C-1F3FC,people-body,hand-fingers-partial,victory hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,✌️,270C,1,254 ✌🏽,270C-1F3FD,people-body,hand-fingers-partial,victory hand: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,✌️,270C,1,255 ✌🏾,270C-1F3FE,people-body,hand-fingers-partial,victory hand: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,✌️,270C,1,256 ✌🏿,270C-1F3FF,people-body,hand-fingers-partial,victory hand: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,✌️,270C,1,257 -🤞,1F91E,people-body,hand-fingers-partial,crossed fingers,"cross, finger, hand, luck","Fingers Crossed, crossed, fingers, Good Luck, luck",Julian Grüneberg,2018-04-18,,single,🤞,1F91E,3,258 +🤞,1F91E,people-body,hand-fingers-partial,crossed fingers,"cross, finger, hand, luck","fingers crossed, crossed, fingers, good luck, luck",Julian Grüneberg,2018-04-18,,single,🤞,1F91E,3,258 🤞🏻,1F91E-1F3FB,people-body,hand-fingers-partial,crossed fingers: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤞,1F91E,3,259 🤞🏼,1F91E-1F3FC,people-body,hand-fingers-partial,crossed fingers: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤞,1F91E,3,260 🤞🏽,1F91E-1F3FD,people-body,hand-fingers-partial,crossed fingers: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤞,1F91E,3,261 🤞🏾,1F91E-1F3FE,people-body,hand-fingers-partial,crossed fingers: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤞,1F91E,3,262 🤞🏿,1F91E-1F3FF,people-body,hand-fingers-partial,crossed fingers: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤞,1F91E,3,263 +🫰,1FAF0,people-body,hand-fingers-partial,hand with index finger and thumb crossed,"expensive, heart, love, money, snap",,Niklas Kuntz,2022-05-09,,single,🫰,1FAF0,14,264 +🫰🏻,1FAF0-1F3FB,people-body,hand-fingers-partial,hand with index finger and thumb crossed: light skin tone,,,Niklas Kuntz,2022-05-09,1,single,🫰,1FAF0,14,265 +🫰🏼,1FAF0-1F3FC,people-body,hand-fingers-partial,hand with index finger and thumb crossed: medium-light skin tone,,,Niklas Kuntz,2022-05-09,2,single,🫰,1FAF0,14,266 +🫰🏽,1FAF0-1F3FD,people-body,hand-fingers-partial,hand with index finger and thumb crossed: medium skin tone,,,Niklas Kuntz,2022-05-09,3,single,🫰,1FAF0,14,267 +🫰🏾,1FAF0-1F3FE,people-body,hand-fingers-partial,hand with index finger and thumb crossed: medium-dark skin tone,,,Niklas Kuntz,2022-05-09,4,single,🫰,1FAF0,14,268 +🫰🏿,1FAF0-1F3FF,people-body,hand-fingers-partial,hand with index finger and thumb crossed: dark skin tone,,,Niklas Kuntz,2022-05-09,5,single,🫰,1FAF0,14,269 🤟,1F91F,people-body,hand-fingers-partial,love-you gesture,"hand, ily","hand, love, heavy metal",Julian Grüneberg,2018-04-18,,single,🤟,1F91F,5,270 🤟🏻,1F91F-1F3FB,people-body,hand-fingers-partial,love-you gesture: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤟,1F91F,5,271 🤟🏼,1F91F-1F3FC,people-body,hand-fingers-partial,love-you gesture: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤟,1F91F,5,272 🤟🏽,1F91F-1F3FD,people-body,hand-fingers-partial,love-you gesture: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤟,1F91F,5,273 🤟🏾,1F91F-1F3FE,people-body,hand-fingers-partial,love-you gesture: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤟,1F91F,5,274 🤟🏿,1F91F-1F3FF,people-body,hand-fingers-partial,love-you gesture: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤟,1F91F,5,275 -🤘,1F918,people-body,hand-fingers-partial,sign of the horns,"finger, hand, horns, rock-on","rock on, finger, hand, horns, rock-on, rock, Devil, Devil Fingers, Heavy, Metal, Heavy Metal, rock",Julian Grüneberg,2018-04-18,,single,🤘,1F918,1,276 +🤘,1F918,people-body,hand-fingers-partial,sign of the horns,"finger, hand, horns, rock-on","rock on, finger, hand, horns, rock-on, rock, devil, devil fingers, heavy, metal, heavy metal, rock",Julian Grüneberg,2018-04-18,,single,🤘,1F918,1,276 🤘🏻,1F918-1F3FB,people-body,hand-fingers-partial,sign of the horns: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤘,1F918,1,277 🤘🏼,1F918-1F3FC,people-body,hand-fingers-partial,sign of the horns: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤘,1F918,1,278 🤘🏽,1F918-1F3FD,people-body,hand-fingers-partial,sign of the horns: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤘,1F918,1,279 🤘🏾,1F918-1F3FE,people-body,hand-fingers-partial,sign of the horns: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤘,1F918,1,280 🤘🏿,1F918-1F3FF,people-body,hand-fingers-partial,sign of the horns: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤘,1F918,1,281 -🤙,1F919,people-body,hand-fingers-partial,call me hand,"call, hand, hang loose, shaka","Call Me Hand, call, hand, Phone, Shaka",Julian Grüneberg,2018-04-18,,single,🤙,1F919,3,282 +🤙,1F919,people-body,hand-fingers-partial,call me hand,"call, hand, hang loose, shaka","call me hand, call, hand, phone, shaka sign, hang loose, right on",Julian Grüneberg,2018-04-18,,single,🤙,1F919,3,282 🤙🏻,1F919-1F3FB,people-body,hand-fingers-partial,call me hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤙,1F919,3,283 🤙🏼,1F919-1F3FC,people-body,hand-fingers-partial,call me hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤙,1F919,3,284 🤙🏽,1F919-1F3FD,people-body,hand-fingers-partial,call me hand: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤙,1F919,3,285 🤙🏾,1F919-1F3FE,people-body,hand-fingers-partial,call me hand: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤙,1F919,3,286 🤙🏿,1F919-1F3FF,people-body,hand-fingers-partial,call me hand: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤙,1F919,3,287 -👈️,1F448,people-body,hand-single-finger,backhand index pointing left,"backhand, finger, hand, index, point","backhand, finger, hand, index, point, point, left, Middle Finger, White left",Julian Grüneberg,2018-04-18,,single,👈️,1F448,0.6,288 +👈️,1F448,people-body,hand-single-finger,backhand index pointing left,"backhand, finger, hand, index, point","backhand, finger, hand, index, point, left, point left",Julian Grüneberg,2018-04-18,,single,👈️,1F448,0.6,288 👈🏻,1F448-1F3FB,people-body,hand-single-finger,backhand index pointing left: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👈️,1F448,1,289 👈🏼,1F448-1F3FC,people-body,hand-single-finger,backhand index pointing left: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👈️,1F448,1,290 👈🏽,1F448-1F3FD,people-body,hand-single-finger,backhand index pointing left: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👈️,1F448,1,291 👈🏾,1F448-1F3FE,people-body,hand-single-finger,backhand index pointing left: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,👈️,1F448,1,292 👈🏿,1F448-1F3FF,people-body,hand-single-finger,backhand index pointing left: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,👈️,1F448,1,293 -👉️,1F449,people-body,hand-single-finger,backhand index pointing right,"backhand, finger, hand, index, point","backhand, finger, hand, index, point, point, right, Middle Finger, White right",Julian Grüneberg,2018-04-18,,single,👉️,1F449,0.6,294 +👉️,1F449,people-body,hand-single-finger,backhand index pointing right,"backhand, finger, hand, index, point","backhand, finger, hand, index, point, right, point right",Julian Grüneberg,2018-04-18,,single,👉️,1F449,0.6,294 👉🏻,1F449-1F3FB,people-body,hand-single-finger,backhand index pointing right: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👉️,1F449,1,295 👉🏼,1F449-1F3FC,people-body,hand-single-finger,backhand index pointing right: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👉️,1F449,1,296 👉🏽,1F449-1F3FD,people-body,hand-single-finger,backhand index pointing right: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👉️,1F449,1,297 👉🏾,1F449-1F3FE,people-body,hand-single-finger,backhand index pointing right: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,👉️,1F449,1,298 👉🏿,1F449-1F3FF,people-body,hand-single-finger,backhand index pointing right: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,👉️,1F449,1,299 -👆️,1F446,people-body,hand-single-finger,backhand index pointing up,"backhand, finger, hand, point, up","backhand, finger, hand, index, point, up, Middle Finger, White Up",Julian Grüneberg,2018-04-18,,single,👆️,1F446,0.6,300 +👆️,1F446,people-body,hand-single-finger,backhand index pointing up,"backhand, finger, hand, point, up","backhand, finger, hand, index, point, up, point up",Julian Grüneberg,2018-04-18,,single,👆️,1F446,0.6,300 👆🏻,1F446-1F3FB,people-body,hand-single-finger,backhand index pointing up: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👆️,1F446,1,301 👆🏼,1F446-1F3FC,people-body,hand-single-finger,backhand index pointing up: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👆️,1F446,1,302 👆🏽,1F446-1F3FD,people-body,hand-single-finger,backhand index pointing up: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👆️,1F446,1,303 @@ -257,7 +294,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🖕🏽,1F595-1F3FD,people-body,hand-single-finger,middle finger: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🖕,1F595,1,309 🖕🏾,1F595-1F3FE,people-body,hand-single-finger,middle finger: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🖕,1F595,1,310 🖕🏿,1F595-1F3FF,people-body,hand-single-finger,middle finger: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🖕,1F595,1,311 -👇️,1F447,people-body,hand-single-finger,backhand index pointing down,"backhand, down, finger, hand, point","backhand, down, finger, hand, index, point, point, down, Middle Finger, White down",Julian Grüneberg,2018-04-18,,single,👇️,1F447,0.6,312 +👇️,1F447,people-body,hand-single-finger,backhand index pointing down,"backhand, down, finger, hand, point","backhand, finger, hand, index, point, down, point down",Julian Grüneberg,2018-04-18,,single,👇️,1F447,0.6,312 👇🏻,1F447-1F3FB,people-body,hand-single-finger,backhand index pointing down: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👇️,1F447,1,313 👇🏼,1F447-1F3FC,people-body,hand-single-finger,backhand index pointing down: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👇️,1F447,1,314 👇🏽,1F447-1F3FD,people-body,hand-single-finger,backhand index pointing down: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👇️,1F447,1,315 @@ -269,13 +306,19 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ☝🏽,261D-1F3FD,people-body,hand-single-finger,index pointing up: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,☝️,261D,1,322 ☝🏾,261D-1F3FE,people-body,hand-single-finger,index pointing up: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,☝️,261D,1,323 ☝🏿,261D-1F3FF,people-body,hand-single-finger,index pointing up: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,☝️,261D,1,324 -👍️,1F44D,people-body,hand-fingers-closed,thumbs up,"+1, hand, thumb, up","Like, yes, +1, hand, thumb, up, thumbs up, thumbs up",Julian Grüneberg,2018-04-18,,single,👍️,1F44D,0.6,331 +🫵,1FAF5,people-body,hand-single-finger,index pointing at the viewer,"point, you",,Aileen Gedrat,2022-05-09,,single,🫵,1FAF5,14,325 +🫵🏻,1FAF5-1F3FB,people-body,hand-single-finger,index pointing at the viewer: light skin tone,,,Aileen Gedrat,2022-05-09,1,single,🫵,1FAF5,14,326 +🫵🏼,1FAF5-1F3FC,people-body,hand-single-finger,index pointing at the viewer: medium-light skin tone,,,Aileen Gedrat,2022-05-09,2,single,🫵,1FAF5,14,327 +🫵🏽,1FAF5-1F3FD,people-body,hand-single-finger,index pointing at the viewer: medium skin tone,,,Aileen Gedrat,2022-05-09,3,single,🫵,1FAF5,14,328 +🫵🏾,1FAF5-1F3FE,people-body,hand-single-finger,index pointing at the viewer: medium-dark skin tone,,,Aileen Gedrat,2022-05-09,4,single,🫵,1FAF5,14,329 +🫵🏿,1FAF5-1F3FF,people-body,hand-single-finger,index pointing at the viewer: dark skin tone,,,Aileen Gedrat,2022-05-09,5,single,🫵,1FAF5,14,330 +👍️,1F44D,people-body,hand-fingers-closed,thumbs up,"+1, hand, thumb, up","like, yes, +1, hand, thumb, up, thumbs up, thumbs up",Julian Grüneberg,2018-04-18,,single,👍️,1F44D,0.6,331 👍🏻,1F44D-1F3FB,people-body,hand-fingers-closed,thumbs up: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👍️,1F44D,1,332 👍🏼,1F44D-1F3FC,people-body,hand-fingers-closed,thumbs up: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👍️,1F44D,1,333 👍🏽,1F44D-1F3FD,people-body,hand-fingers-closed,thumbs up: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👍️,1F44D,1,334 👍🏾,1F44D-1F3FE,people-body,hand-fingers-closed,thumbs up: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,👍️,1F44D,1,335 👍🏿,1F44D-1F3FF,people-body,hand-fingers-closed,thumbs up: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,👍️,1F44D,1,336 -👎️,1F44E,people-body,hand-fingers-closed,thumbs down,"-1, down, hand, thumb","Dislike no, Thumbs Down, Thumbs Down sign, -1, down, hand, thumb, thumbs",Julian Grüneberg,2018-04-18,,single,👎️,1F44E,0.6,337 +👎️,1F44E,people-body,hand-fingers-closed,thumbs down,"-1, down, hand, thumb","dislike, no, thumbs down, thumbs down sign, -1, down, hand, thumb, thumbs",Julian Grüneberg,2018-04-18,,single,👎️,1F44E,0.6,337 👎🏻,1F44E-1F3FB,people-body,hand-fingers-closed,thumbs down: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👎️,1F44E,1,338 👎🏼,1F44E-1F3FC,people-body,hand-fingers-closed,thumbs down: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👎️,1F44E,1,339 👎🏽,1F44E-1F3FD,people-body,hand-fingers-closed,thumbs down: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👎️,1F44E,1,340 @@ -287,37 +330,43 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ✊🏽,270A-1F3FD,people-body,hand-fingers-closed,raised fist: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,✊,270A,1,346 ✊🏾,270A-1F3FE,people-body,hand-fingers-closed,raised fist: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,✊,270A,1,347 ✊🏿,270A-1F3FF,people-body,hand-fingers-closed,raised fist: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,✊,270A,1,348 -👊,1F44A,people-body,hand-fingers-closed,oncoming fist,"clenched, fist, hand, punch","clenched, fist, hand, punch, fist, oncoming fist, Brofist, Bro, Bump,",Julian Grüneberg,2018-04-18,,single,👊,1F44A,0.6,349 +👊,1F44A,people-body,hand-fingers-closed,oncoming fist,"clenched, fist, hand, punch","clenched, fist, hand, punch, fist, oncoming fist, brofist, bro, bump",Julian Grüneberg,2018-04-18,,single,👊,1F44A,0.6,349 👊🏻,1F44A-1F3FB,people-body,hand-fingers-closed,oncoming fist: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👊,1F44A,1,350 👊🏼,1F44A-1F3FC,people-body,hand-fingers-closed,oncoming fist: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👊,1F44A,1,351 👊🏽,1F44A-1F3FD,people-body,hand-fingers-closed,oncoming fist: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👊,1F44A,1,352 👊🏾,1F44A-1F3FE,people-body,hand-fingers-closed,oncoming fist: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,👊,1F44A,1,353 👊🏿,1F44A-1F3FF,people-body,hand-fingers-closed,oncoming fist: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,👊,1F44A,1,354 -🤛,1F91B,people-body,hand-fingers-closed,left-facing fist,"fist, leftwards","Fist, left, leftwards, Left-Facing Fist",Julian Grüneberg,2018-04-18,,single,🤛,1F91B,3,355 +🤛,1F91B,people-body,hand-fingers-closed,left-facing fist,"fist, leftwards","fist, left, leftwards, left-facing fist",Julian Grüneberg,2018-04-18,,single,🤛,1F91B,3,355 🤛🏻,1F91B-1F3FB,people-body,hand-fingers-closed,left-facing fist: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤛,1F91B,3,356 🤛🏼,1F91B-1F3FC,people-body,hand-fingers-closed,left-facing fist: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤛,1F91B,3,357 🤛🏽,1F91B-1F3FD,people-body,hand-fingers-closed,left-facing fist: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤛,1F91B,3,358 🤛🏾,1F91B-1F3FE,people-body,hand-fingers-closed,left-facing fist: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤛,1F91B,3,359 🤛🏿,1F91B-1F3FF,people-body,hand-fingers-closed,left-facing fist: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤛,1F91B,3,360 -🤜,1F91C,people-body,hand-fingers-closed,right-facing fist,"fist, rightwards","Right, fist, rightwards, right-Facing Fist",Julian Grüneberg,2018-04-18,,single,🤜,1F91C,3,361 +🤜,1F91C,people-body,hand-fingers-closed,right-facing fist,"fist, rightwards","right, fist, rightwards, right-facing fist",Julian Grüneberg,2018-04-18,,single,🤜,1F91C,3,361 🤜🏻,1F91C-1F3FB,people-body,hand-fingers-closed,right-facing fist: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤜,1F91C,3,362 🤜🏼,1F91C-1F3FC,people-body,hand-fingers-closed,right-facing fist: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤜,1F91C,3,363 🤜🏽,1F91C-1F3FD,people-body,hand-fingers-closed,right-facing fist: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤜,1F91C,3,364 🤜🏾,1F91C-1F3FE,people-body,hand-fingers-closed,right-facing fist: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤜,1F91C,3,365 🤜🏿,1F91C-1F3FF,people-body,hand-fingers-closed,right-facing fist: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤜,1F91C,3,366 -👏,1F44F,people-body,hands,clapping hands,"clap, hand","clap, hand, clapping hands, Applause, Clap, Clapping, Golf Clap, Round Of Applause",Julian Grüneberg,2018-04-18,,single,👏,1F44F,0.6,367 +👏,1F44F,people-body,hands,clapping hands,"clap, hand","clap, hand, clapping hands, applause, clap, clapping, golf clap, round of applause",Julian Grüneberg,2018-04-18,,single,👏,1F44F,0.6,367 👏🏻,1F44F-1F3FB,people-body,hands,clapping hands: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👏,1F44F,1,368 👏🏼,1F44F-1F3FC,people-body,hands,clapping hands: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👏,1F44F,1,369 👏🏽,1F44F-1F3FD,people-body,hands,clapping hands: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👏,1F44F,1,370 👏🏾,1F44F-1F3FE,people-body,hands,clapping hands: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,👏,1F44F,1,371 👏🏿,1F44F-1F3FF,people-body,hands,clapping hands: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,👏,1F44F,1,372 -🙌,1F64C,people-body,hands,raising hands,"celebration, gesture, hand, hooray, raised","Raising Hands, Raising, Hands, celebration, gesture, hand, hooray, raised, Arms In The Air, Banzai, Festivus Miracle, Hallelujah, Praise Hands, Two Hands",Julian Grüneberg,2018-04-18,,single,🙌,1F64C,0.6,373 +🙌,1F64C,people-body,hands,raising hands,"celebration, gesture, hand, hooray, raised","raising hands, raising, hands, celebration, gesture, hand, hooray, raised, arms in the air, banzai, Festivus miracle, hallelujah, praise hands, two hands",Julian Grüneberg,2018-04-18,,single,🙌,1F64C,0.6,373 🙌🏻,1F64C-1F3FB,people-body,hands,raising hands: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🙌,1F64C,1,374 🙌🏼,1F64C-1F3FC,people-body,hands,raising hands: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🙌,1F64C,1,375 🙌🏽,1F64C-1F3FD,people-body,hands,raising hands: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🙌,1F64C,1,376 🙌🏾,1F64C-1F3FE,people-body,hands,raising hands: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🙌,1F64C,1,377 🙌🏿,1F64C-1F3FF,people-body,hands,raising hands: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🙌,1F64C,1,378 -👐,1F450,people-body,hands,open hands,"hand, open","Hug, Open Hands, Open, Hands, Jazz Hands, Jazz",Julian Grüneberg,2018-04-18,,single,👐,1F450,0.6,385 +🫶,1FAF6,people-body,hands,heart hands,love,,Alan Seng,2022-05-09,,single,🫶,1FAF6,14,379 +🫶🏻,1FAF6-1F3FB,people-body,hands,heart hands: light skin tone,,,Alan Seng,2022-05-09,1,single,🫶,1FAF6,14,380 +🫶🏼,1FAF6-1F3FC,people-body,hands,heart hands: medium-light skin tone,,,Alan Seng,2022-05-09,2,single,🫶,1FAF6,14,381 +🫶🏽,1FAF6-1F3FD,people-body,hands,heart hands: medium skin tone,,,Alan Seng,2022-05-09,3,single,🫶,1FAF6,14,382 +🫶🏾,1FAF6-1F3FE,people-body,hands,heart hands: medium-dark skin tone,,,Alan Seng,2022-05-09,4,single,🫶,1FAF6,14,383 +🫶🏿,1FAF6-1F3FF,people-body,hands,heart hands: dark skin tone,,,Alan Seng,2022-05-09,5,single,🫶,1FAF6,14,384 +👐,1F450,people-body,hands,open hands,"hand, open","hug, open hands, open, hands, jazz hands, jazz",Julian Grüneberg,2018-04-18,,single,👐,1F450,0.6,385 👐🏻,1F450-1F3FB,people-body,hands,open hands: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,👐,1F450,1,386 👐🏼,1F450-1F3FC,people-body,hands,open hands: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,👐,1F450,1,387 👐🏽,1F450-1F3FD,people-body,hands,open hands: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,👐,1F450,1,388 @@ -329,7 +378,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🤲🏽,1F932-1F3FD,people-body,hands,palms up together: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤲,1F932,5,394 🤲🏾,1F932-1F3FE,people-body,hands,palms up together: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤲,1F932,5,395 🤲🏿,1F932-1F3FF,people-body,hands,palms up together: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤲,1F932,5,396 -🤝,1F91D,people-body,hands,handshake,"agreement, hand, meeting, shake","Shaking Hands, agreement, hand, meeting, shake, hello, bye, goodbye",Julian Grüneberg,2018-04-18,,single,🤝,1F91D,3,397 +🤝,1F91D,people-body,hands,handshake,"agreement, hand, meeting, shake","shaking hands, agreement, hand, meeting, shake, hello, bye, goodbye",Julian Grüneberg,2018-04-18,,single,🤝,1F91D,3,397 🤝🏻,1F91D-1F3FB,people-body,hands,handshake: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,🤝,1F91D,3,398 🤝🏼,1F91D-1F3FC,people-body,hands,handshake: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,🤝,1F91D,3,399 🤝🏽,1F91D-1F3FD,people-body,hands,handshake: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤝,1F91D,3,400 @@ -361,7 +410,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🙏🏽,1F64F-1F3FD,people-body,hands,folded hands: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🙏,1F64F,1,426 🙏🏾,1F64F-1F3FE,people-body,hands,folded hands: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🙏,1F64F,1,427 🙏🏿,1F64F-1F3FF,people-body,hands,folded hands: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🙏,1F64F,1,428 -✍️,270D,people-body,hand-prop,writing hand,"hand, write","Writing Hand, Writing, Write",Julian Grüneberg,2018-04-18,,single,✍️,270D,0.7,430 +✍️,270D,people-body,hand-prop,writing hand,"hand, write","writing hand, writing, write",Julian Grüneberg,2018-04-18,,single,✍️,270D,0.7,430 ✍🏻,270D-1F3FB,people-body,hand-prop,writing hand: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,✍️,270D,1,431 ✍🏼,270D-1F3FC,people-body,hand-prop,writing hand: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,✍️,270D,1,432 ✍🏽,270D-1F3FD,people-body,hand-prop,writing hand: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,✍️,270D,1,433 @@ -379,7 +428,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🤳🏽,1F933-1F3FD,people-body,hand-prop,selfie: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,🤳,1F933,3,445 🤳🏾,1F933-1F3FE,people-body,hand-prop,selfie: medium-dark skin tone,,,Julian Grüneberg,2018-04-18,4,single,🤳,1F933,3,446 🤳🏿,1F933-1F3FF,people-body,hand-prop,selfie: dark skin tone,,,Julian Grüneberg,2018-04-18,5,single,🤳,1F933,3,447 -💪,1F4AA,people-body,body-parts,flexed biceps,"biceps, comic, flex, muscle","Flexed Biceps, Biceps, Flexed, flex, muscle, Feats of Strength, strength, feats, Strong, lisa schulz, julian grüneberg",Julian Grüneberg,2018-04-18,,single,💪,1F4AA,0.6,448 +💪,1F4AA,people-body,body-parts,flexed biceps,"biceps, comic, flex, muscle","flexed biceps, biceps, flexed, flex, muscle, feats of strength, strength, feats, strong",Julian Grüneberg,2018-04-18,,single,💪,1F4AA,0.6,448 💪🏻,1F4AA-1F3FB,people-body,body-parts,flexed biceps: light skin tone,,,Julian Grüneberg,2018-04-18,1,single,💪,1F4AA,1,449 💪🏼,1F4AA-1F3FC,people-body,body-parts,flexed biceps: medium-light skin tone,,,Julian Grüneberg,2018-04-18,2,single,💪,1F4AA,1,450 💪🏽,1F4AA-1F3FD,people-body,body-parts,flexed biceps: medium skin tone,,,Julian Grüneberg,2018-04-18,3,single,💪,1F4AA,1,451 @@ -1141,6 +1190,12 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 👷🏽‍♀️,1F477-1F3FD-200D-2640-FE0F,people-body,person-role,woman construction worker: medium skin tone,,,Antonia Wagner,2019-05-03,3,single,👷‍♀️,1F477-200D-2640-FE0F,4,1456 👷🏾‍♀️,1F477-1F3FE-200D-2640-FE0F,people-body,person-role,woman construction worker: medium-dark skin tone,,,Antonia Wagner,2019-05-03,4,single,👷‍♀️,1F477-200D-2640-FE0F,4,1458 👷🏿‍♀️,1F477-1F3FF-200D-2640-FE0F,people-body,person-role,woman construction worker: dark skin tone,,,Antonia Wagner,2019-05-03,5,single,👷‍♀️,1F477-200D-2640-FE0F,4,1460 +🫅,1FAC5,people-body,person-role,person with crown,"monarch, noble, regal, royalty",,Alena Peichl,2022-05-09,,single,🫅,1FAC5,14,1462 +🫅🏻,1FAC5-1F3FB,people-body,person-role,person with crown: light skin tone,,,Alena Peichl,2022-05-09,1,single,🫅,1FAC5,14,1463 +🫅🏼,1FAC5-1F3FC,people-body,person-role,person with crown: medium-light skin tone,,,Alena Peichl,2022-05-09,2,single,🫅,1FAC5,14,1464 +🫅🏽,1FAC5-1F3FD,people-body,person-role,person with crown: medium skin tone,,,Alena Peichl,2022-05-09,3,single,🫅,1FAC5,14,1465 +🫅🏾,1FAC5-1F3FE,people-body,person-role,person with crown: medium-dark skin tone,,,Alena Peichl,2022-05-09,4,single,🫅,1FAC5,14,1466 +🫅🏿,1FAC5-1F3FF,people-body,person-role,person with crown: dark skin tone,,,Alena Peichl,2022-05-09,5,single,🫅,1FAC5,14,1467 🤴,1F934,people-body,person-role,prince,prince,"prince, charming, crown, fairy tale, fantasy, pink",Lisa Thiel,2018-04-18,,single,🤴,1F934,3,1468 🤴🏻,1F934-1F3FB,people-body,person-role,prince: light skin tone,,,Lisa Thiel,2018-04-18,1,single,🤴,1F934,3,1469 🤴🏼,1F934-1F3FC,people-body,person-role,prince: medium-light skin tone,,,Lisa Thiel,2018-04-18,2,single,🤴,1F934,3,1470 @@ -1225,6 +1280,18 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🤰🏽,1F930-1F3FD,people-body,person-role,pregnant woman: medium skin tone,,,Lisa Thiel,2018-04-18,3,single,🤰,1F930,3,1585 🤰🏾,1F930-1F3FE,people-body,person-role,pregnant woman: medium-dark skin tone,,,Lisa Thiel,2018-04-18,4,single,🤰,1F930,3,1586 🤰🏿,1F930-1F3FF,people-body,person-role,pregnant woman: dark skin tone,,,Lisa Thiel,2018-04-18,5,single,🤰,1F930,3,1587 +🫃,1FAC3,people-body,person-role,pregnant man,"belly, bloated, full, pregnant",,Natalie Siebler,2022-05-09,,single,🫃,1FAC3,14,1588 +🫃🏻,1FAC3-1F3FB,people-body,person-role,pregnant man: light skin tone,,,Natalie Siebler,2022-05-09,1,single,🫃,1FAC3,14,1589 +🫃🏼,1FAC3-1F3FC,people-body,person-role,pregnant man: medium-light skin tone,,,Natalie Siebler,2022-05-09,2,single,🫃,1FAC3,14,1590 +🫃🏽,1FAC3-1F3FD,people-body,person-role,pregnant man: medium skin tone,,,Natalie Siebler,2022-05-09,3,single,🫃,1FAC3,14,1591 +🫃🏾,1FAC3-1F3FE,people-body,person-role,pregnant man: medium-dark skin tone,,,Natalie Siebler,2022-05-09,4,single,🫃,1FAC3,14,1592 +🫃🏿,1FAC3-1F3FF,people-body,person-role,pregnant man: dark skin tone,,,Natalie Siebler,2022-05-09,5,single,🫃,1FAC3,14,1593 +🫄,1FAC4,people-body,person-role,pregnant person,"belly, bloated, full, pregnant",,Jana Gerspach,2022-05-09,,single,🫄,1FAC4,14,1594 +🫄🏻,1FAC4-1F3FB,people-body,person-role,pregnant person: light skin tone,,,Jana Gerspach,2022-05-09,1,single,🫄,1FAC4,14,1595 +🫄🏼,1FAC4-1F3FC,people-body,person-role,pregnant person: medium-light skin tone,,,Jana Gerspach,2022-05-09,2,single,🫄,1FAC4,14,1596 +🫄🏽,1FAC4-1F3FD,people-body,person-role,pregnant person: medium skin tone,,,Jana Gerspach,2022-05-09,3,single,🫄,1FAC4,14,1597 +🫄🏾,1FAC4-1F3FE,people-body,person-role,pregnant person: medium-dark skin tone,,,Jana Gerspach,2022-05-09,4,single,🫄,1FAC4,14,1598 +🫄🏿,1FAC4-1F3FF,people-body,person-role,pregnant person: dark skin tone,,,Jana Gerspach,2022-05-09,5,single,🫄,1FAC4,14,1599 🤱,1F931,people-body,person-role,breast-feeding,"baby, breast, nursing","baby, breast, nursing, love, trust, mother, motherhood",Lisa Thiel,2018-04-18,,single,🤱,1F931,5,1600 🤱🏻,1F931-1F3FB,people-body,person-role,breast-feeding: light skin tone,,,Lisa Thiel,2018-04-18,1,single,🤱,1F931,5,1601 🤱🏼,1F931-1F3FC,people-body,person-role,breast-feeding: medium-light skin tone,,,Lisa Thiel,2018-04-18,2,single,🤱,1F931,5,1602 @@ -1405,6 +1472,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🧟,1F9DF,people-body,person-fantasy,zombie,"undead, walking dead","undead, walking dead, brain, decayed",Lisa Thiel,2018-04-18,,,,,5,1863 🧟‍♂️,1F9DF-200D-2642-FE0F,people-body,person-fantasy,man zombie,"undead, walking dead",,Rifat Erdogan,2019-05-06,,,,,5,1864 🧟‍♀️,1F9DF-200D-2640-FE0F,people-body,person-fantasy,woman zombie,"undead, walking dead",,Rifat Erdogan,2019-05-06,,,,,5,1866 +🧌,1F9CC,people-body,person-fantasy,troll,"fairy tale, fantasy, monster",,Niklas Kuntz,2022-05-09,,,,,14,1868 💆,1F486,people-body,person-activity,person getting massage,"face, massage, salon","human, person",Johanna Wellnitz,2018-04-18,,single,💆,1F486,0.6,1869 💆🏻,1F486-1F3FB,people-body,person-activity,person getting massage: light skin tone,,,Johanna Wellnitz,2018-04-18,1,single,💆,1F486,1,1870 💆🏼,1F486-1F3FC,people-body,person-activity,person getting massage: medium-light skin tone,,,Johanna Wellnitz,2018-04-18,2,single,💆,1F486,1,1871 @@ -2291,9 +2359,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🐇,1F407,animals-nature,animal-mammal,rabbit,"bunny, pet","rodent, teeth, cute, ears, bunny, hopping, easter",Sofie Ascherl,2018-04-18,,,,,1,3222 🐿️,1F43F,animals-nature,animal-mammal,chipmunk,squirrel,"squirrel, alvin",Sofie Ascherl,2018-04-18,,,,,0.7,3224 🦫,1F9AB,animals-nature,animal-mammal,beaver,dam,,Liz Bravo,2020-10-07,,,,,13,3225 -🦔,1F994,animals-nature,animal-mammal,hedgehog,spiny,"prickly, fall, apple, leafs",Sofie Ascherl,2018-04-18,,,,,5,3226 +🦔,1F994,animals-nature,animal-mammal,hedgehog,spiny,prickly,Sofie Ascherl,2018-04-18,,,,,5,3226 🦇,1F987,animals-nature,animal-mammal,bat,vampire,"batman, dracula",Sofie Ascherl,2018-04-18,,,,,3,3227 -🐻,1F43B,animals-nature,animal-mammal,bear,face,"brown, salmon, river, thick",Sofie Ascherl,2018-04-18,,,,,0.6,3228 +🐻,1F43B,animals-nature,animal-mammal,bear,face,brown,Sofie Ascherl,2018-04-18,,,,,0.6,3228 🐻‍❄️,1F43B-200D-2744-FE0F,animals-nature,animal-mammal,polar bear,"arctic, bear, white","ice, arctic, animal, ursa",Sina Grund,2020-02-18,,,,,13,3229 🐨,1F428,animals-nature,animal-mammal,koala,"face, marsupial","grey, fluffy, eucalyptus, australia, clingy",Sofie Ascherl,2018-04-18,,,,,0.6,3231 🐼,1F43C,animals-nature,animal-mammal,panda,face,"kawaii, cute, japan",Sofie Ascherl,2018-04-18,,,,,0.6,3232 @@ -2323,9 +2391,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🦜,1F99C,animals-nature,animal-bird,parrot,"bird, pirate, talk",,Ricarda Krejci,2019-05-07,,,,,11,3257 🐸,1F438,animals-nature,animal-amphibian,frog,face,"jump, green",Selina Bauder,2018-04-18,,,,,0.6,3258 🐊,1F40A,animals-nature,animal-reptile,crocodile,crocodile,dinosaur,Selina Bauder,2018-04-18,,,,,1,3259 -🐢,1F422,animals-nature,animal-reptile,turtle,"terrapin, tortoise","slow, water, sand",Selina Bauder,2018-04-18,,,,,0.6,3260 +🐢,1F422,animals-nature,animal-reptile,turtle,"terrapin, tortoise","slow, water, sand",Robert Winslow,2022-03-29,,,,,0.6,3260 🦎,1F98E,animals-nature,animal-reptile,lizard,reptile,"fast, small",Selina Bauder,2018-04-18,,,,,3,3261 -🐍,1F40D,animals-nature,animal-reptile,snake,"bearer, ophiuchus, serpent, zodiac","wriggle, fast,",Selina Bauder,2018-04-18,,,,,0.6,3262 +🐍,1F40D,animals-nature,animal-reptile,snake,"bearer, ophiuchus, serpent, zodiac","wriggle, fast",Selina Bauder,2018-04-18,,,,,0.6,3262 🐲,1F432,animals-nature,animal-reptile,dragon face,"dragon, face, fairy tale","fire, fly",Selina Bauder,2018-04-18,,,,,0.6,3263 🐉,1F409,animals-nature,animal-reptile,dragon,fairy tale,"fire, fly",Selina Bauder,2018-04-18,,,,,1,3264 🦕,1F995,animals-nature,animal-reptile,sauropod,"brachiosaurus, brontosaurus, diplodocus",dinosaur,Selina Bauder,2018-04-18,,,,,5,3265 @@ -2340,8 +2408,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🦈,1F988,animals-nature,animal-marine,shark,fish,"swim, animal, water",Selina Bauder,2018-04-18,,,,,3,3274 🐙,1F419,animals-nature,animal-marine,octopus,octopus,"swim, animal, water",Selina Bauder,2018-04-18,,,,,0.6,3275 🐚,1F41A,animals-nature,animal-marine,spiral shell,"shell, spiral","beach, sand, water",Selina Bauder,2018-04-18,,,,,0.6,3276 +🪸,1FAB8,animals-nature,animal-marine,coral,"ocean, reef",,Alena Peichl,2022-05-09,,,,,14,3277 🐌,1F40C,animals-nature,animal-bug,snail,snail,,Selina Bauder,2018-04-18,,,,,0.6,3278 -🦋,1F98B,animals-nature,animal-bug,butterfly,"insect, pretty",,Selina Bauder,2018-04-18,,,,,3,3279 +🦋,1F98B,animals-nature,animal-bug,butterfly,"insect, pretty",,Robert Winslow,2022-03-29,,,,,3,3279 🐛,1F41B,animals-nature,animal-bug,bug,insect,,Liz Bravo,2020-12-22,,,,,0.6,3280 🐜,1F41C,animals-nature,animal-bug,ant,insect,,Selina Bauder,2018-04-18,,,,,0.6,3281 🐝,1F41D,animals-nature,animal-bug,honeybee,"bee, insect",,Selina Bauder,2018-04-18,,,,,0.6,3282 @@ -2357,28 +2426,31 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🪱,1FAB1,animals-nature,animal-bug,worm,"annelid, earthworm, parasite",,Liz Bravo,2020-03-07,,,,,13,3294 🦠,1F9A0,animals-nature,animal-bug,microbe,"amoeba, bacteria, virus","corona, virus, COVID-19",Benedikt Groß,2020-07-07,,,,,11,3295 💐,1F490,animals-nature,plant-flower,bouquet,flower,"present, flower, tulip, bouquet",Liz Bravo,2021-05-04,,,,,0.6,3296 -🌸,1F338,animals-nature,plant-flower,cherry blossom,"blossom, cherry, flower","pink,",Hilda Kalyoncu,2018-04-18,,,,,0.6,3297 +🌸,1F338,animals-nature,plant-flower,cherry blossom,"blossom, cherry, flower",pink,Hilda Kalyoncu,2018-04-18,,,,,0.6,3297 💮,1F4AE,animals-nature,plant-flower,white flower,flower,,Ricarda Krejci,2019-05-07,,,,,0.6,3298 +🪷,1FAB7,animals-nature,plant-flower,lotus,"buddhism, flower, hinduism, india, purity, vietnam",,Max Isele,2022-05-09,,,,,14,3299 🏵️,1F3F5,animals-nature,plant-flower,rosette,plant,,Ricarda Krejci,2019-05-07,,,,,0.7,3301 🌹,1F339,animals-nature,plant-flower,rose,flower,"rose, red, nature, present, valentines day",Hilda Kalyoncu,2018-04-18,,,,,0.6,3302 -🥀,1F940,animals-nature,plant-flower,wilted flower,"flower, wilted","rose, wilted, flower, red, sad, plant",Hilda Kalyoncu,2018-04-18,,,,,3,3303 +🥀,1F940,animals-nature,plant-flower,wilted flower,"flower, wilted","rose, red, sad, plant",Hilda Kalyoncu,2018-04-18,,,,,3,3303 🌺,1F33A,animals-nature,plant-flower,hibiscus,flower,pink,Hilda Kalyoncu,2018-04-18,,,,,0.6,3304 🌻,1F33B,animals-nature,plant-flower,sunflower,"flower, sun","sun, flower, yellow, summer",Hilda Kalyoncu,2018-04-18,,,,,0.6,3305 🌼,1F33C,animals-nature,plant-flower,blossom,flower,"yellow, nature",Hilda Kalyoncu,2018-04-18,,,,,0.6,3306 🌷,1F337,animals-nature,plant-flower,tulip,flower,"pink, eastern",Hilda Kalyoncu,2018-04-18,,,,,0.6,3307 -🌱,1F331,animals-nature,plant-other,seedling,young,"farming, growing, green",Hilda Kalyoncu,2018-04-18,,,,,0.6,3308 +🌱,1F331,animals-nature,plant-other,seedling,young,"farming, growing, green, leaf, leaves, plant",Hilda Kalyoncu,2018-04-18,,,,,0.6,3308 🪴,1FAB4,animals-nature,plant-other,potted plant,"boring, grow, house, nurturing, plant, useless",,Liz Bravo,2020-03-26,,,,,13,3309 -🌲,1F332,animals-nature,plant-other,evergreen tree,tree,"green, tree, fir, plant",Hilda Kalyoncu,2018-04-18,,,,,1,3310 -🌳,1F333,animals-nature,plant-other,deciduous tree,"deciduous, shedding, tree","green, tree, huge, plant",Hilda Kalyoncu,2018-04-18,,,,,1,3311 -🌴,1F334,animals-nature,plant-other,palm tree,"palm, tree","sea, vacation, beach, relax, plant",Hilda Kalyoncu,2018-04-18,,,,,0.6,3312 +🌲,1F332,animals-nature,plant-other,evergreen tree,tree,"green, fir, plant",Hilda Kalyoncu,2018-04-18,,,,,1,3310 +🌳,1F333,animals-nature,plant-other,deciduous tree,"deciduous, shedding, tree","green, plant",Hilda Kalyoncu,2018-04-18,,,,,1,3311 +🌴,1F334,animals-nature,plant-other,palm tree,"palm, tree","sea, vacation, beach, relax",Hilda Kalyoncu,2018-04-18,,,,,0.6,3312 🌵,1F335,animals-nature,plant-other,cactus,plant,"desert, sun, warm, hot, texas, plant",Liz Bravo,2020-12-22,,,,,0.6,3313 🌾,1F33E,animals-nature,plant-other,sheaf of rice,"ear, grain, rice",,Hend Hourani,2018-11-16,,,,,0.6,3314 -🌿,1F33F,animals-nature,plant-other,herb,leaf,green,Hilda Kalyoncu,2018-04-18,,,,,0.6,3315 -☘️,2618,animals-nature,plant-other,shamrock,plant,"green, plant",Hilda Kalyoncu,2018-04-18,,,,,1,3317 -🍀,1F340,animals-nature,plant-other,four leaf clover,"4, clover, four, four-leaf clover, leaf","luck, four, leaf, green, plant",Hilda Kalyoncu,2018-04-18,,,,,0.6,3318 -🍁,1F341,animals-nature,plant-other,maple leaf,"falling, leaf, maple","autumn, colorful",Hilda Kalyoncu,2018-04-18,,,,,0.6,3319 +🌿,1F33F,animals-nature,plant-other,herb,leaf,"green, leaves, plant",Hilda Kalyoncu,2018-04-18,,,,,0.6,3315 +☘️,2618,animals-nature,plant-other,shamrock,plant,"green, leaf, leaves",Hilda Kalyoncu,2018-04-18,,,,,1,3317 +🍀,1F340,animals-nature,plant-other,four leaf clover,"4, clover, four, four-leaf clover, leaf","luck, leaves, green, plant",Hilda Kalyoncu,2018-04-18,,,,,0.6,3318 +🍁,1F341,animals-nature,plant-other,maple leaf,"falling, leaf, maple","autumn, fall, orange",Hilda Kalyoncu,2018-04-18,,,,,0.6,3319 🍂,1F342,animals-nature,plant-other,fallen leaf,"falling, leaf",,Ricarda Krejci,2019-05-07,,,,,0.6,3320 🍃,1F343,animals-nature,plant-other,leaf fluttering in wind,"blow, flutter, leaf, wind",,Ricarda Krejci,2019-05-07,,,,,0.6,3321 +🪹,1FAB9,animals-nature,plant-other,empty nest,nesting,,Alena Peichl,2022-05-09,,,,,14,3322 +🪺,1FABA,animals-nature,plant-other,nest with eggs,nesting,,Alena Peichl,2022-05-09,,,,,14,3323 🍇,1F347,food-drink,food-fruit,grapes,"fruit, grape",,Hend Hourani,2018-11-16,,,,,0.6,3324 🍈,1F348,food-drink,food-fruit,melon,fruit,,Hend Hourani,2018-11-16,,,,,0.6,3325 🍉,1F349,food-drink,food-fruit,watermelon,fruit,"melon, red",Marius Schnabel,2018-04-18,,,,,0.6,3326 @@ -2412,6 +2484,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🧅,1F9C5,food-drink,food-vegetable,onion,flavoring,,Yasmin Abdullahi,2019-05-07,,,,,12,3355 🍄,1F344,food-drink,food-vegetable,mushroom,toadstool,mushroom,Marius Schnabel,2018-04-18,,,,,0.6,3356 🥜,1F95C,food-drink,food-vegetable,peanuts,"food, nut, peanut, vegetable",,Marius Schnabel,2018-04-18,,,,,3,3357 +🫘,1FAD8,food-drink,food-vegetable,beans,"food, kidney, legume",,Jana Junk,2022-05-09,,,,,14,3358 🌰,1F330,food-drink,food-vegetable,chestnut,plant,,Hend Hourani,2018-11-16,,,,,0.6,3359 🍞,1F35E,food-drink,food-prepared,bread,loaf,,Miriam Vollmeier,2018-04-18,,,,,0.6,3360 🥐,1F950,food-drink,food-prepared,croissant,"bread, breakfast, food, french, roll",,Miriam Vollmeier,2018-04-18,,,,,3,3361 @@ -2436,7 +2509,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🫔,1FAD4,food-drink,food-prepared,tamale,"mexican, wrapped",,Liz Bravo,2020-03-03,,,,,13,3380 🥙,1F959,food-drink,food-prepared,stuffed flatbread,"falafel, flatbread, food, gyro, kebab, stuffed",,Ricarda Krejci,2019-05-07,,,,,3,3381 🧆,1F9C6,food-drink,food-prepared,falafel,"chickpea, meatball","hummus, pita",Corvin Kraasch,2020-03-06,,,,,12,3382 -🥚,1F95A,food-drink,food-prepared,egg,"breakfast, food",,Miriam Vollmeier,2018-04-18,,,,,3,3383 +🥚,1F95A,food-drink,food-prepared,egg,"breakfast, food",,Niklas Kuntz,2022-07-01,,,,,3,3383 🍳,1F373,food-drink,food-prepared,cooking,"breakfast, egg, frying, pan",,Miriam Vollmeier,2018-04-18,,,,,0.6,3384 🥘,1F958,food-drink,food-prepared,shallow pan of food,"casserole, food, paella, pan, shallow",,Ricarda Krejci,2019-05-07,,,,,3,3385 🍲,1F372,food-drink,food-prepared,pot of food,"pot, stew",,Miriam Vollmeier,2018-04-18,,,,,0.6,3386 @@ -2466,7 +2539,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🥡,1F961,food-drink,food-asian,takeout box,oyster pail,,Daniel Quiros,2018-11-16,,,,,5,3410 🦀,1F980,food-drink,food-marine,crab,"cancer, zodiac","cancer, zodiac",Liz Bravo,2021-04-28,,,,,1,3411 🦞,1F99E,food-drink,food-marine,lobster,"bisque, claws, seafood",,Ricarda Krejci,2019-05-07,,,,,11,3412 -🦐,1F990,food-drink,food-marine,shrimp,"food, shellfish, small","swim, animal, water, food",Selina Bauder,2018-04-18,,,,,3,3413 +🦐,1F990,food-drink,food-marine,shrimp,"food, shellfish, small","swim, animal, water, food",Robert Winslow,2022-03-29,,,,,3,3413 🦑,1F991,food-drink,food-marine,squid,"food, molusc","swim, animal, water",Selina Bauder,2018-04-18,,,,,3,3414 🦪,1F9AA,food-drink,food-marine,oyster,"diving, pearl",shell,Liz Bravo,2021-04-28,,,,,12,3415 🍦,1F366,food-drink,food-sweet,soft ice cream,"cream, dessert, ice, icecream, soft, sweet",,Miriam Vollmeier,2018-04-18,,,,,0.6,3416 @@ -2495,8 +2568,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🍹,1F379,food-drink,drink,tropical drink,"bar, drink, tropical","cocktail, glass, drink, party, summer, party",Laura Humpfer,2018-04-18,,,,,0.6,3439 🍺,1F37A,food-drink,drink,beer mug,"bar, beer, drink, mug","beer, german, alcohol, bavaria, party",Laura Humpfer,2018-04-18,,,,,0.6,3440 🍻,1F37B,food-drink,drink,clinking beer mugs,"bar, beer, clink, drink, mug","beer, german, party, alcohol, bavaria, party",Laura Humpfer,2018-04-18,,,,,0.6,3441 -🥂,1F942,food-drink,drink,clinking glasses,"celebrate, clink, drink, glass","party, secco,",Laura Humpfer,2018-04-18,,,,,3,3442 +🥂,1F942,food-drink,drink,clinking glasses,"celebrate, clink, drink, glass","party, secco",Laura Humpfer,2018-04-18,,,,,3,3442 🥃,1F943,food-drink,drink,tumbler glass,"glass, liquor, shot, tumbler, whisky","alcohol, classic",Laura Humpfer,2018-04-18,,,,,3,3443 +🫗,1FAD7,food-drink,drink,pouring liquid,"drink, empty, glass, spill",,Klara Schöninger,2022-05-09,,,,,14,3444 🥤,1F964,food-drink,drink,cup with straw,"juice, soda","beverage, fastfood",Laura Humpfer,2018-04-18,,,,,5,3445 🧋,1F9CB,food-drink,drink,bubble tea,"bubble, milk, pearl, tea",,Liz Bravo,2020-07-21,,,,,13,3446 🧃,1F9C3,food-drink,drink,beverage box,"beverage, box, juice, straw, sweet",,Evelyn Soos,2019-05-04,,,,,12,3447 @@ -2544,7 +2618,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🏨,1F3E8,travel-places,place-building,hotel,building,"sleep, travel, business, holiday, vacation",Martin Wehl,2018-04-18,,,,,0.6,3503 🏩,1F3E9,travel-places,place-building,love hotel,"hotel, love","building, sex, affair",Martin Wehl,2018-04-18,,,,,0.6,3504 🏪,1F3EA,travel-places,place-building,convenience store,"convenience, store","building, shopping, buying, 24",Martin Wehl,2018-04-18,,,,,0.6,3505 -🏫,1F3EB,travel-places,place-building,school,building,"learning, public, teaching, education",Martin Wehl,2018-04-18,,,,,0.6,3506 +🏫,1F3EB,travel-places,place-building,school,building,"learning, public, teaching, education",Niklas Kuntz,2022-07-01,,,,,0.6,3506 🏬,1F3EC,travel-places,place-building,department store,"department, store","building, shopping, buying",Martin Wehl,2018-04-18,,,,,0.6,3507 🏭️,1F3ED,travel-places,place-building,factory,building,"firm, workplace, business",Martin Wehl,2018-04-18,,,,,0.6,3508 🏯,1F3EF,travel-places,place-building,Japanese castle,"castle, japanese","building, culture, historical, war",Martin Wehl,2018-04-18,,,,,0.6,3509 @@ -2570,11 +2644,12 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🌉,1F309,travel-places,place-other,bridge at night,"bridge, night",,Jonas Dunkel,2019-05-07,,,,,0.6,3531 ♨️,2668,travel-places,place-other,hot springs,"hot, hotsprings, springs, steaming",,Louisa Mantsch,2018-11-16,,,,,0.6,3533 🎠,1F3A0,travel-places,place-other,carousel horse,"carousel, horse",,Louisa Mantsch,2018-11-16,,,,,0.6,3534 +🛝,1F6DD,travel-places,place-other,playground slide,"amusement park, play",,Niklas Kuntz,2022-05-09,,,,,14,3535 🎡,1F3A1,travel-places,place-other,ferris wheel,"amusement park, ferris, wheel",,Louisa Mantsch,2018-11-16,,,,,0.6,3536 🎢,1F3A2,travel-places,place-other,roller coaster,"amusement park, coaster, roller",,Louisa Mantsch,2018-11-16,,,,,0.6,3537 💈,1F488,travel-places,place-other,barber pole,"barber, haircut, pole","beauty, hairdresser",Martin Wehl,2018-04-18,,,,,0.6,3538 🎪,1F3AA,travel-places,place-other,circus tent,"circus, tent","fun, leisure, entertainment, red, white",Martin Wehl,2018-04-18,,,,,0.6,3539 -🚂,1F682,travel-places,transport-ground,locomotive,"engine, railway, steam, train","Train, Locomotive, travel, drive",Ronja Bäurlen,2018-04-18,,,,,1,3540 +🚂,1F682,travel-places,transport-ground,locomotive,"engine, railway, steam, train","train, locomotive, travel, drive",Ronja Bäurlen,2018-04-18,,,,,1,3540 🚃,1F683,travel-places,transport-ground,railway car,"car, electric, railway, train, tram, trolleybus","train, locomotive, railway car, travel",Liz Bravo,2020-12-22,,,,,0.6,3541 🚄,1F684,travel-places,transport-ground,high-speed train,"railway, shinkansen, speed, train",,Jonas Dunkel,2019-05-07,,,,,0.6,3542 🚅,1F685,travel-places,transport-ground,bullet train,"bullet, railway, shinkansen, speed, train","train, locomotive, railway car, travel, transportation",Ronja Bäurlen,2018-04-18,,,,,0.6,3543 @@ -2586,10 +2661,10 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🚝,1F69D,travel-places,transport-ground,monorail,vehicle,"train, locomotive, monorail, travel, transportation",Ronja Bäurlen,2018-04-18,,,,,1,3549 🚞,1F69E,travel-places,transport-ground,mountain railway,"car, mountain, railway",,Nadja Grün,2018-11-16,,,,,1,3550 🚋,1F68B,travel-places,transport-ground,tram car,"car, tram, trolleybus",,Nadja Grün,2018-11-16,,,,,1,3551 -🚌,1F68C,travel-places,transport-ground,bus,vehicle,"Bus, travel, transportation",Ronja Bäurlen,2018-04-18,,,,,0.6,3552 +🚌,1F68C,travel-places,transport-ground,bus,vehicle,"bus, travel, transportation",Ronja Bäurlen,2018-04-18,,,,,0.6,3552 🚍️,1F68D,travel-places,transport-ground,oncoming bus,"bus, oncoming",,Nadja Grün,2018-11-16,,,,,0.7,3553 🚎,1F68E,travel-places,transport-ground,trolleybus,"bus, tram, trolley",,Nadja Grün,2018-11-16,,,,,1,3554 -🚐,1F690,travel-places,transport-ground,minibus,bus,"Bus, travel, transportation, car",Ronja Bäurlen,2018-04-18,,,,,1,3555 +🚐,1F690,travel-places,transport-ground,minibus,bus,"bus, travel, transportation, car",Ronja Bäurlen,2018-04-18,,,,,1,3555 🚑️,1F691,travel-places,transport-ground,ambulance,vehicle,"travel, hospital, ambulance, alarm, doctor, help",Ronja Bäurlen,2018-04-18,,,,,0.6,3556 🚒,1F692,travel-places,transport-ground,fire engine,"engine, fire, truck","travel, fire, fire engine, red, alarm",Ronja Bäurlen,2018-04-18,,,,,0.6,3557 🚓,1F693,travel-places,transport-ground,police car,"car, patrol, police","travel, car, police, patrol",Ronja Bäurlen,2018-04-18,,,,,0.6,3558 @@ -2605,7 +2680,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🚜,1F69C,travel-places,transport-ground,tractor,vehicle,"tractor, towing, vehicle, farm, farming, field, acre",Ronja Bäurlen,2018-04-18,,,,,1,3568 🏎️,1F3CE,travel-places,transport-ground,racing car,"car, racing","sports, motor",Johanna Wellnitz,2018-04-18,,,,,0.7,3570 🏍️,1F3CD,travel-places,transport-ground,motorcycle,racing,"motorsports, vehicle",Johanna Wellnitz,2018-04-18,,,,,0.7,3572 -🛵,1F6F5,travel-places,transport-ground,motor scooter,"motor, scooter","motor, scooter, transportation, bicycle,",Ronja Bäurlen,2018-04-18,,,,,3,3573 +🛵,1F6F5,travel-places,transport-ground,motor scooter,"motor, scooter","motor, scooter, transportation, bicycle",Ronja Bäurlen,2018-04-18,,,,,3,3573 🦽,1F9BD,travel-places,transport-ground,manual wheelchair,accessibility,,Evelyn Soos,2019-05-04,,,,,12,3574 🦼,1F9BC,travel-places,transport-ground,motorized wheelchair,accessibility,,Evelyn Soos,2019-05-04,,,,,12,3575 🛺,1F6FA,travel-places,transport-ground,auto rickshaw,tuk tuk,,Evelyn Soos,2019-05-04,,,,,12,3576 @@ -2618,12 +2693,14 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🛤️,1F6E4,travel-places,transport-ground,railway track,"railway, train",,Nadja Grün,2018-11-16,,,,,0.7,3585 🛢️,1F6E2,travel-places,transport-ground,oil drum,"drum, oil",,Nadja Grün,2018-11-16,,,,,0.7,3587 ⛽️,26FD,travel-places,transport-ground,fuel pump,"diesel, fuel, fuelpump, gas, pump, station","fuel, gas, station, transportation",Ronja Bäurlen,2018-04-18,,,,,0.6,3588 +🛞,1F6DE,travel-places,transport-ground,wheel,"circle, tire, turn",,Niklas Kuntz,2022-05-09,,,,,14,3589 🚨,1F6A8,travel-places,transport-ground,police car light,"beacon, car, light, police, revolving",,Nadja Grün,2018-11-16,,,,,0.6,3590 🚥,1F6A5,travel-places,transport-ground,horizontal traffic light,"light, signal, traffic","light, red, green, yellow, traffic, traffic light",Ronja Bäurlen,2018-04-18,,,,,0.6,3591 🚦,1F6A6,travel-places,transport-ground,vertical traffic light,"light, signal, traffic","light, red, green, yellow, vertical, traffic, light",Ronja Bäurlen,2018-04-18,,,,,1,3592 🛑,1F6D1,travel-places,transport-ground,stop sign,"octagonal, sign, stop","stop, sign, signal, warning",Ronja Bäurlen,2018-04-18,,,,,3,3593 🚧,1F6A7,travel-places,transport-ground,construction,barrier,"barrier, warning, stop, attention, traffic",Carlin MacKenzie,2020-09-13,,,,,0.6,3594 ⚓️,2693,travel-places,transport-water,anchor,"ship, tool","boat, ship, travel, sea, atlantic, ocean, water, tool, anchor, metal",Ronja Bäurlen,2018-04-18,,,,,0.6,3595 +🛟,1F6DF,travel-places,transport-water,ring buoy,"float, life preserver, life saver, rescue, safety",,Liz Bravo,2022-02-10,,,,,14,3596 ⛵️,26F5,travel-places,transport-water,sailboat,"boat, resort, sea, yacht","boat, passengers, ship, travel, sea, atlantic, ocean, water, yacht, resort, sail, sailboat",Ronja Bäurlen,2018-04-18,,,,,0.6,3597 🛶,1F6F6,travel-places,transport-water,canoe,boat,,Jonas Dunkel,2019-05-07,,,,,3,3598 🚤,1F6A4,travel-places,transport-water,speedboat,boat,"boat, passengers, ship, travel, sea, atlantic, ocean, water, speed",Ronja Bäurlen,2018-04-18,,,,,0.6,3599 @@ -2636,7 +2713,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🛫,1F6EB,travel-places,transport-air,airplane departure,"aeroplane, airplane, check-in, departure, departures","fly, airplane, aeroplane, air, sky, travel, departure",Ronja Bäurlen,2018-04-18,,,,,1,3611 🛬,1F6EC,travel-places,transport-air,airplane arrival,"aeroplane, airplane, arrivals, arriving, landing","fly, airplane, aeroplane, air, sky, travel, arrive",Ronja Bäurlen,2018-04-18,,,,,1,3612 🪂,1FA82,travel-places,transport-air,parachute,"hang-glide, parasail, skydive",,Evelyn Soos,2019-05-04,,,,,12,3613 -💺,1F4BA,travel-places,transport-air,seat,chair,"seat, chair, lounge, Airplane, sitting, comfort",Ronja Bäurlen,2018-04-18,,,,,0.6,3614 +💺,1F4BA,travel-places,transport-air,seat,chair,"seat, chair, lounge, airplane, sitting, comfort",Ronja Bäurlen,2018-04-18,,,,,0.6,3614 🚁,1F681,travel-places,transport-air,helicopter,vehicle,"helicopter, air, transportation, sky, fly, flying",Ronja Bäurlen,2018-04-18,,,,,1,3615 🚟,1F69F,travel-places,transport-air,suspension railway,"railway, suspension",,Lois Proksch,2018-11-16,,,,,1,3616 🚠,1F6A0,travel-places,transport-air,mountain cableway,"cable, gondola, mountain","travel, mountain, high",Ronja Bäurlen,2018-04-18,,,,,1,3617 @@ -2648,7 +2725,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🧳,1F9F3,travel-places,hotel,luggage,"packing, travel",,Jonas Dunkel,2019-05-07,,,,,11,3625 ⌛️,231B,travel-places,time,hourglass done,"sand, timer","countdown, hourglass",Rana Cakir,2018-04-18,,,,,0.6,3626 ⏳️,23F3,travel-places,time,hourglass not done,"hourglass, sand, timer",,Rana Cakir,2018-04-18,,,,,0.6,3627 -⌚️,231A,travel-places,time,watch,clock,"watch, time,",Rana Cakir,2018-04-18,,,,,0.6,3628 +⌚️,231A,travel-places,time,watch,clock,"watch, time",Rana Cakir,2018-04-18,,,,,0.6,3628 ⏰,23F0,travel-places,time,alarm clock,"alarm, clock",,Rana Cakir,2018-04-18,,,,,0.6,3629 ⏱️,23F1,travel-places,time,stopwatch,clock,,Rana Cakir,2018-04-18,,,,,1,3631 ⏲️,23F2,travel-places,time,timer clock,"clock, timer",time,Rana Cakir,2018-04-18,,,,,1,3633 @@ -2745,12 +2822,12 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🎗️,1F397,activities,event,reminder ribbon,"celebration, reminder, ribbon",,Laura Humpfer,2018-04-18,,,,,0.7,3744 🎟️,1F39F,activities,event,admission tickets,"admission, ticket",,Laura Humpfer,2018-04-18,,,,,0.7,3746 🎫,1F3AB,activities,event,ticket,admission,,Laura Humpfer,2018-04-18,,,,,0.6,3747 -🎖️,1F396,activities,award-medal,military medal,"celebration, medal, military","Medal, Medallion, Military, Ribbon",Julian Grüneberg,2018-04-18,,,,,0.7,3749 -🏆️,1F3C6,activities,award-medal,trophy,prize,"Trophy, Championship, Winner, Gold Cup, award",Julian Grüneberg,2018-04-18,,,,,0.6,3750 -🏅,1F3C5,activities,award-medal,sports medal,medal,"Sports, Medal, Sporting",Julian Grüneberg,2018-04-18,,,,,1,3751 -🥇,1F947,activities,award-medal,1st place medal,"first, gold, medal","Gold Medal, Gold, Medal, 1st Place Medal, First Place Medal",Julian Grüneberg,2018-04-18,,,,,3,3752 -🥈,1F948,activities,award-medal,2nd place medal,"medal, second, silver","Silver, Medal, Silver Medal, Second Place, Second Place Medal, 2nd Place Medal",Julian Grüneberg,2018-04-18,,,,,3,3753 -🥉,1F949,activities,award-medal,3rd place medal,"bronze, medal, third","Bronze, Medal, Bronze Medal, Third Place, Third Place Medal, 3rd Place Medal",Julian Grüneberg,2018-04-18,,,,,3,3754 +🎖️,1F396,activities,award-medal,military medal,"celebration, medal, military","medal, medallion, military, ribbon",Julian Grüneberg,2018-04-18,,,,,0.7,3749 +🏆️,1F3C6,activities,award-medal,trophy,prize,"trophy, championship, winner, gold cup, award",Julian Grüneberg,2018-04-18,,,,,0.6,3750 +🏅,1F3C5,activities,award-medal,sports medal,medal,"sports, medal, sporting",Julian Grüneberg,2018-04-18,,,,,1,3751 +🥇,1F947,activities,award-medal,1st place medal,"first, gold, medal","gold medal, gold, medal, 1st place medal, first place medal",Julian Grüneberg,2018-04-18,,,,,3,3752 +🥈,1F948,activities,award-medal,2nd place medal,"medal, second, silver","silver, medal, silver medal, second place, second place medal, 2nd place medal",Julian Grüneberg,2018-04-18,,,,,3,3753 +🥉,1F949,activities,award-medal,3rd place medal,"bronze, medal, third","bronze, medal, bronze medal, third place, third place medal, 3rd place medal",Julian Grüneberg,2018-04-18,,,,,3,3754 ⚽️,26BD,activities,sport,soccer ball,"ball, football, soccer","soccer, ball, football, game, ball game, team sports",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3755 ⚾️,26BE,activities,sport,baseball,ball,"baseball, white, ball, american, game, ball game, team sports",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3756 🥎,1F94E,activities,sport,softball,"ball, glove, underarm",,Jonas Dunkel,2019-05-07,,,,,11,3757 @@ -2775,16 +2852,17 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🎣,1F3A3,activities,sport,fishing pole,"fish, pole","fishing rod, fishing pole, line, fish, caught, hobby",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3777 🤿,1F93F,activities,sport,diving mask,"diving, scuba, snorkeling",,Evelyn Soos,2019-05-04,,,,,12,3778 🎽,1F3BD,activities,sport,running shirt,"athletics, running, sash, shirt",,Sarah Mager,2018-11-16,,,,,0.6,3779 -🎿,1F3BF,activities,sport,skis,"ski, snow","skis, Skiing, Ski Boot, to ski, winter, snow, hobby, sport",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3780 +🎿,1F3BF,activities,sport,skis,"ski, snow","skis, skiing, ski boot, to ski, winter, snow, hobby, sport",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3780 🛷,1F6F7,activities,sport,sled,"sledge, sleigh",,Nicole Kornhaas,2019-05-06,,,,,5,3781 🥌,1F94C,activities,sport,curling stone,"game, rock",,Daniel Quiros,2018-11-16,,,,,5,3782 🎯,1F3AF,activities,game,bullseye,"dart, direct hit, game, hit, target","direct, hit, dart board, archery, bullseye, target, darts, game",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3783 🪀,1FA80,activities,game,yo-yo,"fluctuate, toy",,Evelyn Soos,2019-05-04,,,,,12,3784 🪁,1FA81,activities,game,kite,"fly, soar",,Evelyn Soos,2019-05-04,,,,,12,3785 -🎱,1F3B1,activities,game,pool 8 ball,"8, ball, billiard, eight, game","pool ball, 8 Ball, black ball, cue ball, magic 8 ball, pool, snooker, billiards, game",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3786 +🎱,1F3B1,activities,game,pool 8 ball,"8, ball, billiard, eight, game","pool ball, 8 ball, black ball, cue ball, magic 8 ball, pool, snooker, billiards, game",Vanessa Boutzikoudi,2018-04-18,,,,,0.6,3786 🔮,1F52E,activities,game,crystal ball,"ball, crystal, fairy tale, fantasy, fortune, tool",mystery,Marius Schnabel,2018-04-18,,,,,0.6,3787 🪄,1FA84,activities,game,magic wand,"magic, witch, wizard",,Liz Bravo,2020-03-11,,,,,13,3788 🧿,1F9FF,activities,game,nazar amulet,"bead, charm, evil-eye, nazar, talisman",,Nicole Kornhaas,2019-05-06,,,,,11,3789 +🪬,1FAAC,activities,game,hamsa,"amulet, fatima, hand, mary, miriam, protection",,Pia Stockhaus,2022-05-09,,,,,14,3790 🎮️,1F3AE,activities,game,video game,"controller, game",gamble,Lisa Schulz,2018-04-18,,,,,0.6,3791 🕹️,1F579,activities,game,joystick,"game, video game",,Lisa Schulz,2018-04-18,,,,,0.7,3793 🎰,1F3B0,activities,game,slot machine,"game, slot",,Nicole Kornhaas,2019-05-06,,,,,0.6,3794 @@ -2792,6 +2870,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🧩,1F9E9,activities,game,puzzle piece,"clue, interlocking, jigsaw, piece, puzzle",,Nicole Kornhaas,2019-05-06,,,,,11,3796 🧸,1F9F8,activities,game,teddy bear,"plaything, plush, stuffed, toy",,Liz Bravo,2020-12-22,,,,,11,3797 🪅,1FA85,activities,game,piñata,"celebration, party",,Liz Bravo,2020-03-03,,,,,13,3798 +🪩,1FAA9,activities,game,mirror ball,"dance, disco, glitter, party",,Liz Bravo,2022-02-10,,,,,14,3799 🪆,1FA86,activities,game,nesting dolls,"doll, nesting, russia",,Liz Bravo,2020-03-11,,,,,13,3800 ♠️,2660,activities,game,spade suit,"card, game",,Nicole Kornhaas,2019-05-06,,,,,0.6,3802 ♥️,2665,activities,game,heart suit,"card, game",,Nicole Kornhaas,2019-05-06,,,,,0.6,3804 @@ -2826,13 +2905,13 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🩱,1FA71,objects,clothing,one-piece swimsuit,bathing suit,,Sam Eckert,2019-05-06,,,,,12,3838 🩲,1FA72,objects,clothing,briefs,"bathing suit, one-piece, swimsuit, underwear",,Sam Eckert,2019-05-06,,,,,12,3839 🩳,1FA73,objects,clothing,shorts,"bathing suit, pants, underwear",,Sam Eckert,2019-05-06,,,,,12,3840 -👙,1F459,objects,clothing,bikini,"clothing, swim","summer,",Jonas Roßner,2018-04-18,,,,,0.6,3841 +👙,1F459,objects,clothing,bikini,"clothing, swim",summer,Jonas Roßner,2018-04-18,,,,,0.6,3841 👚,1F45A,objects,clothing,woman’s clothes,"clothing, woman",,Jonas Roßner,2018-04-18,,,,,0.6,3842 -👛,1F45B,objects,clothing,purse,"clothing, coin","money,",Jonas Roßner,2018-04-18,,,,,0.6,3843 +👛,1F45B,objects,clothing,purse,"clothing, coin",money,Jonas Roßner,2018-04-18,,,,,0.6,3843 👜,1F45C,objects,clothing,handbag,"bag, clothing, purse",,Jonas Roßner,2018-04-18,,,,,0.6,3844 👝,1F45D,objects,clothing,clutch bag,"bag, clothing, pouch",,Jonas Roßner,2018-04-18,,,,,0.6,3845 -🛍️,1F6CD,objects,clothing,shopping bags,"bag, hotel, shopping","buy,",Jonas Roßner,2018-04-18,,,,,0.7,3847 -🎒,1F392,objects,clothing,backpack,"bag, rucksack, satchel, school","young,",Jonas Roßner,2018-04-18,,,,,0.6,3848 +🛍️,1F6CD,objects,clothing,shopping bags,"bag, hotel, shopping",buy,Jonas Roßner,2018-04-18,,,,,0.7,3847 +🎒,1F392,objects,clothing,backpack,"bag, rucksack, satchel, school",young,Jonas Roßner,2018-04-18,,,,,0.6,3848 🩴,1FA74,objects,clothing,thong sandal,"beach sandals, sandals, thong sandals, thongs, zōri",,Liz Bravo,2020-03-11,,,,,13,3849 👞,1F45E,objects,clothing,man’s shoe,"clothing, man, shoe",,Jonas Roßner,2018-04-18,,,,,0.6,3850 👟,1F45F,objects,clothing,running shoe,"athletic, clothing, shoe, sneaker",,Jonas Roßner,2018-04-18,,,,,0.6,3851 @@ -2842,17 +2921,17 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 👡,1F461,objects,clothing,woman’s sandal,"clothing, sandal, shoe, woman",,Jonas Roßner,2018-04-18,,,,,0.6,3855 🩰,1FA70,objects,clothing,ballet shoes,"ballet, dance",,Sam Eckert,2019-05-06,,,,,12,3856 👢,1F462,objects,clothing,woman’s boot,"boot, clothing, shoe, woman",,Jonas Roßner,2018-04-18,,,,,0.6,3857 -👑,1F451,objects,clothing,crown,"clothing, king, queen","crone, gold,",Jonas Roßner,2018-04-18,,,,,0.6,3858 -👒,1F452,objects,clothing,woman’s hat,"clothing, hat, woman","beautiful,",Jonas Roßner,2018-04-18,,,,,0.6,3859 -🎩,1F3A9,objects,clothing,top hat,"clothing, hat, top, tophat","magic,",Jonas Roßner,2018-04-18,,,,,0.6,3860 +👑,1F451,objects,clothing,crown,"clothing, king, queen","crone, gold",Jonas Roßner,2018-04-18,,,,,0.6,3858 +👒,1F452,objects,clothing,woman’s hat,"clothing, hat, woman",beautiful,Niklas Kuntz,2022-07-01,,,,,0.6,3859 +🎩,1F3A9,objects,clothing,top hat,"clothing, hat, top, tophat",magic,Jonas Roßner,2018-04-18,,,,,0.6,3860 🎓️,1F393,objects,clothing,graduation cap,"cap, celebration, clothing, graduation, hat",,Jonas Roßner,2018-04-18,,,,,0.6,3861 -🧢,1F9E2,objects,clothing,billed cap,baseball cap,,Daniel Quiros,2018-11-16,,,,,5,3862 +🧢,1F9E2,objects,clothing,billed cap,baseball cap,,Jennifer Pätzold,2022-07-01,,,,,5,3862 🪖,1FA96,objects,clothing,military helmet,"army, helmet, military, soldier, warrior",,Liz Bravo,2020-09-26,,,,,13,3863 ⛑️,26D1,objects,clothing,rescue worker’s helmet,"aid, cross, face, hat, helmet",,Anne Frauendorf,2018-11-16,,,,,0.7,3865 📿,1F4FF,objects,clothing,prayer beads,"beads, clothing, necklace, prayer, religion","expensive, jewelry",Jonas Roßner,2018-04-18,,,,,1,3866 💄,1F484,objects,clothing,lipstick,"cosmetics, makeup",,Anne Frauendorf,2018-11-16,,,,,0.6,3867 💍,1F48D,objects,clothing,ring,diamond,"expensive, jewelry",Jonas Roßner,2018-04-18,,,,,0.6,3868 -💎,1F48E,objects,clothing,gem stone,"diamond, gem, jewel","expensive,",Jonas Roßner,2018-04-18,,,,,0.6,3869 +💎,1F48E,objects,clothing,gem stone,"diamond, gem, jewel",expensive,Jonas Roßner,2018-04-18,,,,,0.6,3869 🔇,1F507,objects,sound,muted speaker,"mute, quiet, silent, speaker",,Rana Cakir,2018-04-18,,,,,1,3870 🔈️,1F508,objects,sound,speaker low volume,soft,sound,Rana Cakir,2018-04-18,,,,,0.7,3871 🔉,1F509,objects,sound,speaker medium volume,medium,,Rana Cakir,2018-04-18,,,,,1,3872 @@ -2873,7 +2952,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 📻️,1F4FB,objects,music,radio,video,"radio, stereo radio, analog radio",Sina Schulz,2018-04-18,,,,,0.6,3890 🎷,1F3B7,objects,musical-instrument,saxophone,"instrument, music, sax","saxophone, sax, jazz, instrument",Sina Schulz,2018-04-18,,,,,0.6,3891 🪗,1FA97,objects,musical-instrument,accordion,"concertina, squeeze box",,Liz Bravo,2020-07-21,,,,,13,3892 -🎸,1F3B8,objects,musical-instrument,guitar,"instrument, music","guitar, e-guitar, instrumental, acoustic, chords,",Sina Schulz,2018-04-18,,,,,0.6,3893 +🎸,1F3B8,objects,musical-instrument,guitar,"instrument, music","guitar, e-guitar, instrumental, acoustic, chords",Sina Schulz,2018-04-18,,,,,0.6,3893 🎹,1F3B9,objects,musical-instrument,musical keyboard,"instrument, keyboard, music, piano","keyboard, piano keys, chords",Sina Schulz,2018-04-18,,,,,0.6,3894 🎺,1F3BA,objects,musical-instrument,trumpet,"instrument, music","trumpet, horns, music, woodwind instrument",Sina Schulz,2018-04-18,,,,,0.6,3895 🎻,1F3BB,objects,musical-instrument,violin,"instrument, music","string, violin, fiddle, bow",Sina Schulz,2018-04-18,,,,,0.6,3896 @@ -2887,6 +2966,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 📟️,1F4DF,objects,phone,pager,pager,,Nicole Kornhaas,2019-05-06,,,,,0.6,3905 📠,1F4E0,objects,phone,fax machine,fax,"office, paper, communication",Martin Wehl,2018-04-18,,,,,0.6,3906 🔋,1F50B,objects,computer,battery,battery,"electricity, energy, electric",Jonas Roßner,2018-04-18,,,,,0.6,3907 +🪫,1FAAB,objects,computer,low battery,"electronic, low energy",,Alena Peichl,2022-05-09,,,,,14,3908 🔌,1F50C,objects,computer,electric plug,"electric, electricity, plug",,Jonas Roßner,2018-04-18,,,,,0.6,3909 💻️,1F4BB,objects,computer,laptop,"computer, pc, personal","old, retro",Jonas Roßner,2018-04-18,,,,,0.6,3910 🖥️,1F5A5,objects,computer,desktop computer,"computer, desktop","electric, screen",Jonas Roßner,2018-04-18,,,,,0.7,3912 @@ -2896,7 +2976,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🖲️,1F5B2,objects,computer,trackball,computer,,Nicole Kornhaas,2019-05-06,,,,,0.7,3920 💽,1F4BD,objects,computer,computer disk,"computer, disk, minidisk, optical","old, retro",Jonas Roßner,2018-04-18,,,,,0.6,3921 💾,1F4BE,objects,computer,floppy disk,"computer, disk, floppy","old, retro",Jonas Roßner,2018-04-18,,,,,0.6,3922 -💿️,1F4BF,objects,computer,optical disk,"cd, computer, disk, optical","analog,",Jonas Roßner,2018-04-18,,,,,0.6,3923 +💿️,1F4BF,objects,computer,optical disk,"cd, computer, disk, optical",analog,Jonas Roßner,2018-04-18,,,,,0.6,3923 📀,1F4C0,objects,computer,dvd,"blu-ray, computer, disk, optical",film,Jonas Roßner,2018-04-18,,,,,0.6,3924 🧮,1F9EE,objects,computer,abacus,calculation,,Nicole Kornhaas,2019-05-06,,,,,11,3925 🎥,1F3A5,objects,light-video,movie camera,"camera, cinema, movie","film, record",Sina Schulz,2018-04-18,,,,,0.6,3926 @@ -2926,12 +3006,12 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 📒,1F4D2,objects,book-paper,ledger,notebook,"book, read, write",Jonas Roßner,2018-04-18,,,,,0.6,3953 📃,1F4C3,objects,book-paper,page with curl,"curl, document, page","rolled, page, text",Jonas Roßner,2018-04-18,,,,,0.6,3954 📜,1F4DC,objects,book-paper,scroll,paper,"old, papyrus, text",Jonas Roßner,2018-04-18,,,,,0.6,3955 -📄,1F4C4,objects,book-paper,page facing up,"document, page","write, text, paper",Jonas Roßner,2018-04-18,,,,,0.6,3956 +📄,1F4C4,objects,book-paper,page facing up,"document, page","write, text, paper, notes",Jonas Roßner,2018-04-18,,,,,0.6,3956 📰,1F4F0,objects,book-paper,newspaper,"news, paper","read, news, paper, text",Jonas Roßner,2018-04-18,,,,,0.6,3957 🗞️,1F5DE,objects,book-paper,rolled-up newspaper,"news, newspaper, paper, rolled",,Tonia Reinhardt,2019-05-07,,,,,0.7,3959 📑,1F4D1,objects,book-paper,bookmark tabs,"bookmark, mark, marker, tabs",,Abby Esquivel,2018-11-16,,,,,0.6,3960 -🔖,1F516,objects,book-paper,bookmark,mark,"remember,",Jonas Roßner,2018-04-18,,,,,0.6,3961 -🏷️,1F3F7,objects,book-paper,label,label,"stick,",Jonas Roßner,2018-04-18,,,,,0.7,3963 +🔖,1F516,objects,book-paper,bookmark,mark,remember,Jonas Roßner,2018-04-18,,,,,0.6,3961 +🏷️,1F3F7,objects,book-paper,label,label,stick,Jonas Roßner,2018-04-18,,,,,0.7,3963 💰️,1F4B0,objects,money,money bag,"bag, dollar, money, moneybag",,Marius Schnabel,2018-04-18,,,,,0.6,3964 🪙,1FA99,objects,money,coin,"gold, metal, money, silver, treasure",,Liz Bravo,2020-07-21,,,,,13,3965 💴,1F4B4,objects,money,yen banknote,"banknote, bill, currency, money, note, yen",,Marius Schnabel,2018-04-18,,,,,0.6,3966 @@ -2955,13 +3035,13 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 📭️,1F4ED,objects,mail,open mailbox with lowered flag,"lowered, mail, mailbox, open, postbox",,Marleen Heine,2018-11-16,,,,,0.7,3985 📮,1F4EE,objects,mail,postbox,"mail, mailbox",post,Marius Schnabel,2018-04-18,,,,,0.6,3986 🗳️,1F5F3,objects,mail,ballot box with ballot,"ballot, box",,Marleen Heine,2018-11-16,,,,,0.7,3988 -✏️,270F,objects,writing,pencil,pencil,,Rana Cakir,2018-04-18,,,,,0.6,3990 +✏️,270F,objects,writing,pencil,pencil,notes,Rana Cakir,2018-04-18,,,,,0.6,3990 ✒️,2712,objects,writing,black nib,"nib, pen",,Liz Bravo,2021-05-04,,,,,0.6,3992 🖋️,1F58B,objects,writing,fountain pen,"fountain, pen",,Rana Cakir,2018-04-18,,,,,0.7,3994 🖊️,1F58A,objects,writing,pen,ballpoint,,Rana Cakir,2018-04-18,,,,,0.7,3996 🖌️,1F58C,objects,writing,paintbrush,painting,"colors, pain, brush",Rana Cakir,2018-04-18,,,,,0.7,3998 🖍️,1F58D,objects,writing,crayon,crayon,"painting, colors",Rana Cakir,2018-04-18,,,,,0.7,4000 -📝,1F4DD,objects,writing,memo,pencil,"pencil, paper, notice",Rana Cakir,2018-04-18,,,,,0.6,4001 +📝,1F4DD,objects,writing,memo,pencil,"pencil, paper, notice, notes",Rana Cakir,2018-04-18,,,,,0.6,4001 💼,1F4BC,objects,office,briefcase,briefcase,"bag, briefcase, office bag, leather bag",Sina Schulz,2018-04-18,,,,,0.6,4002 📁,1F4C1,objects,office,file folder,"file, folder","file, folder, paper, organise, structure, office, box",Sina Schulz,2018-04-18,,,,,0.6,4003 📂,1F4C2,objects,office,open file folder,"file, folder, open","open file, folder, organise, structure, office, box",Sina Schulz,2018-04-18,,,,,0.6,4004 @@ -3019,15 +3099,17 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ⚗️,2697,objects,science,alembic,"chemistry, tool",,Marleen Heine,2018-11-16,,,,,1,4076 🧪,1F9EA,objects,science,test tube,"chemist, chemistry, experiment, lab, science",,Tonia Reinhardt,2019-05-07,,,,,11,4077 🧫,1F9EB,objects,science,petri dish,"bacteria, biologist, biology, culture, lab",,Tonia Reinhardt,2019-05-07,,,,,11,4078 -🧬,1F9EC,objects,science,dna,"biologist, evolution, gene, genetics, life",,Tonia Reinhardt,2019-05-07,,,,,11,4079 +🧬,1F9EC,objects,science,dna,"biologist, evolution, gene, genetics, life",,Alan Seng,2022-07-01,,,,,11,4079 🔬,1F52C,objects,science,microscope,"science, tool",,Marleen Heine,2018-11-16,,,,,1,4080 🔭,1F52D,objects,science,telescope,"science, tool","stars, sky, space",Sina Schulz,2018-04-18,,,,,1,4081 📡,1F4E1,objects,science,satellite antenna,"antenna, dish, satellite","signal, receive, radiation",Sina Schulz,2018-04-18,,,,,0.6,4082 -💉,1F489,objects,medical,syringe,"medicine, needle, shot, sick","health,needle, injection, IV, drug, medicine",Tonia Reinhardt,2010-01-31,,,,,0.6,4083 +💉,1F489,objects,medical,syringe,"medicine, needle, shot, sick","health, needle, injection, IV, drug, medicine",Tonia Reinhardt,2010-01-31,,,,,0.6,4083 🩸,1FA78,objects,medical,drop of blood,"bleed, blood donation, injury, medicine, menstruation",,Sam Eckert,2019-05-06,,,,,12,4084 💊,1F48A,objects,medical,pill,"doctor, medicine, sick",health,Marius Schnabel,2018-04-18,,,,,0.6,4085 🩹,1FA79,objects,medical,adhesive bandage,bandage,,Sam Eckert,2019-05-06,,,,,12,4086 +🩼,1FA7C,objects,medical,crutch,"cane, disability, hurt, mobility aid, stick",,Niklas Kuntz,2022-05-09,,,,,14,4087 🩺,1FA7A,objects,medical,stethoscope,"doctor, heart, medicine",,Sam Eckert,2019-05-06,,,,,12,4088 +🩻,1FA7B,objects,medical,x-ray,"bones, doctor, medical, skeleton",,Tim Loose,2022-05-09,,,,,14,4089 🚪,1F6AA,objects,household,door,door,,Lisa Schulz,2018-04-18,,,,,0.6,4090 🛗,1F6D7,objects,household,elevator,"accessibility, hoist, lift",,Liz Bravo,2020-09-26,,,,,13,4091 🪞,1FA9E,objects,household,mirror,"reflection, reflector, speculum",,Liz Bravo,2020-03-26,,,,,13,4092 @@ -3057,8 +3139,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ⚰️,26B0,objects,other-object,coffin,death,"funeral, dead",Marius Schnabel,2018-04-18,,,,,1,4119 🪦,1FAA6,objects,other-object,headstone,"cemetery, grave, graveyard, tombstone",,Liz Bravo,2020-03-22,,,,,13,4120 ⚱️,26B1,objects,other-object,funeral urn,"ashes, death, funeral, urn",,Marleen Heine,2018-11-16,,,,,1,4122 -🗿,1F5FF,objects,other-object,moai,"face, moyai, statue","stone, easter island",Liz Bravo,2020-12-22,,,,,0.6,4123 +🗿,1F5FF,objects,other-object,moai,"face, moyai, statue","moyai, shibuya, japan, meet, meeting point",Liz Bravo,2022-07-05,,,,,0.6,4123 🪧,1FAA7,objects,other-object,placard,"demonstration, picket, protest, sign",,Liz Bravo,2020-03-28,,,,,13,4124 +🪪,1FAAA,objects,other-object,identification card,"credentials, id, license, security",,Niklas Kuntz,2022-05-09,,,,,14,4125 🏧,1F3E7,symbols,transport-sign,ATM sign,"atm, atm sign, automated, bank, teller",,Liz Bravo,2021-05-04,,,,,0.6,4126 🚮,1F6AE,symbols,transport-sign,litter in bin sign,"litter, litter bin","trash, litter, bin, garbage, can, throw, away",Ronja Bäurlen,2018-04-18,,,,,1,4127 🚰,1F6B0,symbols,transport-sign,potable water,"drinking, potable, water","water, faucet, tap, glass",Guemil Project,2019-01-14,,,,,1,4128 @@ -3162,13 +3245,14 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ➕,2795,symbols,math,plus,"+, math, sign","math, plus, sign",Hilda Kalyoncu,2018-04-18,,,,,0.6,4265 ➖,2796,symbols,math,minus,"-, math, sign, −","math, minus, sign",Hilda Kalyoncu,2018-04-18,,,,,0.6,4266 ➗,2797,symbols,math,divide,"division, math, sign, ÷","math, division, sign",Hilda Kalyoncu,2018-04-18,,,,,0.6,4267 +🟰,1F7F0,symbols,math,heavy equals sign,"equality, math",,Aileen Gedrat,2022-05-09,,,,,14,4268 ♾️,267E,symbols,math,infinity,"forever, unbounded, universal",,Selina Lange,2019-05-06,,,,,11,4270 ‼️,203C,symbols,punctuation,double exclamation mark,"!, !!, bangbang, exclamation, mark",,Selina Lange,2019-05-06,,,,,0.6,4272 ⁉️,2049,symbols,punctuation,exclamation question mark,"!, !?, ?, exclamation, interrobang, mark, punctuation, question",,Selina Lange,2019-05-06,,,,,0.6,4274 -❓️,2753,symbols,punctuation,red question mark,"?, mark, punctuation, question","question, punctation",Selina Lange,2019-05-06,,,,,0.6,4275 -❔,2754,symbols,punctuation,white question mark,"?, mark, outlined, punctuation, question","punctation, mark, question, white",Selina Lange,2019-05-06,,,,,0.6,4276 -❕,2755,symbols,punctuation,white exclamation mark,"!, exclamation, mark, outlined, punctuation","exclamation, mark, punctation, white",Hilda Kalyoncu,2018-04-18,,,,,0.6,4277 -❗️,2757,symbols,punctuation,red exclamation mark,"!, exclamation, mark, punctuation","exclamation, mark, punctation",Hilda Kalyoncu,2018-04-18,,,,,0.6,4278 +❓️,2753,symbols,punctuation,red question mark,"?, mark, punctuation, question","question, punctuation",Selina Lange,2019-05-06,,,,,0.6,4275 +❔,2754,symbols,punctuation,white question mark,"?, mark, outlined, punctuation, question","punctuation, mark, question, white",Selina Lange,2019-05-06,,,,,0.6,4276 +❕,2755,symbols,punctuation,white exclamation mark,"!, exclamation, mark, outlined, punctuation","exclamation, mark, punctuation, white",Hilda Kalyoncu,2018-04-18,,,,,0.6,4277 +❗️,2757,symbols,punctuation,red exclamation mark,"!, exclamation, mark, punctuation","exclamation, mark, punctuation",Hilda Kalyoncu,2018-04-18,,,,,0.6,4278 〰️,3030,symbols,punctuation,wavy dash,"dash, punctuation, wavy","dash, punctuation, wavy",Hilda Kalyoncu,2018-04-18,,,,,0.6,4280 💱,1F4B1,symbols,currency,currency exchange,"bank, currency, exchange, money",,Marleen Heine,2018-11-16,,,,,0.6,4281 💲,1F4B2,symbols,currency,heavy dollar sign,"currency, dollar, money",,Marleen Heine,2018-11-16,,,,,0.6,4282 @@ -3182,7 +3266,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ✅,2705,symbols,other-symbol,check mark button,"button, check, mark, ✓","check, mark, white, right",Hilda Kalyoncu,2018-04-18,,,,,0.6,4293 ☑️,2611,symbols,other-symbol,check box with check,"box, check, ✓","check, right, box",Hilda Kalyoncu,2018-04-18,,,,,0.6,4295 ✔️,2714,symbols,other-symbol,check mark,"check, mark, ✓","check, mark, right, todo",Carlin MacKenzie,2020-05-12,,,,,0.6,4297 -❌,274C,symbols,other-symbol,cross mark,"cancel, cross, mark, multiplication, multiply, x, ×","cancel, wrong, multiply, x,",Hilda Kalyoncu,2018-04-18,,,,,0.6,4298 +❌,274C,symbols,other-symbol,cross mark,"cancel, cross, mark, multiplication, multiply, x, ×","cancel, wrong, multiply, x",Hilda Kalyoncu,2018-04-18,,,,,0.6,4298 ❎,274E,symbols,other-symbol,cross mark button,"mark, square, x, ×","mark, square, button",Hilda Kalyoncu,2018-04-18,,,,,0.6,4299 ➰,27B0,symbols,other-symbol,curly loop,"curl, loop",,Selina Lange,2019-05-06,,,,,0.6,4300 ➿,27BF,symbols,other-symbol,double curly loop,"curl, double, loop",,Selina Lange,2019-05-06,,,,,1,4301 @@ -3296,7 +3380,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🇦🇱,1F1E6-1F1F1,flags,country-flag,flag: Albania,"AL, flag",,Ferdinand Sorg,2019-02-13,,,,,2,4448 🇦🇲,1F1E6-1F1F2,flags,country-flag,flag: Armenia,"AM, flag",,Ferdinand Sorg,2019-02-13,,,,,2,4449 🇦🇴,1F1E6-1F1F4,flags,country-flag,flag: Angola,"AO, flag",,Ferdinand Sorg,2019-02-13,,,,,2,4450 -🇦🇶,1F1E6-1F1F6,flags,country-flag,flag: Antarctica,"AQ, flag",,Carlin MacKenzie, 2020-03-29,,,,,2,4451 +🇦🇶,1F1E6-1F1F6,flags,country-flag,flag: Antarctica,"AQ, flag",,Carlin MacKenzie,2020-03-29,,,,,2,4451 🇦🇷,1F1E6-1F1F7,flags,country-flag,flag: Argentina,"AR, flag",,Ferdinand Sorg,2019-02-13,,,,,2,4452 🇦🇸,1F1E6-1F1F8,flags,country-flag,flag: American Samoa,"AS, flag",,Aileen Gedrat,2019-02-13,,,,,2,4453 🇦🇹,1F1E6-1F1F9,flags,country-flag,flag: Austria,"AT, flag",,Ferdinand Sorg,2019-02-13,,,,,2,4454 @@ -3581,13 +3665,18 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E056,extras-openmoji,brand,Internet Explorer,,"browser, ie, microsoft",Alexander Müller,2020-11-04,,,,,, ,E057,extras-openmoji,brand,Edge,,"browser, microsoft",Alexander Müller,2020-11-04,,,,,, ,E058,extras-openmoji,brand,iNaturalist,,"opendata, nature, observation",Alexander Müller,2020-11-04,,,,,, -,E0FF,extras-openmoji,brand,ubuntu,,linux,Alexander Müller,2020-04-26,,,,,, -,F000,extras-openmoji,brand,windows,,microsoft,Alexander Müller,2020-04-26,,,,,, -,F8FF,extras-openmoji,brand,apple,,"iOS, osx",Alexander Müller,2020-04-26,,,,,, -,E2C0,extras-openmoji,climate-environment,iceberg,,"titanic, ship wreck, ice, cold, sea",Sina Grund,2020-02-18,,,,,, +,E059,extras-openmoji,brand,gitlab,,"git, code",Liz Bravo,2022-03-07,,,,,, +,E05A,extras-openmoji,brand,mastodon,,"social media, twitter",Liz Bravo,2022-03-07,,,,,, +,E05B,extras-openmoji,brand,peertube,,"social media, youtube",Liz Bravo,2022-03-07,,,,,, +,E05C,extras-openmoji,brand,pixelfed,,"social media, image sharing platform, photo",Liz Bravo,2022-03-07,,,,,, +,E05D,extras-openmoji,brand,signal,,"social media, messenger, whatsapp, app",Liz Bravo,2022-03-07,,,,,, +,E0FF,extras-openmoji,brand,ubuntu,,Linux,Alexander Müller,2020-04-26,,,,,, +,F000,extras-openmoji,brand,windows,,Microsoft,Alexander Müller,2020-04-26,,,,,, +,F8FF,extras-openmoji,brand,apple,,"iOS, OSX",Alexander Müller,2020-04-26,,,,,, +,E2C0,extras-openmoji,climate-environment,iceberg,,"Titanic, ship wreck, ice, cold, sea",Sina Grund,2020-02-18,,,,,, ,E2C1,extras-openmoji,climate-environment,floating ice,,"glacier, polar, sea, melt",Sina Grund,2020-02-18,,,,,, ,E2C2,extras-openmoji,climate-environment,floating ice broken,,"glacier, polar, sea, melt",Sina Grund,2020-02-18,,,,,, -,E2C3,extras-openmoji,climate-environment,polar research station,,"neumayer station, arctic, science",Sina Grund,2020-02-18,,,,,, +,E2C3,extras-openmoji,climate-environment,polar research station,,"Neumayer station, arctic, science",Sina Grund,2020-02-18,,,,,, ,E2C4,extras-openmoji,climate-environment,ice core sample,,"science, research, arctic, polar",Sina Grund,2020-02-18,,,,,, ,E2C6,extras-openmoji,climate-environment,ice shelf,,"glacier, polar, sea, melt",Sina Grund,2020-02-18,,,,,, ,E2C7,extras-openmoji,climate-environment,ice shelf melting,,"glacier, sea, melt, climate, global, warming",Sina Grund,2020-02-18,,,,,, @@ -3604,7 +3693,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E2D2,extras-openmoji,climate-environment,reusable bag,,"recycle, nondisposable, tote, paper",Ricarda Krejci,2020-02-18,,,,,, ,E2D3,extras-openmoji,climate-environment,radioactive waste,,"nuclear, hazardous",Robin Kurz,2020-02-18,,,,,, ,E2D4,extras-openmoji,climate-environment,nuclear power plant,,"reactor, stacks, cooling",Robin Kurz,2020-02-18,,,,,, -,E2D5,extras-openmoji,climate-environment,nuclear power plant ruin,,"chernobyl, fukushima, reactor",Robin Kurz,2020-02-18,,,,,, +,E2D5,extras-openmoji,climate-environment,nuclear power plant ruin,,"Chernobyl, Fukushima, reactor",Robin Kurz,2020-02-18,,,,,, ,E2D6,extras-openmoji,climate-environment,geiger counter,,"radiation, radioactive, science, research",Robin Kurz,2020-02-18,,,,,, ,E2D7,extras-openmoji,climate-environment,nuclear worker man,,"radiation, protection suit",Robin Kurz,2020-02-18,,,,,, ,E2D8,extras-openmoji,climate-environment,nuclear worker woman,,"radiation, protection suit, ",Robin Kurz,2020-02-18,,,,,, @@ -3667,13 +3756,15 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E0B2,extras-openmoji,emergency,wash hands,,"coronavirus, COVID-19, sanitize, clean",Guemil Project,2020-11-06,,,,,, ,E0B3,extras-openmoji,emergency,temperature taking,,"coronavirus, COVID-19, thermometer",Guemil Project,2020-11-06,,,,,, ,E0B4,extras-openmoji,emergency,medical gloves,,"coronavirus, COVID-19",Guemil Project,2020-11-06,,,,,, +🇦🇶💎,1F1E6-1F1F6-1F48E,extras-openmoji,flags,true south (antarctica) flag,,"antarctica flag, antarctica, antarctic",Spangle Labs,2022-04-24,,,,,, +🏳🟦🟩🟨,1F3F3-1F7E6-1F7E9-1F7E8,extras-openmoji,flags,berber flag,,,Daniel Utz,2022-07-01,,,,,, 🏳️,1F3F3-FE0F,extras-openmoji,flags,white flag,,surrender,Alexander Müller,2020-05-08,,,,,, -🏳️‍📌‍⚙️,1F3F3-FE0F-200D-1F4CC-200D-2699-FE0F,extras-openmoji,flags,nail and gear flag,,"hello internet, cgp grey, brady haran",Alexander Müller,2020-05-08,,,,,, +🏳️‍📌‍⚙️,1F3F3-FE0F-200D-1F4CC-200D-2699-FE0F,extras-openmoji,flags,nail and gear flag,,"Hello Internet, CGP Grey, Brady Haran",Alexander Müller,2020-05-08,,,,,, 🏳️‍🟥,1F3F3-FE0F-200D-1F7E5,extras-openmoji,flags,red flag,,"socialism, communism",Alexander Müller,2020-05-08,,,,,, 🏳️‍🟦,1F3F3-FE0F-200D-1F7E6,extras-openmoji,flags,blue flag,,,Alexander Müller,2020-05-08,,,,,, -🏳️‍🟦‍🌌,1F3F3-FE0F-200D-1F7E6-200D-1F30C,extras-openmoji,flags,united federation of planets flag (star trek),,"star trek, future, utopia, trekkie, trekker, space",Alexander Müller,2020-04-25,,,,,, -🏳️‍🟧,1F3F3-FE0F-200D-1F7E7,extras-openmoji,flags,orange flag,,"maratha, pirate party, christian democracy",Alexander Müller,2020-05-08,,,,,, -🏳️‍🟨,1F3F3-FE0F-200D-1F7E8,extras-openmoji,flags,yellow flag,,"quebec, yellow jack",Alexander Müller,2020-05-08,,,,,, +🏳️‍🟦‍🌌,1F3F3-FE0F-200D-1F7E6-200D-1F30C,extras-openmoji,flags,united federation of planets flag (star trek),,"Star Trek, future, utopia, trekkie, trekker, space",Alexander Müller,2020-04-25,,,,,, +🏳️‍🟧,1F3F3-FE0F-200D-1F7E7,extras-openmoji,flags,orange flag,,"maratha, pirate party, Christian democracy",Alexander Müller,2020-05-08,,,,,, +🏳️‍🟨,1F3F3-FE0F-200D-1F7E8,extras-openmoji,flags,yellow flag,,"Quebec, yellow jack",Alexander Müller,2020-05-08,,,,,, 🏳️‍🟩,1F3F3-FE0F-200D-1F7E9,extras-openmoji,flags,green flag,,"green party, environmentalism",Alexander Müller,2020-05-08,,,,,, 🏳️‍🟩‍⭐‍🟩,1F3F3-FE0F-200D-1F7E9-200D-2B50-200D-1F7E9,extras-openmoji,flags,esperanto flag,,"constructed, Zamenhof",Carlin MacKenzie,2020-04-08,,,,,, 🏳️‍🟪,1F3F3-FE0F-200D-1F7EA,extras-openmoji,flags,purple flag,,,Alexander Müller,2020-05-08,,,,,, @@ -3681,10 +3772,10 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🏴️‍🅰️,1F3F4-FE0F-200D-1F170-FE0F,extras-openmoji,flags,red and black flag,,"anarchist flag, bisected flag",Sam Hocevar,2021-03-15,,,,,, ⚑️‍🟥,2691-FE0F-200D-1F7E5,extras-openmoji,flags,deep red flag,,"socialism, communism",Alexander Müller,2020-05-08,,,,,, ⚑️‍🟦,2691-FE0F-200D-1F7E6,extras-openmoji,flags,deep blue flag,,,Alexander Müller,2020-05-08,,,,,, -⚑️‍🟧,2691-FE0F-200D-1F7E7,extras-openmoji,flags,deep orange flag,,"maratha, pirate party, christian democracy",Alexander Müller,2020-05-08,,,,,, -⚑️‍🟨,2691-FE0F-200D-1F7E8,extras-openmoji,flags,deep yellow flag,,"quebec, yellow jack",Alexander Müller,2020-05-08,,,,,, +⚑️‍🟧,2691-FE0F-200D-1F7E7,extras-openmoji,flags,deep orange flag,,"maratha, pirate party, Christian democracy",Alexander Müller,2020-05-08,,,,,, +⚑️‍🟨,2691-FE0F-200D-1F7E8,extras-openmoji,flags,deep yellow flag,,"Quebec, yellow jack",Alexander Müller,2020-05-08,,,,,, ⚑️‍🟩,2691-FE0F-200D-1F7E9,extras-openmoji,flags,deep green flag,,"green party, environmentalism",Alexander Müller,2020-05-08,,,,,, -⚑️‍🟩‍★️,2691-FE0F-200D-1F7E9-200D-2605-FE0F,extras-openmoji,flags,browncoat flag,,"firefly, serenity, independent planets",Alexander Müller,2020-05-08,,,,,, +⚑️‍🟩‍★️,2691-FE0F-200D-1F7E9-200D-2605-FE0F,extras-openmoji,flags,browncoat flag,,"Firefly, Serenity, independent planets",Alexander Müller,2020-05-08,,,,,, ⚑️‍🟪,2691-FE0F-200D-1F7EA,extras-openmoji,flags,deep purple flag,,,Alexander Müller,2020-05-08,,,,,, ⚑️‍🟫,2691-FE0F-200D-1F7EB,extras-openmoji,flags,deep brown flag,,,Alexander Müller,2020-05-08,,,,,, ,E0C0,extras-openmoji,food-drink,half orange fruit,,"citrus fruits, half",Hend Hourani,2018-11-16,,,,,, @@ -3737,12 +3828,12 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E31F,extras-openmoji,healthcare,fracture leg,,"broken, cast, bone",Fanny Jung,2010-01-31,,,,,, ,E320,extras-openmoji,healthcare,knee pain,,"ACL, ache, patella",Tonia Reinhardt,2010-01-31,,,,,, ,E321,extras-openmoji,healthcare,backache,,"spine, ache, lumbar, pain",Fanny Jung,2010-01-31,,,,,, -,E322,extras-openmoji,healthcare,joint pain,,"ache, arthritis, strain, cartilage,",Tonia Reinhardt,2010-01-31,,,,,, +,E322,extras-openmoji,healthcare,joint pain,,"ache, arthritis, strain, cartilage",Tonia Reinhardt,2010-01-31,,,,,, ,E324,extras-openmoji,healthcare,clinical thermometer,,"temperature, fever, mercury, heat",Tonia Reinhardt,2010-01-31,,,,,, -,E325,extras-openmoji,healthcare,bandage scissors,,"hospital,gauze, dressing",Fanny Jung,2010-01-31,,,,,, +,E325,extras-openmoji,healthcare,bandage scissors,,"hospital, gauze, dressing",Fanny Jung,2010-01-31,,,,,, ,E326,extras-openmoji,healthcare,crutches,,"walk, broken leg, accessibility",Tonia Reinhardt,2010-01-31,,,,,, ,E327,extras-openmoji,healthcare,wheel chair,,"accessibility, DACA, disability, mobility",Fanny Jung,2010-01-31,,,,,, -,E328,extras-openmoji,healthcare,stretcher,,"hospital,ambulance,patient,gurney",Tonia Reinhardt,2010-01-31,,,,,, +,E328,extras-openmoji,healthcare,stretcher,,"hospital, ambulance, patient, gurney",Tonia Reinhardt,2010-01-31,,,,,, ,E329,extras-openmoji,healthcare,ct scan,,"MRI, cat, cancer, tumour",Fanny Jung,2010-01-31,,,,,, ,E32B,extras-openmoji,healthcare,scales,,"BMI, weight, mass, heavy",Fanny Jung,2010-01-31,,,,,, ,E100,extras-openmoji,interaction,tap,,,Baris Camli,2018-04-18,,,,,, @@ -3776,6 +3867,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E155,extras-openmoji,objects,drip coffee maker,,,Alexander Müller,2020-05-11,,,,,, ,E156,extras-openmoji,objects,coffee grinder,,,Alexander Müller,2020-05-11,,,,,, ,E157,extras-openmoji,objects,horse jumping hurdle,,equestrian,Carlin MacKenzie,2020-09-13,,,,,, +👨‍🪩,1F468-200D-1FAA9,extras-openmoji,people,dj man,,"party, disc jockey, Diskjockey, music, rave, techno",Liz Bravo,2022-07-01,,,,,, +👩‍🪩,1F469-200D-1FAA9,extras-openmoji,people,dj woman,,"party, disc jockey, Diskjockey, music, rave, techno",Liz Bravo,2022-07-01,,,,,, +🧑‍🪩,1F9D1-200D-1FAA9,extras-openmoji,people,dj,,"party, disc jockey, Diskjockey, music, rave, techno",Liz Bravo,2022-07-01,,,,,, ,E181,extras-openmoji,people,drunk person,,"person, person-activity, person-gesture, person-sport, drunk, alcohol, party, beer, drinking",Johanna Wellnitz,2018-04-18,,,,,, ,E182,extras-openmoji,people,person with dog,,"person, person-activity, dog, walking, animal, pet",Johanna Wellnitz,2018-04-18,,,,,, ,E183,extras-openmoji,people,trump,,"trump, donald, president, america, usa",Sina Schulz,2018-04-18,,,,,, @@ -3783,7 +3877,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E185,extras-openmoji,people,barista,,person,Alexander Müller,2020-05-11,,,,,, ,E186,extras-openmoji,people,man barista,,male,Alexander Müller,2020-05-11,,,,,, ,E187,extras-openmoji,people,woman barista,,female,Alexander Müller,2020-05-11,,,,,, -,E188,extras-openmoji,people,Greta Thunberg,,"climate change, sweden, activist, Fridays for Future, FFF",Daniel Utz,2020-06-02,,,,,, +,E188,extras-openmoji,people,Greta Thunberg,,"climate change, Sweden, activist, Fridays for Future, FFF",Daniel Utz,2020-06-02,,,,,, ,E280,extras-openmoji,smileys-emotion,exhausted face,,"exhausted, sleepy, tired, face",Mariella Steeb,2018-04-18,,,,,, ,E281,extras-openmoji,smileys-emotion,incredulous face,,"incredulous, disbelief, shocked",Mariella Steeb,2018-04-18,,,,,, ,E282,extras-openmoji,smileys-emotion,dejected face,,"sigh, ._., pensive, disappointed",Carlin MacKenzie,2020-01-10,,,,,, @@ -3800,9 +3894,9 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ⬡️‍🟪,2B21-FE0F-200D-1F7EA,extras-openmoji,symbol-other,purple hexagon,,,Alexander Müller,2020-11-14,,,,,, ⬡️‍🟫,2B21-FE0F-200D-1F7EB,extras-openmoji,symbol-other,brown hexagon,,,Alexander Müller,2020-11-14,,,,,, ,E380,extras-openmoji,symbols,no handshaking,,"hygiene, agreement, virus, meeting, spread, germs",Julian Grüneberg,2020-04-05,,,,,, -,E381,extras-openmoji,symbols,web syndication,,"feed, rss, atom feed, podcast, subscribe, web feed",Alexander Müller,2020-04-19,,,,,, -◉️‍🔴,25C9-FE0F-200D-1F534,extras-openmoji,technology,red eye,,"turret, ai, rogue ai, portal",Alexander Müller,2021-10-20,,,,,, -◉️‍🔴‍▮️,25C9-FE0F-200D-1F534-200D-25AE-FE0F,extras-openmoji,technology,HAL 9000,,"ai, artificial intelligence, rouge ai, i'm sorry Dave, i'm afraid i can't do that, space odyssey, science fiction, 2001, Stanley Kubrick, movie, film",Alexander Müller,2021-10-20,,,,,, +,E381,extras-openmoji,symbols,web syndication,,"feed, RSS, atom feed, podcast, subscribe, web feed",Alexander Müller,2020-04-19,,,,,, +◉️‍🔴,25C9-FE0F-200D-1F534,extras-openmoji,technology,red eye,,"turret, AI, rogue AI, Portal",Alexander Müller,2021-10-20,,,,,, +◉️‍🔴‍▮️,25C9-FE0F-200D-1F534-200D-25AE-FE0F,extras-openmoji,technology,HAL 9000,,"AI, artificial intelligence, rogue AI, I'm sorry Dave, I'm afraid I can't do that, 2001, Space Odyssey, Stanley Kubrick, science fiction, movie, film",Alexander Müller,2021-10-20,,,,,, ,E1C0,extras-openmoji,technology,wireframes,,,Baris Camli,2018-04-18,,,,,, ,E1C1,extras-openmoji,technology,code editor,,,Baris Camli,2018-04-18,,,,,, ,E1C2,extras-openmoji,technology,autonomous car,,,Baris Camli,2018-04-18,,,,,, @@ -3843,6 +3937,14 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E20C,extras-openmoji,travel-places,viennese coffee house,,viennese coffee culture,Alexander Müller,2020-05-11,,,,,, ,E20D,extras-openmoji,travel-places,black hole,,"interstellar, event horizon, accretion disc",Alexander Müller,2020-06-28,,,,,, ,E20E,extras-openmoji,travel-places,foggy mountain,,"fog, weather, berg, peak, elevation, hiking",Jonas Dunkel,2019-05-07,,,,,, +,E20F,extras-openmoji,travel-places,great pyramid of giza,,"seven wonders of the ancient world, egypt",Niklas Kuntz,2022-07-01,,,,,, +,E210,extras-openmoji,travel-places,colossus of rhodes,,"seven wonders of the ancient world, greece",Niklas Kuntz,2022-07-01,,,,,, +,E211,extras-openmoji,travel-places,hanging gardens of babylon,,"seven wonders of the ancient world, iraq",Niklas Kuntz,2022-07-01,,,,,, +,E212,extras-openmoji,travel-places,lighthouse of alexandria,,"seven wonders of the ancient world, egypt",Niklas Kuntz,2022-07-01,,,,,, +,E213,extras-openmoji,travel-places,mausoleum at halicarnassus,,"seven wonders of the ancient world, turkey",Niklas Kuntz,2022-07-01,,,,,, +,E214,extras-openmoji,travel-places,statue of zeus at olympia,,"seven wonders of the ancient world, greece",Niklas Kuntz,2022-07-01,,,,,, +,E215,extras-openmoji,travel-places,temple of artemis at ephesus,,"seven wonders of the ancient world, turkey",Niklas Kuntz,2022-07-01,,,,,, +,E216,extras-openmoji,travel-places,moai,,"stone, easter island",Liz Bravo,2022-07-05,,,,,, ,E240,extras-openmoji,ui-element,mark,,,Baris Camli,2018-04-18,,,,,, ,E241,extras-openmoji,ui-element,toggle button,,,Baris Camli,2018-04-18,,,,,, ,E242,extras-openmoji,ui-element,location indicator,,,Baris Camli,2018-04-18,,,,,, @@ -3856,7 +3958,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open ,E24A,extras-openmoji,ui-element,interview,,"interview, talk, speak, bubble",Kai Magnus Müller,2018-04-18,,,,,, ,E24B,extras-openmoji,ui-element,intricate,,"intricate, abstract",Kai Magnus Müller,2018-04-18,,,,,, ,E24C,extras-openmoji,ui-element,simple,,"simple, abstract",Kai Magnus Müller,2018-04-18,,,,,, -,E24D,extras-openmoji,ui-element,"return, back button",,,Jose Avila,2018-04-18,,,,,, +,E24D,extras-openmoji,ui-element,return,,back button,Jose Avila,2018-04-18,,,,,, ,E24E,extras-openmoji,ui-element,close,,,Jose Avila,2018-04-18,,,,,, ,E24F,extras-openmoji,ui-element,forward,,,Jose Avila,2018-04-18,,,,,, ,E250,extras-openmoji,ui-element,hamburger menu,,,Jose Avila,2018-04-18,,,,,, @@ -3892,6 +3994,32 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🫙‍🟩,1FAD9-200D-1F7E9,extras-unicode,food-drink,jar with green content,,kiwi jam,Alexander Müller,2021-10-22,,,,,?, 🫙‍🟪,1FAD9-200D-1F7EA,extras-unicode,food-drink,jar with purple content,,"potion of health and magic, jam",Alexander Müller,2021-10-22,,,,,?, 🫙‍🟫,1FAD9-200D-1F7EB,extras-unicode,food-drink,jar with brown content,,"nutella, peanut butter, nut spread, chocolate",Alexander Müller,2021-10-22,,,,,?, +🇦,1F1E6,extras-unicode,regional-indicator,regional indicator A,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇧,1F1E7,extras-unicode,regional-indicator,regional indicator B,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇨,1F1E8,extras-unicode,regional-indicator,regional indicator C,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇩,1F1E9,extras-unicode,regional-indicator,regional indicator D,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇪,1F1EA,extras-unicode,regional-indicator,regional indicator E,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇫,1F1EB,extras-unicode,regional-indicator,regional indicator F,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇬,1F1EC,extras-unicode,regional-indicator,regional indicator G,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇭,1F1ED,extras-unicode,regional-indicator,regional indicator H,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇮,1F1EE,extras-unicode,regional-indicator,regional indicator I,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇯,1F1EF,extras-unicode,regional-indicator,regional indicator J,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇰,1F1F0,extras-unicode,regional-indicator,regional indicator K,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇱,1F1F1,extras-unicode,regional-indicator,regional indicator L,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇲,1F1F2,extras-unicode,regional-indicator,regional indicator M,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇳,1F1F3,extras-unicode,regional-indicator,regional indicator N,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇴,1F1F4,extras-unicode,regional-indicator,regional indicator O,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇵,1F1F5,extras-unicode,regional-indicator,regional indicator P,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇶,1F1F6,extras-unicode,regional-indicator,regional indicator Q,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇷,1F1F7,extras-unicode,regional-indicator,regional indicator R,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇸,1F1F8,extras-unicode,regional-indicator,regional indicator S,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇹,1F1F9,extras-unicode,regional-indicator,regional indicator T,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇺,1F1FA,extras-unicode,regional-indicator,regional indicator U,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇻,1F1FB,extras-unicode,regional-indicator,regional indicator V,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇼,1F1FC,extras-unicode,regional-indicator,regional indicator W,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇽,1F1FD,extras-unicode,regional-indicator,regional indicator X,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇾,1F1FE,extras-unicode,regional-indicator,regional indicator Y,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, +🇿,1F1FF,extras-unicode,regional-indicator,regional indicator Z,,"alphabet, letter, upper case, type",Daniel Utz,2022-06-12,,,,,6, 🏴󠁣󠁡󠁱󠁣󠁿,1F3F4-E0063-E0061-E0071-E0063-E007F,extras-unicode,subdivision-flag,quebec flag,,"fleur-de-lis, quebec, canada, province",Denis Blanchette,2021-02-10,,,,,?, 🏴󠁤󠁥󠁢󠁥󠁿,1F3F4-E0064-E0065-E0062-E0065-E007F,extras-unicode,subdivision-flag,berlin flag,,"bear, city, capital",Alexander Müller,2020-04-26,,,,,?, 🏴󠁤󠁥󠁢󠁹󠁿,1F3F4-E0064-E0065-E0062-E0079-E007F,extras-unicode,subdivision-flag,bavaria flag,,"state, lozenge",Manuel Strehl,2020-07-09,,,,,?, @@ -3901,6 +4029,7 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🏴󠁦󠁲󠁢󠁲󠁥󠁿,1F3F4-E0066-E0072-E0062-E0072-E0065-E007F,extras-unicode,subdivision-flag,bretagne flag,,"breton, brittany, gwenn-ha-du",Sam Hocevar,2021-03-15,,,,,?, 🏴󠁵󠁳󠁣󠁡󠁿,1F3F4-E0075-E0073-E0063-E0061-E007F,extras-unicode,subdivision-flag,california flag,,"bear, republic, state",Alexander Müller,2020-04-26,,,,,?, 🏴󠁵󠁳󠁴󠁸󠁿,1F3F4-E0075-E0073-E0074-E0078-E007F,extras-unicode,subdivision-flag,texas flag,,"cowboy, lone star, republic, state",Carlin MacKenzie,2020-04-03,,,,,?, +-,002D,extras-unicode,symbol-other,hyphen-minus,,"hyphen, minus, dash, line",Robert Winslow,2022-12-24,,,,,1, 🄍,1F10D,extras-unicode,symbol-other,circled zero with slash,,"license, copyright, creative commons, open, libre, public domain",Carlin MacKenzie,2020-04-17,,,,,13, 🄎,1F10E,extras-unicode,symbol-other,circled anticlockwise arrow,,"license, copyright, creative commons, open, libre, share alike",Carlin MacKenzie,2020-04-17,,,,,13, 🄏,1F10F,extras-unicode,symbol-other,circled dollar sign with overlaid backslash,,"license, copyright, creative commons, open, libre, non commercial",Carlin MacKenzie,2020-04-17,,,,,13, @@ -3908,6 +4037,12 @@ emoji,hexcode,group,subgroups,annotation,tags,openmoji_tags,openmoji_author,open 🅭,1F16D,extras-unicode,symbol-other,circled cc,,"license, copyright, creative commons, open, libre, public domain",Carlin MacKenzie,2020-04-17,,,,,13, 🅮,1F16E,extras-unicode,symbol-other,circled c with overlaid backslash,,"license, copyright, creative commons, open, libre, public domain",Carlin MacKenzie,2020-04-17,,,,,13, 🅯,1F16F,extras-unicode,symbol-other,circled human figure,,"license, copyright, creative commons, open, libre, by, attribution, credit",Carlin MacKenzie,2020-04-17,,,,,13, +🉠,1F260,extras-unicode,symbol-other,rounded symbol for fu,,"ideograph, chinese, religion, luck, 福",Robert Winslow,2023-01-06,,,,,10, +🉡,1F261,extras-unicode,symbol-other,rounded symbol for lu,,"ideograph, chinese, religion, prosperity, 禄, 祿",Robert Winslow,2023-01-06,,,,,10, +🉢,1F262,extras-unicode,symbol-other,rounded symbol for shou,,"ideograph, chinese, religion, longevity, 寿, 壽",Robert Winslow,2023-01-06,,,,,10, +🉣,1F263,extras-unicode,symbol-other,rounded symbol for xi,,"ideograph, chinese, religion, happiness, 喜",Robert Winslow,2023-01-06,,,,,10, +🉤,1F264,extras-unicode,symbol-other,rounded symbol for shuangxi,,"ideograph, chinese, religion, double happiness, love and marriage, 囍",Robert Winslow,2023-01-06,,,,,10, +🉥,1F265,extras-unicode,symbol-other,rounded symbol for cai,,"ideograph, chinese, religion, wealth, 财, 財",Robert Winslow,2023-01-06,,,,,10, 🐱‍💻,1F431-200D-1F4BB,extras-unicode,symbol-other,hacker cat,,"coder, developer, software, technologist, smart, clever, code, notebook, computer",Benedikt Groß,2020-03-06,,,,,?, 🯅,1FBC5,extras-unicode,symbol-other,stick figure,,legacy computing,Alexander Müller,2020-11-04,,,,,13, 🯆,1FBC6,extras-unicode,symbol-other,stick figure with arms raised,,legacy computing,Alexander Müller,2020-11-04,,,,,13, From b4501df54138d4786599e66556fe5d288cf910fb Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 06:32:20 +0200 Subject: [PATCH 12/22] small change to metainfo.xml --- README.md | 2 +- flatpak/com.tomjwatson.Emote.metainfo.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ae513ec..0d65fc2 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Previous Emoji Category: `Ctrl+Shift+Tab` Install development libraries: ```bash -sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev desktop-file-validate +sudo apt install xdotool libgtk-3-dev libgirepository1.0-dev python3-venv gir1.2-keybinder-3.0 libkeybinder-dev desktop-file-utils # or with dnf sudo dnf install xdotool gtk3-devel keybinder3-devel libgirepository1.0-dev desktop-file-utils ``` diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index 3d53e6f..57f72d3 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -6,6 +6,7 @@ https://github.com/tom-james-watson/Emote FSFAP GPL-3.0-only + Tom Watson

@@ -44,6 +45,5 @@ - - + \ No newline at end of file From 8af7caeadf0a181ec5d4f0446fe86c688ced3384 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 06:38:19 +0200 Subject: [PATCH 13/22] add bugtracker to metainfo.xml --- flatpak/com.tomjwatson.Emote.metainfo.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index 57f72d3..cb8cbd5 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -4,8 +4,11 @@ Emote

Modern popup emoji picker https://github.com/tom-james-watson/Emote + https://github.com/tom-james-watson/Emote/issues + https://github.com/tom-james-watson/Emote + FSFAP - GPL-3.0-only + GPL-3.0-or-later Tom Watson From 1aed897139b422ef0a8e1475a3f772e421e1ad52 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 14:15:08 +0200 Subject: [PATCH 14/22] Add supports metadata to metainfo.xml --- README.md | 15 ++++++++------ flatpak/com.tomjwatson.Emote.metainfo.xml | 25 ++++++++++++++++++----- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0d65fc2..80619d2 100644 --- a/README.md +++ b/README.md @@ -13,18 +13,21 @@ Launch the emoji picker with the configurable keyboard shortcut `Ctrl+Alt+E`, an * 🍾 Built as a popup: quick invocation, and disappears when not needed, does not stay as a standalone window * 🫠 Provide a large and up-to-date list of emojis retrieved from [openmoji.org](https://openmoji.org/) -* 🏛️ Shows the last used emojis by default +* 🧠 Shows the last used emojis by default * 🔎 Search text box automatically focused and ready to type when invoked -* ⌨️ Can use shortcuts to navigates and select the emoji(s) -* ✒️ Selected emoji automatically pasted to your currently focused app (X11 only) +* ⌨️ Can use shortcuts to navigates and select emojis +* ✒️ Selected emoji automatically pasted to your currently focused app (on X11 only) -ℹ️ Note - Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - [Hotkey In Wayland](https://github.com/tom-james-watson/Emote/wiki/Hotkey-In-Wayland). This is due to intentional restrictions in the design of Wayland itself. +ℹ️ Note: + +- ⚡️ Emote [shows up faster](https://github.com/tom-james-watson/Emote/issues/54) when invoked using the built-in keyboard shortcut (`Ctrl+Alt+E` by default), than when using a manually registered keyboard shortcut. +- 🪟 Emote under Wayland cannot automatically paste the emoji into other apps, and also requires manual registering of a global keyboard shortcut - [Hotkey In Wayland](https://github.com/tom-james-watson/Emote/wiki/Hotkey-In-Wayland). This is due to intentional restrictions in the design of Wayland itself.

-## Installation +## 📥️ Installation [![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/emote) @@ -42,7 +45,7 @@ An unofficial build of Emote is also available in the AUR : https://aur.archlinu Emote runs in the background and automatically starts when you log in. -The emoji picker can be opened with either the keyboard shortcut or by clicking the app icon again. +The emoji picker can be opened with either the keyboard shortcut, or by clicking the app icon again. ### ℹ️ Usage diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index cb8cbd5..f3c901c 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -24,22 +24,26 @@
  • 🍾 Built as a popup: quick invocation, and disappears when not needed, does not stay as a standalone window
  • 🫠 Provide a large and up-to-date list of emojis retrieved from openmoji.org
  • -
  • 🏛️ Shows the last used emojis by default
  • +
  • 🧠 Shows the last used emojis by default
  • 🔎 Search text box automatically focused and ready to type when invoked
  • -
  • ⌨️ Can use shortcuts to navigates and select the emoji(s)
  • -
  • ✒️ Selected emoji automatically pasted to your currently focused app (X11 only)
  • +
  • ⌨️ Can use shortcuts to navigates and select emojis
  • +
  • ✒️ Selected emoji automatically pasted to your currently focused app (on X11 only)

- ℹ️ Emote under Wayland cannot automatically paste the emoji into other apps and also requires manual registering of a global keyboard shortcut - Hotkey In Wayland. This is due to intentional restrictions in the design of Wayland itself. + ℹ️ Notes:

+
    +
  • ⚡️ Emote shows up faster when invoked using the built-in keyboard shortcut (Ctrl+Alt+E by default), than when using a manually registered keyboard shortcut.
  • +
  • 🪟 Emote under Wayland cannot automatically paste the emoji into other apps, and also requires manual registering of a global keyboard shortcut - Hotkey In Wayland. This is due to intentional restrictions in the design of Wayland itself.
  • +
- com.tomjwatson.Emote.desktop https://raw.githubusercontent.com/tom-james-watson/Emote/master/images/screenshot.png + @@ -47,6 +51,17 @@ + + + com.tomjwatson.Emote.desktop + + offline-only + pointing + keyboard + touch + small + xlarge + \ No newline at end of file From ee09057e721f5ee08445211ebdf02f880784e5d5 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 16:26:24 +0200 Subject: [PATCH 15/22] Fix copy to the clipboard on wayland by adding the wl-clipboard module https://github.com/bugaevc/wl-clipboard --- emote/picker.py | 2 ++ flatpak/com.tomjwatson.Emote.yml | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/emote/picker.py b/emote/picker.py index 87a2033..357dff1 100644 --- a/emote/picker.py +++ b/emote/picker.py @@ -642,3 +642,5 @@ def add_emoji_to_recent(self, emoji): def copy_to_clipboard(self, content): cb = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) cb.set_text(content, -1) + if not config.is_wayland: + os.system(f'wl-copy "{content}"') diff --git a/flatpak/com.tomjwatson.Emote.yml b/flatpak/com.tomjwatson.Emote.yml index ca56144..235841d 100644 --- a/flatpak/com.tomjwatson.Emote.yml +++ b/flatpak/com.tomjwatson.Emote.yml @@ -41,6 +41,22 @@ modules: project-id: 8648 stable-only: true url-template: https://github.com/jordansissel/xdotool/archive/v$version/xdotool-$version.tar.gz + - name: wl-clipboard + buildsystem: meson + config-opts: + - -Dzshcompletiondir=no + - -Dfishcompletiondir=no + sources: + - type: archive + url: https://github.com/bugaevc/wl-clipboard/archive/v2.1.0.tar.gz + sha256: 72dab9a7d3835c76d6ff2089f15ffec9e064a321e5f3cbbe961a8fa81aff5573 + x-checker-data: + type: anitya + project-id: 49082 + url-template: https://github.com/bugaevc/wl-clipboard/archive/v$version.tar.gz + cleanup: + - /share/man + - /share/bash-completion - name: emote buildsystem: meson sources: From cd1d6096333485341e8e5331929237270c7d9c63 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 16:29:47 +0200 Subject: [PATCH 16/22] Fix wl-copy call, and move time.sleep only for x11 (not required on wayland at the moment) --- emote/picker.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/emote/picker.py b/emote/picker.py index 357dff1..ae9457b 100644 --- a/emote/picker.py +++ b/emote/picker.py @@ -630,9 +630,8 @@ def on_emoji_select(self, emoji): self.destroy() - time.sleep(0.15) - if not config.is_wayland: + time.sleep(0.15) os.system("xdotool key ctrl+v") def add_emoji_to_recent(self, emoji): @@ -642,5 +641,5 @@ def add_emoji_to_recent(self, emoji): def copy_to_clipboard(self, content): cb = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) cb.set_text(content, -1) - if not config.is_wayland: + if config.is_wayland: os.system(f'wl-copy "{content}"') From 4536ce300182fa9a1c55d037181d9ccccecddb3f Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 22:46:24 +0200 Subject: [PATCH 17/22] Fix user data path to store emoji history --- emote/user_data.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/emote/user_data.py b/emote/user_data.py index 7095a5f..7b50118 100644 --- a/emote/user_data.py +++ b/emote/user_data.py @@ -2,10 +2,9 @@ from pathlib import Path import shelve -from emote import emojis +from emote import emojis, config - -DATA_DIR = os.path.join(Path.home(), ".local/share/Emote") +DATA_DIR = os.path.join(Path.home(), ".local/share/Emote") if not config.is_flatpak else os.path.join(Path.home(), f".var/app/{config.app_id}/data") SHELVE_PATH = os.path.join(DATA_DIR, "user_data") RECENT_EMOJIS = "recent_emojis" From 4ef9e0ef1dafbe46193d68f63aaf007bf7986bfa Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 22:48:57 +0200 Subject: [PATCH 18/22] Update Makefile Co-authored-by: Tom Watson --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 058036e..6d103cf 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ flatpak-install: flatpak-requirements: pipenv lock pipenv requirements > requirements.txt - pipenv run flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements -r requirements.txt + pipenv run ./flatpak-pip-generator --runtime='org.gnome.Sdk//43' --output python3-requirements -r requirements.txt mv python3-requirements.json flatpak/python3-requirements.json flatpak-validate: From 816e7c537ca90ec70d30ede17aae1d7da4735187 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Sun, 2 Apr 2023 23:00:14 +0200 Subject: [PATCH 19/22] Update flatpak/com.tomjwatson.Emote.metainfo.xml Co-authored-by: Tom Watson --- flatpak/com.tomjwatson.Emote.metainfo.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flatpak/com.tomjwatson.Emote.metainfo.xml b/flatpak/com.tomjwatson.Emote.metainfo.xml index f3c901c..a60879b 100644 --- a/flatpak/com.tomjwatson.Emote.metainfo.xml +++ b/flatpak/com.tomjwatson.Emote.metainfo.xml @@ -26,7 +26,7 @@
  • 🫠 Provide a large and up-to-date list of emojis retrieved from openmoji.org
  • 🧠 Shows the last used emojis by default
  • 🔎 Search text box automatically focused and ready to type when invoked
  • -
  • ⌨️ Can use shortcuts to navigates and select emojis
  • +
  • ⌨️ Can use shortcuts to navigate and select emojis
  • ✒️ Selected emoji automatically pasted to your currently focused app (on X11 only)
  • From f9bfab17d5fba9b3ed0b1b2f8f7313f35f0f2a92 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Mon, 3 Apr 2023 00:15:52 +0200 Subject: [PATCH 20/22] fix makefile phony --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 6d103cf..755db9e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ OS := $(shell uname) +.PHONY: dev dev-debug install update-emojis flatpak flatpak-install flatpak-requirements flatpak-validate flatpak-clean flathub dev: ENV=dev GDK_BACKEND="x11" pipenv run start From 6e8bf9ee975e0104e4da644f10a424013597af47 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Mon, 3 Apr 2023 00:17:41 +0200 Subject: [PATCH 21/22] fix config --- emote/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emote/config.py b/emote/config.py index b876fd9..0b3cb55 100644 --- a/emote/config.py +++ b/emote/config.py @@ -1,6 +1,6 @@ import os - +app_id = "com.tomjwatson.Emote" is_debug = os.environ.get("GTK_DEBUG") == "interactive" is_dev = os.environ.get("ENV") == "dev" is_snap = os.environ.get("SNAP") is not None From 9d37106065a0a51145f0b3c7f15e8d2ea3a6e7b8 Mon Sep 17 00:00:00 2001 From: Vincent Emonet Date: Tue, 18 Apr 2023 19:50:30 +0200 Subject: [PATCH 22/22] add some changes to improve enabling autostart --- README.md | 8 ++++++++ flatpak/com.tomjwatson.Emote.desktop | 5 ++++- flatpak/com.tomjwatson.Emote.yml | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 80619d2..6977875 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,14 @@ sudo snap install emote An unofficial build of Emote is also available in the AUR : https://aur.archlinux.org/packages/emote. +Enable autostart: + +```bash +cp -L "/var/lib/flatpak/exports/share/applications/com.tomjwatson.Emote.desktop" ~/.config/autostart/ +# Or if it was installed locally: +cp -L "cp ~/.local/share/flatpak/exports/share/applications/com.tomjwatson.Emote.desktop" ~/.config/autostart/ +``` + ## 📖 Guide ### 🚀 Launching diff --git a/flatpak/com.tomjwatson.Emote.desktop b/flatpak/com.tomjwatson.Emote.desktop index 8f3106a..d2c3d73 100644 --- a/flatpak/com.tomjwatson.Emote.desktop +++ b/flatpak/com.tomjwatson.Emote.desktop @@ -3,8 +3,11 @@ Name=Emote Type=Application GenericName=Emoji picker Comment=Modern popup emoji picker -Exec=emote +Exec=flatpak run com.tomjwatson.Emote Categories=Utility;GTK; Keywords=emoji,smiley,emoticon,icon Icon=com.tomjwatson.Emote Terminal=false +StartupNotify=false +X-Flatpak=com.tomjwatson.Emote +X-GNOME-Autostart-enabled=true diff --git a/flatpak/com.tomjwatson.Emote.yml b/flatpak/com.tomjwatson.Emote.yml index 235841d..4071d75 100644 --- a/flatpak/com.tomjwatson.Emote.yml +++ b/flatpak/com.tomjwatson.Emote.yml @@ -7,6 +7,8 @@ finish-args: - --share=ipc - --socket=wayland - --socket=fallback-x11 + # Enabling autostart: https://github.com/flatpak/flatpak/issues/118 + # - --filesystem=xdg-config/autostart:create - --device=dri cleanup: - /include