Compare commits
15 Commits
wip/fmuell
...
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,25 +1,28 @@
|
|||||||
# 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, braces and whitespace
|
Indentation and whitespace
|
||||||
|
--------------------------
|
||||||
|
|
||||||
* Use four-space indents.
|
Use four-space indents. Braces are on the same line as their associated
|
||||||
* Braces are on the same line as their associated statements.
|
statements. You should only omit braces if *both* sides of the statement are
|
||||||
* You should only omit braces if *both* sides of the statement are on one line.
|
on one line.
|
||||||
* One space after the `function` keyword.
|
|
||||||
* No space between the function name in a declaration or a call.
|
* One space after the `function` keyword. No space between the function name
|
||||||
* One space before the parens in the `if` statements, or `while`, or `for` loops.
|
* in a declaration or a call. One space before the parens in the `if`
|
||||||
|
* statements, or `while`, or `for` loops.
|
||||||
|
|
||||||
```javascript
|
|
||||||
function foo(a, b) {
|
function foo(a, b) {
|
||||||
let bar;
|
let bar;
|
||||||
|
|
||||||
@ -36,20 +39,22 @@ what to do.
|
|||||||
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,31 +85,33 @@ 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 St = imports.gi.St;
|
const St = imports.gi.St;
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
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];
|
||||||
@ -113,69 +121,76 @@ 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 standard ES6 classes
|
There are many approaches to classes in JavaScript. We use our own class framework
|
||||||
whenever possible, that is when not inheriting from GObjects.
|
(sigh), which is built in gjs. The advantage is that it supports inheriting from
|
||||||
```javascript
|
GObjects, although this feature isn't used very often in the Shell itself.
|
||||||
var IconLabelMenuItem = class extends PopupMenu.PopupMenuBaseItem {
|
|
||||||
constructor(icon, label) {
|
const IconLabelMenuItem = new Lang.Class({
|
||||||
super({ reactive: false });
|
Name: 'IconLabelMenuItem',
|
||||||
|
Extends: PopupMenu.PopupMenuBaseItem,
|
||||||
|
|
||||||
|
_init: function(icon, label) {
|
||||||
|
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!");
|
||||||
}
|
}
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
For GObject inheritence, we use the GObject.registerClass() function provided
|
|
||||||
by gjs.
|
|
||||||
```javascript
|
|
||||||
var MyActor = GObject.registerClass(
|
|
||||||
class MyActor extends Clutter.Actor {
|
|
||||||
_init(params) {
|
|
||||||
super._init(params);
|
|
||||||
|
|
||||||
this.name = 'MyCustomActor';
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
```
|
|
||||||
|
|
||||||
## GObject Introspection
|
* 'Name' is required. 'Extends' is optional. If you leave it out, you will
|
||||||
|
automatically inherit from Object.
|
||||||
|
|
||||||
|
* Leave a blank line between the "class header" (Name, Extends, and other
|
||||||
|
things) and the "class body" (methods). Leave a blank line between each
|
||||||
|
method.
|
||||||
|
|
||||||
|
* No space before the colon, one space after.
|
||||||
|
|
||||||
|
* No trailing comma after the last item.
|
||||||
|
|
||||||
|
* Make sure to use a semicolon after the closing paren to the class. It's
|
||||||
|
still a giant function call, even though it may resemble a more
|
||||||
|
conventional syntax.
|
||||||
|
|
||||||
|
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 = GObject.registerClass(
|
|
||||||
class MyClutterActor extends Clutter.Actor {
|
|
||||||
|
|
||||||
vfunc_get_preferred_width(actor, forHeight) {
|
const MyClutterActor = new Lang.Class({
|
||||||
|
Name: 'MyClutterActor',
|
||||||
|
Extends: Clutter.Actor,
|
||||||
|
|
||||||
|
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
|
||||||
@ -189,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
|
||||||
@ -198,20 +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 = class {
|
const MyClass = new Lang.Class({
|
||||||
constructor() {
|
Name: 'MyClass',
|
||||||
|
|
||||||
|
_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
|
||||||
@ -219,57 +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;
|
||||||
let closure1 = () => { this._fnorbate(); };
|
|
||||||
let closure2 = this._fnorbate.bind(this);
|
let closure = Lang.bind(this, function() { this._fnorbate(); });
|
||||||
```
|
|
||||||
|
|
||||||
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 FnorbLib = imports.fborbLib;
|
const FnorbLib = imports.fborbLib;
|
||||||
|
|
||||||
var MyClass = 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:
|
||||||
@ -279,34 +296,36 @@ 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 = class {
|
const ANIMATION_TIME = 2000;
|
||||||
constructor() {
|
|
||||||
|
const MyClass = new Lang.Class({
|
||||||
|
Name: 'MyClass',
|
||||||
|
|
||||||
|
_init: function() {
|
||||||
this.actor = new St.BoxLayout();
|
this.actor = new St.BoxLayout();
|
||||||
this._position = 0;
|
this._position = 0;
|
||||||
}
|
},
|
||||||
|
|
||||||
get position() {
|
get position() {
|
||||||
return this._position;
|
return this._position;
|
||||||
}
|
},
|
||||||
|
|
||||||
set position(value) {
|
set position(value) {
|
||||||
this._position = value;
|
this._position = value;
|
||||||
this.actor.set_position(value, value);
|
this.actor.set_position(value, value);
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
|
|
||||||
let myThing = new MyClass();
|
let myThing = new MyClass();
|
||||||
Tweener.addTween(myThing,
|
Tweener.addTween(myThing,
|
||||||
{ 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\"
|
17
browser-plugin/README
Normal file
17
browser-plugin/README
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
The GNOME Shell Browser Plugin provides integration with gnome-shell and the
|
||||||
|
corresponding extensions repository, codenamed "SweetTooth". The plugin allows
|
||||||
|
the extensions repository to provide good integration, letting the website
|
||||||
|
know which extensions are enabled and disabled, and allowing the website to
|
||||||
|
enable, disable and install them.
|
||||||
|
|
||||||
|
Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
|
||||||
|
product.
|
||||||
|
|
||||||
|
License
|
||||||
|
=======
|
||||||
|
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
|
||||||
|
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:
|
||||||
|
|
||||||
|
http://code.google.com/p/npapi-sdk/
|
1039
browser-plugin/browser-plugin.c
Normal file
1039
browser-plugin/browser-plugin.c
Normal file
File diff suppressed because it is too large
Load Diff
893
browser-plugin/npapi/npapi.h
Normal file
893
browser-plugin/npapi/npapi.h
Normal file
@ -0,0 +1,893 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Netscape Communications Corporation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the MPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
#ifndef npapi_h_
|
||||||
|
#define npapi_h_
|
||||||
|
|
||||||
|
#if defined(__OS2__)
|
||||||
|
#pragma pack(1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "nptypes.h"
|
||||||
|
|
||||||
|
#if defined(__OS2__) || defined(OS2)
|
||||||
|
#ifndef XP_OS2
|
||||||
|
#define XP_OS2 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_WIN32) && !defined(__SYMBIAN32__)
|
||||||
|
#include <windef.h>
|
||||||
|
#ifndef XP_WIN
|
||||||
|
#define XP_WIN 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__SYMBIAN32__)
|
||||||
|
#ifndef XP_SYMBIAN
|
||||||
|
#define XP_SYMBIAN 1
|
||||||
|
#undef XP_WIN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__APPLE_CC__) && !defined(XP_UNIX)
|
||||||
|
#ifndef XP_MACOSX
|
||||||
|
#define XP_MACOSX 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX) && defined(__LP64__)
|
||||||
|
#define NP_NO_QUICKDRAW
|
||||||
|
#define NP_NO_CARBON
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
#include <ApplicationServices/ApplicationServices.h>
|
||||||
|
#include <OpenGL/OpenGL.h>
|
||||||
|
#ifndef NP_NO_CARBON
|
||||||
|
#include <Carbon/Carbon.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_UNIX)
|
||||||
|
#include <stdio.h>
|
||||||
|
#if defined(MOZ_X11)
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xutil.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_SYMBIAN)
|
||||||
|
#include <QEvent>
|
||||||
|
#include <QRegion>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Plugin Version Constants */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#define NP_VERSION_MAJOR 0
|
||||||
|
#define NP_VERSION_MINOR 27
|
||||||
|
|
||||||
|
|
||||||
|
/* The OS/2 version of Netscape uses RC_DATA to define the
|
||||||
|
mime types, file extensions, etc that are required.
|
||||||
|
Use a vertical bar to separate types, end types with \0.
|
||||||
|
FileVersion and ProductVersion are 32bit ints, all other
|
||||||
|
entries are strings that MUST be terminated with a \0.
|
||||||
|
|
||||||
|
AN EXAMPLE:
|
||||||
|
|
||||||
|
RCDATA NP_INFO_ProductVersion { 1,0,0,1,}
|
||||||
|
|
||||||
|
RCDATA NP_INFO_MIMEType { "video/x-video|",
|
||||||
|
"video/x-flick\0" }
|
||||||
|
RCDATA NP_INFO_FileExtents { "avi|",
|
||||||
|
"flc\0" }
|
||||||
|
RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|",
|
||||||
|
"MMOS2 Flc/Fli player(*.flc)\0" }
|
||||||
|
|
||||||
|
RCDATA NP_INFO_FileVersion { 1,0,0,1 }
|
||||||
|
RCDATA NP_INFO_CompanyName { "Netscape Communications\0" }
|
||||||
|
RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0"
|
||||||
|
RCDATA NP_INFO_InternalName { "NPAVI32\0" )
|
||||||
|
RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0"
|
||||||
|
RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" }
|
||||||
|
RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" }
|
||||||
|
*/
|
||||||
|
/* RC_DATA types for version info - required */
|
||||||
|
#define NP_INFO_ProductVersion 1
|
||||||
|
#define NP_INFO_MIMEType 2
|
||||||
|
#define NP_INFO_FileOpenName 3
|
||||||
|
#define NP_INFO_FileExtents 4
|
||||||
|
/* RC_DATA types for version info - used if found */
|
||||||
|
#define NP_INFO_FileDescription 5
|
||||||
|
#define NP_INFO_ProductName 6
|
||||||
|
/* RC_DATA types for version info - optional */
|
||||||
|
#define NP_INFO_CompanyName 7
|
||||||
|
#define NP_INFO_FileVersion 8
|
||||||
|
#define NP_INFO_InternalName 9
|
||||||
|
#define NP_INFO_LegalCopyright 10
|
||||||
|
#define NP_INFO_OriginalFilename 11
|
||||||
|
|
||||||
|
#ifndef RC_INVOKED
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Definition of Basic Types */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
typedef unsigned char NPBool;
|
||||||
|
typedef int16_t NPError;
|
||||||
|
typedef int16_t NPReason;
|
||||||
|
typedef char* NPMIMEType;
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Structures and definitions */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if !defined(__LP64__)
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
#pragma options align=mac68k
|
||||||
|
#endif
|
||||||
|
#endif /* __LP64__ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NPP is a plug-in's opaque instance handle
|
||||||
|
*/
|
||||||
|
typedef struct _NPP
|
||||||
|
{
|
||||||
|
void* pdata; /* plug-in private data */
|
||||||
|
void* ndata; /* netscape private data */
|
||||||
|
} NPP_t;
|
||||||
|
|
||||||
|
typedef NPP_t* NPP;
|
||||||
|
|
||||||
|
typedef struct _NPStream
|
||||||
|
{
|
||||||
|
void* pdata; /* plug-in private data */
|
||||||
|
void* ndata; /* netscape private data */
|
||||||
|
const char* url;
|
||||||
|
uint32_t end;
|
||||||
|
uint32_t lastmodified;
|
||||||
|
void* notifyData;
|
||||||
|
const char* headers; /* Response headers from host.
|
||||||
|
* Exists only for >= NPVERS_HAS_RESPONSE_HEADERS.
|
||||||
|
* Used for HTTP only; NULL for non-HTTP.
|
||||||
|
* Available from NPP_NewStream onwards.
|
||||||
|
* Plugin should copy this data before storing it.
|
||||||
|
* Includes HTTP status line and all headers,
|
||||||
|
* preferably verbatim as received from server,
|
||||||
|
* headers formatted as in HTTP ("Header: Value"),
|
||||||
|
* and newlines (\n, NOT \r\n) separating lines.
|
||||||
|
* Terminated by \n\0 (NOT \n\n\0). */
|
||||||
|
} NPStream;
|
||||||
|
|
||||||
|
typedef struct _NPByteRange
|
||||||
|
{
|
||||||
|
int32_t offset; /* negative offset means from the end */
|
||||||
|
uint32_t length;
|
||||||
|
struct _NPByteRange* next;
|
||||||
|
} NPByteRange;
|
||||||
|
|
||||||
|
typedef struct _NPSavedData
|
||||||
|
{
|
||||||
|
int32_t len;
|
||||||
|
void* buf;
|
||||||
|
} NPSavedData;
|
||||||
|
|
||||||
|
typedef struct _NPRect
|
||||||
|
{
|
||||||
|
uint16_t top;
|
||||||
|
uint16_t left;
|
||||||
|
uint16_t bottom;
|
||||||
|
uint16_t right;
|
||||||
|
} NPRect;
|
||||||
|
|
||||||
|
typedef struct _NPSize
|
||||||
|
{
|
||||||
|
int32_t width;
|
||||||
|
int32_t height;
|
||||||
|
} NPSize;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NPFocusNext = 0,
|
||||||
|
NPFocusPrevious = 1
|
||||||
|
} NPFocusDirection;
|
||||||
|
|
||||||
|
/* Return values for NPP_HandleEvent */
|
||||||
|
#define kNPEventNotHandled 0
|
||||||
|
#define kNPEventHandled 1
|
||||||
|
/* Exact meaning must be spec'd in event model. */
|
||||||
|
#define kNPEventStartIME 2
|
||||||
|
|
||||||
|
#if defined(XP_UNIX)
|
||||||
|
/*
|
||||||
|
* Unix specific structures and definitions
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Callback Structures.
|
||||||
|
*
|
||||||
|
* These are used to pass additional platform specific information.
|
||||||
|
*/
|
||||||
|
enum {
|
||||||
|
NP_SETWINDOW = 1,
|
||||||
|
NP_PRINT
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int32_t type;
|
||||||
|
} NPAnyCallbackStruct;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int32_t type;
|
||||||
|
#if defined(MOZ_X11)
|
||||||
|
Display* display;
|
||||||
|
Visual* visual;
|
||||||
|
Colormap colormap;
|
||||||
|
unsigned int depth;
|
||||||
|
#endif
|
||||||
|
} NPSetWindowCallbackStruct;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int32_t type;
|
||||||
|
FILE* fp;
|
||||||
|
} NPPrintCallbackStruct;
|
||||||
|
|
||||||
|
#endif /* XP_UNIX */
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
typedef enum {
|
||||||
|
#ifndef NP_NO_QUICKDRAW
|
||||||
|
NPDrawingModelQuickDraw = 0,
|
||||||
|
#endif
|
||||||
|
NPDrawingModelCoreGraphics = 1,
|
||||||
|
NPDrawingModelOpenGL = 2,
|
||||||
|
NPDrawingModelCoreAnimation = 3,
|
||||||
|
NPDrawingModelInvalidatingCoreAnimation = 4
|
||||||
|
} NPDrawingModel;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
#ifndef NP_NO_CARBON
|
||||||
|
NPEventModelCarbon = 0,
|
||||||
|
#endif
|
||||||
|
NPEventModelCocoa = 1
|
||||||
|
} NPEventModel;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following masks are applied on certain platforms to NPNV and
|
||||||
|
* NPPV selectors that pass around pointers to COM interfaces. Newer
|
||||||
|
* compilers on some platforms may generate vtables that are not
|
||||||
|
* compatible with older compilers. To prevent older plugins from
|
||||||
|
* not understanding a new browser's ABI, these masks change the
|
||||||
|
* values of those selectors on those platforms. To remain backwards
|
||||||
|
* compatible with different versions of the browser, plugins can
|
||||||
|
* use these masks to dynamically determine and use the correct C++
|
||||||
|
* ABI that the browser is expecting. This does not apply to Windows
|
||||||
|
* as Microsoft's COM ABI will likely not change.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define NP_ABI_GCC3_MASK 0x10000000
|
||||||
|
/*
|
||||||
|
* gcc 3.x generated vtables on UNIX and OSX are incompatible with
|
||||||
|
* previous compilers.
|
||||||
|
*/
|
||||||
|
#if (defined(XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
|
||||||
|
#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
|
||||||
|
#else
|
||||||
|
#define _NP_ABI_MIXIN_FOR_GCC3 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
#define NP_ABI_MACHO_MASK 0x01000000
|
||||||
|
#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
|
||||||
|
#else
|
||||||
|
#define _NP_ABI_MIXIN_FOR_MACHO 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of variable names for which NPP_GetValue shall be implemented
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPPVpluginNameString = 1,
|
||||||
|
NPPVpluginDescriptionString,
|
||||||
|
NPPVpluginWindowBool,
|
||||||
|
NPPVpluginTransparentBool,
|
||||||
|
NPPVjavaClass,
|
||||||
|
NPPVpluginWindowSize,
|
||||||
|
NPPVpluginTimerInterval,
|
||||||
|
NPPVpluginScriptableInstance = (10 | NP_ABI_MASK),
|
||||||
|
NPPVpluginScriptableIID = 11,
|
||||||
|
NPPVjavascriptPushCallerBool = 12,
|
||||||
|
NPPVpluginKeepLibraryInMemory = 13,
|
||||||
|
NPPVpluginNeedsXEmbed = 14,
|
||||||
|
|
||||||
|
/* Get the NPObject for scripting the plugin. Introduced in NPAPI minor version 14.
|
||||||
|
*/
|
||||||
|
NPPVpluginScriptableNPObject = 15,
|
||||||
|
|
||||||
|
/* Get the plugin value (as \0-terminated UTF-8 string data) for
|
||||||
|
* form submission if the plugin is part of a form. Use
|
||||||
|
* NPN_MemAlloc() to allocate memory for the string data. Introduced
|
||||||
|
* in NPAPI minor version 15.
|
||||||
|
*/
|
||||||
|
NPPVformValue = 16,
|
||||||
|
|
||||||
|
NPPVpluginUrlRequestsDisplayedBool = 17,
|
||||||
|
|
||||||
|
/* Checks if the plugin is interested in receiving the http body of
|
||||||
|
* all http requests (including failed ones, http status != 200).
|
||||||
|
*/
|
||||||
|
NPPVpluginWantsAllNetworkStreams = 18,
|
||||||
|
|
||||||
|
/* Browsers can retrieve a native ATK accessibility plug ID via this variable. */
|
||||||
|
NPPVpluginNativeAccessibleAtkPlugId = 19,
|
||||||
|
|
||||||
|
/* Checks to see if the plug-in would like the browser to load the "src" attribute. */
|
||||||
|
NPPVpluginCancelSrcStream = 20,
|
||||||
|
|
||||||
|
NPPVsupportsAdvancedKeyHandling = 21,
|
||||||
|
|
||||||
|
NPPVpluginUsesDOMForCursorBool = 22
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
/* Used for negotiating drawing models */
|
||||||
|
, NPPVpluginDrawingModel = 1000
|
||||||
|
/* Used for negotiating event models */
|
||||||
|
, NPPVpluginEventModel = 1001
|
||||||
|
/* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */
|
||||||
|
, NPPVpluginCoreAnimationLayer = 1003
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6)
|
||||||
|
, NPPVpluginWindowlessLocalBool = 2002
|
||||||
|
#endif
|
||||||
|
} NPPVariable;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of variable names for which NPN_GetValue should be implemented.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPNVxDisplay = 1,
|
||||||
|
NPNVxtAppContext,
|
||||||
|
NPNVnetscapeWindow,
|
||||||
|
NPNVjavascriptEnabledBool,
|
||||||
|
NPNVasdEnabledBool,
|
||||||
|
NPNVisOfflineBool,
|
||||||
|
|
||||||
|
NPNVserviceManager = (10 | NP_ABI_MASK),
|
||||||
|
NPNVDOMElement = (11 | NP_ABI_MASK),
|
||||||
|
NPNVDOMWindow = (12 | NP_ABI_MASK),
|
||||||
|
NPNVToolkit = (13 | NP_ABI_MASK),
|
||||||
|
NPNVSupportsXEmbedBool = 14,
|
||||||
|
|
||||||
|
/* Get the NPObject wrapper for the browser window. */
|
||||||
|
NPNVWindowNPObject = 15,
|
||||||
|
|
||||||
|
/* Get the NPObject wrapper for the plugins DOM element. */
|
||||||
|
NPNVPluginElementNPObject = 16,
|
||||||
|
|
||||||
|
NPNVSupportsWindowless = 17,
|
||||||
|
|
||||||
|
NPNVprivateModeBool = 18,
|
||||||
|
|
||||||
|
NPNVsupportsAdvancedKeyHandling = 21
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
/* Used for negotiating drawing models */
|
||||||
|
, NPNVpluginDrawingModel = 1000
|
||||||
|
#ifndef NP_NO_QUICKDRAW
|
||||||
|
, NPNVsupportsQuickDrawBool = 2000
|
||||||
|
#endif
|
||||||
|
, NPNVsupportsCoreGraphicsBool = 2001
|
||||||
|
, NPNVsupportsOpenGLBool = 2002
|
||||||
|
, NPNVsupportsCoreAnimationBool = 2003
|
||||||
|
, NPNVsupportsInvalidatingCoreAnimationBool = 2004
|
||||||
|
#ifndef NP_NO_CARBON
|
||||||
|
, NPNVsupportsCarbonBool = 3000 /* TRUE if the browser supports the Carbon event model */
|
||||||
|
#endif
|
||||||
|
, NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
|
||||||
|
, NPNVsupportsUpdatedCocoaTextInputBool = 3002 /* TRUE if the browser supports the updated
|
||||||
|
Cocoa text input specification. */
|
||||||
|
, NPNVsupportsCompositingCoreAnimationPluginsBool = 74656 /* TRUE if the browser supports
|
||||||
|
CA model compositing */
|
||||||
|
#endif
|
||||||
|
#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6)
|
||||||
|
, NPNVSupportsWindowlessLocal = 2002
|
||||||
|
#endif
|
||||||
|
} NPNVariable;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NPNURLVCookie = 501,
|
||||||
|
NPNURLVProxy
|
||||||
|
} NPNURLVariable;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The type of Toolkit the widgets use
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPNVGtk12 = 1,
|
||||||
|
NPNVGtk2
|
||||||
|
} NPNToolkitType;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The type of a NPWindow - it specifies the type of the data structure
|
||||||
|
* returned in the window field.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPWindowTypeWindow = 1,
|
||||||
|
NPWindowTypeDrawable
|
||||||
|
} NPWindowType;
|
||||||
|
|
||||||
|
typedef struct _NPWindow
|
||||||
|
{
|
||||||
|
void* window; /* Platform specific window handle */
|
||||||
|
/* OS/2: x - Position of bottom left corner */
|
||||||
|
/* OS/2: y - relative to visible netscape window */
|
||||||
|
int32_t x; /* Position of top left corner relative */
|
||||||
|
int32_t y; /* to a netscape page. */
|
||||||
|
uint32_t width; /* Maximum window size */
|
||||||
|
uint32_t height;
|
||||||
|
NPRect clipRect; /* Clipping rectangle in port coordinates */
|
||||||
|
#if (defined(XP_UNIX) || defined(XP_SYMBIAN)) && !defined(XP_MACOSX)
|
||||||
|
void * ws_info; /* Platform-dependent additional data */
|
||||||
|
#endif /* XP_UNIX */
|
||||||
|
NPWindowType type; /* Is this a window or a drawable? */
|
||||||
|
} NPWindow;
|
||||||
|
|
||||||
|
typedef struct _NPImageExpose
|
||||||
|
{
|
||||||
|
char* data; /* image pointer */
|
||||||
|
int32_t stride; /* Stride of data image pointer */
|
||||||
|
int32_t depth; /* Depth of image pointer */
|
||||||
|
int32_t x; /* Expose x */
|
||||||
|
int32_t y; /* Expose y */
|
||||||
|
uint32_t width; /* Expose width */
|
||||||
|
uint32_t height; /* Expose height */
|
||||||
|
NPSize dataSize; /* Data buffer size */
|
||||||
|
float translateX; /* translate X matrix value */
|
||||||
|
float translateY; /* translate Y matrix value */
|
||||||
|
float scaleX; /* scale X matrix value */
|
||||||
|
float scaleY; /* scale Y matrix value */
|
||||||
|
} NPImageExpose;
|
||||||
|
|
||||||
|
typedef struct _NPFullPrint
|
||||||
|
{
|
||||||
|
NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */
|
||||||
|
NPBool printOne; /* TRUE if plugin should print one copy to default
|
||||||
|
printer */
|
||||||
|
void* platformPrint; /* Platform-specific printing info */
|
||||||
|
} NPFullPrint;
|
||||||
|
|
||||||
|
typedef struct _NPEmbedPrint
|
||||||
|
{
|
||||||
|
NPWindow window;
|
||||||
|
void* platformPrint; /* Platform-specific printing info */
|
||||||
|
} NPEmbedPrint;
|
||||||
|
|
||||||
|
typedef struct _NPPrint
|
||||||
|
{
|
||||||
|
uint16_t mode; /* NP_FULL or NP_EMBED */
|
||||||
|
union
|
||||||
|
{
|
||||||
|
NPFullPrint fullPrint; /* if mode is NP_FULL */
|
||||||
|
NPEmbedPrint embedPrint; /* if mode is NP_EMBED */
|
||||||
|
} print;
|
||||||
|
} NPPrint;
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
#ifndef NP_NO_CARBON
|
||||||
|
typedef EventRecord NPEvent;
|
||||||
|
#endif
|
||||||
|
#elif defined(XP_SYMBIAN)
|
||||||
|
typedef QEvent NPEvent;
|
||||||
|
#elif defined(XP_WIN)
|
||||||
|
typedef struct _NPEvent
|
||||||
|
{
|
||||||
|
uint16_t event;
|
||||||
|
uintptr_t wParam;
|
||||||
|
uintptr_t lParam;
|
||||||
|
} NPEvent;
|
||||||
|
#elif defined(XP_OS2)
|
||||||
|
typedef struct _NPEvent
|
||||||
|
{
|
||||||
|
uint32_t event;
|
||||||
|
uint32_t wParam;
|
||||||
|
uint32_t lParam;
|
||||||
|
} NPEvent;
|
||||||
|
#elif defined(XP_UNIX) && defined(MOZ_X11)
|
||||||
|
typedef XEvent NPEvent;
|
||||||
|
#else
|
||||||
|
typedef void* NPEvent;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
typedef void* NPRegion;
|
||||||
|
#ifndef NP_NO_QUICKDRAW
|
||||||
|
typedef RgnHandle NPQDRegion;
|
||||||
|
#endif
|
||||||
|
typedef CGPathRef NPCGRegion;
|
||||||
|
#elif defined(XP_WIN)
|
||||||
|
typedef HRGN NPRegion;
|
||||||
|
#elif defined(XP_UNIX) && defined(MOZ_X11)
|
||||||
|
typedef Region NPRegion;
|
||||||
|
#elif defined(XP_SYMBIAN)
|
||||||
|
typedef QRegion* NPRegion;
|
||||||
|
#else
|
||||||
|
typedef void *NPRegion;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct _NPNSString NPNSString;
|
||||||
|
typedef struct _NPNSWindow NPNSWindow;
|
||||||
|
typedef struct _NPNSMenu NPNSMenu;
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
typedef NPNSMenu NPMenu;
|
||||||
|
#else
|
||||||
|
typedef void *NPMenu;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NPCoordinateSpacePlugin = 1,
|
||||||
|
NPCoordinateSpaceWindow,
|
||||||
|
NPCoordinateSpaceFlippedWindow,
|
||||||
|
NPCoordinateSpaceScreen,
|
||||||
|
NPCoordinateSpaceFlippedScreen
|
||||||
|
} NPCoordinateSpace;
|
||||||
|
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
|
||||||
|
#ifndef NP_NO_QUICKDRAW
|
||||||
|
typedef struct NP_Port
|
||||||
|
{
|
||||||
|
CGrafPtr port;
|
||||||
|
int32_t portx; /* position inside the topmost window */
|
||||||
|
int32_t porty;
|
||||||
|
} NP_Port;
|
||||||
|
#endif /* NP_NO_QUICKDRAW */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NP_CGContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelCoreGraphics
|
||||||
|
* as its drawing model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct NP_CGContext
|
||||||
|
{
|
||||||
|
CGContextRef context;
|
||||||
|
void *window; /* A WindowRef under the Carbon event model. */
|
||||||
|
} NP_CGContext;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NP_GLContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelOpenGL as its
|
||||||
|
* drawing model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct NP_GLContext
|
||||||
|
{
|
||||||
|
CGLContextObj context;
|
||||||
|
#ifdef NP_NO_CARBON
|
||||||
|
NPNSWindow *window;
|
||||||
|
#else
|
||||||
|
void *window; /* Can be either an NSWindow or a WindowRef depending on the event model */
|
||||||
|
#endif
|
||||||
|
} NP_GLContext;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NPCocoaEventDrawRect = 1,
|
||||||
|
NPCocoaEventMouseDown,
|
||||||
|
NPCocoaEventMouseUp,
|
||||||
|
NPCocoaEventMouseMoved,
|
||||||
|
NPCocoaEventMouseEntered,
|
||||||
|
NPCocoaEventMouseExited,
|
||||||
|
NPCocoaEventMouseDragged,
|
||||||
|
NPCocoaEventKeyDown,
|
||||||
|
NPCocoaEventKeyUp,
|
||||||
|
NPCocoaEventFlagsChanged,
|
||||||
|
NPCocoaEventFocusChanged,
|
||||||
|
NPCocoaEventWindowFocusChanged,
|
||||||
|
NPCocoaEventScrollWheel,
|
||||||
|
NPCocoaEventTextInput
|
||||||
|
} NPCocoaEventType;
|
||||||
|
|
||||||
|
typedef struct _NPCocoaEvent {
|
||||||
|
NPCocoaEventType type;
|
||||||
|
uint32_t version;
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
uint32_t modifierFlags;
|
||||||
|
double pluginX;
|
||||||
|
double pluginY;
|
||||||
|
int32_t buttonNumber;
|
||||||
|
int32_t clickCount;
|
||||||
|
double deltaX;
|
||||||
|
double deltaY;
|
||||||
|
double deltaZ;
|
||||||
|
} mouse;
|
||||||
|
struct {
|
||||||
|
uint32_t modifierFlags;
|
||||||
|
NPNSString *characters;
|
||||||
|
NPNSString *charactersIgnoringModifiers;
|
||||||
|
NPBool isARepeat;
|
||||||
|
uint16_t keyCode;
|
||||||
|
} key;
|
||||||
|
struct {
|
||||||
|
CGContextRef context;
|
||||||
|
double x;
|
||||||
|
double y;
|
||||||
|
double width;
|
||||||
|
double height;
|
||||||
|
} draw;
|
||||||
|
struct {
|
||||||
|
NPBool hasFocus;
|
||||||
|
} focus;
|
||||||
|
struct {
|
||||||
|
NPNSString *text;
|
||||||
|
} text;
|
||||||
|
} data;
|
||||||
|
} NPCocoaEvent;
|
||||||
|
|
||||||
|
#ifndef NP_NO_CARBON
|
||||||
|
/* Non-standard event types that can be passed to HandleEvent */
|
||||||
|
enum NPEventType {
|
||||||
|
NPEventType_GetFocusEvent = (osEvt + 16),
|
||||||
|
NPEventType_LoseFocusEvent,
|
||||||
|
NPEventType_AdjustCursorEvent,
|
||||||
|
NPEventType_MenuCommandEvent,
|
||||||
|
NPEventType_ClippingChangedEvent,
|
||||||
|
NPEventType_ScrollingBeginsEvent = 1000,
|
||||||
|
NPEventType_ScrollingEndsEvent
|
||||||
|
};
|
||||||
|
#endif /* NP_NO_CARBON */
|
||||||
|
|
||||||
|
#endif /* XP_MACOSX */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values for mode passed to NPP_New:
|
||||||
|
*/
|
||||||
|
#define NP_EMBED 1
|
||||||
|
#define NP_FULL 2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values for stream type passed to NPP_NewStream:
|
||||||
|
*/
|
||||||
|
#define NP_NORMAL 1
|
||||||
|
#define NP_SEEK 2
|
||||||
|
#define NP_ASFILE 3
|
||||||
|
#define NP_ASFILEONLY 4
|
||||||
|
|
||||||
|
#define NP_MAXREADY (((unsigned)(~0)<<1)>>1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Flags for NPP_ClearSiteData.
|
||||||
|
*/
|
||||||
|
#define NP_CLEAR_ALL 0
|
||||||
|
#define NP_CLEAR_CACHE (1 << 0)
|
||||||
|
|
||||||
|
#if !defined(__LP64__)
|
||||||
|
#if defined(XP_MACOSX)
|
||||||
|
#pragma options align=reset
|
||||||
|
#endif
|
||||||
|
#endif /* __LP64__ */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Error and Reason Code definitions */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values of type NPError:
|
||||||
|
*/
|
||||||
|
#define NPERR_BASE 0
|
||||||
|
#define NPERR_NO_ERROR (NPERR_BASE + 0)
|
||||||
|
#define NPERR_GENERIC_ERROR (NPERR_BASE + 1)
|
||||||
|
#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2)
|
||||||
|
#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3)
|
||||||
|
#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4)
|
||||||
|
#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5)
|
||||||
|
#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6)
|
||||||
|
#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7)
|
||||||
|
#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8)
|
||||||
|
#define NPERR_INVALID_PARAM (NPERR_BASE + 9)
|
||||||
|
#define NPERR_INVALID_URL (NPERR_BASE + 10)
|
||||||
|
#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11)
|
||||||
|
#define NPERR_NO_DATA (NPERR_BASE + 12)
|
||||||
|
#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13)
|
||||||
|
#define NPERR_TIME_RANGE_NOT_SUPPORTED (NPERR_BASE + 14)
|
||||||
|
#define NPERR_MALFORMED_SITE (NPERR_BASE + 15)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values of type NPReason:
|
||||||
|
*/
|
||||||
|
#define NPRES_BASE 0
|
||||||
|
#define NPRES_DONE (NPRES_BASE + 0)
|
||||||
|
#define NPRES_NETWORK_ERR (NPRES_BASE + 1)
|
||||||
|
#define NPRES_USER_BREAK (NPRES_BASE + 2)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Don't use these obsolete error codes any more.
|
||||||
|
*/
|
||||||
|
#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
|
||||||
|
#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
|
||||||
|
#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version feature information
|
||||||
|
*/
|
||||||
|
#define NPVERS_HAS_STREAMOUTPUT 8
|
||||||
|
#define NPVERS_HAS_NOTIFICATION 9
|
||||||
|
#define NPVERS_HAS_LIVECONNECT 9
|
||||||
|
#define NPVERS_68K_HAS_LIVECONNECT 11
|
||||||
|
#define NPVERS_HAS_WINDOWLESS 11
|
||||||
|
#define NPVERS_HAS_XPCONNECT_SCRIPTING 13
|
||||||
|
#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14
|
||||||
|
#define NPVERS_HAS_FORM_VALUES 15
|
||||||
|
#define NPVERS_HAS_POPUPS_ENABLED_STATE 16
|
||||||
|
#define NPVERS_HAS_RESPONSE_HEADERS 17
|
||||||
|
#define NPVERS_HAS_NPOBJECT_ENUM 18
|
||||||
|
#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19
|
||||||
|
#define NPVERS_HAS_ALL_NETWORK_STREAMS 20
|
||||||
|
#define NPVERS_HAS_URL_AND_AUTH_INFO 21
|
||||||
|
#define NPVERS_HAS_PRIVATE_MODE 22
|
||||||
|
#define NPVERS_MACOSX_HAS_COCOA_EVENTS 23
|
||||||
|
#define NPVERS_HAS_ADVANCED_KEY_HANDLING 25
|
||||||
|
#define NPVERS_HAS_URL_REDIRECT_HANDLING 26
|
||||||
|
#define NPVERS_HAS_CLEAR_SITE_DATA 27
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Function Prototypes */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if defined(__OS2__)
|
||||||
|
#define NP_LOADDS _System
|
||||||
|
#else
|
||||||
|
#define NP_LOADDS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* NPP_* functions are provided by the plugin and called by the navigator. */
|
||||||
|
|
||||||
|
#if defined(XP_UNIX)
|
||||||
|
const char* NPP_GetMIMEDescription(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
|
||||||
|
uint16_t mode, int16_t argc, char* argn[],
|
||||||
|
char* argv[], NPSavedData* saved);
|
||||||
|
NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save);
|
||||||
|
NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window);
|
||||||
|
NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type,
|
||||||
|
NPStream* stream, NPBool seekable,
|
||||||
|
uint16_t* stype);
|
||||||
|
NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream,
|
||||||
|
NPReason reason);
|
||||||
|
int32_t NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream);
|
||||||
|
int32_t NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32_t offset,
|
||||||
|
int32_t len, void* buffer);
|
||||||
|
void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
|
||||||
|
const char* fname);
|
||||||
|
void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint);
|
||||||
|
int16_t NP_LOADDS NPP_HandleEvent(NPP instance, void* event);
|
||||||
|
void NP_LOADDS NPP_URLNotify(NPP instance, const char* url,
|
||||||
|
NPReason reason, void* notifyData);
|
||||||
|
NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value);
|
||||||
|
NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value);
|
||||||
|
NPBool NP_LOADDS NPP_GotFocus(NPP instance, NPFocusDirection direction);
|
||||||
|
void NP_LOADDS NPP_LostFocus(NPP instance);
|
||||||
|
void NP_LOADDS NPP_URLRedirectNotify(NPP instance, const char* url, int32_t status, void* notifyData);
|
||||||
|
NPError NP_LOADDS NPP_ClearSiteData(const char* site, uint64_t flags, uint64_t maxAge);
|
||||||
|
char** NP_LOADDS NPP_GetSitesWithData(void);
|
||||||
|
|
||||||
|
/* NPN_* functions are provided by the navigator and called by the plugin. */
|
||||||
|
void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor,
|
||||||
|
int* netscape_major, int* netscape_minor);
|
||||||
|
NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url,
|
||||||
|
const char* target, void* notifyData);
|
||||||
|
NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url,
|
||||||
|
const char* target);
|
||||||
|
NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url,
|
||||||
|
const char* target, uint32_t len,
|
||||||
|
const char* buf, NPBool file,
|
||||||
|
void* notifyData);
|
||||||
|
NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url,
|
||||||
|
const char* target, uint32_t len,
|
||||||
|
const char* buf, NPBool file);
|
||||||
|
NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
|
||||||
|
NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type,
|
||||||
|
const char* target, NPStream** stream);
|
||||||
|
int32_t NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32_t len,
|
||||||
|
void* buffer);
|
||||||
|
NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream,
|
||||||
|
NPReason reason);
|
||||||
|
void NP_LOADDS NPN_Status(NPP instance, const char* message);
|
||||||
|
const char* NP_LOADDS NPN_UserAgent(NPP instance);
|
||||||
|
void* NP_LOADDS NPN_MemAlloc(uint32_t size);
|
||||||
|
void NP_LOADDS NPN_MemFree(void* ptr);
|
||||||
|
uint32_t NP_LOADDS NPN_MemFlush(uint32_t size);
|
||||||
|
void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages);
|
||||||
|
NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable,
|
||||||
|
void *value);
|
||||||
|
NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable,
|
||||||
|
void *value);
|
||||||
|
void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
|
||||||
|
void NP_LOADDS NPN_InvalidateRegion(NPP instance,
|
||||||
|
NPRegion invalidRegion);
|
||||||
|
void NP_LOADDS NPN_ForceRedraw(NPP instance);
|
||||||
|
void NP_LOADDS NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
|
||||||
|
void NP_LOADDS NPN_PopPopupsEnabledState(NPP instance);
|
||||||
|
void NP_LOADDS NPN_PluginThreadAsyncCall(NPP instance,
|
||||||
|
void (*func) (void *),
|
||||||
|
void *userData);
|
||||||
|
NPError NP_LOADDS NPN_GetValueForURL(NPP instance, NPNURLVariable variable,
|
||||||
|
const char *url, char **value,
|
||||||
|
uint32_t *len);
|
||||||
|
NPError NP_LOADDS NPN_SetValueForURL(NPP instance, NPNURLVariable variable,
|
||||||
|
const char *url, const char *value,
|
||||||
|
uint32_t len);
|
||||||
|
NPError NP_LOADDS NPN_GetAuthenticationInfo(NPP instance,
|
||||||
|
const char *protocol,
|
||||||
|
const char *host, int32_t port,
|
||||||
|
const char *scheme,
|
||||||
|
const char *realm,
|
||||||
|
char **username, uint32_t *ulen,
|
||||||
|
char **password,
|
||||||
|
uint32_t *plen);
|
||||||
|
uint32_t NP_LOADDS NPN_ScheduleTimer(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID));
|
||||||
|
void NP_LOADDS NPN_UnscheduleTimer(NPP instance, uint32_t timerID);
|
||||||
|
NPError NP_LOADDS NPN_PopUpContextMenu(NPP instance, NPMenu* menu);
|
||||||
|
NPBool NP_LOADDS NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
|
||||||
|
NPBool NP_LOADDS NPN_HandleEvent(NPP instance, void *event, NPBool handled);
|
||||||
|
NPBool NP_LOADDS NPN_UnfocusInstance(NPP instance, NPFocusDirection direction);
|
||||||
|
void NP_LOADDS NPN_URLRedirectResponse(NPP instance, void* notifyData, NPBool allow);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* end extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* RC_INVOKED */
|
||||||
|
#if defined(__OS2__)
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* npapi_h_ */
|
322
browser-plugin/npapi/npfunctions.h
Normal file
322
browser-plugin/npapi/npfunctions.h
Normal file
@ -0,0 +1,322 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Netscape Communications Corporation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the MPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
#ifndef npfunctions_h_
|
||||||
|
#define npfunctions_h_
|
||||||
|
|
||||||
|
#ifdef __OS2__
|
||||||
|
#pragma pack(1)
|
||||||
|
#define NP_LOADDS _System
|
||||||
|
#else
|
||||||
|
#define NP_LOADDS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "npapi.h"
|
||||||
|
#include "npruntime.h"
|
||||||
|
|
||||||
|
typedef NPError (* NP_LOADDS NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved);
|
||||||
|
typedef NPError (* NP_LOADDS NPP_DestroyProcPtr)(NPP instance, NPSavedData** save);
|
||||||
|
typedef NPError (* NP_LOADDS NPP_SetWindowProcPtr)(NPP instance, NPWindow* window);
|
||||||
|
typedef NPError (* NP_LOADDS NPP_NewStreamProcPtr)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype);
|
||||||
|
typedef NPError (* NP_LOADDS NPP_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
|
||||||
|
typedef int32_t (* NP_LOADDS NPP_WriteReadyProcPtr)(NPP instance, NPStream* stream);
|
||||||
|
typedef int32_t (* NP_LOADDS NPP_WriteProcPtr)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer);
|
||||||
|
typedef void (* NP_LOADDS NPP_StreamAsFileProcPtr)(NPP instance, NPStream* stream, const char* fname);
|
||||||
|
typedef void (* NP_LOADDS NPP_PrintProcPtr)(NPP instance, NPPrint* platformPrint);
|
||||||
|
typedef int16_t (* NP_LOADDS NPP_HandleEventProcPtr)(NPP instance, void* event);
|
||||||
|
typedef void (* NP_LOADDS NPP_URLNotifyProcPtr)(NPP instance, const char* url, NPReason reason, void* notifyData);
|
||||||
|
/* Any NPObjects returned to the browser via NPP_GetValue should be retained
|
||||||
|
by the plugin on the way out. The browser is responsible for releasing. */
|
||||||
|
typedef NPError (* NP_LOADDS NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value);
|
||||||
|
typedef NPError (* NP_LOADDS NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value);
|
||||||
|
typedef NPBool (* NP_LOADDS NPP_GotFocusPtr)(NPP instance, NPFocusDirection direction);
|
||||||
|
typedef void (* NP_LOADDS NPP_LostFocusPtr)(NPP instance);
|
||||||
|
typedef void (* NP_LOADDS NPP_URLRedirectNotifyPtr)(NPP instance, const char* url, int32_t status, void* notifyData);
|
||||||
|
typedef NPError (* NP_LOADDS NPP_ClearSiteDataPtr)(const char* site, uint64_t flags, uint64_t maxAge);
|
||||||
|
typedef char** (* NP_LOADDS NPP_GetSitesWithDataPtr)(void);
|
||||||
|
|
||||||
|
typedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value);
|
||||||
|
typedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value);
|
||||||
|
typedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance, const char* url, const char* window, void* notifyData);
|
||||||
|
typedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData);
|
||||||
|
typedef NPError (*NPN_GetURLProcPtr)(NPP instance, const char* url, const char* window);
|
||||||
|
typedef NPError (*NPN_PostURLProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file);
|
||||||
|
typedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream, NPByteRange* rangeList);
|
||||||
|
typedef NPError (*NPN_NewStreamProcPtr)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
|
||||||
|
typedef int32_t (*NPN_WriteProcPtr)(NPP instance, NPStream* stream, int32_t len, void* buffer);
|
||||||
|
typedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
|
||||||
|
typedef void (*NPN_StatusProcPtr)(NPP instance, const char* message);
|
||||||
|
/* Browser manages the lifetime of the buffer returned by NPN_UserAgent, don't
|
||||||
|
depend on it sticking around and don't free it. */
|
||||||
|
typedef const char* (*NPN_UserAgentProcPtr)(NPP instance);
|
||||||
|
typedef void* (*NPN_MemAllocProcPtr)(uint32_t size);
|
||||||
|
typedef void (*NPN_MemFreeProcPtr)(void* ptr);
|
||||||
|
typedef uint32_t (*NPN_MemFlushProcPtr)(uint32_t size);
|
||||||
|
typedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages);
|
||||||
|
typedef void* (*NPN_GetJavaEnvProcPtr)(void);
|
||||||
|
typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance);
|
||||||
|
typedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect);
|
||||||
|
typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region);
|
||||||
|
typedef void (*NPN_ForceRedrawProcPtr)(NPP instance);
|
||||||
|
typedef NPIdentifier (*NPN_GetStringIdentifierProcPtr)(const NPUTF8* name);
|
||||||
|
typedef void (*NPN_GetStringIdentifiersProcPtr)(const NPUTF8** names, int32_t nameCount, NPIdentifier* identifiers);
|
||||||
|
typedef NPIdentifier (*NPN_GetIntIdentifierProcPtr)(int32_t intid);
|
||||||
|
typedef bool (*NPN_IdentifierIsStringProcPtr)(NPIdentifier identifier);
|
||||||
|
typedef NPUTF8* (*NPN_UTF8FromIdentifierProcPtr)(NPIdentifier identifier);
|
||||||
|
typedef int32_t (*NPN_IntFromIdentifierProcPtr)(NPIdentifier identifier);
|
||||||
|
typedef NPObject* (*NPN_CreateObjectProcPtr)(NPP npp, NPClass *aClass);
|
||||||
|
typedef NPObject* (*NPN_RetainObjectProcPtr)(NPObject *obj);
|
||||||
|
typedef void (*NPN_ReleaseObjectProcPtr)(NPObject *obj);
|
||||||
|
typedef bool (*NPN_InvokeProcPtr)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
|
||||||
|
typedef bool (*NPN_InvokeDefaultProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
|
||||||
|
typedef bool (*NPN_EvaluateProcPtr)(NPP npp, NPObject *obj, NPString *script, NPVariant *result);
|
||||||
|
typedef bool (*NPN_GetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
|
||||||
|
typedef bool (*NPN_SetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
|
||||||
|
typedef bool (*NPN_RemovePropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
|
||||||
|
typedef bool (*NPN_HasPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
|
||||||
|
typedef bool (*NPN_HasMethodProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
|
||||||
|
typedef void (*NPN_ReleaseVariantValueProcPtr)(NPVariant *variant);
|
||||||
|
typedef void (*NPN_SetExceptionProcPtr)(NPObject *obj, const NPUTF8 *message);
|
||||||
|
typedef void (*NPN_PushPopupsEnabledStateProcPtr)(NPP npp, NPBool enabled);
|
||||||
|
typedef void (*NPN_PopPopupsEnabledStateProcPtr)(NPP npp);
|
||||||
|
typedef bool (*NPN_EnumerateProcPtr)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count);
|
||||||
|
typedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP instance, void (*func)(void *), void *userData);
|
||||||
|
typedef bool (*NPN_ConstructProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
|
||||||
|
typedef NPError (*NPN_GetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, char **value, uint32_t *len);
|
||||||
|
typedef NPError (*NPN_SetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, const char *value, uint32_t len);
|
||||||
|
typedef NPError (*NPN_GetAuthenticationInfoPtr)(NPP npp, const char *protocol, const char *host, int32_t port, const char *scheme, const char *realm, char **username, uint32_t *ulen, char **password, uint32_t *plen);
|
||||||
|
typedef uint32_t (*NPN_ScheduleTimerPtr)(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID));
|
||||||
|
typedef void (*NPN_UnscheduleTimerPtr)(NPP instance, uint32_t timerID);
|
||||||
|
typedef NPError (*NPN_PopUpContextMenuPtr)(NPP instance, NPMenu* menu);
|
||||||
|
typedef NPBool (*NPN_ConvertPointPtr)(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
|
||||||
|
typedef NPBool (*NPN_HandleEventPtr)(NPP instance, void *event, NPBool handled);
|
||||||
|
typedef NPBool (*NPN_UnfocusInstancePtr)(NPP instance, NPFocusDirection direction);
|
||||||
|
typedef void (*NPN_URLRedirectResponsePtr)(NPP instance, void* notifyData, NPBool allow);
|
||||||
|
|
||||||
|
typedef struct _NPPluginFuncs {
|
||||||
|
uint16_t size;
|
||||||
|
uint16_t version;
|
||||||
|
NPP_NewProcPtr newp;
|
||||||
|
NPP_DestroyProcPtr destroy;
|
||||||
|
NPP_SetWindowProcPtr setwindow;
|
||||||
|
NPP_NewStreamProcPtr newstream;
|
||||||
|
NPP_DestroyStreamProcPtr destroystream;
|
||||||
|
NPP_StreamAsFileProcPtr asfile;
|
||||||
|
NPP_WriteReadyProcPtr writeready;
|
||||||
|
NPP_WriteProcPtr write;
|
||||||
|
NPP_PrintProcPtr print;
|
||||||
|
NPP_HandleEventProcPtr event;
|
||||||
|
NPP_URLNotifyProcPtr urlnotify;
|
||||||
|
void* javaClass;
|
||||||
|
NPP_GetValueProcPtr getvalue;
|
||||||
|
NPP_SetValueProcPtr setvalue;
|
||||||
|
NPP_GotFocusPtr gotfocus;
|
||||||
|
NPP_LostFocusPtr lostfocus;
|
||||||
|
NPP_URLRedirectNotifyPtr urlredirectnotify;
|
||||||
|
NPP_ClearSiteDataPtr clearsitedata;
|
||||||
|
NPP_GetSitesWithDataPtr getsiteswithdata;
|
||||||
|
} NPPluginFuncs;
|
||||||
|
|
||||||
|
typedef struct _NPNetscapeFuncs {
|
||||||
|
uint16_t size;
|
||||||
|
uint16_t version;
|
||||||
|
NPN_GetURLProcPtr geturl;
|
||||||
|
NPN_PostURLProcPtr posturl;
|
||||||
|
NPN_RequestReadProcPtr requestread;
|
||||||
|
NPN_NewStreamProcPtr newstream;
|
||||||
|
NPN_WriteProcPtr write;
|
||||||
|
NPN_DestroyStreamProcPtr destroystream;
|
||||||
|
NPN_StatusProcPtr status;
|
||||||
|
NPN_UserAgentProcPtr uagent;
|
||||||
|
NPN_MemAllocProcPtr memalloc;
|
||||||
|
NPN_MemFreeProcPtr memfree;
|
||||||
|
NPN_MemFlushProcPtr memflush;
|
||||||
|
NPN_ReloadPluginsProcPtr reloadplugins;
|
||||||
|
NPN_GetJavaEnvProcPtr getJavaEnv;
|
||||||
|
NPN_GetJavaPeerProcPtr getJavaPeer;
|
||||||
|
NPN_GetURLNotifyProcPtr geturlnotify;
|
||||||
|
NPN_PostURLNotifyProcPtr posturlnotify;
|
||||||
|
NPN_GetValueProcPtr getvalue;
|
||||||
|
NPN_SetValueProcPtr setvalue;
|
||||||
|
NPN_InvalidateRectProcPtr invalidaterect;
|
||||||
|
NPN_InvalidateRegionProcPtr invalidateregion;
|
||||||
|
NPN_ForceRedrawProcPtr forceredraw;
|
||||||
|
NPN_GetStringIdentifierProcPtr getstringidentifier;
|
||||||
|
NPN_GetStringIdentifiersProcPtr getstringidentifiers;
|
||||||
|
NPN_GetIntIdentifierProcPtr getintidentifier;
|
||||||
|
NPN_IdentifierIsStringProcPtr identifierisstring;
|
||||||
|
NPN_UTF8FromIdentifierProcPtr utf8fromidentifier;
|
||||||
|
NPN_IntFromIdentifierProcPtr intfromidentifier;
|
||||||
|
NPN_CreateObjectProcPtr createobject;
|
||||||
|
NPN_RetainObjectProcPtr retainobject;
|
||||||
|
NPN_ReleaseObjectProcPtr releaseobject;
|
||||||
|
NPN_InvokeProcPtr invoke;
|
||||||
|
NPN_InvokeDefaultProcPtr invokeDefault;
|
||||||
|
NPN_EvaluateProcPtr evaluate;
|
||||||
|
NPN_GetPropertyProcPtr getproperty;
|
||||||
|
NPN_SetPropertyProcPtr setproperty;
|
||||||
|
NPN_RemovePropertyProcPtr removeproperty;
|
||||||
|
NPN_HasPropertyProcPtr hasproperty;
|
||||||
|
NPN_HasMethodProcPtr hasmethod;
|
||||||
|
NPN_ReleaseVariantValueProcPtr releasevariantvalue;
|
||||||
|
NPN_SetExceptionProcPtr setexception;
|
||||||
|
NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate;
|
||||||
|
NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate;
|
||||||
|
NPN_EnumerateProcPtr enumerate;
|
||||||
|
NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall;
|
||||||
|
NPN_ConstructProcPtr construct;
|
||||||
|
NPN_GetValueForURLPtr getvalueforurl;
|
||||||
|
NPN_SetValueForURLPtr setvalueforurl;
|
||||||
|
NPN_GetAuthenticationInfoPtr getauthenticationinfo;
|
||||||
|
NPN_ScheduleTimerPtr scheduletimer;
|
||||||
|
NPN_UnscheduleTimerPtr unscheduletimer;
|
||||||
|
NPN_PopUpContextMenuPtr popupcontextmenu;
|
||||||
|
NPN_ConvertPointPtr convertpoint;
|
||||||
|
NPN_HandleEventPtr handleevent;
|
||||||
|
NPN_UnfocusInstancePtr unfocusinstance;
|
||||||
|
NPN_URLRedirectResponsePtr urlredirectresponse;
|
||||||
|
} NPNetscapeFuncs;
|
||||||
|
|
||||||
|
#ifdef XP_MACOSX
|
||||||
|
/*
|
||||||
|
* Mac OS X version(s) of NP_GetMIMEDescription(const char *)
|
||||||
|
* These can be called to retreive MIME information from the plugin dynamically
|
||||||
|
*
|
||||||
|
* Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way
|
||||||
|
* to get mime info from the plugin only on OSX and may not be supported
|
||||||
|
* in furture version -- use NP_GetMIMEDescription instead
|
||||||
|
*/
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
kBPSupportedMIMETypesStructVers_1 = 1
|
||||||
|
};
|
||||||
|
typedef struct _BPSupportedMIMETypes
|
||||||
|
{
|
||||||
|
SInt32 structVersion; /* struct version */
|
||||||
|
Handle typeStrings; /* STR# formated handle, allocated by plug-in */
|
||||||
|
Handle infoStrings; /* STR# formated handle, allocated by plug-in */
|
||||||
|
} BPSupportedMIMETypes;
|
||||||
|
OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags);
|
||||||
|
#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
|
||||||
|
typedef const char* (*NP_GetMIMEDescriptionProcPtr)(void);
|
||||||
|
typedef OSErr (*BP_GetSupportedMIMETypesProcPtr)(BPSupportedMIMETypes*, UInt32);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#define OSCALL WINAPI
|
||||||
|
#else
|
||||||
|
#if defined(__OS2__)
|
||||||
|
#define OSCALL _System
|
||||||
|
#else
|
||||||
|
#define OSCALL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_UNIX)
|
||||||
|
/* GCC 3.3 and later support the visibility attribute. */
|
||||||
|
#if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
|
||||||
|
#define NP_VISIBILITY_DEFAULT __attribute__((visibility("default")))
|
||||||
|
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||||
|
#define NP_VISIBILITY_DEFAULT __global
|
||||||
|
#else
|
||||||
|
#define NP_VISIBILITY_DEFAULT
|
||||||
|
#endif
|
||||||
|
#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_WIN32) || defined (__OS2__)
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
/* plugin meta member functions */
|
||||||
|
#if defined(__OS2__)
|
||||||
|
typedef struct _NPPluginData { /* Alternate OS2 Plugin interface */
|
||||||
|
char *pMimeTypes;
|
||||||
|
char *pFileExtents;
|
||||||
|
char *pFileOpenTemplate;
|
||||||
|
char *pProductName;
|
||||||
|
char *pProductDescription;
|
||||||
|
unsigned long dwProductVersionMS;
|
||||||
|
unsigned long dwProductVersionLS;
|
||||||
|
} NPPluginData;
|
||||||
|
typedef NPError (*NP_GetPluginDataFunc)(NPPluginData*);
|
||||||
|
NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
|
||||||
|
#endif
|
||||||
|
typedef NPError (*NP_GetEntryPointsFunc)(NPPluginFuncs*);
|
||||||
|
NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);
|
||||||
|
typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*);
|
||||||
|
NPError OSCALL NP_Initialize(NPNetscapeFuncs* bFuncs);
|
||||||
|
typedef NPError (*NP_ShutdownFunc)(void);
|
||||||
|
NPError OSCALL NP_Shutdown(void);
|
||||||
|
typedef const char* (*NP_GetMIMEDescriptionFunc)(void);
|
||||||
|
const char* NP_GetMIMEDescription(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__OS2__)
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XP_UNIX
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
typedef char* (*NP_GetPluginVersionFunc)(void);
|
||||||
|
NP_EXPORT(char*) NP_GetPluginVersion(void);
|
||||||
|
typedef const char* (*NP_GetMIMEDescriptionFunc)(void);
|
||||||
|
NP_EXPORT(const char*) NP_GetMIMEDescription(void);
|
||||||
|
#ifdef XP_MACOSX
|
||||||
|
typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*);
|
||||||
|
NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs);
|
||||||
|
typedef NPError (*NP_GetEntryPointsFunc)(NPPluginFuncs*);
|
||||||
|
NP_EXPORT(NPError) NP_GetEntryPoints(NPPluginFuncs* pFuncs);
|
||||||
|
#else
|
||||||
|
typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*, NPPluginFuncs*);
|
||||||
|
NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs);
|
||||||
|
#endif
|
||||||
|
typedef NPError (*NP_ShutdownFunc)(void);
|
||||||
|
NP_EXPORT(NPError) NP_Shutdown(void);
|
||||||
|
typedef NPError (*NP_GetValueFunc)(void *, NPPVariable, void *);
|
||||||
|
NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* npfunctions_h_ */
|
393
browser-plugin/npapi/npruntime.h
Normal file
393
browser-plugin/npapi/npruntime.h
Normal file
@ -0,0 +1,393 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2004, Apple Computer, Inc. and The Mozilla Foundation.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are
|
||||||
|
* met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla
|
||||||
|
* Foundation ("Mozilla") nor the names of their contributors may be used
|
||||||
|
* to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS
|
||||||
|
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||||
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR
|
||||||
|
* THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||||
|
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||||
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef _NP_RUNTIME_H_
|
||||||
|
#define _NP_RUNTIME_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "nptypes.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
This API is used to facilitate binding code written in C to script
|
||||||
|
objects. The API in this header does not assume the presence of a
|
||||||
|
user agent. That is, it can be used to bind C code to scripting
|
||||||
|
environments outside of the context of a user agent.
|
||||||
|
|
||||||
|
However, the normal use of the this API is in the context of a
|
||||||
|
scripting environment running in a browser or other user agent.
|
||||||
|
In particular it is used to support the extended Netscape
|
||||||
|
script-ability API for plugins (NP-SAP). NP-SAP is an extension
|
||||||
|
of the Netscape plugin API. As such we have adopted the use of
|
||||||
|
the "NP" prefix for this API.
|
||||||
|
|
||||||
|
The following NP{N|P}Variables were added to the Netscape plugin
|
||||||
|
API (in npapi.h):
|
||||||
|
|
||||||
|
NPNVWindowNPObject
|
||||||
|
NPNVPluginElementNPObject
|
||||||
|
NPPVpluginScriptableNPObject
|
||||||
|
|
||||||
|
These variables are exposed through NPN_GetValue() and
|
||||||
|
NPP_GetValue() (respectively) and are used to establish the
|
||||||
|
initial binding between the user agent and native code. The DOM
|
||||||
|
objects in the user agent can be examined and manipulated using
|
||||||
|
the NPN_ functions that operate on NPObjects described in this
|
||||||
|
header.
|
||||||
|
|
||||||
|
To the extent possible the assumptions about the scripting
|
||||||
|
language used by the scripting environment have been minimized.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define NP_BEGIN_MACRO do {
|
||||||
|
#define NP_END_MACRO } while (0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Objects (non-primitive data) passed between 'C' and script is
|
||||||
|
always wrapped in an NPObject. The 'interface' of an NPObject is
|
||||||
|
described by an NPClass.
|
||||||
|
*/
|
||||||
|
typedef struct NPObject NPObject;
|
||||||
|
typedef struct NPClass NPClass;
|
||||||
|
|
||||||
|
typedef char NPUTF8;
|
||||||
|
typedef struct _NPString {
|
||||||
|
const NPUTF8 *UTF8Characters;
|
||||||
|
uint32_t UTF8Length;
|
||||||
|
} NPString;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NPVariantType_Void,
|
||||||
|
NPVariantType_Null,
|
||||||
|
NPVariantType_Bool,
|
||||||
|
NPVariantType_Int32,
|
||||||
|
NPVariantType_Double,
|
||||||
|
NPVariantType_String,
|
||||||
|
NPVariantType_Object
|
||||||
|
} NPVariantType;
|
||||||
|
|
||||||
|
typedef struct _NPVariant {
|
||||||
|
NPVariantType type;
|
||||||
|
union {
|
||||||
|
bool boolValue;
|
||||||
|
int32_t intValue;
|
||||||
|
double doubleValue;
|
||||||
|
NPString stringValue;
|
||||||
|
NPObject *objectValue;
|
||||||
|
} value;
|
||||||
|
} NPVariant;
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPN_ReleaseVariantValue is called on all 'out' parameters
|
||||||
|
references. Specifically it is to be called on variants that own
|
||||||
|
their value, as is the case with all non-const NPVariant*
|
||||||
|
arguments after a successful call to any methods (except this one)
|
||||||
|
in this API.
|
||||||
|
|
||||||
|
After calling NPN_ReleaseVariantValue, the type of the variant
|
||||||
|
will be NPVariantType_Void.
|
||||||
|
*/
|
||||||
|
void NPN_ReleaseVariantValue(NPVariant *variant);
|
||||||
|
|
||||||
|
#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
|
||||||
|
#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
|
||||||
|
#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
|
||||||
|
#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
|
||||||
|
#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
|
||||||
|
#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
|
||||||
|
#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
|
||||||
|
|
||||||
|
#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
|
||||||
|
#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
|
||||||
|
#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
|
||||||
|
#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
|
||||||
|
#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
|
||||||
|
|
||||||
|
#define VOID_TO_NPVARIANT(_v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Void; \
|
||||||
|
(_v).value.objectValue = NULL; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define NULL_TO_NPVARIANT(_v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Null; \
|
||||||
|
(_v).value.objectValue = NULL; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define BOOLEAN_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Bool; \
|
||||||
|
(_v).value.boolValue = !!(_val); \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define INT32_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Int32; \
|
||||||
|
(_v).value.intValue = _val; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define DOUBLE_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Double; \
|
||||||
|
(_v).value.doubleValue = _val; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define STRINGZ_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_String; \
|
||||||
|
NPString str = { _val, (uint32_t)(strlen(_val)) }; \
|
||||||
|
(_v).value.stringValue = str; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define STRINGN_TO_NPVARIANT(_val, _len, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_String; \
|
||||||
|
NPString str = { _val, (uint32_t)(_len) }; \
|
||||||
|
(_v).value.stringValue = str; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define OBJECT_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Object; \
|
||||||
|
(_v).value.objectValue = _val; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Type mappings (JavaScript types have been used for illustration
|
||||||
|
purposes):
|
||||||
|
|
||||||
|
JavaScript to C (NPVariant with type:)
|
||||||
|
undefined NPVariantType_Void
|
||||||
|
null NPVariantType_Null
|
||||||
|
Boolean NPVariantType_Bool
|
||||||
|
Number NPVariantType_Double or NPVariantType_Int32
|
||||||
|
String NPVariantType_String
|
||||||
|
Object NPVariantType_Object
|
||||||
|
|
||||||
|
C (NPVariant with type:) to JavaScript
|
||||||
|
NPVariantType_Void undefined
|
||||||
|
NPVariantType_Null null
|
||||||
|
NPVariantType_Bool Boolean
|
||||||
|
NPVariantType_Int32 Number
|
||||||
|
NPVariantType_Double Number
|
||||||
|
NPVariantType_String String
|
||||||
|
NPVariantType_Object Object
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef void *NPIdentifier;
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPObjects have methods and properties. Methods and properties are
|
||||||
|
identified with NPIdentifiers. These identifiers may be reflected
|
||||||
|
in script. NPIdentifiers can be either strings or integers, IOW,
|
||||||
|
methods and properties can be identified by either strings or
|
||||||
|
integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be
|
||||||
|
compared using ==. In case of any errors, the requested
|
||||||
|
NPIdentifier(s) will be NULL. NPIdentifier lifetime is controlled
|
||||||
|
by the browser. Plugins do not need to worry about memory management
|
||||||
|
with regards to NPIdentifiers.
|
||||||
|
*/
|
||||||
|
NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name);
|
||||||
|
void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
|
||||||
|
NPIdentifier *identifiers);
|
||||||
|
NPIdentifier NPN_GetIntIdentifier(int32_t intid);
|
||||||
|
bool NPN_IdentifierIsString(NPIdentifier identifier);
|
||||||
|
|
||||||
|
/*
|
||||||
|
The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed.
|
||||||
|
*/
|
||||||
|
NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the integer represented by identifier. If identifier is not an
|
||||||
|
integer identifier, the behaviour is undefined.
|
||||||
|
*/
|
||||||
|
int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPObject behavior is implemented using the following set of
|
||||||
|
callback functions.
|
||||||
|
|
||||||
|
The NPVariant *result argument of these functions (where
|
||||||
|
applicable) should be released using NPN_ReleaseVariantValue().
|
||||||
|
*/
|
||||||
|
typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass);
|
||||||
|
typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj);
|
||||||
|
typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj);
|
||||||
|
typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name);
|
||||||
|
typedef bool (*NPInvokeFunctionPtr)(NPObject *npobj, NPIdentifier name,
|
||||||
|
const NPVariant *args, uint32_t argCount,
|
||||||
|
NPVariant *result);
|
||||||
|
typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj,
|
||||||
|
const NPVariant *args,
|
||||||
|
uint32_t argCount,
|
||||||
|
NPVariant *result);
|
||||||
|
typedef bool (*NPHasPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
|
||||||
|
typedef bool (*NPGetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
|
||||||
|
NPVariant *result);
|
||||||
|
typedef bool (*NPSetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
|
||||||
|
const NPVariant *value);
|
||||||
|
typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj,
|
||||||
|
NPIdentifier name);
|
||||||
|
typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value,
|
||||||
|
uint32_t *count);
|
||||||
|
typedef bool (*NPConstructFunctionPtr)(NPObject *npobj,
|
||||||
|
const NPVariant *args,
|
||||||
|
uint32_t argCount,
|
||||||
|
NPVariant *result);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPObjects returned by create, retain, invoke, and getProperty pass
|
||||||
|
a reference count to the caller. That is, the callee adds a
|
||||||
|
reference count which passes to the caller. It is the caller's
|
||||||
|
responsibility to release the returned object.
|
||||||
|
|
||||||
|
NPInvokeFunctionPtr function may return 0 to indicate a void
|
||||||
|
result.
|
||||||
|
|
||||||
|
NPInvalidateFunctionPtr is called by the scripting environment
|
||||||
|
when the native code is shutdown. Any attempt to message a
|
||||||
|
NPObject instance after the invalidate callback has been
|
||||||
|
called will result in undefined behavior, even if the native code
|
||||||
|
is still retaining those NPObject instances. (The runtime
|
||||||
|
will typically return immediately, with 0 or NULL, from an attempt
|
||||||
|
to dispatch to a NPObject, but this behavior should not be
|
||||||
|
depended upon.)
|
||||||
|
|
||||||
|
The NPEnumerationFunctionPtr function may pass an array of
|
||||||
|
NPIdentifiers back to the caller. The callee allocs the memory of
|
||||||
|
the array using NPN_MemAlloc(), and it's the caller's responsibility
|
||||||
|
to release it using NPN_MemFree().
|
||||||
|
*/
|
||||||
|
struct NPClass
|
||||||
|
{
|
||||||
|
uint32_t structVersion;
|
||||||
|
NPAllocateFunctionPtr allocate;
|
||||||
|
NPDeallocateFunctionPtr deallocate;
|
||||||
|
NPInvalidateFunctionPtr invalidate;
|
||||||
|
NPHasMethodFunctionPtr hasMethod;
|
||||||
|
NPInvokeFunctionPtr invoke;
|
||||||
|
NPInvokeDefaultFunctionPtr invokeDefault;
|
||||||
|
NPHasPropertyFunctionPtr hasProperty;
|
||||||
|
NPGetPropertyFunctionPtr getProperty;
|
||||||
|
NPSetPropertyFunctionPtr setProperty;
|
||||||
|
NPRemovePropertyFunctionPtr removeProperty;
|
||||||
|
NPEnumerationFunctionPtr enumerate;
|
||||||
|
NPConstructFunctionPtr construct;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define NP_CLASS_STRUCT_VERSION 3
|
||||||
|
|
||||||
|
#define NP_CLASS_STRUCT_VERSION_ENUM 2
|
||||||
|
#define NP_CLASS_STRUCT_VERSION_CTOR 3
|
||||||
|
|
||||||
|
#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \
|
||||||
|
((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
|
||||||
|
|
||||||
|
#define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \
|
||||||
|
((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR)
|
||||||
|
|
||||||
|
struct NPObject {
|
||||||
|
NPClass *_class;
|
||||||
|
uint32_t referenceCount;
|
||||||
|
/*
|
||||||
|
* Additional space may be allocated here by types of NPObjects
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
If the class has an allocate function, NPN_CreateObject invokes
|
||||||
|
that function, otherwise a NPObject is allocated and
|
||||||
|
returned. This method will initialize the referenceCount member of
|
||||||
|
the NPObject to 1.
|
||||||
|
*/
|
||||||
|
NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Increment the NPObject's reference count.
|
||||||
|
*/
|
||||||
|
NPObject *NPN_RetainObject(NPObject *npobj);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Decremented the NPObject's reference count. If the reference
|
||||||
|
count goes to zero, the class's destroy function is invoke if
|
||||||
|
specified, otherwise the object is freed directly.
|
||||||
|
*/
|
||||||
|
void NPN_ReleaseObject(NPObject *npobj);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Functions to access script objects represented by NPObject.
|
||||||
|
|
||||||
|
Calls to script objects are synchronous. If a function returns a
|
||||||
|
value, it will be supplied via the result NPVariant
|
||||||
|
argument. Successful calls will return true, false will be
|
||||||
|
returned in case of an error.
|
||||||
|
|
||||||
|
Calls made from plugin code to script must be made from the thread
|
||||||
|
on which the plugin was initialized.
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName,
|
||||||
|
const NPVariant *args, uint32_t argCount, NPVariant *result);
|
||||||
|
bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args,
|
||||||
|
uint32_t argCount, NPVariant *result);
|
||||||
|
bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script,
|
||||||
|
NPVariant *result);
|
||||||
|
bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
|
||||||
|
NPVariant *result);
|
||||||
|
bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
|
||||||
|
const NPVariant *value);
|
||||||
|
bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
|
||||||
|
bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
|
||||||
|
bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName);
|
||||||
|
bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier,
|
||||||
|
uint32_t *count);
|
||||||
|
bool NPN_Construct(NPP npp, NPObject *npobj, const NPVariant *args,
|
||||||
|
uint32_t argCount, NPVariant *result);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPN_SetException may be called to trigger a script exception upon
|
||||||
|
return from entry points into NPObjects. Typical usage:
|
||||||
|
|
||||||
|
NPN_SetException (npobj, message);
|
||||||
|
*/
|
||||||
|
void NPN_SetException(NPObject *npobj, const NPUTF8 *message);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
121
browser-plugin/npapi/nptypes.h
Normal file
121
browser-plugin/npapi/nptypes.h
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* mozilla.org.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Johnny Stenback <jst@mozilla.org> (Original author)
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the MPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
#ifndef nptypes_h_
|
||||||
|
#define nptypes_h_
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Header file for ensuring that C99 types ([u]int32_t, [u]int64_t and bool) and
|
||||||
|
* true/false macros are available.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(WIN32) || defined(OS2)
|
||||||
|
/*
|
||||||
|
* Win32 and OS/2 don't know C99, so define [u]int_16/32/64 here. The bool
|
||||||
|
* is predefined tho, both in C and C++.
|
||||||
|
*/
|
||||||
|
typedef short int16_t;
|
||||||
|
typedef unsigned short uint16_t;
|
||||||
|
typedef int int32_t;
|
||||||
|
typedef unsigned int uint32_t;
|
||||||
|
typedef long long int64_t;
|
||||||
|
typedef unsigned long long uint64_t;
|
||||||
|
#elif defined(_AIX) || defined(__sun) || defined(__osf__) || defined(IRIX) || defined(HPUX)
|
||||||
|
/*
|
||||||
|
* AIX and SunOS ship a inttypes.h header that defines [u]int32_t,
|
||||||
|
* but not bool for C.
|
||||||
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
#ifndef __cplusplus
|
||||||
|
typedef int bool;
|
||||||
|
#define true 1
|
||||||
|
#define false 0
|
||||||
|
#endif
|
||||||
|
#elif defined(bsdi) || defined(FREEBSD) || defined(OPENBSD)
|
||||||
|
/*
|
||||||
|
* BSD/OS, FreeBSD, and OpenBSD ship sys/types.h that define int32_t and
|
||||||
|
* u_int32_t.
|
||||||
|
*/
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BSD/OS ships no header that defines uint32_t, nor bool (for C)
|
||||||
|
*/
|
||||||
|
#if defined(bsdi)
|
||||||
|
typedef u_int32_t uint32_t;
|
||||||
|
typedef u_int64_t uint64_t;
|
||||||
|
|
||||||
|
#if !defined(__cplusplus)
|
||||||
|
typedef int bool;
|
||||||
|
#define true 1
|
||||||
|
#define false 0
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* FreeBSD and OpenBSD define uint32_t and bool.
|
||||||
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#endif
|
||||||
|
#elif defined(BEOS)
|
||||||
|
#include <inttypes.h>
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* For those that ship a standard C99 stdint.h header file, include
|
||||||
|
* it. Can't do the same for stdbool.h tho, since some systems ship
|
||||||
|
* with a stdbool.h file that doesn't compile!
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifndef __cplusplus
|
||||||
|
#if !defined(__GNUC__) || (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
|
||||||
|
#include <stdbool.h>
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* GCC 2.91 can't deal with a typedef for bool, but a #define
|
||||||
|
* works.
|
||||||
|
*/
|
||||||
|
#define bool int
|
||||||
|
#define true 1
|
||||||
|
#define false 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* nptypes_h_ */
|
@ -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,10 +0,0 @@
|
|||||||
dbus_interfaces = [
|
|
||||||
'org.gnome.Shell.Extensions.xml',
|
|
||||||
'org.gnome.Shell.Introspect.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,61 +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.Introspect:
|
|
||||||
@short_description: Introspection interface
|
|
||||||
|
|
||||||
The interface used to introspect the state of Shell, such as running
|
|
||||||
applications, currently active application, etc.
|
|
||||||
-->
|
|
||||||
<interface name="org.gnome.Shell.Introspect">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
RunningApplicationsChanged:
|
|
||||||
@short_description: Notifies when the running applications changes
|
|
||||||
-->
|
|
||||||
<signal name="RunningApplicationsChanged" />
|
|
||||||
|
|
||||||
<!--
|
|
||||||
GetRunningApplications:
|
|
||||||
@short_description: Retrieves the description of all running applications
|
|
||||||
|
|
||||||
Each application is associated by an application ID. The details of
|
|
||||||
each application consists of a varlist of keys and values. Available
|
|
||||||
keys are listed below.
|
|
||||||
|
|
||||||
'active-on-seats' - (as) list of seats the application is active on
|
|
||||||
(a seat only has at most one active
|
|
||||||
application)
|
|
||||||
-->
|
|
||||||
<method name="GetRunningApplications">
|
|
||||||
<arg name="apps" direction="out" type="a{sa{sv}}" />
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
GetWindows:
|
|
||||||
@short_description: Retrieves the current list of windows and their properties
|
|
||||||
|
|
||||||
A window is exposed as:
|
|
||||||
* t ID: unique ID of the window
|
|
||||||
* a{sv} properties: high-level properties
|
|
||||||
|
|
||||||
Known properties:
|
|
||||||
|
|
||||||
- "title" (s): (readonly) title of the window
|
|
||||||
- "app-id" (s): (readonly) application ID of the window
|
|
||||||
- "wm-class" (s): (readonly) class of the window
|
|
||||||
- "client-type" (u): (readonly) 0 for Wayland, 1 for X11
|
|
||||||
- "is-hidden" (b): (readonly) if the window is currently hidden
|
|
||||||
- "has-focus" (b): (readonly) if the window currently have
|
|
||||||
keyboard focus
|
|
||||||
- "width" (u): (readonly) width of the window
|
|
||||||
- "height" (u): (readonly) height of the window
|
|
||||||
-->
|
|
||||||
<method name="GetWindows">
|
|
||||||
<arg name="windows" direction="out" type="a{ta{sv}}" />
|
|
||||||
</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,56 +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.Introspect.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,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gresources>
|
|
||||||
<gresource prefix="/org/gnome/shell/theme">
|
|
||||||
<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>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>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
|
@ -1,238 +0,0 @@
|
|||||||
<schemalist>
|
|
||||||
<schema id="org.gnome.shell" path="/org/gnome/shell/"
|
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
|
||||||
<key name="development-tools" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>
|
|
||||||
Enable internal tools useful for developers and testers from Alt-F2
|
|
||||||
</summary>
|
|
||||||
<description>
|
|
||||||
Allows access to internal debugging and monitoring tools
|
|
||||||
using the Alt-F2 dialog.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="enabled-extensions" type="as">
|
|
||||||
<default>[]</default>
|
|
||||||
<summary>UUIDs of extensions to enable</summary>
|
|
||||||
<description>
|
|
||||||
GNOME Shell extensions have a UUID property; this key lists extensions
|
|
||||||
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
|
|
||||||
EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell.
|
|
||||||
</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 name="favorite-apps" type="as">
|
|
||||||
<default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
|
||||||
<summary>List of desktop file IDs for favorite applications</summary>
|
|
||||||
<description>
|
|
||||||
The applications corresponding to these identifiers
|
|
||||||
will be displayed in the favorites area.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="app-picker-view" type="u">
|
|
||||||
<default>0</default>
|
|
||||||
<summary>App Picker View</summary>
|
|
||||||
<description>
|
|
||||||
Index of the currently selected view in the application picker.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="command-history" type="as">
|
|
||||||
<default>[]</default>
|
|
||||||
<summary>History for command (Alt-F2) dialog</summary>
|
|
||||||
</key>
|
|
||||||
<key name="looking-glass-history" type="as">
|
|
||||||
<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>
|
|
||||||
</key>
|
|
||||||
<key name="always-show-log-out" type="b">
|
|
||||||
<default>false</default>
|
|
||||||
<summary>Always show the “Log out” menu item in the user menu.</summary>
|
|
||||||
<description>
|
|
||||||
This key overrides the automatic hiding of the “Log out”
|
|
||||||
menu item in single-user, single-session situations.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="remember-mount-password" type="b">
|
|
||||||
<default>false</default>
|
|
||||||
<summary>Whether to remember password for mounting encrypted or remote filesystems</summary>
|
|
||||||
<description>
|
|
||||||
The shell will request a password when an encrypted device or a
|
|
||||||
remote filesystem is mounted. If the password can be saved for
|
|
||||||
future use a “Remember Password” checkbox will be present.
|
|
||||||
This key sets the default state of the checkbox.
|
|
||||||
</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 name="introspect" type="b">
|
|
||||||
<default>false</default>
|
|
||||||
<summary>Enable introspection API</summary>
|
|
||||||
<description>
|
|
||||||
Enables a D-Bus API that allows to introspect the application state of
|
|
||||||
the shell.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
|
||||||
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
|
||||||
</schema>
|
|
||||||
|
|
||||||
<schema id="org.gnome.shell.keybindings" path="/org/gnome/shell/keybindings/"
|
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
|
||||||
<key name="toggle-application-view" type="as">
|
|
||||||
<default>["<Super>a"]</default>
|
|
||||||
<summary>Keybinding to open the “Show Applications” view</summary>
|
|
||||||
<description>
|
|
||||||
Keybinding to open the “Show Applications” view of the Activities
|
|
||||||
Overview.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="toggle-overview" type="as">
|
|
||||||
<default>["<Super>s"]</default>
|
|
||||||
<summary>Keybinding to open the overview</summary>
|
|
||||||
<description>
|
|
||||||
Keybinding to open the Activities Overview.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="toggle-message-tray" type="as">
|
|
||||||
<default>["<Super>v","<Super>m"]</default>
|
|
||||||
<summary>Keybinding to toggle the visibility of the notification list</summary>
|
|
||||||
<description>
|
|
||||||
Keybinding to toggle the visibility of the notification list.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key name="focus-active-notification" type="as">
|
|
||||||
<default>["<Super>n"]</default>
|
|
||||||
<summary>Keybinding to focus the active notification</summary>
|
|
||||||
<description>
|
|
||||||
Keybinding to focus the active notification.
|
|
||||||
</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>
|
|
||||||
</schema>
|
|
||||||
|
|
||||||
<schema id="org.gnome.shell.keyboard" path="/org/gnome/shell/keyboard/"
|
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
|
||||||
<key name="keyboard-type" type="s">
|
|
||||||
<default>'touch'</default>
|
|
||||||
<summary>Which keyboard to use</summary>
|
|
||||||
<description>
|
|
||||||
The type of keyboard to use.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
</schema>
|
|
||||||
|
|
||||||
<schema id="org.gnome.shell.app-switcher"
|
|
||||||
path="/org/gnome/shell/app-switcher/"
|
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
|
||||||
<key type="b" name="current-workspace-only">
|
|
||||||
<default>false</default>
|
|
||||||
<summary>Limit switcher to current workspace.</summary>
|
|
||||||
<description>
|
|
||||||
If true, only applications that have windows on the current workspace are shown in the switcher.
|
|
||||||
Otherwise, all applications are included.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
</schema>
|
|
||||||
|
|
||||||
<enum id="org.gnome.shell.window-switcher.AppIconMode">
|
|
||||||
<value value="1" nick="thumbnail-only"/>
|
|
||||||
<value value="2" nick="app-icon-only"/>
|
|
||||||
<value value="3" nick="both"/>
|
|
||||||
</enum>
|
|
||||||
<schema id="org.gnome.shell.window-switcher"
|
|
||||||
path="/org/gnome/shell/window-switcher/"
|
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
|
||||||
<key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode">
|
|
||||||
<default>'both'</default>
|
|
||||||
<summary>The application icon mode.</summary>
|
|
||||||
<description>
|
|
||||||
Configures how the windows are shown in the switcher. Valid possibilities
|
|
||||||
are “thumbnail-only” (shows a thumbnail of the window), “app-icon-only”
|
|
||||||
(shows only the application icon) or “both”.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
<key type="b" name="current-workspace-only">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Limit switcher to current workspace.</summary>
|
|
||||||
<description>
|
|
||||||
If true, only windows from the current workspace are shown in the switcher.
|
|
||||||
Otherwise, all windows are included.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
</schema>
|
|
||||||
|
|
||||||
<!-- unused, change 00_org.gnome.shell.gschema.override instead -->
|
|
||||||
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/"
|
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
|
||||||
<key name="attach-modal-dialogs" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Attach modal dialog to the parent window</summary>
|
|
||||||
<description>
|
|
||||||
This key overrides the key in org.gnome.mutter when running
|
|
||||||
GNOME Shell.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
<key name="edge-tiling" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Enable edge tiling when dropping windows on screen edges</summary>
|
|
||||||
<description>
|
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
<key name="dynamic-workspaces" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Workspaces are managed dynamically</summary>
|
|
||||||
<description>
|
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
<key name="workspaces-only-on-primary" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Workspaces only on primary monitor</summary>
|
|
||||||
<description>
|
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
<key name="focus-change-on-pointer-rest" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Delay focus changes in mouse mode until the pointer stops moving</summary>
|
|
||||||
<description>
|
|
||||||
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
|
||||||
</description>
|
|
||||||
</key>
|
|
||||||
</schema>
|
|
||||||
</schemalist>
|
|
225
data/org.gnome.shell.gschema.xml.in.in
Normal file
225
data/org.gnome.shell.gschema.xml.in.in
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
<schemalist>
|
||||||
|
<schema id="org.gnome.shell" path="/org/gnome/shell/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key name="development-tools" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<_summary>
|
||||||
|
Enable internal tools useful for developers and testers from Alt-F2
|
||||||
|
</_summary>
|
||||||
|
<_description>
|
||||||
|
Allows access to internal debugging and monitoring tools
|
||||||
|
using the Alt-F2 dialog.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="enabled-extensions" type="as">
|
||||||
|
<default>[]</default>
|
||||||
|
<_summary>Uuids of extensions to enable</_summary>
|
||||||
|
<_description>
|
||||||
|
GNOME Shell extensions have a uuid property; this key lists extensions
|
||||||
|
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
|
||||||
|
EnableExtension and DisableExtension DBus methods on org.gnome.Shell.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="favorite-apps" type="as">
|
||||||
|
<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>
|
||||||
|
<_description>
|
||||||
|
The applications corresponding to these identifiers
|
||||||
|
will be displayed in the favorites area.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="app-folder-categories" type="as">
|
||||||
|
<default>[ 'Utilities', 'Sundry' ]</default>
|
||||||
|
<_summary>List of categories that should be displayed as folders</_summary>
|
||||||
|
<_description>
|
||||||
|
Each category name in this list will be represented as folder in the
|
||||||
|
application view, rather than being displayed inline in the main view.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="command-history" type="as">
|
||||||
|
<default>[]</default>
|
||||||
|
<_summary>History for command (Alt-F2) dialog</_summary>
|
||||||
|
</key>
|
||||||
|
<key name="looking-glass-history" type="as">
|
||||||
|
<default>[]</default>
|
||||||
|
<_summary>History for the looking glass dialog</_summary>
|
||||||
|
</key>
|
||||||
|
<key name="always-show-log-out" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<_summary>Always show the 'Log out' menuitem in the user menu.</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the automatic hiding of the 'Log out'
|
||||||
|
menuitem in single-user, single-session situations.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="remember-mount-password" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
<_summary>Whether to remember password for mounting encrypted or remote filesystems</_summary>
|
||||||
|
<_description>
|
||||||
|
The shell will request a password when an encrypted device or a
|
||||||
|
remote filesystem is mounted. If the password can be saved for
|
||||||
|
future use a 'Remember Password' checkbox will be present.
|
||||||
|
This key sets the default state of the checkbox.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<child name="calendar" schema="org.gnome.shell.calendar"/>
|
||||||
|
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||||
|
<child name="keyboard" schema="org.gnome.shell.keyboard"/>
|
||||||
|
</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/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key name="open-application-menu" type="as">
|
||||||
|
<default>["<Super>F10"]</default>
|
||||||
|
<_summary>Keybinding to open the application menu</_summary>
|
||||||
|
<_description>
|
||||||
|
Keybinding to open the application menu.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="toggle-application-view" type="as">
|
||||||
|
<default>["<Super>a"]</default>
|
||||||
|
<_summary>Keybinding to open the "Show Applications" view</_summary>
|
||||||
|
<_description>
|
||||||
|
Keybinding to open the "Show Applications" view of the Activities
|
||||||
|
Overview.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="toggle-overview" type="as">
|
||||||
|
<default>["<Super>s"]</default>
|
||||||
|
<_summary>Keybinding to open the overview</_summary>
|
||||||
|
<_description>
|
||||||
|
Keybinding to open the Activities Overview.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="toggle-message-tray" type="as">
|
||||||
|
<default>["<Super>m"]</default>
|
||||||
|
<_summary>Keybinding to toggle the visibility of the message tray</_summary>
|
||||||
|
<_description>
|
||||||
|
Keybinding to toggle the visibility of the message tray.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key name="focus-active-notification" type="as">
|
||||||
|
<default>["<Super>n"]</default>
|
||||||
|
<_summary>Keybinding to focus the active notification</_summary>
|
||||||
|
<_description>
|
||||||
|
Keybinding to focus the active notification.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
|
||||||
|
<schema id="org.gnome.shell.keyboard" path="/org/gnome/shell/keyboard/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key name="keyboard-type" type="s">
|
||||||
|
<default>'touch'</default>
|
||||||
|
<_summary>Which keyboard to use</_summary>
|
||||||
|
<_description>
|
||||||
|
The type of keyboard to use.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
|
||||||
|
<schema id="org.gnome.shell.app-switcher"
|
||||||
|
path="/org/gnome/shell/app-switcher/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key type="b" name="current-workspace-only">
|
||||||
|
<default>false</default>
|
||||||
|
<summary>Limit switcher to current workspace.</summary>
|
||||||
|
<description>
|
||||||
|
If true, only applications that have windows on the current workspace are shown in the switcher.
|
||||||
|
Otherwise, all applications are included.
|
||||||
|
</description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
|
||||||
|
<enum id="org.gnome.shell.window-switcher.AppIconMode">
|
||||||
|
<value value="1" nick="thumbnail-only"/>
|
||||||
|
<value value="2" nick="app-icon-only"/>
|
||||||
|
<value value="3" nick="both"/>
|
||||||
|
</enum>
|
||||||
|
<schema id="org.gnome.shell.window-switcher"
|
||||||
|
path="/org/gnome/shell/window-switcher/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key name="app-icon-mode" enum="org.gnome.shell.window-switcher.AppIconMode">
|
||||||
|
<default>'both'</default>
|
||||||
|
<_summary>The application icon mode.</_summary>
|
||||||
|
<_description>
|
||||||
|
Configures how the windows are shown in the switcher. Valid possibilities
|
||||||
|
are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only'
|
||||||
|
(shows only the application icon) or 'both'.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
<key type="b" name="current-workspace-only">
|
||||||
|
<default>true</default>
|
||||||
|
<summary>Limit switcher to current workspace.</summary>
|
||||||
|
<description>
|
||||||
|
If true, only windows from the current workspace are shown in the switcher.
|
||||||
|
Otherwise, all windows are included.
|
||||||
|
</description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
|
||||||
|
<schema id="org.gnome.shell.overrides" path="/org/gnome/shell/overrides/"
|
||||||
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
|
<key name="attach-modal-dialogs" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<_summary>Attach modal dialog to the parent window</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the key in org.gnome.mutter when running
|
||||||
|
GNOME Shell.
|
||||||
|
</_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 name="edge-tiling" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<_summary>Enable edge tiling when dropping windows on screen edges</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="dynamic-workspaces" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<_summary>Workspaces are managed dynamically</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="workspaces-only-on-primary" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<_summary>Workspaces only on primary monitor</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
|
||||||
|
<key name="focus-change-on-pointer-rest" type="b">
|
||||||
|
<default>true</default>
|
||||||
|
<_summary>Delay focus changes in mouse mode until the pointer stops moving</_summary>
|
||||||
|
<_description>
|
||||||
|
This key overrides the key in org.gnome.mutter when running GNOME Shell.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
</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"
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user