--- date: 2023-07-13 title: Getting Emoji to Work in KDE on Debian tags: - Debian - GNU+Linux - KDE --- This is going to be a relatively short and uninteresting post for most, it'll just document how to get emoji to work in KDE. While it will work with most applications out of the box, this doesn't appear to work in Qt applications by default, including the notification panel. As I use my notifications for messages I get from my work chat, and I dislike seeing the squares, I set out to find the solution. I've had to string together a couple sources of information to get to the correct setup, and this blog post intends to show just the useful bits. So here goes! You'll need an emoji font (in my case `fonts-noto-color-emoji`), add two configuration files for fontconfig, rebuild the fontconfig cache, and most likely log out and back into KDE. Installing the emoji font is probably the easy bit and won't need any additional explanation I hope. So let's get started on the first configuration file, which will enable the Noto emoji font to be used, and also force it to be used in favour of other emoji fonts if any application was using that specifically. I have it saved as `/etc/fonts/conf.d/75-noto-color-emoji.conf`. ```xml emoji Noto Color Emoji sans Noto Color Emoji serif Noto Color Emoji sans-serif Noto Color Emoji monospace Noto Color Emoji Symbola Apple Color Emoji Noto Color Emoji Segoe UI Emoji Noto Color Emoji Segoe UI Symbol Noto Color Emoji Android Emoji Noto Color Emoji Twitter Color Emoji Noto Color Emoji Twemoji Noto Color Emoji Twemoji Mozilla Noto Color Emoji TwemojiMozilla Noto Color Emoji EmojiTwo Noto Color Emoji Emoji Two Noto Color Emoji EmojiSymbols Noto Color Emoji Symbola Noto Color Emoji ``` The second configuration file, saved as `/etc/fonts/conf.d/local.conf`, simply adds the Noto emoji font as a fallback. This enables the use of it when an emoji is going to be rendered. ```xml Noto Color Emoji ``` And after this, a relog of your (graphical) session should be all that is needed in order to make it work. You can easily test it with `notify-send`, or trying to render some emoji in `konsole`.