# Technical Documentation: linuxmint/cinnamon

> ℹ️ **Provenance:** Multi-Tier Ingestion · [CodeWiki Reference](https://codewiki.google/github.com/linuxmint/cinnamon)

### Overview (`data/cldr2json/README.md`)

cldr2json
=========

This script converts Unicode CLDR android keyboard layouts to JSON usable by
GNOME Shell.

CLDR keyboard layouts can be found at
<http://www.unicode.org/Public/cldr/latest/keyboards.zip>


Usage
=====

    ./cldr2json <input file or directory> <output directory>

example:

    ./cldr2json cldr/keyboards/android/ json_layouts/


Keyboard layout mapping
=======================

Unicode CLDR layout identifiers are language codes, while XKB layout
identifiers are... something else. The mapping between the two currently uses
heuristic based on the layout descriptions, in this order:

- if the CLDR layout description matches an XKB layout description, chose its
  XKB identifier
- if one word of the CLDR layout description matches an XKB layout
  description, chose its XKB identifier
- if the CLDR layout description matches one word of an XKB layout description,
  chose its XKB identifier

That doesn't always work. For instance it fails for "en" language, that should
match "us" XKB identifier. For such cases, there is a mapping in
LOCALE_TO_XKB_OVERRIDES at the top of the script. If you discover a weird
mapping of if you get a "failed to find XKB mapping for <locale>" warning then
please consider adding an override there.

---

### Applets Examples Finder@Cinnamon.Org Metadata.Json (`docs/applets-examples/finder@cinnamon.org/metadata.json`)

{
 "uuid": "finder@cinnamon.org",
 "name": "Search using search providers",
 "description": "Search using search providers",
 "icon": "xsi-edit-find-symbolic"
}

---

### Applets Examples Finder@Cinnamon.Org Settings Schema.Json (`docs/applets-examples/finder@cinnamon.org/settings-schema.json`)

{
 "launch_shortcut": {
    "type" : "keybinding",
    "default" : "<Super>F1",
    "description" : "Keyboard shortcut to show the search entry"
 }
}

---

### Search Providers Examples Apt@Cinnamon.Org Metadata.Json (`docs/search-providers-examples/apt@cinnamon.org/metadata.json`)

{
    "description": "Provides packages search results", 
    "uuid": "apt@cinnamon.org", 
    "name": "APT search provider"
}

---

### Search Providers Examples Calc@Cinnamon.Org Metadata.Json (`docs/search-providers-examples/calc@cinnamon.org/metadata.json`)

{
    "description": "Solves basic mathematical operations", 
    "uuid": "calc@cinnamon.org", 
    "name": "Calculator Search Provider"
}

---

### Search Providers Examples Chromium History@Cinnamon.Org Metadata.Json (`docs/search-providers-examples/chromium-history@cinnamon.org/metadata.json`)

{
    "description": "Chromium history", 
    "uuid": "chromium-history@cinnamon.org", 
    "name": "Chromium history"
}

---

### Search Providers Examples Trackerprovider@Cinnamon.Org Metadata.Json (`docs/search-providers-examples/trackerprovider@cinnamon.org/metadata.json`)

{
    "description": "Search using tracker", 
    "uuid": "trackerprovider@cinnamon.org", 
    "name": "Tracker search"
}

---

### Search Providers Examples Wikipedia@Cinnamon.Org Metadata.Json (`docs/search-providers-examples/wikipedia@cinnamon.org/metadata.json`)

{
    "description": "Wikipedia", 
    "uuid": "wikipedia@cinnamon.org", 
    "name": "Wikipedia",
    "supported_locales": ["en"],
    "locale_data": {
        "wikipedia_url": {
            "en": "https://en.wikipedia.org/w/api.php?action=opensearch&search=%s&format=json&limit=5"
        }
    }
}

---

### Search Providers Examples Yahoo@Cinnamon.Org Metadata.Json (`docs/search-providers-examples/yahoo@cinnamon.org/metadata.json`)

{
    "description": "Yahoo", 
    "uuid": "yahoo@cinnamon.org", 
    "name": "Yahoo",
    "supported_locales": ["en"],
    "locale_data": {
        "yahoo_url": {
            "en": "https://search.yahoo.com/yhs/search?p=%s&fr=sfp&fr2=&type=__alt__ddc_linuxmint_com&hspart=ddc&hsimp=yhs-linuxmint&iscqry="
        }
    }
}

---

--- METRICS ---
- Files Extracted: 9
- Estimated Token Budget: ~970 tokens
- Canonical Reference: https://codewiki.google/github.com/linuxmint/cinnamon
