maoschanz / emoji-selector-for-gnome Goto Github PK
View Code? Open in Web Editor NEWThis extension provide a popup menu with some emojis ; clicking on an emoji copies it to the clipboard.
License: GNU General Public License v3.0
This extension provide a popup menu with some emojis ; clicking on an emoji copies it to the clipboard.
License: GNU General Public License v3.0
if it's [x,x,x,x,x,๐ค,x,x,x]
and i click ๐ค, it should be [๐ค,x,x,x,x,x,x,x,x]
then
Okay. This is a strange one that i really cant figure out. I started a wayland session for the first time to see how development is coming along (gnome 3.26.2 / arch). After playing around a little but not changing anything, i logged out of wayland and tried to start a xorg session (via gdm), and it just froze at the speckled gdm screen with the cursor. This started a 5 hour troubleshooting headache, trying to narrow down the cause. I attempted to startx using xinit file to get more output on what was happening, but ultimately the output proved not helpful. And xorg.logs didnt show anything out of the ordinary that i can tell. From the output at startx, the best i could tell it appeared like xorg was borked somehow. So i was troubleshooting from that angle with no luck. My next approach was disabling extensions one by one in wayland, then trying to start a xorg session. This narrowed it down to emoji-selector. I then tried to reinstall the extension but that didnt change anything. As long as its activated, i cannot start a xorg session. One last thing to note, no matter how i uninstall the extension, my 'most used' emojis always remain at the top after i reinstall. So it appears some sort of user-data/cache is left behind. I cant find where that data is stored. Maybe that is causing problems? I am at a loss. I know basically nothing about wayland and how it interacts with separate xorg session, so i am having trouble getting a handle on whats wrong. Any ideas would be appreciated.
Edit: I have tried using both the arch package installed system wide and installing locally from the gnome-extension website. Doesnt change anything
Not a proper bug, I just thought I'd show you this https://wiki.gnome.org/Design/OS/Emoji in case you haven't already seen it. It'd be great to have that as a less hacky solution for emojis on GNOME.
Feel free to close this :)
Here they are: http://blog.unicode.org/2018/02/unicode-emoji-110-characters-now-final.html
Awesome idea! I found this extension after it was featured on OMG! Ubuntu, but I have a few complaints.
The current interface makes very little sense. Scrolling through a massive list of emoji displayed in a single column list isn't very user friendly. It would be better if you could display the emoji in a grid format, similar to the EmojiOne browser extension:
It would be awesome to have glorious full-color emojis rather than just black&white outlines. Black&white outlines are not only less pretty, they're harder to seek through, as they offer less contrast / differences to the eye.
I don't know if that's technically feasible given GNOME extension constraints :-/ . The OpenWeather extension shows colored icons, maybe that can help?
extension works for the most part, aside from emoji not showing. :)
when i mouse over an emoji the name shows in the window though.
arch linux gnome 3.32
Hi!
I noticed that the hovered emoji is bolded. Because of this, its size becomes a bit bigger. It is not a pleasent effect in my opinion.
I tried to change the stylesheet.css file as the following:
.EmojisItemStyle {
/*font-size: 20px; useless since it is now a setting*/
font-family: EmojiOne Color, Twitter Color Emoji, Noto Color Emoji;
padding: 4px;
}
.EmojisItemStyle:hover {
background-color: rgba(0, 0, 0, 0.5);
border-radius: 6px;
padding: 4px;
}
.RecentItemStyle {
font-size: 28px;
font-family: EmojiOne Color, Twitter Color Emoji, Noto Color Emoji;
padding: 4px;
}
.RecentItemStyle:hover {
background-color: rgba(0, 0, 0, 0.5);
border-radius: 6px;
padding: 4px;
}
My opinion is that it makes the grid more "readable" and a bit nicer. It is just a matter of tastes, of course.
Give it a try, maybe you can enojy it too.
Thank you for your work on Gnome.
;)
Hello,
I would like to report that the LGBT rainbow flag (๐ณ๏ธโ๐) does not show up in the selector, even though it's present in my emoji font and I can find it using ibus-uniemoji
.
Have a nice day
Hi :)
I saw you put a gender button in the "people & clothing" category, but:
I suppose you're still working on this feature, thus they're not complete, I guess.
Thank you for your efforts. ๐ฅ
Rather than having to resort to copy-paste, are there any plans on implementing support for the emoji selector acting as an input method instead?
Hi there,
thanks for your extension, I find this easier to use than the "smart" typing feature (typing booster) that can also write emojis.
However, could you add the feature to directly add the clicked emoji in the current text field (and not via the clipboard)? Not sure if this is possible at all.
Many thanks, silberzwiebel
Since color emojis are supported on most systems:
add unicode 10 (and 11) "person" emojis i didn't add because of poor support (#28)
there is a ton of them, they might need their own category (#31)
implement the #31 tag system
the submenu with category's title should be used for skin tone selection
while skin tone shall be a setting key, gender will just be ignored for the moment (all emojis twice)
tone will be added by concatenation
It would be awesome to be able to select (and copy to clipboard) multiple emojis in one shot.
Currently, when clicking an emoji, the selector is closed and the emoji is copied to clipboard.
What if, when holding Ctrl
or Shift
and clicking an emoji, the selector remained open, letting the user pick one or several additional emojis, which would all be copied concatenated to clipboard only when the selector is dismissed? (on first click out of the Shell panel)
That's the behavior of selecting emojis on iOS/Android, which live in their own keyboard, and this emoji keyboard is not dismissed on first emoji pick, it stays active, enabling picking a series of emojis (for example, ๐๐๐ค).
Nit: I'm not sure how feasible this is with the GNOME Shell extensions API:
onblur
)... but a more implementation-friendly workflow can probably be imagined within Shell Extension constraints?
The extension is brilliant way of entering symbols! One thing that I in general hate to type are math symbols. Using this extension to type stuff like lambda, sums, limits, would be so much simpler.
This should be relatively straight-forward to do. It should be enough to add them to
https://github.com/maoschanz/emoji-selector-for-gnome/blob/master/emojisKeywords.js
and
https://github.com/maoschanz/emoji-selector-for-gnome/blob/master/emojisCharacters.js
What I don't understand is why is there two files and not just one with mapping of emoji to description?
I will try to make a PR.
I have found various websites with data-sets on this:
Having this extension enabled seems to add an extra second or two when unlocking GNOME. Anything we can do to reduce the performance hit when the screen is unlocked? (I'm guessing some objects are re-rendered/re-initialized each time the GNOME shell reappears, and maybe some of this could be cached within the extension to avoid repeating work).
Hi all ๐
I'm using this Gnome extension and I love it, but for some reason I'm not able to paste emojis into Chrome anymore, in the majority of websites.
Do you know what a possible cause could be?
(Current categories are almost based upon Twitter ones, which are not perfect)
Since all keywords are in low case, tags can just be a high case keyword.
also, #30
The title should give enough context ๐
journalctl
indicates it errors with:
gnome-shell[19665]: Extension "[email protected]" had error: TypeError: this._construct is not a function
Googling a bit and stumbling upon micheleg/dash-to-dock#877 , it looks like 3.32 no longer likes using Lang.Class
, and extensions should be ported to ES6 classes. As usual, marvelous backward compatibility & documentation, GNOME ๐.
I'm using the latest version available on extensions.gnome.org.
Hi,
I'm unable to set my shortcut to super with .
.
Is it not supported or bugged?
Some emoji default to text representation, so when copy / paste, they will not show the colored representation.
There is a solution for that: add a U+FE0F Variation Selector-16, which force the emoji colored representation, after the emoji char that default to text.
The full list of those chars is available in the specification: https://www.unicode.org/Public/emoji/12.0/emoji-variation-sequences.txt
So by adding U+FE0F to some emoji, we can make sure they always display with colors when using this extension.
Hi!
Consider the category "Peoples & Clothing". There you gave us the chance to select the skin color (and the gender) of several emojis.
Is it possible to have the following behaviour:
click on a skin color -> the emojis in the list changes color accordingly
?
OS: Arch Linux
GNOME version: 3.26.1
every time I change a setting, I must restart gnome shell in order to changes be applied to extension.
There is an option in the settings but I can just turn on/off if I want to use keyboard shortcut to toggle the menu, but cannot change the shortcut itself. It is just greyed out with the apply button. I don't know if this is a bug or the feature itself isn't implemented yet but would be nice to have.
Emoji-categories buttons do not behave like the ones in the user-menu.
For example: if you hover on any of the emoji-categories buttons, the border disappears.
The buttons in the user-menu get a grey background instead.
Also: if you click on a button in the user-menu without releasing the click, you can see that the button background becomes light-blue. This color depends on the shell-theme in use.
Can you add a 'hover effect'? Can you change the blue color generated from this line:
this.categoryButton.style = 'background-color: rgba(0,0,200,0.2);';
so that the 'select effect' follows the theme palette color?
:)
It would be awesome if there was an inline search box (akin to the emoji selection box available on OS X) for searching for emoji by name/keyword (you can already do this in Character Map).
Extra benefit this provides: you could use it to search for other special characters conveniently too, like ยฐ, โข and so on.
Thank you!
Right now, I can:
Super+E
All of that without leaving the keyboard... The only missing step is that arrow keys navigate through them and Enter copies it to clipboard ๐
When searching for an emoji with your gender and skin tone chosen, the picker goes uses the defaults for both.
Not sure if you know that: Ubuntu has two different clipboards: one is ctrl+c/ctrl+v, the other is: when you select a text, it gets copied to 2nd clipboard, when you middle click your mouse, it gets pasted. Your extension only uses the first clipboard. Is it possible to also use the second one? I know you don't know how to type emojis directly into active focused input, but currently after I've selected an emoji I have to right click -> paste from context menu and it'd be great if I could simply paste it with just a middle click!
I use Emoji Selector purely with the keyboard. The workflow always goes like this:
Given this workflow, having the tray icon visible at all times is unnecessary and distracting.
Would it be possible to add an option to hide it and only show once the shortcut is used? This would finally move me off ibus' somewhat ugly Emoji Choice permanently. Thanks!
Hi Maestro Romain ๐ !
I was wondering: why do we have a back button (the first left-arrow button) instead of using the category buttons for toggling the emoji list?
Let me say that in other words, using an example:
I click on the "flag" button -> the flag list shows up -> I click again on the "flag" button -> the list gets hidden.
To me, that back button is unnecessary and a bit "counterintuitive" in some sense.
Let me know what you think about this. :)
Hi!
I would like to give you a couple of hints and maybe some ideas. I do that also because I'd like to understand more about extension-scripting.
Consider this screenshot. I will refer to it.
I updated the italian translation. I tried to use a more literal translation. Some entry was missing in the old po file (like the "Type here to search..." sentence in #1). I made a fork for that, but I'm not going to make a pull request right now. I'd like to play a bit with the other files first.
I noticed that, if I do not install any noto/emojione/twitter/etc font, all the emojis in the default set have a differente width (#5). This makes every row (you called that "ln" in your extension.js file: ln = new PopupMenu.PopupBaseMenuItem...
) of different width.
You could avoid that by adding some "width: # em" and "height: #em" to the stylesheet file. Something like:
.EmojisItemStyle {
font-family: EmojiOne Color, Twitter Color Emoji, Noto Emoji;
padding: 1px 3px;
height: 1.8em;
width: 1.8em;
}
ln = new PopupMenu.PopupBaseMenuItem({reactive: true});
ln = new PopupMenu.PopupBaseMenuItem({style_class: 'EmojisList', reactive: true});
.EmojisList {
padding: 0px;
margin: 0px;
}
in your stylesheet.css.
let fontStyle = 'font-size: ' + ( Convenience.getSettings().get_int('emojisize') + 4 ) + 'px;'
And... A few question for you:
Can't you just remove the row #2 in every submenu? They do not make too much sense in my opinion! ^_^" but maybe it's just my opinion after all.
Is it possible to give a fixed height (#4) to all submenus? It keeps changing for all of them.
Ok, that's enough for now. :o
Sorry, I am too much talkative.
I'm trying to set <Ctrl><F2>
as keybinding, but it doesn't work.
I'm not sure if <F2>
is the wrong format for Fn
keys or it's just not working.
Note: Other combinations with <Ctrl>
works as expected.
"(Color emojis depends on your system, not on the extension.)"
Ok but... How do I set my system so that I have coloured emojis? o.o
if there is a search entry, users may need to know actual names of emojis
Hello!
Padding between emojis is too small for me. Can it be option like emoji size?
How would I set the keybinding to <Super>.
? This is the keybinding Windows 10 uses for the emoji keyboard.
Hi. I Installed 737fb4b, but it crashes Shell with
May 06 16:00:03 t gnome-shell[1058]: Settings schema 'org.gnome.shell.extensions.emoji-selector' does not contain a key named 'gender'
I see the schemas
folder ships a gschemas.compiled
, and I tried re-creating it:
> gnome-shell --version
GNOME Shell 3.28.1
> cd /home/ronj/.local/share/gnome-shell/extensions/[email protected]/schemas
> rm gschemas.compiled
> glib-compile-schemas /home/ronj/.local/share/gnome-shell/extensions/[email protected]/schemas
> ls -la gschemas.compiled
-rw-r--r-- 1 ronj ronj 792 May 6 16:03 gschemas.compiled
, but I still get the same crash. What am I missing? An addition to the Installation section of README would be great ๐.
I see that search is based on some translations contributed here, this can lead to various problems:
But the thing is, Unicode and CLDR provides annotations for emoji in A LOT of languages, and for ALL emoji, in a easy to process format: https://www.unicode.org/repos/cldr/tags/release-34/common/annotations/en.xml
So I think this extension should rely on the official emoji annotation instead of trying to translate all emojis.
I do a bit of processing on the CLDR XML files here: https://github.com/jolicode/emoji-search - you can find Lucene formatted synonym files looking like this:
๐ฉโ๐ => ๐ฉโ๐, firefighter, firetruck, woman
๐ฉโโ => ๐ฉโโ, pilot, plane, woman
๐ฅ => ๐ฅ, bacon, meat, food
๐ฅ => ๐ฅ, potato, vegetable, food
๐
=> ๐
, cold, face, open, smile, sweat
๐ => ๐, face, laugh, mouth, open, satisfied, smile
๐ => ๐, bus, tram, trolley
๐ซ๐ท => ๐ซ๐ท, france
๐ฌ๐ง => ๐ฌ๐ง, united kingdom
Or just replace /update-and-compile-translations.sh with a new logic.
Cheers.
I use the dash-to-panel extension and have my panel on the bottom of the screen. The emoji-selector menu does not appear to select it, as the menu doesn't appear when clicked. The menu always draws below the icon, not above it if necessary.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.