Skip to content
  • Carlos Garnacho's avatar
    keyboard: Add Emoji keyboard · 42ae052d
    Carlos Garnacho authored and Florian Müllner's avatar Florian Müllner committed
    This keyboard works similar to GTK+'s emoji chooser (actually, both pull
    from the same JSON file). Emojis are categorized in sections and variants
    and kept in a "model".
    
    The EmojiPager actor then uses this model to generate pages on-the-fly as
    the user swipes around. This is an important optimization since the amount
    of actors would rival with the rest of the shell otherwise.
    
    The EmojiSelection object puts the EmojiPager, the page indicators and
    a KeyContainer with the bottom row of emoji section shortcuts together to
    implement the emoji panel as a whole.
    
    The Keyboard object hooked this to an "emoji" key, which is just visible
    on the Clutter.InputContentPurpose where showing an emoji would be
    meaningful. Otherwise the surrounding buttons are made a bit wider to
    cover up for it (i.e. as it was before).
    42ae052d