5 votes

Why emoji picker default on?

I'm running a nixos linux machine with Hyperland as my window manager and a few month back (likely after an update) I noticed that firefox started showing a emoji picker when I pressed ctrl+.. This was a bit annoying since the firefox extension for my password manager is activated by that key shortcut. I figured this was some update for firefox, but now that I dug into it to fix it it turns out that it is a gtk thing that apparently each app has to opt out of! I could disable it by flipping widget.gtk.native-emoji-dialog in about:config, but this seems like a really bad choice by gtk. Two gripes with this:

  1. Them adding a global keyboard shortcut for all gtk apps that is ON by default (for a kind of niche usecase).
  2. Overriding shortcuts on a desktop wide basis with no meaningful (afaict) way to disable it.

Anyone knows if this is intentional? Maybe it's already been reverted upstream and I just need to update... anyway end rant!

1 comment

  1. 3WolfMoon
    (edited )
    Link
    To put it simply, that's just how the GNOME devs roll. Support for the emoji picker was added in Firefox 150, likely when you began noticing it. Changing your extension's hotkey or the Firefox...

    To put it simply, that's just how the GNOME devs roll.

    Support for the emoji picker was added in Firefox 150, likely when you began noticing it. Changing your extension's hotkey or the Firefox preference are probably the easiest solutions. Alternatively, you could unbind or change the binding for GTK3 apps (like Firefox) in ~/.config/gtk-3.0/gtk.css. I'm not sure if there is any choice from a user level for GTK4 apps unless one is provided by the app developers.

    Playing a bit of the devil's advocate: Ctrl+. is likely a niche bind to have pre-existing, while easy access to emoji is desirable for many users these days, even if it may not be for the average Tildes user.

    edit: a user with your same complaint shared a gtk.css rebind snippet, probably more immediately helpful than the gtk docs link.

    snippet
    @binding-set EmojiSelectRemap {
      unbind "<Control>period";
      bind "<Control><Shift>e" { "insert-emoji" () };
    }
    
    entry, textview {
      -gtk-key-bindings: EmojiSelectRemap;
    }
    
    2 votes