Compare commits
15 Commits
3.30.2
...
wip/deskto
Author | SHA1 | Date | |
---|---|---|---|
45797a977b | |||
884b94233e | |||
74d3e3139f | |||
77b5385cc3 | |||
d749d646be | |||
fa8224d7b5 | |||
f687197ccc | |||
28a6aefb6c | |||
96c2a90e11 | |||
63cf46e49b | |||
200a9ef1af | |||
6050ca6e0c | |||
8bd7db9227 | |||
982feb85c1 | |||
f165cc23c0 |
41
.gitignore
vendored
41
.gitignore
vendored
@ -6,21 +6,28 @@
|
|||||||
ABOUT-NLS
|
ABOUT-NLS
|
||||||
ChangeLog
|
ChangeLog
|
||||||
INSTALL
|
INSTALL
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
aclocal.m4
|
aclocal.m4
|
||||||
autom4te.cache
|
autom4te.cache
|
||||||
data/.osk-layout-workbench
|
config.h
|
||||||
data/org.gnome.Shell.desktop
|
config.h.in
|
||||||
data/org.gnome.Shell.desktop.in
|
config.log
|
||||||
|
config.status
|
||||||
|
config
|
||||||
|
configure
|
||||||
|
data/50-gnome-shell-*.xml
|
||||||
|
data/gnome-shell.desktop
|
||||||
|
data/gnome-shell.desktop.in
|
||||||
|
data/gnome-shell-wayland.desktop
|
||||||
|
data/gnome-shell-wayland.desktop.in
|
||||||
data/gnome-shell-extension-prefs.desktop
|
data/gnome-shell-extension-prefs.desktop
|
||||||
data/gnome-shell-extension-prefs.desktop.in
|
data/gnome-shell-extension-prefs.desktop.in
|
||||||
data/gnome-shell-theme.gresource
|
|
||||||
data/gschemas.compiled
|
data/gschemas.compiled
|
||||||
data/perf-background.xml
|
|
||||||
data/org.gnome.shell.gschema.xml
|
data/org.gnome.shell.gschema.xml
|
||||||
data/org.gnome.shell.gschema.valid
|
data/org.gnome.shell.gschema.valid
|
||||||
data/org.gnome.Shell.PortalHelper.desktop
|
data/org.gnome.shell.evolution.calendar.gschema.xml
|
||||||
data/org.gnome.Shell.PortalHelper.service
|
data/org.gnome.shell.evolution.calendar.gschema.valid
|
||||||
data/theme/.sass-cache
|
|
||||||
docs/reference/*/*.args
|
docs/reference/*/*.args
|
||||||
docs/reference/*/*.bak
|
docs/reference/*/*.bak
|
||||||
docs/reference/*/*.hierarchy
|
docs/reference/*/*.hierarchy
|
||||||
@ -34,9 +41,13 @@ docs/reference/*/*.types
|
|||||||
docs/reference/*/html/
|
docs/reference/*/html/
|
||||||
docs/reference/*/xml/
|
docs/reference/*/xml/
|
||||||
docs/reference/shell/doc-gen-*
|
docs/reference/shell/doc-gen-*
|
||||||
|
gtk-doc.make
|
||||||
js/misc/config.js
|
js/misc/config.js
|
||||||
js/js-resources.c
|
intltool-extract.in
|
||||||
js/js-resources.h
|
intltool-merge.in
|
||||||
|
intltool-update.in
|
||||||
|
libtool
|
||||||
|
m4/
|
||||||
man/gnome-shell.1
|
man/gnome-shell.1
|
||||||
omf.make
|
omf.make
|
||||||
po/*.gmo
|
po/*.gmo
|
||||||
@ -45,6 +56,7 @@ po/*.header
|
|||||||
po/*.sed
|
po/*.sed
|
||||||
po/*.sin
|
po/*.sin
|
||||||
po/.intltool-merge-cache
|
po/.intltool-merge-cache
|
||||||
|
po/Makefile.in.in
|
||||||
po/Makevars.template
|
po/Makevars.template
|
||||||
po/POTFILES
|
po/POTFILES
|
||||||
po/Rules-quot
|
po/Rules-quot
|
||||||
@ -54,18 +66,22 @@ src/*.gir
|
|||||||
src/*.typelib
|
src/*.typelib
|
||||||
src/*-enum-types.[ch]
|
src/*-enum-types.[ch]
|
||||||
src/*-marshal.[ch]
|
src/*-marshal.[ch]
|
||||||
|
src/Makefile
|
||||||
|
src/Makefile.in
|
||||||
src/calendar-server/evolution-calendar.desktop
|
src/calendar-server/evolution-calendar.desktop
|
||||||
|
src/calendar-server/evolution-calendar.desktop.in
|
||||||
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
||||||
src/gnome-shell
|
src/gnome-shell
|
||||||
src/gnome-shell-calendar-server
|
src/gnome-shell-calendar-server
|
||||||
src/gnome-shell-extension-prefs
|
src/gnome-shell-extension-prefs
|
||||||
src/gnome-shell-extension-tool
|
src/gnome-shell-extension-tool
|
||||||
src/gnome-shell-hotplug-sniffer
|
src/gnome-shell-hotplug-sniffer
|
||||||
|
src/gnome-shell-jhbuild
|
||||||
src/gnome-shell-perf-helper
|
src/gnome-shell-perf-helper
|
||||||
src/gnome-shell-perf-tool
|
src/gnome-shell-perf-tool
|
||||||
src/gnome-shell-portal-helper
|
src/gnome-shell-real
|
||||||
|
src/gnome-shell-wayland
|
||||||
src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service
|
src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service
|
||||||
src/org-gtk-application.[ch]
|
|
||||||
src/run-js-test
|
src/run-js-test
|
||||||
src/test-recorder
|
src/test-recorder
|
||||||
src/test-recorder.ogg
|
src/test-recorder.ogg
|
||||||
@ -77,6 +93,7 @@ src/st-scroll-view-fade-generated.c
|
|||||||
src/stamp-st-scroll-view-fade-generated.c
|
src/stamp-st-scroll-view-fade-generated.c
|
||||||
stamp-h1
|
stamp-h1
|
||||||
tests/run-test.sh
|
tests/run-test.sh
|
||||||
|
xmldocs.make
|
||||||
*~
|
*~
|
||||||
*.patch
|
*.patch
|
||||||
*.sw?
|
*.sw?
|
||||||
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -1,3 +1,3 @@
|
|||||||
[submodule "subprojects/gvc"]
|
[submodule "src/gvc"]
|
||||||
path = subprojects/gvc
|
path = src/gvc
|
||||||
url = https://gitlab.gnome.org/GNOME/libgnome-volume-control.git
|
url = git://git.gnome.org/libgnome-volume-control
|
||||||
|
41
COPYING
41
COPYING
@ -1,12 +1,12 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||||||
General Public License applies to most of the Free Software
|
General Public License applies to most of the Free Software
|
||||||
Foundation's software and to any other program whose authors commit to
|
Foundation's software and to any other program whose authors commit to
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
the GNU Lesser General Public License instead.) You can apply it to
|
the GNU Library General Public License instead.) You can apply it to
|
||||||
your programs, too.
|
your programs, too.
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
When we speak of free software, we are referring to freedom, not
|
||||||
@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
The precise terms and conditions for copying, distribution and
|
||||||
modification follow.
|
modification follow.
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
0. This License applies to any program or other work which contains
|
||||||
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||||||
License. (Exception: if the Program itself is interactive but
|
License. (Exception: if the Program itself is interactive but
|
||||||
does not normally print such an announcement, your work based on
|
does not normally print such an announcement, your work based on
|
||||||
the Program is not required to print an announcement.)
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
These requirements apply to the modified work as a whole. If
|
||||||
identifiable sections of that work are not derived from the Program,
|
identifiable sections of that work are not derived from the Program,
|
||||||
and can be reasonably considered independent and separate works in
|
and can be reasonably considered independent and separate works in
|
||||||
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||||||
access to copy the source code from the same place counts as
|
access to copy the source code from the same place counts as
|
||||||
distribution of the source code, even though third parties are not
|
distribution of the source code, even though third parties are not
|
||||||
compelled to copy the source along with the object code.
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
except as expressly provided under this License. Any attempt
|
except as expressly provided under this License. Any attempt
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
@ -225,7 +225,7 @@ impose that choice.
|
|||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
This section is intended to make thoroughly clear what is believed to
|
||||||
be a consequence of the rest of this License.
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
original copyright holder who places the Program under this License
|
original copyright holder who places the Program under this License
|
||||||
@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
|
|||||||
of preserving the free status of all derivatives of our free software and
|
of preserving the free status of all derivatives of our free software and
|
||||||
of promoting the sharing and reuse of software generally.
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
If you develop a new program, and you want it to be of the greatest
|
||||||
possible use to the public, the best way to achieve this is to make it
|
possible use to the public, the best way to achieve this is to make it
|
||||||
@ -303,16 +303,17 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along
|
You should have received a copy of the GNU General Public License
|
||||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
along with this program; if not, write to the Free Software
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
If the program is interactive, make it output a short notice like this
|
||||||
when it starts in an interactive mode:
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
@ -335,5 +336,5 @@ necessary. Here is a sample; alter the names:
|
|||||||
This General Public License does not permit incorporating your program into
|
This General Public License does not permit incorporating your program into
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
consider it more useful to permit linking proprietary applications with the
|
consider it more useful to permit linking proprietary applications with the
|
||||||
library. If this is what you want to do, use the GNU Lesser General
|
library. If this is what you want to do, use the GNU Library General
|
||||||
Public License instead of this License.
|
Public License instead of this License.
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
# Coding guide
|
Coding guide
|
||||||
|
============
|
||||||
|
|
||||||
Our goal is to have all JavaScript code in GNOME follow a consistent style. In
|
Our goal is to have all JavaScript code in GNOME follow a consistent style. In
|
||||||
a dynamic language like JavaScript, it is essential to be rigorous about style
|
a dynamic language like JavaScript, it is essential to be rigorous about style
|
||||||
(and unit tests), or you rapidly end up with a spaghetti-code mess.
|
(and unit tests), or you rapidly end up with a spaghetti-code mess.
|
||||||
|
|
||||||
## A quick note
|
A quick note
|
||||||
|
------------
|
||||||
|
|
||||||
Life isn't fun if you can't break the rules. If a rule seems unnecessarily
|
Life isn't fun if you can't break the rules. If a rule seems unnecessarily
|
||||||
restrictive while you're coding, ignore it, and let the patch reviewer decide
|
restrictive while you're coding, ignore it, and let the patch reviewer decide
|
||||||
what to do.
|
what to do.
|
||||||
|
|
||||||
## Indentation and whitespace
|
Indentation and whitespace
|
||||||
|
--------------------------
|
||||||
|
|
||||||
Use four-space indents. Braces are on the same line as their associated
|
Use four-space indents. Braces are on the same line as their associated
|
||||||
statements. You should only omit braces if *both* sides of the statement are
|
statements. You should only omit braces if *both* sides of the statement are
|
||||||
@ -19,7 +22,7 @@ on one line.
|
|||||||
* One space after the `function` keyword. No space between the function name
|
* One space after the `function` keyword. No space between the function name
|
||||||
* in a declaration or a call. One space before the parens in the `if`
|
* in a declaration or a call. One space before the parens in the `if`
|
||||||
* statements, or `while`, or `for` loops.
|
* statements, or `while`, or `for` loops.
|
||||||
```javascript
|
|
||||||
function foo(a, b) {
|
function foo(a, b) {
|
||||||
let bar;
|
let bar;
|
||||||
|
|
||||||
@ -36,20 +39,22 @@ on one line.
|
|||||||
print(20);
|
print(20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
|
||||||
|
|
||||||
## Semicolons
|
Semicolons
|
||||||
|
----------
|
||||||
|
|
||||||
JavaScript allows omitting semicolons at the end of lines, but don't. Always
|
JavaScript allows omitting semicolons at the end of lines, but don't. Always
|
||||||
end statements with a semicolon.
|
end statements with a semicolon.
|
||||||
|
|
||||||
## js2-mode
|
js2-mode
|
||||||
|
--------
|
||||||
|
|
||||||
If using Emacs, do not use js2-mode. It is outdated and hasn't worked for a
|
If using Emacs, do not use js2-mode. It is outdated and hasn't worked for a
|
||||||
while. emacs now has a built-in JavaScript mode, js-mode, based on
|
while. emacs now has a built-in JavaScript mode, js-mode, based on
|
||||||
espresso-mode. It is the de facto emacs mode for JavaScript.
|
espresso-mode. It is the de facto emacs mode for JavaScript.
|
||||||
|
|
||||||
## File naming and creation
|
File naming and creation
|
||||||
|
------------------------
|
||||||
|
|
||||||
For JavaScript files, use lowerCamelCase-style names, with a `.js` extension.
|
For JavaScript files, use lowerCamelCase-style names, with a `.js` extension.
|
||||||
|
|
||||||
@ -62,13 +67,14 @@ library name followed by a dash, e.g. `shell-app-system.c`. Create a
|
|||||||
`-private.h` header when you want to share code internally in the
|
`-private.h` header when you want to share code internally in the
|
||||||
library. These headers are not installed, distributed or introspected.
|
library. These headers are not installed, distributed or introspected.
|
||||||
|
|
||||||
## Imports
|
Imports
|
||||||
|
-------
|
||||||
|
|
||||||
Use UpperCamelCase when importing modules to distinguish them from ordinary
|
Use UpperCamelCase when importing modules to distinguish them from ordinary
|
||||||
variables, e.g.
|
variables, e.g.
|
||||||
```javascript
|
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
```
|
|
||||||
Imports should be categorized into one of two places. The top-most import block
|
Imports should be categorized into one of two places. The top-most import block
|
||||||
should contain only "environment imports". These are either modules from
|
should contain only "environment imports". These are either modules from
|
||||||
gobject-introspection or modules added by gjs itself.
|
gobject-introspection or modules added by gjs itself.
|
||||||
@ -79,7 +85,7 @@ e.g. `imports.ui.popupMenu`.
|
|||||||
|
|
||||||
Each import block should be sorted alphabetically. Don't import modules you
|
Each import block should be sorted alphabetically. Don't import modules you
|
||||||
don't use.
|
don't use.
|
||||||
```javascript
|
|
||||||
const GLib = imports.gi.GLib;
|
const GLib = imports.gi.GLib;
|
||||||
const Gio = imports.gi.Gio;
|
const Gio = imports.gi.Gio;
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
@ -89,22 +95,23 @@ don't use.
|
|||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
```
|
|
||||||
The alphabetical ordering should be done independently of the location of the
|
The alphabetical ordering should be done independently of the location of the
|
||||||
location. Never reference `imports` in actual code.
|
location. Never reference `imports` in actual code.
|
||||||
|
|
||||||
## Constants
|
Constants
|
||||||
|
---------
|
||||||
|
|
||||||
We use CONSTANTS_CASE to define constants. All constants should be directly
|
We use CONSTANTS_CASE to define constants. All constants should be directly
|
||||||
under the imports:
|
under the imports:
|
||||||
```javascript
|
|
||||||
const MY_DBUS_INTERFACE = 'org.my.Interface';
|
|
||||||
```
|
|
||||||
|
|
||||||
## Variable declaration
|
const MY_DBUS_INTERFACE = 'org.my.Interface';
|
||||||
|
|
||||||
|
Variable declaration
|
||||||
|
--------------------
|
||||||
|
|
||||||
Always use either `const` or `let` when defining a variable.
|
Always use either `const` or `let` when defining a variable.
|
||||||
```javascript
|
|
||||||
// Iterating over an array
|
// Iterating over an array
|
||||||
for (let i = 0; i < arr.length; ++i) {
|
for (let i = 0; i < arr.length; ++i) {
|
||||||
let item = arr[i];
|
let item = arr[i];
|
||||||
@ -114,32 +121,31 @@ Always use either `const` or `let` when defining a variable.
|
|||||||
for (let prop in someobj) {
|
for (let prop in someobj) {
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
```
|
|
||||||
|
|
||||||
If you use "var" then the variable is added to function scope, not block scope.
|
If you use "var" then the variable is added to function scope, not block scope.
|
||||||
See [What's new in JavaScript 1.7](https://developer.mozilla.org/en/JavaScript/New_in_JavaScript/1.7#Block_scope_with_let_%28Merge_into_let_Statement%29)
|
See [What's new in JavaScript 1.7](https://developer.mozilla.org/en/JavaScript/New_in_JavaScript/1.7#Block_scope_with_let_%28Merge_into_let_Statement%29)
|
||||||
|
|
||||||
## Classes
|
Classes
|
||||||
|
-------
|
||||||
|
|
||||||
There are many approaches to classes in JavaScript. We use our own class framework
|
There are many approaches to classes in JavaScript. We use our own class framework
|
||||||
(sigh), which is built in gjs. The advantage is that it supports inheriting from
|
(sigh), which is built in gjs. The advantage is that it supports inheriting from
|
||||||
GObjects, although this feature isn't used very often in the Shell itself.
|
GObjects, although this feature isn't used very often in the Shell itself.
|
||||||
```javascript
|
|
||||||
var IconLabelMenuItem = new Lang.Class({
|
const IconLabelMenuItem = new Lang.Class({
|
||||||
Name: 'IconLabelMenuItem',
|
Name: 'IconLabelMenuItem',
|
||||||
Extends: PopupMenu.PopupMenuBaseItem,
|
Extends: PopupMenu.PopupMenuBaseItem,
|
||||||
|
|
||||||
_init(icon, label) {
|
_init: function(icon, label) {
|
||||||
this.parent({ reactive: false });
|
this.parent({ reactive: false });
|
||||||
this.actor.add_child(icon);
|
this.actor.add_child(icon);
|
||||||
this.actor.add_child(label);
|
this.actor.add_child(label);
|
||||||
},
|
},
|
||||||
|
|
||||||
open() {
|
open: function() {
|
||||||
log("menu opened!");
|
log("menu opened!");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
```
|
|
||||||
|
|
||||||
* 'Name' is required. 'Extends' is optional. If you leave it out, you will
|
* 'Name' is required. 'Extends' is optional. If you leave it out, you will
|
||||||
automatically inherit from Object.
|
automatically inherit from Object.
|
||||||
@ -156,34 +162,35 @@ GObjects, although this feature isn't used very often in the Shell itself.
|
|||||||
still a giant function call, even though it may resemble a more
|
still a giant function call, even though it may resemble a more
|
||||||
conventional syntax.
|
conventional syntax.
|
||||||
|
|
||||||
## GObject Introspection
|
GObject Introspection
|
||||||
|
---------------------
|
||||||
|
|
||||||
GObject Introspection is a powerful feature that allows us to have native
|
GObject Introspection is a powerful feature that allows us to have native
|
||||||
bindings for almost any library built around GObject. If a library requires
|
bindings for almost any library built around GObject. If a library requires
|
||||||
you to inherit from a type to use it, you can do so:
|
you to inherit from a type to use it, you can do so:
|
||||||
```javascript
|
|
||||||
var MyClutterActor = new Lang.Class({
|
const MyClutterActor = new Lang.Class({
|
||||||
Name: 'MyClutterActor',
|
Name: 'MyClutterActor',
|
||||||
Extends: Clutter.Actor,
|
Extends: Clutter.Actor,
|
||||||
|
|
||||||
vfunc_get_preferred_width(actor, forHeight) {
|
vfunc_get_preferred_width: function(actor, forHeight) {
|
||||||
return [100, 100];
|
return [100, 100];
|
||||||
},
|
},
|
||||||
|
|
||||||
vfunc_get_preferred_height(actor, forWidth) {
|
vfunc_get_preferred_height: function(actor, forWidth) {
|
||||||
return [100, 100];
|
return [100, 100];
|
||||||
},
|
},
|
||||||
|
|
||||||
vfunc_paint(actor) {
|
vfunc_paint: function(actor) {
|
||||||
let alloc = this.get_allocation_box();
|
let alloc = this.get_allocation_box();
|
||||||
Cogl.set_source_color4ub(255, 0, 0, 255);
|
Cogl.set_source_color4ub(255, 0, 0, 255);
|
||||||
Cogl.rectangle(alloc.x1, alloc.y1,
|
Cogl.rectangle(alloc.x1, alloc.y1,
|
||||||
alloc.x2, alloc.y2);
|
alloc.x2, alloc.y2);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
```
|
|
||||||
|
|
||||||
## Translatable strings, `environment.js`
|
Translatable strings, `environment.js`
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
We use gettext to translate the GNOME Shell into all the languages that GNOME
|
We use gettext to translate the GNOME Shell into all the languages that GNOME
|
||||||
supports. The `gettext` function is aliased globally as `_`, you do not need to
|
supports. The `gettext` function is aliased globally as `_`, you do not need to
|
||||||
@ -197,7 +204,8 @@ and "double quotes" for strings that the user may see. This allows us to
|
|||||||
quickly find untranslated or mistranslated strings by grepping through the
|
quickly find untranslated or mistranslated strings by grepping through the
|
||||||
sources for double quotes without a gettext call around them.
|
sources for double quotes without a gettext call around them.
|
||||||
|
|
||||||
## `actor` and `_delegate`
|
`actor` and `_delegate`
|
||||||
|
-----------------------
|
||||||
|
|
||||||
gjs allows us to set so-called "expando properties" on introspected objects,
|
gjs allows us to set so-called "expando properties" on introspected objects,
|
||||||
allowing us to treat them like any other. Because the Shell was built before
|
allowing us to treat them like any other. Because the Shell was built before
|
||||||
@ -206,22 +214,21 @@ that has a property called `actor`. We call this wrapper class the "delegate".
|
|||||||
|
|
||||||
We sometimes use expando properties to set a property called `_delegate` on
|
We sometimes use expando properties to set a property called `_delegate` on
|
||||||
the actor itself:
|
the actor itself:
|
||||||
```javascript
|
|
||||||
var MyClass = new Lang.Class({
|
const MyClass = new Lang.Class({
|
||||||
Name: 'MyClass',
|
Name: 'MyClass',
|
||||||
|
|
||||||
_init() {
|
_init: function() {
|
||||||
this.actor = new St.Button({ text: "This is a button" });
|
this.actor = new St.Button({ text: "This is a button" });
|
||||||
this.actor._delegate = this;
|
this.actor._delegate = this;
|
||||||
|
|
||||||
this.actor.connect('clicked', this._onClicked.bind(this));
|
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
|
||||||
},
|
},
|
||||||
|
|
||||||
_onClicked(actor) {
|
_onClicked: function(actor) {
|
||||||
actor.set_label("You clicked the button!");
|
actor.set_label("You clicked the button!");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
```
|
|
||||||
|
|
||||||
The 'delegate' property is important for anything which trying to get the
|
The 'delegate' property is important for anything which trying to get the
|
||||||
delegate object from an associated actor. For instance, the drag and drop
|
delegate object from an associated actor. For instance, the drag and drop
|
||||||
@ -229,60 +236,57 @@ system calls the `handleDragOver` function on the delegate of a "drop target"
|
|||||||
when the user drags an item over it. If you do not set the `_delegate`
|
when the user drags an item over it. If you do not set the `_delegate`
|
||||||
property, your actor will not be able to be dropped onto.
|
property, your actor will not be able to be dropped onto.
|
||||||
|
|
||||||
## Functional style
|
Functional style
|
||||||
|
----------------
|
||||||
|
|
||||||
JavaScript Array objects offer a lot of common functional programming
|
JavaScript Array objects offer a lot of common functional programming
|
||||||
capabilities such as forEach, map, filter and so on. You can use these when
|
capabilities such as forEach, map, filter and so on. You can use these when
|
||||||
they make sense, but please don't have a spaghetti mess of function programming
|
they make sense, but please don't have a spaghetti mess of function programming
|
||||||
messed in a procedural style. Use your best judgment.
|
messed in a procedural style. Use your best judgment.
|
||||||
|
|
||||||
## Closures
|
Closures
|
||||||
|
--------
|
||||||
|
|
||||||
`this` will not be captured in a closure, it is relative to how the closure is
|
`this` will not be captured in a closure, it is relative to how the closure is
|
||||||
invoked, not to the value of this where the closure is created, because "this"
|
invoked, not to the value of this where the closure is created, because "this"
|
||||||
is a keyword with a value passed in at function invocation time, it is not a
|
is a keyword with a value passed in at function invocation time, it is not a
|
||||||
variable that can be captured in closures.
|
variable that can be captured in closures.
|
||||||
|
|
||||||
All closures should be wrapped with Function.prototype.bind or use arrow
|
All closures should be wrapped with a Lang.bind.
|
||||||
notation.
|
|
||||||
```javascript
|
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
|
|
||||||
let closure1 = () => { this._fnorbate(); };
|
let closure = Lang.bind(this, function() { this._fnorbate(); });
|
||||||
let closure2 = this._fnorbate.bind(this);
|
|
||||||
```
|
|
||||||
|
|
||||||
A more realistic example would be connecting to a signal on a method of a
|
A more realistic example would be connecting to a signal on a method of a
|
||||||
prototype:
|
prototype:
|
||||||
```javascript
|
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
const FnorbLib = imports.fborbLib;
|
const FnorbLib = imports.fborbLib;
|
||||||
|
|
||||||
var MyClass = new Lang.Class({
|
const MyClass = new Lang.Class({
|
||||||
_init() {
|
_init: function() {
|
||||||
let fnorb = new FnorbLib.Fnorb();
|
let fnorb = new FnorbLib.Fnorb();
|
||||||
fnorb.connect('frobate', this._onFnorbFrobate.bind(this));
|
fnorb.connect('frobate', Lang.bind(this, this._onFnorbFrobate));
|
||||||
},
|
},
|
||||||
|
|
||||||
_onFnorbFrobate(fnorb) {
|
_onFnorbFrobate: function(fnorb) {
|
||||||
this._updateFnorb();
|
this._updateFnorb();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
```
|
|
||||||
|
|
||||||
## Object literal syntax
|
Object literal syntax
|
||||||
|
---------------------
|
||||||
|
|
||||||
In JavaScript, these are equivalent:
|
In JavaScript, these are equivalent:
|
||||||
```javascript
|
|
||||||
foo = { 'bar': 42 };
|
foo = { 'bar': 42 };
|
||||||
foo = { bar: 42 };
|
foo = { bar: 42 };
|
||||||
```
|
|
||||||
|
|
||||||
and so are these:
|
and so are these:
|
||||||
```javascript
|
|
||||||
var b = foo['bar'];
|
var b = foo['bar'];
|
||||||
var b = foo.bar;
|
var b = foo.bar;
|
||||||
```
|
|
||||||
|
|
||||||
If your usage of an object is like an object, then you're defining "member
|
If your usage of an object is like an object, then you're defining "member
|
||||||
variables." For member variables, use the no-quotes no-brackets syntax: `{ bar:
|
variables." For member variables, use the no-quotes no-brackets syntax: `{ bar:
|
||||||
@ -292,19 +296,20 @@ If your usage of an object is like a hash table (and thus conceptually the keys
|
|||||||
can have special chars in them), don't use quotes, but use brackets: `{ bar: 42
|
can have special chars in them), don't use quotes, but use brackets: `{ bar: 42
|
||||||
}`, `foo['bar']`.
|
}`, `foo['bar']`.
|
||||||
|
|
||||||
## Getters, setters, and Tweener
|
Getters, setters, and Tweener
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
Getters and setters should be used when you are dealing with an API that is
|
Getters and setters should be used when you are dealing with an API that is
|
||||||
designed around setting properties, like Tweener. If you want to animate an
|
designed around setting properties, like Tweener. If you want to animate an
|
||||||
arbitrary property, create a getter and setter, and use Tweener to animate the
|
arbitrary property, create a getter and setter, and use Tweener to animate the
|
||||||
property.
|
property.
|
||||||
```javascript
|
|
||||||
var ANIMATION_TIME = 2000;
|
|
||||||
|
|
||||||
var MyClass = new Lang.Class({
|
const ANIMATION_TIME = 2000;
|
||||||
|
|
||||||
|
const MyClass = new Lang.Class({
|
||||||
Name: 'MyClass',
|
Name: 'MyClass',
|
||||||
|
|
||||||
_init() {
|
_init: function() {
|
||||||
this.actor = new St.BoxLayout();
|
this.actor = new St.BoxLayout();
|
||||||
this._position = 0;
|
this._position = 0;
|
||||||
},
|
},
|
||||||
@ -324,4 +329,3 @@ property.
|
|||||||
{ position: 100,
|
{ position: 100,
|
||||||
time: ANIMATION_TIME,
|
time: ANIMATION_TIME,
|
||||||
transition: 'easeOutQuad' });
|
transition: 'easeOutQuad' });
|
||||||
```
|
|
7
MAINTAINERS
Normal file
7
MAINTAINERS
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Owen Taylor
|
||||||
|
E-mail: otaylor@redhat.com
|
||||||
|
Userid: otaylor
|
||||||
|
|
||||||
|
Colin Walters
|
||||||
|
E-mail: walters@verbum.org
|
||||||
|
Userid: walters
|
29
Makefile.am
Normal file
29
Makefile.am
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Point to our macro directory and pick up user flags from the environment
|
||||||
|
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||||
|
|
||||||
|
SUBDIRS = data js src browser-plugin tests po docs
|
||||||
|
|
||||||
|
if ENABLE_MAN
|
||||||
|
SUBDIRS += man
|
||||||
|
endif
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
.project \
|
||||||
|
.settings \
|
||||||
|
autogen.sh \
|
||||||
|
tools/check-for-missing.py
|
||||||
|
|
||||||
|
# These are files checked into Git that we don't want to distribute
|
||||||
|
DIST_EXCLUDE = \
|
||||||
|
.gitignore \
|
||||||
|
.gitmodules \
|
||||||
|
gnome-shell.doap \
|
||||||
|
HACKING \
|
||||||
|
MAINTAINERS \
|
||||||
|
tools/build/*
|
||||||
|
|
||||||
|
distcheck-hook:
|
||||||
|
@echo "Checking disted files against files in git"
|
||||||
|
@$(srcdir)/tools/check-for-missing.py $(srcdir) $(distdir) $(DIST_EXCLUDE)
|
||||||
|
|
||||||
|
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man
|
@ -1,4 +1,3 @@
|
|||||||
# GNOME Shell
|
|
||||||
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
|
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
|
||||||
like switching to windows and launching applications. GNOME Shell takes
|
like switching to windows and launching applications. GNOME Shell takes
|
||||||
advantage of the capabilities of modern graphics hardware and introduces
|
advantage of the capabilities of modern graphics hardware and introduces
|
||||||
@ -7,14 +6,15 @@ easy to use experience.
|
|||||||
|
|
||||||
For more information about GNOME Shell, including instructions on how
|
For more information about GNOME Shell, including instructions on how
|
||||||
to build GNOME Shell from source and how to get involved with the project,
|
to build GNOME Shell from source and how to get involved with the project,
|
||||||
see the [project wiki][project-wiki].
|
see:
|
||||||
|
|
||||||
Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
|
http://live.gnome.org/GnomeShell
|
||||||
|
|
||||||
## License
|
Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
|
||||||
|
product.
|
||||||
|
|
||||||
|
License
|
||||||
|
=======
|
||||||
GNOME Shell is distributed under the terms of the GNU General Public License,
|
GNOME Shell is distributed under the terms of the GNU General Public License,
|
||||||
version 2 or later. See the [COPYING][license] file for details.
|
version 2 or later. See the COPYING file for details.
|
||||||
|
|
||||||
[project-wiki]: https://wiki.gnome.org/Projects/GnomeShell
|
|
||||||
[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
|
|
||||||
[license]: COPYING
|
|
29
autogen.sh
Executable file
29
autogen.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Run this to generate all the initial makefiles, etc.
|
||||||
|
|
||||||
|
srcdir=`dirname $0`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
PKG_NAME="gnome-shell"
|
||||||
|
|
||||||
|
(test -f $srcdir/configure.ac \
|
||||||
|
&& test -d $srcdir/src) || {
|
||||||
|
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||||
|
echo " top-level gnome-shell directory"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fetch submodules if needed
|
||||||
|
if test ! -f src/gvc/Makefile.am;
|
||||||
|
then
|
||||||
|
echo "+ Setting up submodules"
|
||||||
|
git submodule init
|
||||||
|
fi
|
||||||
|
git submodule update
|
||||||
|
|
||||||
|
which gnome-autogen.sh || {
|
||||||
|
echo "You need to install gnome-common from GNOME Git (or from"
|
||||||
|
echo "your OS vendor's package manager)."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh
|
20
browser-plugin/Makefile.am
Normal file
20
browser-plugin/Makefile.am
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
mozillalibdir = $(BROWSER_PLUGIN_DIR)
|
||||||
|
|
||||||
|
mozillalib_LTLIBRARIES = libgnome-shell-browser-plugin.la
|
||||||
|
|
||||||
|
libgnome_shell_browser_plugin_la_LDFLAGS = -module -avoid-version -no-undefined
|
||||||
|
|
||||||
|
libgnome_shell_browser_plugin_la_LIBADD = \
|
||||||
|
$(BROWSER_PLUGIN_LIBS)
|
||||||
|
|
||||||
|
libgnome_shell_browser_plugin_la_SOURCES = \
|
||||||
|
browser-plugin.c \
|
||||||
|
npapi/npapi.h \
|
||||||
|
npapi/npfunctions.h \
|
||||||
|
npapi/npruntime.h \
|
||||||
|
npapi/nptypes.h
|
||||||
|
|
||||||
|
libgnome_shell_browser_plugin_la_CFLAGS = \
|
||||||
|
$(BROWSER_PLUGIN_CFLAGS) \
|
||||||
|
-DG_LOG_DOMAIN=\"GnomeShellBrowserPlugin\"
|
@ -4,14 +4,14 @@ the extensions repository to provide good integration, letting the website
|
|||||||
know which extensions are enabled and disabled, and allowing the website to
|
know which extensions are enabled and disabled, and allowing the website to
|
||||||
enable, disable and install them.
|
enable, disable and install them.
|
||||||
|
|
||||||
Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
|
Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
|
||||||
|
product.
|
||||||
|
|
||||||
## License
|
License
|
||||||
|
=======
|
||||||
The GNOME Shell Browser Plugin, like GNOME Shell itself is distributed under
|
The GNOME Shell Browser Plugin, like GNOME Shell itself is distributed under
|
||||||
the GNU General Public License, version 2 or later. The plugin also contains
|
the GNU General Public License, version 2 or later. The plugin also contains
|
||||||
header files from the "NPAPI SDK" project, tri-licensed under MPL 1.1, GPL 2.0
|
header files from the "NPAPI SDK" project, tri-licensed under MPL 1.1, GPL 2.0
|
||||||
and LGPL 2.1. These headers are third-party sources and can be retrieved from:
|
and LGPL 2.1. These headers are third-party sources and can be retrieved from:
|
||||||
|
|
||||||
http://code.google.com/p/npapi-sdk/
|
http://code.google.com/p/npapi-sdk/
|
||||||
|
|
||||||
[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
|
|
@ -13,7 +13,9 @@
|
|||||||
* General Public License for more details.
|
* General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
* 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
* Jasper St. Pierre <jstpierre@mecheye.net>
|
* Jasper St. Pierre <jstpierre@mecheye.net>
|
||||||
@ -33,15 +35,17 @@
|
|||||||
#include <json-glib/json-glib.h>
|
#include <json-glib/json-glib.h>
|
||||||
|
|
||||||
#define ORIGIN "extensions.gnome.org"
|
#define ORIGIN "extensions.gnome.org"
|
||||||
#define PLUGIN_NAME "GNOME Shell Integration"
|
#define PLUGIN_NAME "Gnome Shell Integration"
|
||||||
#define PLUGIN_DESCRIPTION "This plugin provides integration with GNOME Shell " \
|
#define PLUGIN_DESCRIPTION "This plugin provides integration with Gnome Shell " \
|
||||||
"for live extension enabling and disabling. " \
|
"for live extension enabling and disabling. " \
|
||||||
"It can be used only by extensions.gnome.org"
|
"It can be used only by extensions.gnome.org"
|
||||||
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::GNOME Shell Integration Dummy Content-Type";
|
#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::Gnome Shell Integration Dummy Content-Type";
|
||||||
|
|
||||||
#define PLUGIN_API_VERSION 5
|
#define PLUGIN_API_VERSION 5
|
||||||
|
|
||||||
#define EXTENSION_DISABLE_VERSION_CHECK_KEY "disable-extension-version-validation"
|
typedef struct {
|
||||||
|
GDBusProxy *proxy;
|
||||||
|
} PluginData;
|
||||||
|
|
||||||
static NPNetscapeFuncs funcs;
|
static NPNetscapeFuncs funcs;
|
||||||
|
|
||||||
@ -141,6 +145,121 @@ check_origin_and_protocol (NPP instance)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* =============== public entry points =================== */
|
||||||
|
|
||||||
|
NPError
|
||||||
|
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
|
||||||
|
{
|
||||||
|
/* global initialization routine, called once when plugin
|
||||||
|
is loaded */
|
||||||
|
|
||||||
|
g_debug ("plugin loaded");
|
||||||
|
|
||||||
|
memcpy (&funcs, pfuncs, sizeof (funcs));
|
||||||
|
|
||||||
|
plugin->size = sizeof(NPPluginFuncs);
|
||||||
|
plugin->newp = NPP_New;
|
||||||
|
plugin->destroy = NPP_Destroy;
|
||||||
|
plugin->getvalue = NPP_GetValue;
|
||||||
|
plugin->setwindow = NPP_SetWindow;
|
||||||
|
|
||||||
|
return NPERR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
NPError
|
||||||
|
NP_Shutdown(void)
|
||||||
|
{
|
||||||
|
return NPERR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char*
|
||||||
|
NP_GetMIMEDescription(void)
|
||||||
|
{
|
||||||
|
return PLUGIN_MIME_STRING;
|
||||||
|
}
|
||||||
|
|
||||||
|
NPError
|
||||||
|
NP_GetValue(void *instance,
|
||||||
|
NPPVariable variable,
|
||||||
|
void *value)
|
||||||
|
{
|
||||||
|
switch (variable) {
|
||||||
|
case NPPVpluginNameString:
|
||||||
|
*(char**)value = PLUGIN_NAME;
|
||||||
|
break;
|
||||||
|
case NPPVpluginDescriptionString:
|
||||||
|
*(char**)value = PLUGIN_DESCRIPTION;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NPERR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
NPError
|
||||||
|
NPP_New(NPMIMEType mimetype,
|
||||||
|
NPP instance,
|
||||||
|
uint16_t mode,
|
||||||
|
int16_t argc,
|
||||||
|
char **argn,
|
||||||
|
char **argv,
|
||||||
|
NPSavedData *saved)
|
||||||
|
{
|
||||||
|
/* instance initialization function */
|
||||||
|
PluginData *data;
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
|
g_debug ("plugin created");
|
||||||
|
|
||||||
|
if (!check_origin_and_protocol (instance))
|
||||||
|
return NPERR_GENERIC_ERROR;
|
||||||
|
|
||||||
|
data = g_slice_new (PluginData);
|
||||||
|
instance->pdata = data;
|
||||||
|
|
||||||
|
data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
|
NULL, /* interface info */
|
||||||
|
"org.gnome.Shell",
|
||||||
|
"/org/gnome/Shell",
|
||||||
|
"org.gnome.Shell.Extensions",
|
||||||
|
NULL, /* GCancellable */
|
||||||
|
&error);
|
||||||
|
if (!data->proxy)
|
||||||
|
{
|
||||||
|
/* ignore error if the shell is not running, otherwise warn */
|
||||||
|
if (error->domain != G_DBUS_ERROR ||
|
||||||
|
error->code != G_DBUS_ERROR_NAME_HAS_NO_OWNER)
|
||||||
|
{
|
||||||
|
g_warning ("Failed to set up Shell proxy: %s", error->message);
|
||||||
|
}
|
||||||
|
g_clear_error (&error);
|
||||||
|
return NPERR_GENERIC_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_debug ("plugin created successfully");
|
||||||
|
|
||||||
|
return NPERR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
NPError
|
||||||
|
NPP_Destroy(NPP instance,
|
||||||
|
NPSavedData **saved)
|
||||||
|
{
|
||||||
|
/* instance finalization function */
|
||||||
|
|
||||||
|
PluginData *data = instance->pdata;
|
||||||
|
|
||||||
|
g_debug ("plugin destroyed");
|
||||||
|
|
||||||
|
g_object_unref (data->proxy);
|
||||||
|
|
||||||
|
g_slice_free (PluginData, data);
|
||||||
|
|
||||||
|
return NPERR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
/* =================== scripting interface =================== */
|
/* =================== scripting interface =================== */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -211,18 +330,45 @@ static NPObject *
|
|||||||
plugin_object_allocate (NPP instance,
|
plugin_object_allocate (NPP instance,
|
||||||
NPClass *klass)
|
NPClass *klass)
|
||||||
{
|
{
|
||||||
PluginObject *obj = (PluginObject *) funcs.memalloc (sizeof (PluginObject));
|
PluginData *data = instance->pdata;
|
||||||
|
PluginObject *obj = g_slice_new0 (PluginObject);
|
||||||
|
|
||||||
memset (obj, 0, sizeof (PluginObject));
|
|
||||||
obj->instance = instance;
|
obj->instance = instance;
|
||||||
|
obj->proxy = g_object_ref (data->proxy);
|
||||||
|
obj->settings = g_settings_new (SHELL_SCHEMA);
|
||||||
|
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
|
||||||
|
G_CALLBACK (on_shell_signal), obj);
|
||||||
|
|
||||||
return (NPObject*) obj;
|
obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
|
||||||
|
"org.gnome.Shell",
|
||||||
|
G_BUS_NAME_WATCHER_FLAGS_NONE,
|
||||||
|
on_shell_appeared,
|
||||||
|
NULL,
|
||||||
|
obj,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
g_debug ("plugin object created");
|
||||||
|
|
||||||
|
return (NPObject*)obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
plugin_object_deallocate (NPObject *npobj)
|
plugin_object_deallocate (NPObject *npobj)
|
||||||
{
|
{
|
||||||
funcs.memfree (npobj);
|
PluginObject *obj = (PluginObject*)npobj;
|
||||||
|
|
||||||
|
g_signal_handler_disconnect (obj->proxy, obj->signal_id);
|
||||||
|
g_object_unref (obj->proxy);
|
||||||
|
|
||||||
|
if (obj->listener)
|
||||||
|
funcs.releaseobject (obj->listener);
|
||||||
|
|
||||||
|
if (obj->watch_name_id)
|
||||||
|
g_bus_unwatch_name (obj->watch_name_id);
|
||||||
|
|
||||||
|
g_debug ("plugin object destroyed");
|
||||||
|
|
||||||
|
g_slice_free (PluginObject, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline gboolean
|
static inline gboolean
|
||||||
@ -687,16 +833,6 @@ plugin_get_shell_version (PluginObject *obj,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
plugin_get_version_validation_enabled (PluginObject *obj,
|
|
||||||
NPVariant *result)
|
|
||||||
{
|
|
||||||
gboolean is_enabled = !g_settings_get_boolean (obj->settings, EXTENSION_DISABLE_VERSION_CHECK_KEY);
|
|
||||||
BOOLEAN_TO_NPVARIANT(is_enabled, *result);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define METHODS \
|
#define METHODS \
|
||||||
METHOD (list_extensions) \
|
METHOD (list_extensions) \
|
||||||
METHOD (get_info) \
|
METHOD (get_info) \
|
||||||
@ -716,8 +852,6 @@ static NPIdentifier api_version_id;
|
|||||||
static NPIdentifier shell_version_id;
|
static NPIdentifier shell_version_id;
|
||||||
static NPIdentifier onextension_changed_id;
|
static NPIdentifier onextension_changed_id;
|
||||||
static NPIdentifier onrestart_id;
|
static NPIdentifier onrestart_id;
|
||||||
static NPIdentifier version_validation_enabled_id;
|
|
||||||
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
plugin_object_has_method (NPObject *npobj,
|
plugin_object_has_method (NPObject *npobj,
|
||||||
@ -760,8 +894,7 @@ plugin_object_has_property (NPObject *npobj,
|
|||||||
return (name == onextension_changed_id ||
|
return (name == onextension_changed_id ||
|
||||||
name == onrestart_id ||
|
name == onrestart_id ||
|
||||||
name == api_version_id ||
|
name == api_version_id ||
|
||||||
name == shell_version_id ||
|
name == shell_version_id);
|
||||||
name == version_validation_enabled_id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
@ -779,8 +912,6 @@ plugin_object_get_property (NPObject *npobj,
|
|||||||
return plugin_get_api_version (obj, result);
|
return plugin_get_api_version (obj, result);
|
||||||
else if (name == shell_version_id)
|
else if (name == shell_version_id)
|
||||||
return plugin_get_shell_version (obj, result);
|
return plugin_get_shell_version (obj, result);
|
||||||
else if (name == version_validation_enabled_id)
|
|
||||||
return plugin_get_version_validation_enabled (obj, result);
|
|
||||||
else if (name == onextension_changed_id)
|
else if (name == onextension_changed_id)
|
||||||
{
|
{
|
||||||
if (obj->listener)
|
if (obj->listener)
|
||||||
@ -859,7 +990,6 @@ init_methods_and_properties (void)
|
|||||||
/* this is the JS public API; it is manipulated through NPIdentifiers for speed */
|
/* this is the JS public API; it is manipulated through NPIdentifiers for speed */
|
||||||
api_version_id = funcs.getstringidentifier ("apiVersion");
|
api_version_id = funcs.getstringidentifier ("apiVersion");
|
||||||
shell_version_id = funcs.getstringidentifier ("shellVersion");
|
shell_version_id = funcs.getstringidentifier ("shellVersion");
|
||||||
version_validation_enabled_id = funcs.getstringidentifier ("versionValidationEnabled");
|
|
||||||
|
|
||||||
get_info_id = funcs.getstringidentifier ("getExtensionInfo");
|
get_info_id = funcs.getstringidentifier ("getExtensionInfo");
|
||||||
list_extensions_id = funcs.getstringidentifier ("listExtensions");
|
list_extensions_id = funcs.getstringidentifier ("listExtensions");
|
||||||
@ -873,149 +1003,6 @@ init_methods_and_properties (void)
|
|||||||
onextension_changed_id = funcs.getstringidentifier ("onchange");
|
onextension_changed_id = funcs.getstringidentifier ("onchange");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =============== public entry points =================== */
|
|
||||||
|
|
||||||
NPError
|
|
||||||
NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
|
|
||||||
{
|
|
||||||
/* global initialization routine, called once when plugin
|
|
||||||
is loaded */
|
|
||||||
|
|
||||||
g_debug ("plugin loaded");
|
|
||||||
|
|
||||||
memcpy (&funcs, pfuncs, sizeof (funcs));
|
|
||||||
|
|
||||||
plugin->size = sizeof(NPPluginFuncs);
|
|
||||||
plugin->newp = NPP_New;
|
|
||||||
plugin->destroy = NPP_Destroy;
|
|
||||||
plugin->getvalue = NPP_GetValue;
|
|
||||||
plugin->setwindow = NPP_SetWindow;
|
|
||||||
plugin->event = NPP_HandleEvent;
|
|
||||||
|
|
||||||
return NPERR_NO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
NPError
|
|
||||||
NP_Shutdown(void)
|
|
||||||
{
|
|
||||||
return NPERR_NO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char*
|
|
||||||
NP_GetMIMEDescription(void)
|
|
||||||
{
|
|
||||||
return PLUGIN_MIME_STRING;
|
|
||||||
}
|
|
||||||
|
|
||||||
NPError
|
|
||||||
NP_GetValue(void *instance,
|
|
||||||
NPPVariable variable,
|
|
||||||
void *value)
|
|
||||||
{
|
|
||||||
switch (variable) {
|
|
||||||
case NPPVpluginNameString:
|
|
||||||
*(char**)value = PLUGIN_NAME;
|
|
||||||
break;
|
|
||||||
case NPPVpluginDescriptionString:
|
|
||||||
*(char**)value = PLUGIN_DESCRIPTION;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NPERR_NO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
NPError
|
|
||||||
NPP_New(NPMIMEType mimetype,
|
|
||||||
NPP instance,
|
|
||||||
uint16_t mode,
|
|
||||||
int16_t argc,
|
|
||||||
char **argn,
|
|
||||||
char **argv,
|
|
||||||
NPSavedData *saved)
|
|
||||||
{
|
|
||||||
/* instance initialization function */
|
|
||||||
PluginObject *obj;
|
|
||||||
GError *error = NULL;
|
|
||||||
|
|
||||||
g_debug ("plugin created");
|
|
||||||
|
|
||||||
if (!check_origin_and_protocol (instance))
|
|
||||||
return NPERR_GENERIC_ERROR;
|
|
||||||
|
|
||||||
/* set windowless mode */
|
|
||||||
funcs.setvalue(instance, NPPVpluginWindowBool, NULL);
|
|
||||||
|
|
||||||
g_debug ("creating scriptable object");
|
|
||||||
init_methods_and_properties ();
|
|
||||||
obj = (PluginObject *) funcs.createobject (instance, &plugin_class);
|
|
||||||
instance->pdata = obj;
|
|
||||||
|
|
||||||
obj->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
|
||||||
NULL, /* interface info */
|
|
||||||
"org.gnome.Shell",
|
|
||||||
"/org/gnome/Shell",
|
|
||||||
"org.gnome.Shell.Extensions",
|
|
||||||
NULL, /* GCancellable */
|
|
||||||
&error);
|
|
||||||
if (!obj->proxy)
|
|
||||||
{
|
|
||||||
/* ignore error if the shell is not running, otherwise warn */
|
|
||||||
if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_NAME_HAS_NO_OWNER))
|
|
||||||
{
|
|
||||||
g_warning ("Failed to set up Shell proxy: %s", error->message);
|
|
||||||
}
|
|
||||||
g_clear_error (&error);
|
|
||||||
return NPERR_GENERIC_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
obj->settings = g_settings_new (SHELL_SCHEMA);
|
|
||||||
obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
|
|
||||||
G_CALLBACK (on_shell_signal), obj);
|
|
||||||
obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
|
|
||||||
"org.gnome.Shell",
|
|
||||||
G_BUS_NAME_WATCHER_FLAGS_NONE,
|
|
||||||
on_shell_appeared,
|
|
||||||
NULL,
|
|
||||||
obj,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
g_debug ("plugin created successfully");
|
|
||||||
|
|
||||||
return NPERR_NO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
NPError
|
|
||||||
NPP_Destroy(NPP instance,
|
|
||||||
NPSavedData **saved)
|
|
||||||
{
|
|
||||||
/* instance finalization function */
|
|
||||||
PluginObject *obj = (PluginObject *) instance->pdata;
|
|
||||||
|
|
||||||
if (!obj)
|
|
||||||
return NPERR_INVALID_INSTANCE_ERROR;
|
|
||||||
|
|
||||||
g_debug ("plugin destroyed");
|
|
||||||
|
|
||||||
g_signal_handler_disconnect (obj->proxy, obj->signal_id);
|
|
||||||
g_object_unref (obj->proxy);
|
|
||||||
|
|
||||||
if (obj->listener)
|
|
||||||
funcs.releaseobject (obj->listener);
|
|
||||||
|
|
||||||
if (obj->restart_listener)
|
|
||||||
funcs.releaseobject (obj->restart_listener);
|
|
||||||
|
|
||||||
if (obj->watch_name_id)
|
|
||||||
g_bus_unwatch_name (obj->watch_name_id);
|
|
||||||
|
|
||||||
funcs.releaseobject((NPObject *)obj);
|
|
||||||
|
|
||||||
return NPERR_NO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
NPError
|
NPError
|
||||||
NPP_GetValue(NPP instance,
|
NPP_GetValue(NPP instance,
|
||||||
NPPVariable variable,
|
NPPVariable variable,
|
||||||
@ -1026,11 +1013,13 @@ NPP_GetValue(NPP instance,
|
|||||||
switch (variable) {
|
switch (variable) {
|
||||||
case NPPVpluginScriptableNPObject:
|
case NPPVpluginScriptableNPObject:
|
||||||
g_debug ("creating scriptable object");
|
g_debug ("creating scriptable object");
|
||||||
if (!instance->pdata)
|
init_methods_and_properties ();
|
||||||
return NPERR_INVALID_INSTANCE_ERROR;
|
|
||||||
|
|
||||||
funcs.retainobject (instance->pdata);
|
*(NPObject**)value = funcs.createobject (instance, &plugin_class);
|
||||||
*(NPObject**)value = instance->pdata;
|
break;
|
||||||
|
|
||||||
|
case NPPVpluginNeedsXEmbed:
|
||||||
|
*(bool *)value = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -1048,11 +1037,3 @@ NPP_SetWindow(NPP instance,
|
|||||||
{
|
{
|
||||||
return NPERR_NO_ERROR;
|
return NPERR_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int16_t
|
|
||||||
NPP_HandleEvent(NPP instance,
|
|
||||||
void *event)
|
|
||||||
{
|
|
||||||
/* Ignore the event */
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
plugin_sources = [
|
|
||||||
'browser-plugin.c',
|
|
||||||
'npapi/npapi.h',
|
|
||||||
'npapi/npfunctions.h',
|
|
||||||
'npapi/npruntime.h',
|
|
||||||
'npapi/nptypes.h'
|
|
||||||
]
|
|
||||||
|
|
||||||
shared_module('gnome-shell-browser-plugin', plugin_sources,
|
|
||||||
dependencies: [gio_dep, json_glib_dep],
|
|
||||||
c_args: ['-DG_LOG_DOMAIN="GnomeShellBrowserPlugin"'],
|
|
||||||
# Browsers can unload and reload the module while browsing, which is not
|
|
||||||
# supported by GObject.
|
|
||||||
# We pass -Wl,-z,nodelete to the linker to ensure the module is never
|
|
||||||
# unloaded. See https://bugzilla.gnome.org/show_bug.cgi?id=737932.
|
|
||||||
link_args: ['-Wl,-z,nodelete'],
|
|
||||||
install: true,
|
|
||||||
install_dir: plugindir
|
|
||||||
)
|
|
@ -1,32 +0,0 @@
|
|||||||
/* The prefix for our gettext translation domains. */
|
|
||||||
#mesondefine GETTEXT_PACKAGE
|
|
||||||
|
|
||||||
/* Version number of package */
|
|
||||||
#mesondefine VERSION
|
|
||||||
|
|
||||||
/* Version number of package */
|
|
||||||
#mesondefine PACKAGE_VERSION
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `fdwalk' function. */
|
|
||||||
#mesondefine HAVE_FDWALK
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `mallinfo' function. */
|
|
||||||
#mesondefine HAVE_MALLINFO
|
|
||||||
|
|
||||||
/* Define to 1 fi you have the <sys/resource.h> header file. */
|
|
||||||
#mesondefine HAVE_SYS_RESOURCE_H
|
|
||||||
|
|
||||||
/* Define if we have NetworkManager */
|
|
||||||
#mesondefine HAVE_NETWORKMANAGER
|
|
||||||
|
|
||||||
/* Define if we have systemd */
|
|
||||||
#mesondefine HAVE_SYSTEMD
|
|
||||||
|
|
||||||
/* Define if _NL_TIME_FIRST_WEEKDATE is available */
|
|
||||||
#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
|
|
||||||
|
|
||||||
/* Define if you have the `g_desktop_app_info_launch_uris_as_manager_with_fds` function */
|
|
||||||
#mesondefine HAVE_GIO_DESKTOP_LAUNCH_URIS_WITH_FDS
|
|
||||||
|
|
||||||
/* Define if fdwalk is available in libc */
|
|
||||||
#mesondefine HAVE_FDWALK
|
|
203
configure.ac
Normal file
203
configure.ac
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
AC_PREREQ(2.63)
|
||||||
|
AC_INIT([gnome-shell],[3.10.0.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||||
|
|
||||||
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
AC_CONFIG_AUX_DIR([config])
|
||||||
|
|
||||||
|
AC_SUBST([PACKAGE_NAME], ["$PACKAGE_NAME"])
|
||||||
|
AC_SUBST([PACKAGE_VERSION], ["$PACKAGE_VERSION"])
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar foreign])
|
||||||
|
AM_MAINTAINER_MODE([enable])
|
||||||
|
|
||||||
|
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
||||||
|
|
||||||
|
# Checks for programs.
|
||||||
|
AC_PROG_CC
|
||||||
|
|
||||||
|
# Initialize libtool
|
||||||
|
LT_PREREQ([2.2.6])
|
||||||
|
LT_INIT([disable-static])
|
||||||
|
|
||||||
|
# i18n
|
||||||
|
IT_PROG_INTLTOOL([0.40])
|
||||||
|
|
||||||
|
GETTEXT_PACKAGE=gnome-shell
|
||||||
|
AC_SUBST(GETTEXT_PACKAGE)
|
||||||
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
||||||
|
[The prefix for our gettext translation domains.])
|
||||||
|
|
||||||
|
PKG_PROG_PKG_CONFIG([0.22])
|
||||||
|
|
||||||
|
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||||
|
|
||||||
|
GLIB_GSETTINGS
|
||||||
|
|
||||||
|
# Get a value to substitute into gnome-shell.in
|
||||||
|
AM_PATH_PYTHON([2.5])
|
||||||
|
AC_SUBST(PYTHON)
|
||||||
|
|
||||||
|
# We need at least this, since gst_plugin_register_static() was added
|
||||||
|
# in 0.10.16, but nothing older than 0.10.21 has been tested.
|
||||||
|
GSTREAMER_MIN_VERSION=0.11.92
|
||||||
|
|
||||||
|
recorder_modules=
|
||||||
|
build_recorder=false
|
||||||
|
AC_MSG_CHECKING([for GStreamer (needed for recording functionality)])
|
||||||
|
if $PKG_CONFIG --exists gstreamer-1.0 '>=' $GSTREAMER_MIN_VERSION ; then
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
build_recorder=true
|
||||||
|
recorder_modules="gstreamer-1.0 gstreamer-base-1.0 x11 gtk+-3.0"
|
||||||
|
PKG_CHECK_MODULES(TEST_SHELL_RECORDER, $recorder_modules clutter-1.0)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
||||||
|
|
||||||
|
CLUTTER_MIN_VERSION=1.13.4
|
||||||
|
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||||
|
GJS_MIN_VERSION=1.35.4
|
||||||
|
MUTTER_MIN_VERSION=3.10.0
|
||||||
|
GTK_MIN_VERSION=3.7.9
|
||||||
|
GIO_MIN_VERSION=2.37.0
|
||||||
|
LIBECAL_MIN_VERSION=3.5.3
|
||||||
|
LIBEDATASERVER_MIN_VERSION=3.5.3
|
||||||
|
TELEPATHY_GLIB_MIN_VERSION=0.17.5
|
||||||
|
POLKIT_MIN_VERSION=0.100
|
||||||
|
STARTUP_NOTIFICATION_MIN_VERSION=0.11
|
||||||
|
GCR_MIN_VERSION=3.7.5
|
||||||
|
GNOME_DESKTOP_REQUIRED_VERSION=3.7.90
|
||||||
|
NETWORKMANAGER_MIN_VERSION=0.9.8
|
||||||
|
PULSE_MIN_VERS=2.0
|
||||||
|
|
||||||
|
# Collect more than 20 libraries for a prize!
|
||||||
|
SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
|
||||||
|
libxml-2.0
|
||||||
|
gtk+-3.0 >= $GTK_MIN_VERSION
|
||||||
|
atk-bridge-2.0
|
||||||
|
gjs-internals-1.0 >= $GJS_MIN_VERSION
|
||||||
|
$recorder_modules
|
||||||
|
gdk-x11-3.0 libsoup-2.4
|
||||||
|
xtst
|
||||||
|
clutter-x11-1.0 >= $CLUTTER_MIN_VERSION
|
||||||
|
clutter-glx-1.0 >= $CLUTTER_MIN_VERSION
|
||||||
|
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
|
||||||
|
gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
|
||||||
|
libcanberra libcanberra-gtk3
|
||||||
|
telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION
|
||||||
|
polkit-agent-1 >= $POLKIT_MIN_VERSION
|
||||||
|
libnm-glib libnm-util >= $NETWORKMANAGER_MIN_VERSION
|
||||||
|
libnm-gtk >= $NETWORKMANAGER_MIN_VERSION
|
||||||
|
libsecret-unstable gcr-base-3 >= $GCR_MIN_VERSION"
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES(GNOME_SHELL, $SHARED_PCS)
|
||||||
|
PKG_CHECK_MODULES(MUTTER, libmutter >= $MUTTER_MIN_VERSION)
|
||||||
|
PKG_CHECK_MODULES(MUTTER_WAYLAND, [libmutter-wayland >= $MUTTER_MIN_VERSION],
|
||||||
|
[MUTTER_WAYLAND_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter-wayland`
|
||||||
|
AC_SUBST(MUTTER_WAYLAND_TYPELIB_DIR)
|
||||||
|
have_mutter_wayland=yes],
|
||||||
|
[have_mutter_wayland=no])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(HAVE_MUTTER_WAYLAND, test $have_mutter_wayland != no)
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES(GNOME_SHELL_JS, gio-2.0 gjs-internals-1.0 >= $GJS_MIN_VERSION)
|
||||||
|
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.8 x11)
|
||||||
|
PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
|
||||||
|
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
|
||||||
|
PKG_CHECK_MODULES(BROWSER_PLUGIN, gio-2.0 >= $GIO_MIN_VERSION json-glib-1.0 >= 0.13.2)
|
||||||
|
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
||||||
|
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
|
||||||
|
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.7.4)
|
||||||
|
PKG_CHECK_MODULES(CARIBOU, caribou-1.0 >= 0.4.8)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for bluetooth support])
|
||||||
|
PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.9.0],
|
||||||
|
[BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0`
|
||||||
|
BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0`
|
||||||
|
AC_SUBST([BLUETOOTH_LIBS],["$BLUETOOTH_LIBS"])
|
||||||
|
AC_SUBST([BLUETOOTH_DIR],["$BLUETOOTH_DIR"])
|
||||||
|
AC_DEFINE_UNQUOTED([BLUETOOTH_DIR],["$BLUETOOTH_DIR"],[Path to installed GnomeBluetooth typelib and library])
|
||||||
|
AC_DEFINE([HAVE_BLUETOOTH],[1],[Define if you have libgnome-bluetooth-applet])
|
||||||
|
AC_SUBST([HAVE_BLUETOOTH],[1])
|
||||||
|
AC_MSG_RESULT([yes])],
|
||||||
|
[AC_DEFINE([HAVE_BLUETOOTH],[0])
|
||||||
|
AC_SUBST([HAVE_BLUETOOTH],[0])
|
||||||
|
AC_MSG_RESULT([no])])
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedataserver-1.2 >= $LIBEDATASERVER_MIN_VERSION gio-2.0)
|
||||||
|
AC_SUBST(CALENDAR_SERVER_CFLAGS)
|
||||||
|
AC_SUBST(CALENDAR_SERVER_LIBS)
|
||||||
|
|
||||||
|
GNOME_KEYBINDINGS_KEYSDIR=`$PKG_CONFIG --variable keysdir gnome-keybindings`
|
||||||
|
AC_SUBST([GNOME_KEYBINDINGS_KEYSDIR])
|
||||||
|
|
||||||
|
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
|
||||||
|
|
||||||
|
MUTTER_GIR_DIR=`$PKG_CONFIG --variable=girdir libmutter`
|
||||||
|
AC_SUBST(MUTTER_GIR_DIR)
|
||||||
|
|
||||||
|
MUTTER_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter`
|
||||||
|
AC_SUBST(MUTTER_TYPELIB_DIR)
|
||||||
|
|
||||||
|
GJS_CONSOLE=`$PKG_CONFIG --variable=gjs_console gjs-1.0`
|
||||||
|
AC_SUBST(GJS_CONSOLE)
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(fdwalk)
|
||||||
|
AC_CHECK_FUNCS(mallinfo)
|
||||||
|
AC_CHECK_HEADERS([sys/resource.h])
|
||||||
|
|
||||||
|
# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
|
||||||
|
AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
|
||||||
|
[[nl_langinfo(_NL_TIME_FIRST_WEEKDAY);]])],
|
||||||
|
[langinfo_ok=yes], [langinfo_ok=no])
|
||||||
|
AC_MSG_RESULT($langinfo_ok)
|
||||||
|
if test "$langinfo_ok" = "yes"; then
|
||||||
|
AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
|
||||||
|
[Define if _NL_TIME_FIRST_WEEKDAY is available])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Sets GLIB_GENMARSHAL and GLIB_MKENUMS
|
||||||
|
AM_PATH_GLIB_2_0()
|
||||||
|
|
||||||
|
GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(man,
|
||||||
|
[AS_HELP_STRING([--enable-man],
|
||||||
|
[generate man pages [default=yes]])],,
|
||||||
|
enable_man=yes)
|
||||||
|
if test "$enable_man" != no; then
|
||||||
|
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
||||||
|
if test -z "$XSLTPROC"; then
|
||||||
|
AC_MSG_ERROR([xsltproc is required for --enable-man])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
|
||||||
|
|
||||||
|
GNOME_COMPILE_WARNINGS([error])
|
||||||
|
|
||||||
|
BROWSER_PLUGIN_DIR="${BROWSER_PLUGIN_DIR:-"\${libdir}/mozilla/plugins"}"
|
||||||
|
AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
Makefile
|
||||||
|
data/Makefile
|
||||||
|
docs/Makefile
|
||||||
|
docs/reference/Makefile
|
||||||
|
docs/reference/shell/Makefile
|
||||||
|
docs/reference/shell/shell-docs.sgml
|
||||||
|
docs/reference/st/Makefile
|
||||||
|
docs/reference/st/st-docs.sgml
|
||||||
|
js/Makefile
|
||||||
|
src/calendar-server/evolution-calendar.desktop.in
|
||||||
|
src/Makefile
|
||||||
|
src/gvc/Makefile
|
||||||
|
browser-plugin/Makefile
|
||||||
|
tests/Makefile
|
||||||
|
po/Makefile.in
|
||||||
|
man/Makefile
|
||||||
|
])
|
||||||
|
AC_OUTPUT
|
@ -1,6 +0,0 @@
|
|||||||
[org.gnome.mutter:GNOME]
|
|
||||||
attach-modal-dialogs=true
|
|
||||||
edge-tiling=true
|
|
||||||
dynamic-workspaces=true
|
|
||||||
workspaces-only-on-primary=true
|
|
||||||
focus-change-on-pointer-rest=true
|
|
@ -1,24 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<KeyListEntries schema="org.gnome.shell.keybindings"
|
<KeyListEntries schema="org.gnome.shell.keybindings"
|
||||||
group="system"
|
group="system"
|
||||||
name="System"
|
_name="System"
|
||||||
wm_name="GNOME Shell"
|
wm_name="GNOME Shell"
|
||||||
package="gnome-shell">
|
package="gnome-shell">
|
||||||
|
|
||||||
<KeyListEntry name="toggle-message-tray"
|
<KeyListEntry name="toggle-message-tray"
|
||||||
description="Show the notification list"/>
|
_description="Show the message tray"/>
|
||||||
|
|
||||||
<KeyListEntry name="focus-active-notification"
|
<KeyListEntry name="focus-active-notification"
|
||||||
description="Focus the active notification"/>
|
_description="Focus the active notification"/>
|
||||||
|
|
||||||
<KeyListEntry name="toggle-overview"
|
<KeyListEntry name="toggle-overview"
|
||||||
description="Show the overview"/>
|
_description="Show the overview"/>
|
||||||
|
|
||||||
<KeyListEntry name="toggle-application-view"
|
<KeyListEntry name="toggle-application-view"
|
||||||
description="Show all applications"/>
|
_description="Show all applications"/>
|
||||||
|
|
||||||
<KeyListEntry name="open-application-menu"
|
<KeyListEntry name="open-application-menu"
|
||||||
description="Open the application menu"/>
|
_description="Open the application menu"/>
|
||||||
|
|
||||||
</KeyListEntries>
|
</KeyListEntries>
|
||||||
|
|
109
data/Makefile.am
Normal file
109
data/Makefile.am
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
wandadir = $(pkgdatadir)
|
||||||
|
dist_wanda_DATA = wanda.png
|
||||||
|
|
||||||
|
desktopdir=$(datadir)/applications
|
||||||
|
desktop_DATA = gnome-shell.desktop gnome-shell-extension-prefs.desktop
|
||||||
|
if HAVE_MUTTER_WAYLAND
|
||||||
|
desktop_DATA += gnome-shell-wayland.desktop
|
||||||
|
endif HAVE_MUTTER_WAYLAND
|
||||||
|
|
||||||
|
|
||||||
|
# We substitute in bindir so it works as an autostart
|
||||||
|
# file when built in a non-system prefix
|
||||||
|
%.desktop.in:%.desktop.in.in
|
||||||
|
$(AM_V_GEN) sed -e "s|@bindir[@]|$(bindir)|" \
|
||||||
|
-e "s|@VERSION[@]|$(VERSION)|" \
|
||||||
|
$< > $@ || rm $@
|
||||||
|
|
||||||
|
@INTLTOOL_DESKTOP_RULE@
|
||||||
|
|
||||||
|
introspectiondir = $(datadir)/dbus-1/interfaces
|
||||||
|
introspection_DATA = \
|
||||||
|
org.gnome.Shell.Screencast.xml \
|
||||||
|
org.gnome.Shell.Screenshot.xml \
|
||||||
|
org.gnome.ShellSearchProvider.xml \
|
||||||
|
org.gnome.ShellSearchProvider2.xml
|
||||||
|
|
||||||
|
themedir = $(pkgdatadir)/theme
|
||||||
|
dist_theme_DATA = \
|
||||||
|
theme/calendar-arrow-left.svg \
|
||||||
|
theme/calendar-arrow-right.svg \
|
||||||
|
theme/calendar-today.svg \
|
||||||
|
theme/checkbox-focused.svg \
|
||||||
|
theme/checkbox-off-focused.svg \
|
||||||
|
theme/checkbox-off.svg \
|
||||||
|
theme/checkbox.svg \
|
||||||
|
theme/close-window.svg \
|
||||||
|
theme/close.svg \
|
||||||
|
theme/corner-ripple-ltr.png \
|
||||||
|
theme/corner-ripple-rtl.png \
|
||||||
|
theme/dash-placeholder.svg \
|
||||||
|
theme/filter-selected-ltr.svg \
|
||||||
|
theme/filter-selected-rtl.svg \
|
||||||
|
theme/gnome-shell.css \
|
||||||
|
theme/logged-in-indicator.svg \
|
||||||
|
theme/message-tray-background.png \
|
||||||
|
theme/more-results.svg \
|
||||||
|
theme/noise-texture.png \
|
||||||
|
theme/page-indicator-active.svg \
|
||||||
|
theme/page-indicator-inactive.svg \
|
||||||
|
theme/page-indicator-checked.svg \
|
||||||
|
theme/page-indicator-hover.svg \
|
||||||
|
theme/panel-button-border.svg \
|
||||||
|
theme/panel-button-highlight-narrow.svg \
|
||||||
|
theme/panel-button-highlight-wide.svg \
|
||||||
|
theme/process-working.svg \
|
||||||
|
theme/running-indicator.svg \
|
||||||
|
theme/source-button-border.svg \
|
||||||
|
theme/summary-counter.svg \
|
||||||
|
theme/toggle-off-us.svg \
|
||||||
|
theme/toggle-off-intl.svg \
|
||||||
|
theme/toggle-on-us.svg \
|
||||||
|
theme/toggle-on-intl.svg \
|
||||||
|
theme/ws-switch-arrow-up.png \
|
||||||
|
theme/ws-switch-arrow-down.png
|
||||||
|
|
||||||
|
keysdir = @GNOME_KEYBINDINGS_KEYSDIR@
|
||||||
|
keys_in_files = 50-gnome-shell-system.xml.in
|
||||||
|
keys_DATA = $(keys_in_files:.xml.in=.xml)
|
||||||
|
|
||||||
|
gsettings_SCHEMAS = org.gnome.shell.gschema.xml
|
||||||
|
|
||||||
|
@INTLTOOL_XML_NOMERGE_RULE@
|
||||||
|
|
||||||
|
%.gschema.xml.in: %.gschema.xml.in.in Makefile
|
||||||
|
$(AM_V_GEN) sed -e 's|@GETTEXT_PACKAGE[@]|$(GETTEXT_PACKAGE)|g' \
|
||||||
|
$< > $@ || rm $@
|
||||||
|
|
||||||
|
@GSETTINGS_RULES@
|
||||||
|
|
||||||
|
# We need to compile schemas at make time
|
||||||
|
# to run from source tree
|
||||||
|
gschemas.compiled: $(gsettings_SCHEMAS:.xml=.valid)
|
||||||
|
$(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --targetdir=. .
|
||||||
|
|
||||||
|
all-local: gschemas.compiled
|
||||||
|
|
||||||
|
convertdir = $(datadir)/GConf/gsettings
|
||||||
|
convert_DATA = gnome-shell-overrides.convert
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
gnome-shell.desktop.in.in \
|
||||||
|
gnome-shell-wayland.desktop.in.in \
|
||||||
|
gnome-shell-extension-prefs.desktop.in.in \
|
||||||
|
$(introspection_DATA) \
|
||||||
|
$(menu_DATA) \
|
||||||
|
$(convert_DATA) \
|
||||||
|
$(keys_in_files) \
|
||||||
|
org.gnome.shell.gschema.xml.in.in
|
||||||
|
|
||||||
|
CLEANFILES = \
|
||||||
|
gnome-shell.desktop.in \
|
||||||
|
gnome-shell-wayland.desktop.in \
|
||||||
|
gnome-shell-extension-prefs.in \
|
||||||
|
$(desktop_DATA) \
|
||||||
|
$(keys_DATA) \
|
||||||
|
$(gsettings_SCHEMAS) \
|
||||||
|
gschemas.compiled \
|
||||||
|
org.gnome.shell.gschema.valid \
|
||||||
|
org.gnome.shell.gschema.xml.in
|
@ -1,33 +0,0 @@
|
|||||||
Gnome-shell OSK layouts are extracted from CLDR layout definitions:
|
|
||||||
https://www.unicode.org/cldr/charts/latest/keyboards/layouts/index.html
|
|
||||||
|
|
||||||
Updating these involves several steps:
|
|
||||||
|
|
||||||
1) Downloading and unzipping the tarball found at:
|
|
||||||
http://www.unicode.org/Public/cldr/latest/keyboards.zip
|
|
||||||
|
|
||||||
This file contains XML files describing the keyboard layouts.
|
|
||||||
|
|
||||||
2) Cloning the cldr2json script at:
|
|
||||||
git://repo.or.cz/cldr2json.git
|
|
||||||
|
|
||||||
It will be used to convert the XML files into JSON that can be
|
|
||||||
directly consumed by gnome-shell.
|
|
||||||
|
|
||||||
3) Running the script to produce the files:
|
|
||||||
./cldr2json <input-directory> <output-directory>
|
|
||||||
|
|
||||||
We shall usually use the "android" folder, since that's most
|
|
||||||
complete, and similar to our UI and target sizes. And the target
|
|
||||||
directory must be data/osk-layouts in this repository.
|
|
||||||
|
|
||||||
4) Modify gnome-shell-osk-layouts.gresource.xml to include the files
|
|
||||||
|
|
||||||
5) Do git add on the updated/new files, and git commit.
|
|
||||||
|
|
||||||
|
|
||||||
Or alternatively:
|
|
||||||
|
|
||||||
1) Run update-osk-layouts.sh
|
|
||||||
|
|
||||||
2) Do git add and git commit
|
|
@ -1,9 +0,0 @@
|
|||||||
dbus_interfaces = [
|
|
||||||
'org.gnome.Shell.Extensions.xml',
|
|
||||||
'org.gnome.Shell.PadOsd.xml',
|
|
||||||
'org.gnome.Shell.Screencast.xml',
|
|
||||||
'org.gnome.Shell.Screenshot.xml',
|
|
||||||
'org.gnome.ShellSearchProvider.xml',
|
|
||||||
'org.gnome.ShellSearchProvider2.xml'
|
|
||||||
]
|
|
||||||
install_data(dbus_interfaces, install_dir: ifacedir)
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="net.hadess.SensorProxy">
|
|
||||||
<property name="HasAccelerometer" type="b" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="net.hadess.SwitcherooControl">
|
|
||||||
<property name="HasDualGpu" type="b" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,32 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.Gtk.MountOperationHandler">
|
|
||||||
<method name="AskPassword">
|
|
||||||
<arg type="s" direction="in" name="object_id"/>
|
|
||||||
<arg type="s" direction="in" name="message"/>
|
|
||||||
<arg type="s" direction="in" name="icon_name"/>
|
|
||||||
<arg type="s" direction="in" name="default_user"/>
|
|
||||||
<arg type="s" direction="in" name="default_domain"/>
|
|
||||||
<arg type="u" direction="in" name="flags"/>
|
|
||||||
<arg type="u" direction="out" name="response"/>
|
|
||||||
<arg type="a{sv}" direction="out" name="response_details"/>
|
|
||||||
</method>
|
|
||||||
<method name="AskQuestion">
|
|
||||||
<arg type="s" direction="in" name="object_id"/>
|
|
||||||
<arg type="s" direction="in" name="message"/>
|
|
||||||
<arg type="s" direction="in" name="icon_name"/>
|
|
||||||
<arg type="as" direction="in" name="choices"/>
|
|
||||||
<arg type="u" direction="out" name="response"/>
|
|
||||||
<arg type="a{sv}" direction="out" name="response_details"/>
|
|
||||||
</method>
|
|
||||||
<method name="ShowProcesses">
|
|
||||||
<arg type="s" direction="in" name="object_id"/>
|
|
||||||
<arg type="s" direction="in" name="message"/>
|
|
||||||
<arg type="s" direction="in" name="icon_name"/>
|
|
||||||
<arg type="ai" direction="in" name="application_pids"/>
|
|
||||||
<arg type="as" direction="in" name="choices"/>
|
|
||||||
<arg type="u" direction="out" name="response"/>
|
|
||||||
<arg type="a{sv}" direction="out" name="response_details"/>
|
|
||||||
</method>
|
|
||||||
<method name="Close"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,12 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.Application">
|
|
||||||
<method name="ActivateAction">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="av" direction="in"/>
|
|
||||||
<arg type="a{sv}" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Activate">
|
|
||||||
<arg type="a{sv}" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,16 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.DBus">
|
|
||||||
<method name="ListNames">
|
|
||||||
<arg type="as" direction="out" name="names"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetConnectionUnixProcessID">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<signal name="NameOwnerChanged">
|
|
||||||
<arg type="s" direction="out" name="name"/>
|
|
||||||
<arg type="s" direction="out" name="oldOwner"/>
|
|
||||||
<arg type="s" direction="out" name="newOwner"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,11 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.GeoClue2.Agent">
|
|
||||||
<property name="MaxAccuracyLevel" type="u" access="read"/>
|
|
||||||
<method name="AuthorizeApp">
|
|
||||||
<arg name="desktop_id" type="s" direction="in"/>
|
|
||||||
<arg name="req_accuracy_level" type="u" direction="in"/>
|
|
||||||
<arg name="authorized" type="b" direction="out"/>
|
|
||||||
<arg name="allowed_accuracy_level" type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,9 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.GeoClue2.Manager">
|
|
||||||
<property name="InUse" type="b" access="read"/>
|
|
||||||
<property name="AvailableAccuracyLevel" type="u" access="read"/>
|
|
||||||
<method name="AddAgent">
|
|
||||||
<arg name="id" type="s" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.ModemManager.Modem.Cdma">
|
|
||||||
<method name="GetSignalQuality">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetServingSystem">
|
|
||||||
<arg type="(usu)" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<signal name="SignalQuality">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,19 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
|
|
||||||
<method name="GetRegistrationInfo">
|
|
||||||
<arg type="(uss)" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetSignalQuality">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<property name="AccessTechnology" type="u" access="read"/>
|
|
||||||
<signal name="SignalQuality">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="RegistrationInfo">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,6 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp">
|
|
||||||
<property name="OperatorCode" type="s" access="read"/>
|
|
||||||
<property name="OperatorName" type="s" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">
|
|
||||||
<property name="Sid" type="u" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.ModemManager1.Modem">
|
|
||||||
<property name="SignalQuality" type="(ub)" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,35 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.Notifications">
|
|
||||||
<method name="Notify">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="as" direction="in"/>
|
|
||||||
<arg type="a{sv}" direction="in"/>
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="CloseNotification">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetCapabilities">
|
|
||||||
<arg type="as" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetServerInformation">
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<signal name="NotificationClosed">
|
|
||||||
<arg type="u"/>
|
|
||||||
<arg type="u"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="ActionInvoked">
|
|
||||||
<arg type="u"/>
|
|
||||||
<arg type="s"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.PackageKit.Offline">
|
|
||||||
<property name="UpdatePrepared" type="b" access="read"/>
|
|
||||||
<property name="UpdateTriggered" type="b" access="read"/>
|
|
||||||
<property name="UpgradePrepared" type="b" access="read"/>
|
|
||||||
<property name="UpgradeTriggered" type="b" access="read"/>
|
|
||||||
<property name="PreparedUpgrade" type="a{sv}" access="read"/>
|
|
||||||
<method name="Trigger">
|
|
||||||
<arg type="s" name="action" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Cancel"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,11 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.UPower.Device">
|
|
||||||
<property name="Type" type="u" access="read"/>
|
|
||||||
<property name="State" type="u" access="read"/>
|
|
||||||
<property name="Percentage" type="d" access="read"/>
|
|
||||||
<property name="TimeToEmpty" type="x" access="read"/>
|
|
||||||
<property name="TimeToFull" type="x" access="read"/>
|
|
||||||
<property name="IsPresent" type="b" access="read"/>
|
|
||||||
<property name="IconName" type="s" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.UPower">
|
|
||||||
<property name="OnBattery" type="b" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,18 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.bolt1.Device">
|
|
||||||
<property name="Uid" type="s" access="read"></property>
|
|
||||||
<property name="Name" type="s" access="read"></property>
|
|
||||||
<property name="Vendor" type="s" access="read"></property>
|
|
||||||
<property name="Type" type="s" access="read"></property>
|
|
||||||
<property name="Status" type="s" access="read"></property>
|
|
||||||
<property name="Parent" type="s" access="read"></property>
|
|
||||||
<property name="SysfsPath" type="s" access="read"></property>
|
|
||||||
<property name="Stored" type="b" access="read"></property>
|
|
||||||
<property name="Policy" type="s" access="read"></property>
|
|
||||||
<property name="Key" type="s" access="read"></property>
|
|
||||||
<property name="Label" type="s" access="read"></property>
|
|
||||||
<property name="ConnectTime" type="t" access="read"></property>
|
|
||||||
<property name="AuthorizeTime" type="t" access="read"></property>
|
|
||||||
<property name="StoreTime" type="t" access="read"></property>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,15 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.bolt1.Manager">
|
|
||||||
<property name="Probing" type="b" access="read"></property>
|
|
||||||
<property name="AuthMode" type="s" access="readwrite"></property>
|
|
||||||
<method name="EnrollDevice">
|
|
||||||
<arg type="s" name="uid" direction="in"/>
|
|
||||||
<arg type="s" name="policy" direction="in"/>
|
|
||||||
<arg type="s" name="flags" direction="in"/>
|
|
||||||
<arg name="device" direction="out" type="o"/>
|
|
||||||
</method>
|
|
||||||
<signal name="DeviceAdded">
|
|
||||||
<arg name="device" type="o"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,15 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.impl.portal.Access">
|
|
||||||
<method name="AccessDialog">
|
|
||||||
<arg type="o" name="handle" direction="in"/>
|
|
||||||
<arg type="s" name="app_id" direction="in"/>
|
|
||||||
<arg type="s" name="parent_window" direction="in"/>
|
|
||||||
<arg type="s" name="title" direction="in"/>
|
|
||||||
<arg type="s" name="subtitle" direction="in"/>
|
|
||||||
<arg type="s" name="body" direction="in"/>
|
|
||||||
<arg type="a{sv}" name="options" direction="in"/>
|
|
||||||
<arg type="u" name="response" direction="out"/>
|
|
||||||
<arg type="a{sv}" name="results" direction="out"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,24 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.impl.portal.PermissionStore">
|
|
||||||
<method name="Lookup">
|
|
||||||
<arg name="table" type="s" direction="in"/>
|
|
||||||
<arg name="id" type="s" direction="in"/>
|
|
||||||
<arg name="permissions" type="a{sas}" direction="out"/>
|
|
||||||
<arg name="data" type="v" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="Set">
|
|
||||||
<arg name="table" type="s" direction="in"/>
|
|
||||||
<arg name="create" type="b" direction="in"/>
|
|
||||||
<arg name="id" type="s" direction="in"/>
|
|
||||||
<arg name="app_permissions" type="a{sas}" direction="in"/>
|
|
||||||
<arg name="data" type="v" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<signal name="Changed">
|
|
||||||
<arg name="table" type="s" direction="out"/>
|
|
||||||
<arg name="id" type="s" direction="out"/>
|
|
||||||
<arg name="deleted" type="b" direction="out"/>
|
|
||||||
<arg name="data" type="v" direction="out"/>
|
|
||||||
<arg name="permissions" type="a{sas}" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.impl.portal.Request">
|
|
||||||
<method name="Close"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,27 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.login1.Manager">
|
|
||||||
<method name="Suspend">
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="CanSuspend">
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="Inhibit">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="h" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetSession">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="o" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="ListSessions">
|
|
||||||
<arg name="sessions" type="a(susso)" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<signal name="PrepareForSleep">
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,15 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.login1.Session">
|
|
||||||
<signal name="Lock"/>
|
|
||||||
<signal name="Unlock"/>
|
|
||||||
<property name="Active" type="b" access="read"/>
|
|
||||||
<property name="Class" type="s" access="read"/>
|
|
||||||
<property name="Id" type="s" access="read"/>
|
|
||||||
<property name="Remote" type="b" access="read"/>
|
|
||||||
<property name="Type" type="s" access="read"/>
|
|
||||||
<property name="State" type="s" access="read"/>
|
|
||||||
<method name="SetLockedHint">
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,6 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.login1.User">
|
|
||||||
<property name="Display" type="(so)" access="read"/>
|
|
||||||
<property name="Sessions" type="a(so)" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.realmd.Provider">
|
|
||||||
<property name="Name" type="s" access="read"/>
|
|
||||||
<property name="Version" type="s" access="read"/>
|
|
||||||
<property name="Realms" type="ao" access="read"/>
|
|
||||||
<method name="Discover">
|
|
||||||
<arg name="string" type="s" direction="in"/>
|
|
||||||
<arg name="options" type="a{sv}" direction="in"/>
|
|
||||||
<arg name="relevance" type="i" direction="out"/>
|
|
||||||
<arg name="realm" type="ao" direction="out"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,20 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.realmd.Realm">
|
|
||||||
<property name="Name" type="s" access="read"/>
|
|
||||||
<property name="Configured" type="s" access="read"/>
|
|
||||||
<property name="Details" type="a(ss)" access="read"/>
|
|
||||||
<property name="LoginFormats" type="as" access="read"/>
|
|
||||||
<property name="LoginPolicy" type="s" access="read"/>
|
|
||||||
<property name="PermittedLogins" type="as" access="read"/>
|
|
||||||
<property name="SupportedInterfaces" type="as" access="read"/>
|
|
||||||
<method name="ChangeLoginPolicy">
|
|
||||||
<arg name="login_policy" type="s" direction="in"/>
|
|
||||||
<arg name="permitted_add" type="as" direction="in"/>
|
|
||||||
<arg name="permitted_remove" type="as" direction="in"/>
|
|
||||||
<arg name="options" type="a{sv}" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Deconfigure">
|
|
||||||
<arg name="options" type="a{sv}" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,15 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.realmd.Service">
|
|
||||||
<method name="Cancel">
|
|
||||||
<arg name="operation" type="s" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Release"/>
|
|
||||||
<method name="SetLocale">
|
|
||||||
<arg name="locale" type="s" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<signal name="Diagnostics">
|
|
||||||
<arg name="data" type="s"/>
|
|
||||||
<arg name="operation" type="s"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,26 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Magnifier.ZoomRegion">
|
|
||||||
<method name="setMagFactor">
|
|
||||||
<arg type="d" direction="in"/>
|
|
||||||
<arg type="d" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="getMagFactor">
|
|
||||||
<arg type="d" direction="out"/>
|
|
||||||
<arg type="d" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="setRoi">
|
|
||||||
<arg type="ai" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="getRoi">
|
|
||||||
<arg type="ai" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="shiftContentsTo">
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="moveResize">
|
|
||||||
<arg type="ai" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,54 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Magnifier">
|
|
||||||
<method name="setActive">
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="isActive">
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="showCursor"/>
|
|
||||||
<method name="hideCursor"/>
|
|
||||||
<method name="createZoomRegion">
|
|
||||||
<arg type="d" direction="in"/>
|
|
||||||
<arg type="d" direction="in"/>
|
|
||||||
<arg type="ai" direction="in"/>
|
|
||||||
<arg type="ai" direction="in"/>
|
|
||||||
<arg type="o" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="addZoomRegion">
|
|
||||||
<arg type="o" direction="in"/>
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="getZoomRegions">
|
|
||||||
<arg type="ao" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="clearAllZoomRegions"/>
|
|
||||||
<method name="fullScreenCapable">
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="setCrosswireSize">
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="getCrosswireSize">
|
|
||||||
<arg type="i" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="setCrosswireLength">
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="getCrosswireLength">
|
|
||||||
<arg type="i" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="setCrosswireClip">
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="getCrosswireClip">
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="setCrosswireColor">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="getCrosswireColor">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,18 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.ScreenSaver">
|
|
||||||
<method name="Lock"/>
|
|
||||||
<method name="GetActive">
|
|
||||||
<arg type="b" direction="out" name="active"/>
|
|
||||||
</method>
|
|
||||||
<method name="SetActive">
|
|
||||||
<arg type="b" direction="in" name="value"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetActiveTime">
|
|
||||||
<arg type="u" direction="out" name="value"/>
|
|
||||||
</method>
|
|
||||||
<signal name="ActiveChanged">
|
|
||||||
<arg name="new_value" type="b"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="WakeUpScreen"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,16 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SessionManager.EndSessionDialog">
|
|
||||||
<method name="Open">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
<arg type="ao" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Close"/>
|
|
||||||
<signal name="ConfirmedLogout"/>
|
|
||||||
<signal name="ConfirmedReboot"/>
|
|
||||||
<signal name="ConfirmedShutdown"/>
|
|
||||||
<signal name="Canceled"/>
|
|
||||||
<signal name="Closed"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,10 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SessionManager.Inhibitor">
|
|
||||||
<method name="GetAppId">
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetReason">
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,11 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SessionManager.Presence">
|
|
||||||
<method name="SetStatus">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<property name="status" type="u" access="readwrite"/>
|
|
||||||
<signal name="StatusChanged">
|
|
||||||
<arg type="u" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,23 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SessionManager">
|
|
||||||
<method name="Logout">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Shutdown"/>
|
|
||||||
<method name="Reboot"/>
|
|
||||||
<method name="CanShutdown">
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="IsInhibited">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<property name="SessionIsActive" type="b" access="read"/>
|
|
||||||
<signal name="InhibitorAdded">
|
|
||||||
<arg type="o" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="InhibitorRemoved">
|
|
||||||
<arg type="o" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,6 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SettingsDaemon.Color">
|
|
||||||
<property name="DisabledUntilTomorrow" type="b" access="readwrite"/>
|
|
||||||
<property name="NightLightActive" type="b" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,5 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SettingsDaemon.Power.Screen">
|
|
||||||
<property name="Brightness" type="i" access="readwrite"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,10 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SettingsDaemon.Rfkill">
|
|
||||||
<property name="AirplaneMode" type="b" access="readwrite"/>
|
|
||||||
<property name="HardwareAirplaneMode" type="b" access="read"/>
|
|
||||||
<property name="BluetoothAirplaneMode" type="b" access="readwrite"/>
|
|
||||||
<property name="BluetoothHasAirplaneMode" type="b" access="read"/>
|
|
||||||
<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite"/>
|
|
||||||
<property name="ShouldShowAirplaneMode" type="b" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SettingsDaemon.Wacom">
|
|
||||||
<method name="SetGroupModeLED">
|
|
||||||
<arg name="device_path" direction="in" type="s"/>
|
|
||||||
<arg name="group" direction="in" type="u"/>
|
|
||||||
<arg name="mode" direction="in" type="u"/>
|
|
||||||
</method>
|
|
||||||
<method name="SetOLEDLabels">
|
|
||||||
<arg name="device_path" direction="in" type="s"/>
|
|
||||||
<arg name="labels" direction="in" type="as"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,12 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell.AudioDeviceSelection">
|
|
||||||
<method name="Open">
|
|
||||||
<arg name="devices" direction="in" type="as"/>
|
|
||||||
</method>
|
|
||||||
<method name="Close">
|
|
||||||
</method>
|
|
||||||
<signal name="DeviceSelected">
|
|
||||||
<arg name="device" type="s"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,205 +0,0 @@
|
|||||||
<!DOCTYPE node PUBLIC
|
|
||||||
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
|
|
||||||
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
|
|
||||||
<node>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
org.gnome.Shell.Extensions:
|
|
||||||
@short_description: Extensions interface
|
|
||||||
|
|
||||||
The interface used to query and manage extensions.
|
|
||||||
-->
|
|
||||||
<interface name="org.gnome.Shell.Extensions">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ListExtensions:
|
|
||||||
@extensions: A dictionary of extension infos
|
|
||||||
|
|
||||||
Get a list of installed extensions. The returned @extensions
|
|
||||||
dictionary maps extension UUIDs to info vardicts. See
|
|
||||||
GetExtensionInfo() for documentation on possible keys.
|
|
||||||
-->
|
|
||||||
<method name="ListExtensions">
|
|
||||||
<arg type="a{sa{sv}}" direction="out" name="extensions"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
GetExtensionInfo:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@info: The returned extension info
|
|
||||||
|
|
||||||
The information returned in the @info vardict depends on the
|
|
||||||
metadata the extension provides, however it is guaranteed to
|
|
||||||
contain the following keys:
|
|
||||||
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>uuid s</term>
|
|
||||||
<listitem><para>The UUID of the extension</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>name s</term>
|
|
||||||
<listitem><para>The name of the extension</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>description s</term>
|
|
||||||
<listitem><para>
|
|
||||||
A short summary that describes what the extension does
|
|
||||||
</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>shell-version as</term>
|
|
||||||
<listitem><para>An array of support shell versions</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>type d</term>
|
|
||||||
<listitem><para>
|
|
||||||
The type of extension:
|
|
||||||
<simplelist>
|
|
||||||
<member>1: SYSTEM</member>
|
|
||||||
<member>2: PER_USER</member>
|
|
||||||
</simplelist>
|
|
||||||
</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>state d</term>
|
|
||||||
<listitem><para>
|
|
||||||
The state the extension is in:
|
|
||||||
<simplelist>
|
|
||||||
<member>1: ENABLED</member>
|
|
||||||
<member>2: DISABLED</member>
|
|
||||||
<member>3: ERROR</member>
|
|
||||||
<member>4: OUT_OF_DATE</member>
|
|
||||||
<member>5: DOWNLOADING</member>
|
|
||||||
<member>6: INITIALIZED</member>
|
|
||||||
<member>99: UNINSTALLED</member>
|
|
||||||
</simplelist>
|
|
||||||
</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>path s</term>
|
|
||||||
<listitem><para>The extension directory</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>error s</term>
|
|
||||||
<listitem><para>The most recent error caught in init(), enable() or disable()</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>hasPrefs b</term>
|
|
||||||
<listitem><para>Whether the extension includes preference UI</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
|
|
||||||
By convention, many extensions will also include the following keys:
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>version d</term>
|
|
||||||
<listitem><para>The extension version</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>url s</term>
|
|
||||||
<listitem><para>The URL to the extension homepage or repository</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>settings-schema s</term>
|
|
||||||
<listitem><para>The ID of a bundled GSettings schema</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>gettext-domain s</term>
|
|
||||||
<listitem><para>The domain used for translations</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
-->
|
|
||||||
<method name="GetExtensionInfo">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="a{sv}" direction="out" name="info"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
GetExtensionErrors:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@errors: The returned errors
|
|
||||||
|
|
||||||
Get the list of errors that caused the extension
|
|
||||||
to be in ERROR state.
|
|
||||||
-->
|
|
||||||
<method name="GetExtensionErrors">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="as" direction="out" name="errors"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
InstallRemoteExtension:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@result: The result of the operation
|
|
||||||
|
|
||||||
Download and install an extension.
|
|
||||||
-->
|
|
||||||
<method name="InstallRemoteExtension">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="s" direction="out" name="result"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
UninstallExtension:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@success: Whether the operation was successful
|
|
||||||
|
|
||||||
Uninstall an extension.
|
|
||||||
-->
|
|
||||||
<method name="UninstallExtension">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="b" direction="out" name="success"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ReloadExtension:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
|
|
||||||
Reload an extension.
|
|
||||||
-->
|
|
||||||
<method name="ReloadExtension">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
LaunchExtensionPrefs:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
|
|
||||||
Launch preferences of an extension.
|
|
||||||
-->
|
|
||||||
<method name="LaunchExtensionPrefs">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
CheckForUpdates:
|
|
||||||
Update all extensions for which updates are available
|
|
||||||
-->
|
|
||||||
<method name="CheckForUpdates"/>
|
|
||||||
|
|
||||||
<signal name="ExtensionStatusChanged">
|
|
||||||
<arg type="s" name="uuid"/>
|
|
||||||
<arg type="i" name="state"/>
|
|
||||||
<arg type="s" name="error"/>
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ShellVersion:
|
|
||||||
The GNOME Shell version
|
|
||||||
-->
|
|
||||||
<property name="ShellVersion" type="s" access="read"/>
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,8 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell.HotplugSniffer">
|
|
||||||
<method name="SniffURI">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="as" direction="out"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,28 +0,0 @@
|
|||||||
<!DOCTYPE node PUBLIC
|
|
||||||
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
|
|
||||||
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
|
|
||||||
<node>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
org.gnome.Shell.PadOSD:
|
|
||||||
@short_description: Pad OSD interface
|
|
||||||
|
|
||||||
The interface used to show button map OSD on pad devices.
|
|
||||||
-->
|
|
||||||
<interface name='org.gnome.Shell.Wacom.PadOsd'>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Show:
|
|
||||||
@device_node: device node file, usually in /dev/input/...
|
|
||||||
@edition_mode: whether toggling edition mode on when showing
|
|
||||||
|
|
||||||
Shows the pad button map OSD for the requested device, the OSD
|
|
||||||
will be shown according the current device settings (output
|
|
||||||
mapping, left handed mode, ...)
|
|
||||||
-->
|
|
||||||
<method name='Show'>
|
|
||||||
<arg name='device_node' direction='in' type='o'/>
|
|
||||||
<arg name='edition_mode' direction='in' type='b'/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell.PerfHelper">
|
|
||||||
<method name="CreateWindow">
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
<arg type="i" direction="in"/>
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="WaitWindows"/>
|
|
||||||
<method name="DestroyWindows"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,19 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell.PortalHelper">
|
|
||||||
<method name="Authenticate">
|
|
||||||
<arg name="connection" type="o" direction="in"/>
|
|
||||||
<arg name="url" type="s" direction="in"/>
|
|
||||||
<arg name="timestamp" type="u" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Close">
|
|
||||||
<arg name="connection" type="o" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="Refresh">
|
|
||||||
<arg name="connection" type="o" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<signal name="Done">
|
|
||||||
<arg type="o" name="connection"/>
|
|
||||||
<arg type="u" name="result"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,8 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell.Wacom.PadOsd">
|
|
||||||
<method name="Show">
|
|
||||||
<arg name="device_node" direction="in" type="o"/>
|
|
||||||
<arg name="edition_mode" direction="in" type="b"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,44 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell">
|
|
||||||
<method name="Eval">
|
|
||||||
<arg type="s" direction="in" name="script"/>
|
|
||||||
<arg type="b" direction="out" name="success"/>
|
|
||||||
<arg type="s" direction="out" name="result"/>
|
|
||||||
</method>
|
|
||||||
<method name="FocusSearch"/>
|
|
||||||
<method name="ShowOSD">
|
|
||||||
<arg type="a{sv}" direction="in" name="params"/>
|
|
||||||
</method>
|
|
||||||
<method name="ShowMonitorLabels">
|
|
||||||
<arg type="a{uv}" direction="in" name="params"/>
|
|
||||||
</method>
|
|
||||||
<method name="ShowMonitorLabels2">
|
|
||||||
<arg type="a{sv}" direction="in" name="params"/>
|
|
||||||
</method>
|
|
||||||
<method name="HideMonitorLabels"/>
|
|
||||||
<method name="FocusApp">
|
|
||||||
<arg type="s" direction="in" name="id"/>
|
|
||||||
</method>
|
|
||||||
<method name="ShowApplications"/>
|
|
||||||
<method name="GrabAccelerator">
|
|
||||||
<arg type="s" direction="in" name="accelerator"/>
|
|
||||||
<arg type="u" direction="in" name="flags"/>
|
|
||||||
<arg type="u" direction="out" name="action"/>
|
|
||||||
</method>
|
|
||||||
<method name="GrabAccelerators">
|
|
||||||
<arg type="a(su)" direction="in" name="accelerators"/>
|
|
||||||
<arg type="au" direction="out" name="actions"/>
|
|
||||||
</method>
|
|
||||||
<method name="UngrabAccelerator">
|
|
||||||
<arg type="u" direction="in" name="action"/>
|
|
||||||
<arg type="b" direction="out" name="success"/>
|
|
||||||
</method>
|
|
||||||
<signal name="AcceleratorActivated">
|
|
||||||
<arg name="action" type="u"/>
|
|
||||||
<arg name="parameters" type="a{sv}"/>
|
|
||||||
</signal>
|
|
||||||
<property name="Mode" type="s" access="read"/>
|
|
||||||
<property name="OverviewActive" type="b" access="readwrite"/>
|
|
||||||
<property name="ShellVersion" type="s" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gtk.Notifications">
|
|
||||||
<method name="AddNotification">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="a{sv}" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<method name="RemoveNotification">
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
<arg type="s" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,12 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.mpris.MediaPlayer2.Player">
|
|
||||||
<method name="PlayPause"/>
|
|
||||||
<method name="Next"/>
|
|
||||||
<method name="Previous"/>
|
|
||||||
<property name="CanGoNext" type="b" access="read"/>
|
|
||||||
<property name="CanGoPrevious" type="b" access="read"/>
|
|
||||||
<property name="CanPlay" type="b" access="read"/>
|
|
||||||
<property name="Metadata" type="a{sv}" access="read"/>
|
|
||||||
<property name="PlaybackStatus" type="s" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,7 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.mpris.MediaPlayer2">
|
|
||||||
<method name="Raise"/>
|
|
||||||
<property name="CanRaise" type="b" access="read"/>
|
|
||||||
<property name="DesktopEntry" type="s" access="read"/>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@ -1,55 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gresources>
|
|
||||||
<gresource prefix="/org/gnome/shell/dbus-interfaces">
|
|
||||||
<file preprocess="xml-stripblanks">net.hadess.SensorProxy.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">net.hadess.SwitcherooControl.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.Application.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.DBus.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.GeoClue2.Agent.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.GeoClue2.Manager.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.impl.portal.Access.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.impl.portal.PermissionStore.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.impl.portal.Request.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.login1.Manager.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.login1.Session.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.login1.User.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.ModemManager1.Modem.Modem3gpp.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.ModemManager1.Modem.ModemCdma.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.ModemManager1.Modem.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.ModemManager.Modem.Cdma.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.ModemManager.Modem.Gsm.Network.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.Notifications.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.PackageKit.Offline.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.realmd.Provider.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.realmd.Realm.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.realmd.Service.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.UPower.Device.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.UPower.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Magnifier.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Magnifier.ZoomRegion.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.ScreenSaver.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.EndSessionDialog.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.Inhibitor.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.Presence.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Color.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Power.Screen.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Rfkill.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Wacom.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.AudioDeviceSelection.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.Extensions.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.HotplugSniffer.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.PerfHelper.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.PortalHelper.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.Screencast.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.Screenshot.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.Wacom.PadOsd.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gnome.Shell.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.Gtk.MountOperationHandler.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.gtk.Notifications.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.mpris.MediaPlayer2.Player.xml</file>
|
|
||||||
<file preprocess="xml-stripblanks">org.mpris.MediaPlayer2.xml</file>
|
|
||||||
</gresource>
|
|
||||||
</gresources>
|
|
@ -1,7 +1,7 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=Shell Extensions
|
_Name=GNOME Shell Extension Preferences
|
||||||
Comment=Configure GNOME Shell Extensions
|
_Comment=Configure GNOME Shell Extensions
|
||||||
Exec=@bindir@/gnome-shell-extension-prefs %u
|
Exec=@bindir@/gnome-shell-extension-prefs %u
|
||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||||
X-GNOME-Bugzilla-Product=gnome-shell
|
X-GNOME-Bugzilla-Product=gnome-shell
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gresources>
|
|
||||||
<gresource prefix="/org/gnome/shell/osk-layouts">
|
|
||||||
<file>am.json</file>
|
|
||||||
<file>ara.json</file>
|
|
||||||
<file>be.json</file>
|
|
||||||
<file>bg.json</file>
|
|
||||||
<file>by.json</file>
|
|
||||||
<file>cz.json</file>
|
|
||||||
<file>de.json</file>
|
|
||||||
<file>dk.json</file>
|
|
||||||
<file>ee.json</file>
|
|
||||||
<file>epo.json</file>
|
|
||||||
<file>es+cat.json</file>
|
|
||||||
<file>es.json</file>
|
|
||||||
<file>fi.json</file>
|
|
||||||
<file>fr.json</file>
|
|
||||||
<file>ge.json</file>
|
|
||||||
<file>gr.json</file>
|
|
||||||
<file>hr.json</file>
|
|
||||||
<file>hu.json</file>
|
|
||||||
<file>id.json</file>
|
|
||||||
<file>il.json</file>
|
|
||||||
<file>in+bolnagri.json</file>
|
|
||||||
<file>in+mal.json</file>
|
|
||||||
<file>ir.json</file>
|
|
||||||
<file>is.json</file>
|
|
||||||
<file>it.json</file>
|
|
||||||
<file>ke.json</file>
|
|
||||||
<file>kg.json</file>
|
|
||||||
<file>kh.json</file>
|
|
||||||
<file>la.json</file>
|
|
||||||
<file>latam.json</file>
|
|
||||||
<file>lt.json</file>
|
|
||||||
<file>lv.json</file>
|
|
||||||
<file>mk.json</file>
|
|
||||||
<file>mn.json</file>
|
|
||||||
<file>my.json</file>
|
|
||||||
<file>nl.json</file>
|
|
||||||
<file>no.json</file>
|
|
||||||
<file>ph.json</file>
|
|
||||||
<file>pl.json</file>
|
|
||||||
<file>pt.json</file>
|
|
||||||
<file>ro.json</file>
|
|
||||||
<file>rs.json</file>
|
|
||||||
<file>ru.json</file>
|
|
||||||
<file>se.json</file>
|
|
||||||
<file>si.json</file>
|
|
||||||
<file>sk.json</file>
|
|
||||||
<file>th.json</file>
|
|
||||||
<file>tr.json</file>
|
|
||||||
<file>ua.json</file>
|
|
||||||
<file>uk.json</file>
|
|
||||||
<file>us.json</file>
|
|
||||||
<file>vn.json</file>
|
|
||||||
<file>za.json</file>
|
|
||||||
</gresource>
|
|
||||||
</gresources>
|
|
@ -1,5 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Name=GNOME settings overrides migration
|
|
||||||
NoDisplay=true
|
|
||||||
Exec=@libexecdir@/gnome-shell-overrides-migration.sh
|
|
@ -1,4 +1,5 @@
|
|||||||
[org.gnome.shell.overrides]
|
[org.gnome.shell.overrides]
|
||||||
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
|
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
|
||||||
|
button-layout = /desktop/gnome/shell/windows/button_layout
|
||||||
edge-tiling = /desktop/gnome/shell/windows/edge_tiling
|
edge-tiling = /desktop/gnome/shell/windows/edge_tiling
|
||||||
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary
|
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gresources>
|
|
||||||
<gresource prefix="/org/gnome/shell/theme">
|
|
||||||
<file>calendar-arrow-left.svg</file>
|
|
||||||
<file>calendar-arrow-right.svg</file>
|
|
||||||
<file>calendar-today.svg</file>
|
|
||||||
<file>checkbox-focused.svg</file>
|
|
||||||
<file>checkbox-off-focused.svg</file>
|
|
||||||
<file>checkbox-off.svg</file>
|
|
||||||
<file>checkbox.svg</file>
|
|
||||||
<file>close-window.svg</file>
|
|
||||||
<file>close-window-active.svg</file>
|
|
||||||
<file>close-window-hover.svg</file>
|
|
||||||
<file>corner-ripple-ltr.png</file>
|
|
||||||
<file>corner-ripple-rtl.png</file>
|
|
||||||
<file>dash-placeholder.svg</file>
|
|
||||||
<file>gnome-shell.css</file>
|
|
||||||
<file>gnome-shell-high-contrast.css</file>
|
|
||||||
<file>key-enter.svg</file>
|
|
||||||
<file>key-hide.svg</file>
|
|
||||||
<file>key-layout.svg</file>
|
|
||||||
<file>key-shift.svg</file>
|
|
||||||
<file>key-shift-uppercase.svg</file>
|
|
||||||
<file>key-shift-latched-uppercase.svg</file>
|
|
||||||
<file alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
|
||||||
<file>no-events.svg</file>
|
|
||||||
<file>no-notifications.svg</file>
|
|
||||||
<file>noise-texture.png</file>
|
|
||||||
<file>pad-osd.css</file>
|
|
||||||
<file>page-indicator-active.svg</file>
|
|
||||||
<file>page-indicator-inactive.svg</file>
|
|
||||||
<file>page-indicator-checked.svg</file>
|
|
||||||
<file>page-indicator-hover.svg</file>
|
|
||||||
<file>process-working.svg</file>
|
|
||||||
<file>toggle-off-us.svg</file>
|
|
||||||
<file>toggle-off-intl.svg</file>
|
|
||||||
<file>toggle-off-hc.svg</file>
|
|
||||||
<file>toggle-on-us.svg</file>
|
|
||||||
<file>toggle-on-intl.svg</file>
|
|
||||||
<file>toggle-on-hc.svg</file>
|
|
||||||
</gresource>
|
|
||||||
</gresources>
|
|
15
data/gnome-shell-wayland.desktop.in.in
Normal file
15
data/gnome-shell-wayland.desktop.in.in
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
_Name=GNOME Shell (wayland compositor)
|
||||||
|
_Comment=Window management and application launching
|
||||||
|
Exec=@bindir@/mutter-launch -- gnome-shell-wayland --wayland
|
||||||
|
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||||
|
X-GNOME-Bugzilla-Product=gnome-shell
|
||||||
|
X-GNOME-Bugzilla-Component=general
|
||||||
|
X-GNOME-Bugzilla-Version=@VERSION@
|
||||||
|
Categories=GNOME;GTK;Core;
|
||||||
|
OnlyShowIn=GNOME;
|
||||||
|
NoDisplay=true
|
||||||
|
X-GNOME-Autostart-Phase=DisplayServer
|
||||||
|
X-GNOME-Autostart-Notify=true
|
||||||
|
X-GNOME-AutoRestart=false
|
@ -1,5 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=GNOME Shell (wayland sync point)
|
|
||||||
After=gnome-shell.service
|
|
||||||
BindsTo=gnome-shell.service
|
|
||||||
Conflicts=gnome-shell-x11.target
|
|
@ -1,5 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=GNOME Shell (x11 sync point)
|
|
||||||
After=gnome-shell.service
|
|
||||||
BindsTo=gnome-shell.service
|
|
||||||
Conflicts=gnome-shell-wayland.target
|
|
@ -1,7 +1,7 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=GNOME Shell
|
_Name=GNOME Shell
|
||||||
Comment=Window management and application launching
|
_Comment=Window management and application launching
|
||||||
Exec=@bindir@/gnome-shell
|
Exec=@bindir@/gnome-shell
|
||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||||
X-GNOME-Bugzilla-Product=gnome-shell
|
X-GNOME-Bugzilla-Product=gnome-shell
|
||||||
@ -10,7 +10,7 @@ X-GNOME-Bugzilla-Version=@VERSION@
|
|||||||
Categories=GNOME;GTK;Core;
|
Categories=GNOME;GTK;Core;
|
||||||
OnlyShowIn=GNOME;
|
OnlyShowIn=GNOME;
|
||||||
NoDisplay=true
|
NoDisplay=true
|
||||||
X-GNOME-Autostart-Phase=DisplayServer
|
X-GNOME-Autostart-Phase=WindowManager
|
||||||
X-GNOME-Provides=panel;windowmanager;
|
X-GNOME-Provides=panel;windowmanager;
|
||||||
X-GNOME-Autostart-Notify=true
|
X-GNOME-Autostart-Notify=true
|
||||||
X-GNOME-AutoRestart=false
|
X-GNOME-AutoRestart=false
|
@ -1,4 +0,0 @@
|
|||||||
[portal]
|
|
||||||
DBusName=org.freedesktop.impl.portal.desktop.gnome
|
|
||||||
Interfaces=org.freedesktop.impl.portal.Access
|
|
||||||
UseIn=gnome
|
|
@ -1,11 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=GNOME Shell
|
|
||||||
Wants=gnome-session.service
|
|
||||||
After=graphical-session-pre.target gnome-session-bus.target
|
|
||||||
PartOf=graphical-session.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=dbus
|
|
||||||
ExecStart=@bindir@/gnome-shell
|
|
||||||
Restart=on-failure
|
|
||||||
BusName=org.gnome.Shell
|
|
121
data/meson.build
121
data/meson.build
@ -1,121 +0,0 @@
|
|||||||
desktop_files = [
|
|
||||||
'org.gnome.Shell.desktop',
|
|
||||||
'gnome-shell-extension-prefs.desktop'
|
|
||||||
]
|
|
||||||
service_files = []
|
|
||||||
|
|
||||||
if have_networkmanager
|
|
||||||
desktop_files += 'org.gnome.Shell.PortalHelper.desktop'
|
|
||||||
service_files += 'org.gnome.Shell.PortalHelper.service'
|
|
||||||
endif
|
|
||||||
|
|
||||||
desktopconf = configuration_data()
|
|
||||||
# We substitute in bindir so it works as an autostart
|
|
||||||
# file when built in a non-system prefix
|
|
||||||
desktopconf.set('bindir', bindir)
|
|
||||||
desktopconf.set('VERSION', meson.project_version())
|
|
||||||
foreach desktop_file : desktop_files
|
|
||||||
i18n.merge_file('desktop',
|
|
||||||
input: configure_file(
|
|
||||||
input: desktop_file + '.in.in',
|
|
||||||
output: desktop_file + '.in',
|
|
||||||
configuration: desktopconf
|
|
||||||
),
|
|
||||||
output: desktop_file,
|
|
||||||
po_dir: '../po',
|
|
||||||
install: true,
|
|
||||||
install_dir: desktopdir,
|
|
||||||
type: 'desktop'
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
serviceconf = configuration_data()
|
|
||||||
serviceconf.set('libexecdir', libexecdir)
|
|
||||||
foreach service_file : service_files
|
|
||||||
configure_file(
|
|
||||||
input: service_file + '.in',
|
|
||||||
output: service_file,
|
|
||||||
configuration: serviceconf,
|
|
||||||
install_dir: servicedir
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
|
|
||||||
subdir('dbus-interfaces')
|
|
||||||
subdir('theme')
|
|
||||||
|
|
||||||
data_resources = [
|
|
||||||
['dbus-interfaces', []],
|
|
||||||
['osk-layouts', []],
|
|
||||||
['theme', theme_deps]
|
|
||||||
]
|
|
||||||
foreach resource : data_resources
|
|
||||||
gnome.compile_resources(
|
|
||||||
'gnome-shell-' + resource[0],
|
|
||||||
'gnome-shell-@0@.gresource.xml'.format(resource[0]),
|
|
||||||
source_dir: resource[0],
|
|
||||||
dependencies: resource[1],
|
|
||||||
gresource_bundle: true,
|
|
||||||
install: true,
|
|
||||||
install_dir: pkgdatadir
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
perfconf = configuration_data()
|
|
||||||
perfconf.set('datadir', datadir)
|
|
||||||
configure_file(
|
|
||||||
input: 'perf-background.xml.in',
|
|
||||||
output: 'perf-background.xml',
|
|
||||||
configuration: perfconf,
|
|
||||||
install_dir: pkgdatadir
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
install_data('gnome-shell.portal', install_dir: portaldir)
|
|
||||||
install_data('50-gnome-shell-system.xml', install_dir: keysdir)
|
|
||||||
|
|
||||||
|
|
||||||
schemaconf = configuration_data()
|
|
||||||
schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
|
|
||||||
schema = configure_file(
|
|
||||||
input: 'org.gnome.shell.gschema.xml.in',
|
|
||||||
output: 'org.gnome.shell.gschema.xml',
|
|
||||||
configuration: schemaconf,
|
|
||||||
install_dir: schemadir
|
|
||||||
)
|
|
||||||
install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir)
|
|
||||||
|
|
||||||
overrides_migration_conf = configuration_data()
|
|
||||||
overrides_migration_conf.set('libexecdir', libexecdir)
|
|
||||||
overrides_migration = configure_file(
|
|
||||||
input: 'gnome-shell-overrides-migration.desktop.in',
|
|
||||||
output: 'gnome-shell-overrides-migration.desktop',
|
|
||||||
configuration: overrides_migration_conf,
|
|
||||||
install_dir: autostartdir
|
|
||||||
)
|
|
||||||
|
|
||||||
if have_systemd
|
|
||||||
unitconf = configuration_data()
|
|
||||||
unitconf.set('bindir', bindir)
|
|
||||||
|
|
||||||
unit = configure_file(
|
|
||||||
input: 'gnome-shell.service.in',
|
|
||||||
output: 'gnome-shell.service',
|
|
||||||
configuration: unitconf,
|
|
||||||
install_dir: systemduserunitdir
|
|
||||||
)
|
|
||||||
|
|
||||||
units = files('gnome-shell-wayland.target',
|
|
||||||
'gnome-shell-x11.target')
|
|
||||||
|
|
||||||
install_data(units, install_dir: systemduserunitdir)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# for unit tests - gnome.compile_schemas() only looks in srcdir
|
|
||||||
custom_target('compile-schemas',
|
|
||||||
input: schema,
|
|
||||||
output: 'gschemas.compiled',
|
|
||||||
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
|
|
||||||
build_by_default: true)
|
|
||||||
|
|
||||||
install_data('gnome-shell-overrides.convert', install_dir: convertdir)
|
|
@ -1,10 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Network Login
|
|
||||||
Type=Application
|
|
||||||
Exec=gapplication launch org.gnome.Shell.PortalHelper
|
|
||||||
DBusActivatable=true
|
|
||||||
NoDisplay=true
|
|
||||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
|
||||||
Icon=network-workgroup
|
|
||||||
StartupNotify=true
|
|
||||||
OnlyShowIn=GNOME;
|
|
@ -1,3 +0,0 @@
|
|||||||
[D-BUS Service]
|
|
||||||
Name=org.gnome.Shell.PortalHelper
|
|
||||||
Exec=@libexecdir@/gnome-shell-portal-helper
|
|
@ -38,6 +38,7 @@
|
|||||||
<method name="Screencast">
|
<method name="Screencast">
|
||||||
<arg type="s" direction="in" name="file_template"/>
|
<arg type="s" direction="in" name="file_template"/>
|
||||||
<arg type="a{sv}" direction="in" name="options"/>
|
<arg type="a{sv}" direction="in" name="options"/>
|
||||||
|
<arg type="b" direction="in" name="flash"/>
|
||||||
<arg type="b" direction="out" name="success"/>
|
<arg type="b" direction="out" name="success"/>
|
||||||
<arg type="s" direction="out" name="filename_used"/>
|
<arg type="s" direction="out" name="filename_used"/>
|
||||||
</method>
|
</method>
|
@ -91,23 +91,6 @@
|
|||||||
<arg type="s" direction="out" name="filename_used"/>
|
<arg type="s" direction="out" name="filename_used"/>
|
||||||
</method>
|
</method>
|
||||||
|
|
||||||
<!--
|
|
||||||
PickColor:
|
|
||||||
|
|
||||||
Picks a color and returns the result.
|
|
||||||
|
|
||||||
The @result vardict contains:
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>color (ddd)</term>
|
|
||||||
<listitem><para>The color, RGB values in the range [0,1].</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
-->
|
|
||||||
<method name="PickColor">
|
|
||||||
<arg type="a{sv}" direction="out" name="result"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
FlashArea:
|
FlashArea:
|
||||||
@x: the X coordinate of the area to flash
|
@x: the X coordinate of the area to flash
|
@ -3,139 +3,119 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="development-tools" type="b">
|
<key name="development-tools" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>
|
<_summary>
|
||||||
Enable internal tools useful for developers and testers from Alt-F2
|
Enable internal tools useful for developers and testers from Alt-F2
|
||||||
</summary>
|
</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Allows access to internal debugging and monitoring tools
|
Allows access to internal debugging and monitoring tools
|
||||||
using the Alt-F2 dialog.
|
using the Alt-F2 dialog.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="enabled-extensions" type="as">
|
<key name="enabled-extensions" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<summary>UUIDs of extensions to enable</summary>
|
<_summary>Uuids of extensions to enable</_summary>
|
||||||
<description>
|
<_description>
|
||||||
GNOME Shell extensions have a UUID property; this key lists extensions
|
GNOME Shell extensions have a uuid property; this key lists extensions
|
||||||
which should be loaded. Any extension that wants to be loaded needs
|
which should be loaded. Any extension that wants to be loaded needs
|
||||||
to be in this list. You can also manipulate this list with the
|
to be in this list. You can also manipulate this list with the
|
||||||
EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell.
|
EnableExtension and DisableExtension DBus methods on org.gnome.Shell.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
|
||||||
<key name="disable-user-extensions" type="b">
|
|
||||||
<default>false</default>
|
|
||||||
<summary>Disable user extensions</summary>
|
|
||||||
<description>
|
|
||||||
Disable all extensions the user has enabled without affecting
|
|
||||||
the “enabled-extension” setting.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="disable-extension-version-validation" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Disables the validation of extension version compatibility</summary>
|
|
||||||
<description>
|
|
||||||
GNOME Shell will only load extensions that claim to support the current
|
|
||||||
running version. Enabling this option will disable this check and try to
|
|
||||||
load all extensions regardless of the versions they claim to support.
|
|
||||||
</description>
|
|
||||||
</key>
|
</key>
|
||||||
<key name="favorite-apps" type="as">
|
<key name="favorite-apps" type="as">
|
||||||
<default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
<default>[ 'epiphany.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop' ]</default>
|
||||||
<summary>List of desktop file IDs for favorite applications</summary>
|
<_summary>List of desktop file IDs for favorite applications</_summary>
|
||||||
<description>
|
<_description>
|
||||||
The applications corresponding to these identifiers
|
The applications corresponding to these identifiers
|
||||||
will be displayed in the favorites area.
|
will be displayed in the favorites area.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="app-picker-view" type="u">
|
<key name="app-folder-categories" type="as">
|
||||||
<default>0</default>
|
<default>[ 'Utilities', 'Sundry' ]</default>
|
||||||
<summary>App Picker View</summary>
|
<_summary>List of categories that should be displayed as folders</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Index of the currently selected view in the application picker.
|
Each category name in this list will be represented as folder in the
|
||||||
</description>
|
application view, rather than being displayed inline in the main view.
|
||||||
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="command-history" type="as">
|
<key name="command-history" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<summary>History for command (Alt-F2) dialog</summary>
|
<_summary>History for command (Alt-F2) dialog</_summary>
|
||||||
</key>
|
</key>
|
||||||
<key name="looking-glass-history" type="as">
|
<key name="looking-glass-history" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<!-- Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass -->
|
<_summary>History for the looking glass dialog</_summary>
|
||||||
<summary>History for the looking glass dialog</summary>
|
|
||||||
</key>
|
</key>
|
||||||
<key name="always-show-log-out" type="b">
|
<key name="always-show-log-out" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<summary>Always show the “Log out” menu item in the user menu.</summary>
|
<_summary>Always show the 'Log out' menuitem in the user menu.</_summary>
|
||||||
<description>
|
<_description>
|
||||||
This key overrides the automatic hiding of the “Log out”
|
This key overrides the automatic hiding of the 'Log out'
|
||||||
menu item in single-user, single-session situations.
|
menuitem in single-user, single-session situations.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="remember-mount-password" type="b">
|
<key name="remember-mount-password" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<summary>Whether to remember password for mounting encrypted or remote filesystems</summary>
|
<_summary>Whether to remember password for mounting encrypted or remote filesystems</_summary>
|
||||||
<description>
|
<_description>
|
||||||
The shell will request a password when an encrypted device or a
|
The shell will request a password when an encrypted device or a
|
||||||
remote filesystem is mounted. If the password can be saved for
|
remote filesystem is mounted. If the password can be saved for
|
||||||
future use a “Remember Password” checkbox will be present.
|
future use a 'Remember Password' checkbox will be present.
|
||||||
This key sets the default state of the checkbox.
|
This key sets the default state of the checkbox.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
|
||||||
<key name="had-bluetooth-devices-setup" type="b">
|
|
||||||
<default>false</default>
|
|
||||||
<summary>Whether the default Bluetooth adapter had set up devices associated to it</summary>
|
|
||||||
<description>
|
|
||||||
The shell will only show a Bluetooth menu item if a Bluetooth
|
|
||||||
adapter is powered, or if there were devices set up associated
|
|
||||||
with the default adapter. This will be reset if the default
|
|
||||||
adapter is ever seen not to have devices associated to it.
|
|
||||||
</description>
|
|
||||||
</key>
|
</key>
|
||||||
|
<child name="calendar" schema="org.gnome.shell.calendar"/>
|
||||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||||
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
|
<schema id="org.gnome.shell.calendar" path="/org/gnome/shell/calendar/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key name="show-weekdate" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<_summary>Show the week date in the calendar</_summary>
|
||||||
|
<_description>
|
||||||
|
If true, display the ISO week date in the calendar.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
|
||||||
<schema id="org.gnome.shell.keybindings" path="/org/gnome/shell/keybindings/"
|
<schema id="org.gnome.shell.keybindings" path="/org/gnome/shell/keybindings/"
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="open-application-menu" type="as">
|
<key name="open-application-menu" type="as">
|
||||||
<default>["<Super>F10"]</default>
|
<default>["<Super>F10"]</default>
|
||||||
<summary>Keybinding to open the application menu</summary>
|
<_summary>Keybinding to open the application menu</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Keybinding to open the application menu.
|
Keybinding to open the application menu.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="toggle-application-view" type="as">
|
<key name="toggle-application-view" type="as">
|
||||||
<default>["<Super>a"]</default>
|
<default>["<Super>a"]</default>
|
||||||
<summary>Keybinding to open the “Show Applications” view</summary>
|
<_summary>Keybinding to open the "Show Applications" view</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Keybinding to open the “Show Applications” view of the Activities
|
Keybinding to open the "Show Applications" view of the Activities
|
||||||
Overview.
|
Overview.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="toggle-overview" type="as">
|
<key name="toggle-overview" type="as">
|
||||||
<default>["<Super>s"]</default>
|
<default>["<Super>s"]</default>
|
||||||
<summary>Keybinding to open the overview</summary>
|
<_summary>Keybinding to open the overview</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Keybinding to open the Activities Overview.
|
Keybinding to open the Activities Overview.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="toggle-message-tray" type="as">
|
<key name="toggle-message-tray" type="as">
|
||||||
<default>["<Super>v","<Super>m"]</default>
|
<default>["<Super>m"]</default>
|
||||||
<summary>Keybinding to toggle the visibility of the notification list</summary>
|
<_summary>Keybinding to toggle the visibility of the message tray</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Keybinding to toggle the visibility of the notification list.
|
Keybinding to toggle the visibility of the message tray.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="focus-active-notification" type="as">
|
<key name="focus-active-notification" type="as">
|
||||||
<default>["<Super>n"]</default>
|
<default>["<Super>n"]</default>
|
||||||
<summary>Keybinding to focus the active notification</summary>
|
<_summary>Keybinding to focus the active notification</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Keybinding to focus the active notification.
|
Keybinding to focus the active notification.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
|
||||||
<key name="pause-resume-tweens" type="as">
|
|
||||||
<default>[]</default>
|
|
||||||
<summary>Keybinding that pauses and resumes all running tweens, for debugging purposes</summary>
|
|
||||||
<description></description>
|
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
@ -143,10 +123,10 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="keyboard-type" type="s">
|
<key name="keyboard-type" type="s">
|
||||||
<default>'touch'</default>
|
<default>'touch'</default>
|
||||||
<summary>Which keyboard to use</summary>
|
<_summary>Which keyboard to use</_summary>
|
||||||
<description>
|
<_description>
|
||||||
The type of keyboard to use.
|
The type of keyboard to use.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
@ -173,12 +153,12 @@
|
|||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode">
|
<key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode">
|
||||||
<default>'both'</default>
|
<default>'both'</default>
|
||||||
<summary>The application icon mode.</summary>
|
<_summary>The application icon mode.</_summary>
|
||||||
<description>
|
<_description>
|
||||||
Configures how the windows are shown in the switcher. Valid possibilities
|
Configures how the windows are shown in the switcher. Valid possibilities
|
||||||
are “thumbnail-only” (shows a thumbnail of the window), “app-icon-only”
|
are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only'
|
||||||
(shows only the application icon) or “both”.
|
(shows only the application icon) or 'both'.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key type="b" name="current-workspace-only">
|
<key type="b" name="current-workspace-only">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
@ -190,48 +170,56 @@
|
|||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
|
||||||
<!-- unused, change 00_org.gnome.shell.gschema.override instead -->
|
|
||||||
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/"
|
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/"
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="attach-modal-dialogs" type="b">
|
<key name="attach-modal-dialogs" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>Attach modal dialog to the parent window</summary>
|
<_summary>Attach modal dialog to the parent window</_summary>
|
||||||
<description>
|
<_description>
|
||||||
This key overrides the key in org.gnome.mutter when running
|
This key overrides the key in org.gnome.mutter when running
|
||||||
GNOME Shell.
|
GNOME Shell.
|
||||||
</description>
|
</_description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="button-layout" type="s">
|
||||||
|
<default>":close"</default>
|
||||||
|
<_summary>Arrangement of buttons on the titlebar</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the key in org.gnome.desktop.wm.preferences when
|
||||||
|
running GNOME Shell.
|
||||||
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="edge-tiling" type="b">
|
<key name="edge-tiling" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>Enable edge tiling when dropping windows on screen edges</summary>
|
<_summary>Enable edge tiling when dropping windows on screen edges</_summary>
|
||||||
<description>
|
<_description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="dynamic-workspaces" type="b">
|
<key name="dynamic-workspaces" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>Workspaces are managed dynamically</summary>
|
<_summary>Workspaces are managed dynamically</_summary>
|
||||||
<description>
|
<_description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="workspaces-only-on-primary" type="b">
|
<key name="workspaces-only-on-primary" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>Workspaces only on primary monitor</summary>
|
<_summary>Workspaces only on primary monitor</_summary>
|
||||||
<description>
|
<_description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
|
|
||||||
<key name="focus-change-on-pointer-rest" type="b">
|
<key name="focus-change-on-pointer-rest" type="b">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
<summary>Delay focus changes in mouse mode until the pointer stops moving</summary>
|
<_summary>Delay focus changes in mouse mode until the pointer stops moving</_summary>
|
||||||
<description>
|
<_description>
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
</description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
</schemalist>
|
</schemalist>
|
@ -1,599 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"է"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"թ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"փ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ձ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ջ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ր"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"չ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ճ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ժ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ծ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ք"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ո"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ե",
|
|
||||||
"և"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ռ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"տ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ը"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ւ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ի"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"օ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"պ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ա"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ս"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"դ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ֆ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"գ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"հ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"յ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"կ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"լ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"խ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"զ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ղ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ց"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"վ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"բ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ն"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"մ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"շ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"։"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Է"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Թ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Փ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ձ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ջ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ր"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Չ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ճ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ժ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ծ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Ք"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ո"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ե",
|
|
||||||
"ԵՒ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ռ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Տ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ը"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ւ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ի"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Օ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Պ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Ա"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ս"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Դ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ֆ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Գ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Հ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Յ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Կ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Լ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Խ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Զ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ղ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ց"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Վ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Բ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ն"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Մ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Շ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"։"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"€",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"՜",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"՞",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"՝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"։",
|
|
||||||
"!",
|
|
||||||
"?",
|
|
||||||
",",
|
|
||||||
".",
|
|
||||||
"֊",
|
|
||||||
"՜",
|
|
||||||
"՝",
|
|
||||||
"՞",
|
|
||||||
":",
|
|
||||||
";",
|
|
||||||
"@",
|
|
||||||
"ՙ",
|
|
||||||
"՚",
|
|
||||||
"՛",
|
|
||||||
"՟"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"՝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"։",
|
|
||||||
"!",
|
|
||||||
"?",
|
|
||||||
",",
|
|
||||||
".",
|
|
||||||
"֊",
|
|
||||||
"՜",
|
|
||||||
"՝",
|
|
||||||
"՞",
|
|
||||||
":",
|
|
||||||
";",
|
|
||||||
"@",
|
|
||||||
"ՙ",
|
|
||||||
"՚",
|
|
||||||
"՛",
|
|
||||||
"՟"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "hy",
|
|
||||||
"name": "Armenian"
|
|
||||||
}
|
|
@ -1,488 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ض"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ص"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ث"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ق",
|
|
||||||
"ڨ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ف",
|
|
||||||
"ڤ",
|
|
||||||
"ڢ",
|
|
||||||
"ڥ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"غ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ع"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ه",
|
|
||||||
"ه"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"خ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ح"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ج",
|
|
||||||
"چ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ش",
|
|
||||||
"ڜ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"س"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ي",
|
|
||||||
"ئ",
|
|
||||||
"ى"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ب",
|
|
||||||
"پ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ل",
|
|
||||||
"لا",
|
|
||||||
"لأ",
|
|
||||||
"لإ",
|
|
||||||
"لآ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ا",
|
|
||||||
"آ",
|
|
||||||
"ء",
|
|
||||||
"أ",
|
|
||||||
"إ",
|
|
||||||
"ٱ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ت"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ن"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"م"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ك",
|
|
||||||
"گ",
|
|
||||||
"ک"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ط"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ذ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ء"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ؤ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ر"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ى",
|
|
||||||
"ئ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ة"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"و"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ز",
|
|
||||||
"ژ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ظ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"د"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"،"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"\"",
|
|
||||||
"'",
|
|
||||||
"#",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"!",
|
|
||||||
"،",
|
|
||||||
"؟",
|
|
||||||
"@",
|
|
||||||
"&",
|
|
||||||
"%",
|
|
||||||
"+",
|
|
||||||
"؛",
|
|
||||||
"/",
|
|
||||||
")",
|
|
||||||
"("
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"١",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٢",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٣",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٤",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٥",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٦"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٧",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٨"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٩"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٠",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"€",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"٪",
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"﴿",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
"﴾",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"★",
|
|
||||||
"٭"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"؛",
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"؟",
|
|
||||||
"?"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"،",
|
|
||||||
"؟",
|
|
||||||
"؛",
|
|
||||||
"!",
|
|
||||||
":",
|
|
||||||
"-",
|
|
||||||
"/",
|
|
||||||
"'",
|
|
||||||
"\""
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"ٕ",
|
|
||||||
"ٔ",
|
|
||||||
"ْ",
|
|
||||||
"ٍ",
|
|
||||||
"ٌ",
|
|
||||||
"ً",
|
|
||||||
"ّ",
|
|
||||||
"ٖ",
|
|
||||||
"ٰ",
|
|
||||||
"ٓ",
|
|
||||||
"ِ",
|
|
||||||
"ُ",
|
|
||||||
"َ",
|
|
||||||
"ـ"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"،",
|
|
||||||
"؟",
|
|
||||||
"؛",
|
|
||||||
"!",
|
|
||||||
":",
|
|
||||||
"-",
|
|
||||||
"/",
|
|
||||||
"'",
|
|
||||||
"\""
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"ٕ",
|
|
||||||
"ٔ",
|
|
||||||
"ْ",
|
|
||||||
"ٍ",
|
|
||||||
"ٌ",
|
|
||||||
"ً",
|
|
||||||
"ّ",
|
|
||||||
"ٖ",
|
|
||||||
"ٰ",
|
|
||||||
"ٓ",
|
|
||||||
"ِ",
|
|
||||||
"ُ",
|
|
||||||
"َ",
|
|
||||||
"ـ"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "ar",
|
|
||||||
"name": "Arabic"
|
|
||||||
}
|
|
@ -1,584 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"w"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"é",
|
|
||||||
"ë",
|
|
||||||
"ê",
|
|
||||||
"è",
|
|
||||||
"ę",
|
|
||||||
"ė",
|
|
||||||
"ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"y",
|
|
||||||
"ij"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ú",
|
|
||||||
"ü",
|
|
||||||
"û",
|
|
||||||
"ù",
|
|
||||||
"ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i",
|
|
||||||
"í",
|
|
||||||
"ï",
|
|
||||||
"ì",
|
|
||||||
"î",
|
|
||||||
"į",
|
|
||||||
"ī",
|
|
||||||
"ij"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ó",
|
|
||||||
"ö",
|
|
||||||
"ô",
|
|
||||||
"ò",
|
|
||||||
"õ",
|
|
||||||
"œ",
|
|
||||||
"ø",
|
|
||||||
"ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"á",
|
|
||||||
"ä",
|
|
||||||
"â",
|
|
||||||
"à",
|
|
||||||
"æ",
|
|
||||||
"ã",
|
|
||||||
"å",
|
|
||||||
"ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n",
|
|
||||||
"ñ",
|
|
||||||
"ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"W"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"É",
|
|
||||||
"Ë",
|
|
||||||
"Ê",
|
|
||||||
"È",
|
|
||||||
"Ę",
|
|
||||||
"Ė",
|
|
||||||
"Ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Y",
|
|
||||||
"IJ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ú",
|
|
||||||
"Ü",
|
|
||||||
"Û",
|
|
||||||
"Ù",
|
|
||||||
"Ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I",
|
|
||||||
"Í",
|
|
||||||
"Ï",
|
|
||||||
"Ì",
|
|
||||||
"Î",
|
|
||||||
"Į",
|
|
||||||
"Ī",
|
|
||||||
"IJ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ó",
|
|
||||||
"Ö",
|
|
||||||
"Ô",
|
|
||||||
"Ò",
|
|
||||||
"Õ",
|
|
||||||
"Œ",
|
|
||||||
"Ø",
|
|
||||||
"Ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"Á",
|
|
||||||
"Ä",
|
|
||||||
"Â",
|
|
||||||
"À",
|
|
||||||
"Æ",
|
|
||||||
"Ã",
|
|
||||||
"Å",
|
|
||||||
"Ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N",
|
|
||||||
"Ñ",
|
|
||||||
"Ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"$",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "nl-BE",
|
|
||||||
"name": "Dutch (Belgium)"
|
|
||||||
}
|
|
@ -1,533 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"я"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"в"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"е"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"р"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"т"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ъ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"у"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"и",
|
|
||||||
"ѝ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"о"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"п"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ч"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"а"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"с"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"д"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ф"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"г"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"х"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"й"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"к"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"л"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ш"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"щ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"з"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ь"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ц"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ж"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"б"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"н"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"м"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ю"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Я"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"В"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Е"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Р"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Т"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ъ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"У"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"И",
|
|
||||||
"Ѝ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"О"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"П"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ч"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"А"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"С"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Д"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ф"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Г"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Х"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Й"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"К"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Л"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ш"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Щ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"З"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ь"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ц"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ж"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Б"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Н"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"М"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ю"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"€",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "bg",
|
|
||||||
"name": "Bulgarian"
|
|
||||||
}
|
|
@ -1,541 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"й"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ц"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"у"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"к"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"е",
|
|
||||||
"ё"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"н"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"г"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ш"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ў"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"з"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"х"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ф"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ы"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"в"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"а"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"п"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"р"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"о"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"л"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"д"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ж"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"э"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"я"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ч"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"с"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"м"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"і"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"т"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ь",
|
|
||||||
"ъ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"б"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ю"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Й"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ц"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"У"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"К"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Е",
|
|
||||||
"Ё"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Н"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Г"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ш"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ў"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"З"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Х"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Ф"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ы"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"В"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"А"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"П"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Р"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"О"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Л"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Д"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ж"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Э"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Я"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ч"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"С"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"М"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"І"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Т"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ь",
|
|
||||||
"Ъ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Б"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ю"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"€",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "be",
|
|
||||||
"name": "Belarusian"
|
|
||||||
}
|
|
@ -1,613 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"w"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"é",
|
|
||||||
"ě",
|
|
||||||
"è",
|
|
||||||
"ê",
|
|
||||||
"ë",
|
|
||||||
"ę",
|
|
||||||
"ė",
|
|
||||||
"ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r",
|
|
||||||
"ř"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t",
|
|
||||||
"ť"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"z",
|
|
||||||
"ž",
|
|
||||||
"ź",
|
|
||||||
"ż"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ú",
|
|
||||||
"ů",
|
|
||||||
"û",
|
|
||||||
"ü",
|
|
||||||
"ù",
|
|
||||||
"ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i",
|
|
||||||
"í",
|
|
||||||
"î",
|
|
||||||
"ï",
|
|
||||||
"ì",
|
|
||||||
"į",
|
|
||||||
"ī"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ó",
|
|
||||||
"ö",
|
|
||||||
"ô",
|
|
||||||
"ò",
|
|
||||||
"õ",
|
|
||||||
"œ",
|
|
||||||
"ø",
|
|
||||||
"ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"á",
|
|
||||||
"à",
|
|
||||||
"â",
|
|
||||||
"ä",
|
|
||||||
"æ",
|
|
||||||
"ã",
|
|
||||||
"å",
|
|
||||||
"ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s",
|
|
||||||
"š",
|
|
||||||
"ß",
|
|
||||||
"ś"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d",
|
|
||||||
"ď"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"y",
|
|
||||||
"ý",
|
|
||||||
"ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c",
|
|
||||||
"č",
|
|
||||||
"ç",
|
|
||||||
"ć"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n",
|
|
||||||
"ň",
|
|
||||||
"ñ",
|
|
||||||
"ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"W"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"É",
|
|
||||||
"Ě",
|
|
||||||
"È",
|
|
||||||
"Ê",
|
|
||||||
"Ë",
|
|
||||||
"Ę",
|
|
||||||
"Ė",
|
|
||||||
"Ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R",
|
|
||||||
"Ř"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T",
|
|
||||||
"Ť"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Z",
|
|
||||||
"Ž",
|
|
||||||
"Ź",
|
|
||||||
"Ż"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ú",
|
|
||||||
"Ů",
|
|
||||||
"Û",
|
|
||||||
"Ü",
|
|
||||||
"Ù",
|
|
||||||
"Ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I",
|
|
||||||
"Í",
|
|
||||||
"Î",
|
|
||||||
"Ï",
|
|
||||||
"Ì",
|
|
||||||
"Į",
|
|
||||||
"Ī"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ó",
|
|
||||||
"Ö",
|
|
||||||
"Ô",
|
|
||||||
"Ò",
|
|
||||||
"Õ",
|
|
||||||
"Œ",
|
|
||||||
"Ø",
|
|
||||||
"Ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"Á",
|
|
||||||
"À",
|
|
||||||
"Â",
|
|
||||||
"Ä",
|
|
||||||
"Æ",
|
|
||||||
"Ã",
|
|
||||||
"Å",
|
|
||||||
"Ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S",
|
|
||||||
"Š",
|
|
||||||
"SS",
|
|
||||||
"Ś"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D",
|
|
||||||
"Ď"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Y",
|
|
||||||
"Ý",
|
|
||||||
"Ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C",
|
|
||||||
"Č",
|
|
||||||
"Ç",
|
|
||||||
"Ć"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N",
|
|
||||||
"Ň",
|
|
||||||
"Ñ",
|
|
||||||
"Ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"€",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "cs",
|
|
||||||
"name": "Czech"
|
|
||||||
}
|
|
@ -1,570 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"w"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"é",
|
|
||||||
"è",
|
|
||||||
"ê",
|
|
||||||
"ë",
|
|
||||||
"ė"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ü",
|
|
||||||
"û",
|
|
||||||
"ù",
|
|
||||||
"ú",
|
|
||||||
"ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ö",
|
|
||||||
"ô",
|
|
||||||
"ò",
|
|
||||||
"ó",
|
|
||||||
"õ",
|
|
||||||
"œ",
|
|
||||||
"ø",
|
|
||||||
"ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"ä",
|
|
||||||
"â",
|
|
||||||
"à",
|
|
||||||
"á",
|
|
||||||
"æ",
|
|
||||||
"ã",
|
|
||||||
"å",
|
|
||||||
"ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s",
|
|
||||||
"ß",
|
|
||||||
"ś",
|
|
||||||
"š"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"y"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n",
|
|
||||||
"ñ",
|
|
||||||
"ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"W"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"É",
|
|
||||||
"È",
|
|
||||||
"Ê",
|
|
||||||
"Ë",
|
|
||||||
"Ė"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ü",
|
|
||||||
"Û",
|
|
||||||
"Ù",
|
|
||||||
"Ú",
|
|
||||||
"Ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ö",
|
|
||||||
"Ô",
|
|
||||||
"Ò",
|
|
||||||
"Ó",
|
|
||||||
"Õ",
|
|
||||||
"Œ",
|
|
||||||
"Ø",
|
|
||||||
"Ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"Ä",
|
|
||||||
"Â",
|
|
||||||
"À",
|
|
||||||
"Á",
|
|
||||||
"Æ",
|
|
||||||
"Ã",
|
|
||||||
"Å",
|
|
||||||
"Ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S",
|
|
||||||
"SS",
|
|
||||||
"Ś",
|
|
||||||
"Š"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Y"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N",
|
|
||||||
"Ñ",
|
|
||||||
"Ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"$",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "de",
|
|
||||||
"name": "German"
|
|
||||||
}
|
|
@ -1,590 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"w"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"é",
|
|
||||||
"ë"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"y",
|
|
||||||
"ý",
|
|
||||||
"ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ú",
|
|
||||||
"ü",
|
|
||||||
"û",
|
|
||||||
"ù",
|
|
||||||
"ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i",
|
|
||||||
"í",
|
|
||||||
"ï"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ó",
|
|
||||||
"ô",
|
|
||||||
"ò",
|
|
||||||
"õ",
|
|
||||||
"œ",
|
|
||||||
"ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"å"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"á",
|
|
||||||
"ä",
|
|
||||||
"à",
|
|
||||||
"â",
|
|
||||||
"ã",
|
|
||||||
"ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s",
|
|
||||||
"ß",
|
|
||||||
"ś",
|
|
||||||
"š"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d",
|
|
||||||
"ð"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l",
|
|
||||||
"ł"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"æ",
|
|
||||||
"ä"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ø",
|
|
||||||
"ö"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n",
|
|
||||||
"ñ",
|
|
||||||
"ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"W"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"É",
|
|
||||||
"Ë"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Y",
|
|
||||||
"Ý",
|
|
||||||
"Ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ú",
|
|
||||||
"Ü",
|
|
||||||
"Û",
|
|
||||||
"Ù",
|
|
||||||
"Ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I",
|
|
||||||
"Í",
|
|
||||||
"Ï"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ó",
|
|
||||||
"Ô",
|
|
||||||
"Ò",
|
|
||||||
"Õ",
|
|
||||||
"Œ",
|
|
||||||
"Ō"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Å"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"Á",
|
|
||||||
"Ä",
|
|
||||||
"À",
|
|
||||||
"Â",
|
|
||||||
"Ã",
|
|
||||||
"Ā"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S",
|
|
||||||
"SS",
|
|
||||||
"Ś",
|
|
||||||
"Š"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D",
|
|
||||||
"Ð"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L",
|
|
||||||
"Ł"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Æ",
|
|
||||||
"Ä"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ø",
|
|
||||||
"Ö"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N",
|
|
||||||
"Ñ",
|
|
||||||
"Ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"$",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "da",
|
|
||||||
"name": "Danish"
|
|
||||||
}
|
|
@ -1,666 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"w"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"ē",
|
|
||||||
"è",
|
|
||||||
"ė",
|
|
||||||
"é",
|
|
||||||
"ê",
|
|
||||||
"ë",
|
|
||||||
"ę",
|
|
||||||
"ě"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r",
|
|
||||||
"ŗ",
|
|
||||||
"ř",
|
|
||||||
"ŕ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t",
|
|
||||||
"ţ",
|
|
||||||
"ť"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"y",
|
|
||||||
"ý",
|
|
||||||
"ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ü",
|
|
||||||
"ū",
|
|
||||||
"ų",
|
|
||||||
"ù",
|
|
||||||
"ú",
|
|
||||||
"û",
|
|
||||||
"ů",
|
|
||||||
"ű"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i",
|
|
||||||
"ī",
|
|
||||||
"ì",
|
|
||||||
"į",
|
|
||||||
"í",
|
|
||||||
"î",
|
|
||||||
"ï",
|
|
||||||
"ı"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ö",
|
|
||||||
"õ",
|
|
||||||
"ò",
|
|
||||||
"ó",
|
|
||||||
"ô",
|
|
||||||
"œ",
|
|
||||||
"ő",
|
|
||||||
"ø"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ü"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"ä",
|
|
||||||
"ā",
|
|
||||||
"à",
|
|
||||||
"á",
|
|
||||||
"â",
|
|
||||||
"ã",
|
|
||||||
"å",
|
|
||||||
"æ",
|
|
||||||
"ą"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s",
|
|
||||||
"š",
|
|
||||||
"ß",
|
|
||||||
"ś",
|
|
||||||
"ş"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d",
|
|
||||||
"ď"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g",
|
|
||||||
"ģ",
|
|
||||||
"ğ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k",
|
|
||||||
"ķ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l",
|
|
||||||
"ļ",
|
|
||||||
"ł",
|
|
||||||
"ĺ",
|
|
||||||
"ľ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ö",
|
|
||||||
"õ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ä"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"z",
|
|
||||||
"ž",
|
|
||||||
"ż",
|
|
||||||
"ź"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c",
|
|
||||||
"č",
|
|
||||||
"ç",
|
|
||||||
"ć"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n",
|
|
||||||
"ņ",
|
|
||||||
"ñ",
|
|
||||||
"ń",
|
|
||||||
"ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"W"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"Ē",
|
|
||||||
"È",
|
|
||||||
"Ė",
|
|
||||||
"É",
|
|
||||||
"Ê",
|
|
||||||
"Ë",
|
|
||||||
"Ę",
|
|
||||||
"Ě"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R",
|
|
||||||
"Ŗ",
|
|
||||||
"Ř",
|
|
||||||
"Ŕ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T",
|
|
||||||
"Ţ",
|
|
||||||
"Ť"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Y",
|
|
||||||
"Ý",
|
|
||||||
"Ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ü",
|
|
||||||
"Ū",
|
|
||||||
"Ų",
|
|
||||||
"Ù",
|
|
||||||
"Ú",
|
|
||||||
"Û",
|
|
||||||
"Ů",
|
|
||||||
"Ű"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I",
|
|
||||||
"Ī",
|
|
||||||
"Ì",
|
|
||||||
"Į",
|
|
||||||
"Í",
|
|
||||||
"Î",
|
|
||||||
"Ï",
|
|
||||||
"I"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ö",
|
|
||||||
"Õ",
|
|
||||||
"Ò",
|
|
||||||
"Ó",
|
|
||||||
"Ô",
|
|
||||||
"Œ",
|
|
||||||
"Ő",
|
|
||||||
"Ø"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ü"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"Ä",
|
|
||||||
"Ā",
|
|
||||||
"À",
|
|
||||||
"Á",
|
|
||||||
"Â",
|
|
||||||
"Ã",
|
|
||||||
"Å",
|
|
||||||
"Æ",
|
|
||||||
"Ą"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S",
|
|
||||||
"Š",
|
|
||||||
"SS",
|
|
||||||
"Ś",
|
|
||||||
"Ş"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D",
|
|
||||||
"Ď"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G",
|
|
||||||
"Ģ",
|
|
||||||
"Ğ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K",
|
|
||||||
"Ķ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L",
|
|
||||||
"Ļ",
|
|
||||||
"Ł",
|
|
||||||
"Ĺ",
|
|
||||||
"Ľ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ö",
|
|
||||||
"Õ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ä"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Z",
|
|
||||||
"Ž",
|
|
||||||
"Ż",
|
|
||||||
"Ź"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C",
|
|
||||||
"Č",
|
|
||||||
"Ç",
|
|
||||||
"Ć"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N",
|
|
||||||
"Ņ",
|
|
||||||
"Ñ",
|
|
||||||
"Ń",
|
|
||||||
"Ń"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"$",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "et",
|
|
||||||
"name": "Estonian"
|
|
||||||
}
|
|
@ -1,711 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"ŝ",
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ĝ",
|
|
||||||
"w",
|
|
||||||
"ŵ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"é",
|
|
||||||
"ě",
|
|
||||||
"è",
|
|
||||||
"ê",
|
|
||||||
"ë",
|
|
||||||
"ę",
|
|
||||||
"ė",
|
|
||||||
"ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r",
|
|
||||||
"ř",
|
|
||||||
"ŕ",
|
|
||||||
"ŗ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t",
|
|
||||||
"ť",
|
|
||||||
"ț",
|
|
||||||
"ţ",
|
|
||||||
"ŧ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ŭ",
|
|
||||||
"y",
|
|
||||||
"ý",
|
|
||||||
"ŷ",
|
|
||||||
"ÿ",
|
|
||||||
"þ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ú",
|
|
||||||
"ů",
|
|
||||||
"û",
|
|
||||||
"ü",
|
|
||||||
"ù",
|
|
||||||
"ū",
|
|
||||||
"ũ",
|
|
||||||
"ű",
|
|
||||||
"ų",
|
|
||||||
"µ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i",
|
|
||||||
"í",
|
|
||||||
"î",
|
|
||||||
"ï",
|
|
||||||
"ĩ",
|
|
||||||
"ì",
|
|
||||||
"į",
|
|
||||||
"ī",
|
|
||||||
"ı",
|
|
||||||
"ij"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ó",
|
|
||||||
"ö",
|
|
||||||
"ô",
|
|
||||||
"ò",
|
|
||||||
"õ",
|
|
||||||
"œ",
|
|
||||||
"ø",
|
|
||||||
"ō",
|
|
||||||
"ő",
|
|
||||||
"º"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"á",
|
|
||||||
"à",
|
|
||||||
"â",
|
|
||||||
"ä",
|
|
||||||
"æ",
|
|
||||||
"ã",
|
|
||||||
"å",
|
|
||||||
"ā",
|
|
||||||
"ă",
|
|
||||||
"ą",
|
|
||||||
"ª"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s",
|
|
||||||
"ß",
|
|
||||||
"š",
|
|
||||||
"ś",
|
|
||||||
"ș",
|
|
||||||
"ş"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d",
|
|
||||||
"ð",
|
|
||||||
"ď",
|
|
||||||
"đ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g",
|
|
||||||
"ğ",
|
|
||||||
"ġ",
|
|
||||||
"ģ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h",
|
|
||||||
"ĥ",
|
|
||||||
"ħ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k",
|
|
||||||
"ķ",
|
|
||||||
"ĸ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l",
|
|
||||||
"ĺ",
|
|
||||||
"ļ",
|
|
||||||
"ľ",
|
|
||||||
"ŀ",
|
|
||||||
"ł"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ĵ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"z",
|
|
||||||
"ź",
|
|
||||||
"ż",
|
|
||||||
"ž"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"ĉ",
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c",
|
|
||||||
"ć",
|
|
||||||
"č",
|
|
||||||
"ç",
|
|
||||||
"ċ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v",
|
|
||||||
"w",
|
|
||||||
"ŵ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n",
|
|
||||||
"ñ",
|
|
||||||
"ń",
|
|
||||||
"ņ",
|
|
||||||
"ň",
|
|
||||||
"ʼn",
|
|
||||||
"ŋ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Ŝ",
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ĝ",
|
|
||||||
"W",
|
|
||||||
"Ŵ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"É",
|
|
||||||
"Ě",
|
|
||||||
"È",
|
|
||||||
"Ê",
|
|
||||||
"Ë",
|
|
||||||
"Ę",
|
|
||||||
"Ė",
|
|
||||||
"Ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R",
|
|
||||||
"Ř",
|
|
||||||
"Ŕ",
|
|
||||||
"Ŗ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T",
|
|
||||||
"Ť",
|
|
||||||
"Ț",
|
|
||||||
"Ţ",
|
|
||||||
"Ŧ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ŭ",
|
|
||||||
"Y",
|
|
||||||
"Ý",
|
|
||||||
"Ŷ",
|
|
||||||
"Ÿ",
|
|
||||||
"Þ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ú",
|
|
||||||
"Ů",
|
|
||||||
"Û",
|
|
||||||
"Ü",
|
|
||||||
"Ù",
|
|
||||||
"Ū",
|
|
||||||
"Ũ",
|
|
||||||
"Ű",
|
|
||||||
"Ų",
|
|
||||||
"Μ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I",
|
|
||||||
"Í",
|
|
||||||
"Î",
|
|
||||||
"Ï",
|
|
||||||
"Ĩ",
|
|
||||||
"Ì",
|
|
||||||
"Į",
|
|
||||||
"Ī",
|
|
||||||
"I",
|
|
||||||
"IJ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ó",
|
|
||||||
"Ö",
|
|
||||||
"Ô",
|
|
||||||
"Ò",
|
|
||||||
"Õ",
|
|
||||||
"Œ",
|
|
||||||
"Ø",
|
|
||||||
"Ō",
|
|
||||||
"Ő",
|
|
||||||
"º"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"Á",
|
|
||||||
"À",
|
|
||||||
"Â",
|
|
||||||
"Ä",
|
|
||||||
"Æ",
|
|
||||||
"Ã",
|
|
||||||
"Å",
|
|
||||||
"Ā",
|
|
||||||
"Ă",
|
|
||||||
"Ą",
|
|
||||||
"ª"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S",
|
|
||||||
"SS",
|
|
||||||
"Š",
|
|
||||||
"Ś",
|
|
||||||
"Ș",
|
|
||||||
"Ş"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D",
|
|
||||||
"Ð",
|
|
||||||
"Ď",
|
|
||||||
"Đ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G",
|
|
||||||
"Ğ",
|
|
||||||
"Ġ",
|
|
||||||
"Ģ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H",
|
|
||||||
"Ĥ",
|
|
||||||
"Ħ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K",
|
|
||||||
"Ķ",
|
|
||||||
"ĸ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L",
|
|
||||||
"Ĺ",
|
|
||||||
"Ļ",
|
|
||||||
"Ľ",
|
|
||||||
"Ŀ",
|
|
||||||
"Ł"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ĵ"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Z",
|
|
||||||
"Ź",
|
|
||||||
"Ż",
|
|
||||||
"Ž"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Ĉ",
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C",
|
|
||||||
"Ć",
|
|
||||||
"Č",
|
|
||||||
"Ç",
|
|
||||||
"Ċ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V",
|
|
||||||
"W",
|
|
||||||
"Ŵ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N",
|
|
||||||
"Ñ",
|
|
||||||
"Ń",
|
|
||||||
"Ņ",
|
|
||||||
"Ň",
|
|
||||||
"ʼN",
|
|
||||||
"Ŋ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"€",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "eo",
|
|
||||||
"name": "Esperanto"
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user