Skip to content
This repository has been archived by the owner on Apr 22, 2024. It is now read-only.

Syncs gnome shell keybindings, tweaks settings and extensions with their configuration across all gnome installations

License

Notifications You must be signed in to change notification settings

oae/gnome-shell-extensions-sync

Repository files navigation

Extensions Sync

Development

  • Open looking glass from bash

    gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.lookingGlass.toggle();'
  • Reload shell from bash

    busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'Meta.restart("Restarting…")'
  • Watch logs from extension

    journalctl /usr/bin/gnome-shell -f -o cat | grep "\[extensions-sync\]"
  • External Libraries

    • Library bindings can be found in

      • /usr/lib/girepository-1.0
      • /usr/share/gir-1.0
    • To extract documentation from them you can use following command

      mkdir docs
      g-ir-doc-tool -l gjs /usr/share/gir-1.0/libxml2-2.0.gir -o ./docs

Dependencies

Documentations

Gist Structure

{
  "description": "Extensions sync",
  "files": {
    "syncSettings": {
      "content": {
        "lastUpload": "time",
        "shellVersion": "gnome shell version"
      }
    },
    "extensions": {
      "content": [
        "extension1",
        "extension2",
        "extension3",
        "extension4",
        "extension5",
      ]
    },
    "extensionSettings": {
      "content": {
        "extension1": {
          "schema1": "schema1 settings",
          "schema2": "schema2 settings",
        },
        "extension2": {
          "schema1": "schema1 settings",
          "schema2": "schema2 settings",
        },
      }
    }
  }
}