Skip to content

Emoticons standard format ? #30

@SkyzohKey

Description

@SkyzohKey

Introduction:
The TCS should include a chapter on the emoticons packs storage. The emoticons packs would be stored in ~/.config/tox/emoticons/. This would permit differents clients to use the same packs and aswell save user's disk-space by not having 10 copy of the same emoticons packs.

I think we should make a strict format in order to ensure a good clients compatibility. See the following examples.

PoC for emoticon pack structure:

~/.config/tox/ || %APPDATA%/tox/ || ~/Library/Application Support/Tox/
emoticons/
-| twitter_emoji/
  -| package.json // A file that would map each image to the corresponding text-smiley.
  -| preview.png  // An image that would be used to preview a specific pack in clients.
  -| License      // The emoticon pack license.
  -| images/      // Here stands all the emoticons mapped in `package.json`
    -| smile.png
    -| blush.png
    -| thumbleweed.gif
    -| ...

A package.json file would look like this:

@field  author       The author of the emoticon pack.
@field  description  The description of the emoticon pack.
@field  url          The url from where the pack is available for downloading.
@field  license      The license of the emoticon pack.
@fiels  type         The pack type. Accepts "png", "gif", "mixed".
                     -- Where "mixed" is both "png" and "gif".
@field  map          A JSON array mapping images to strings.
{
  "author": "Pack author",
  "description": "Lorem impsum dolores sit amet.",
  "url": "https://url2download.thepack.tld",
  "license": {
    "type": "MIT",
    "online": "https://opensource.org/licenses/MIT"
  },
  "type": "mixed",

  "map": {
    "smile.png": [
      ":)",
      ":-)",
      "(smile)"
    ],
    "blush.png": [
      ":blush:",
      ":$"
    ],
    "thumbleweed.gif": ":thumbleweed:"
  }
}

Conclusion:
I think that we should stop to make clients without carying of compatibility with others and define formats for emoticons, stickers, friends profiles, avatars, clients settings, etc. All of this would be stored in the ~/.config/tox/ folder to centralize all the Tox's stuffs inside a single folder.
This would permit to just copy the tox/ dir to get the same Tox on another computer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions