Compare commits
39 Commits
citadel-48
...
shell-tool
Author | SHA1 | Date | |
---|---|---|---|
![]() |
83f37da1c1 | ||
![]() |
c2706add36 | ||
![]() |
0a187b7222 | ||
![]() |
3abe92d15d | ||
![]() |
45b4d0384c | ||
![]() |
083eed140c | ||
![]() |
1283f0b160 | ||
![]() |
3bbdc1e1e1 | ||
![]() |
25f1246b6f | ||
![]() |
a37c86636b | ||
![]() |
4057cfaa17 | ||
![]() |
76443e91cd | ||
![]() |
d3c4c1f5ed | ||
![]() |
040ddf077c | ||
![]() |
f313d38458 | ||
![]() |
304b48a15d | ||
![]() |
d92b1d8da2 | ||
![]() |
df3ac4b25e | ||
![]() |
0ce05a04c8 | ||
![]() |
c1c4adda02 | ||
![]() |
595242c389 | ||
![]() |
7e678ef0d2 | ||
![]() |
ebbf304899 | ||
![]() |
2077485827 | ||
![]() |
0c0a0c66e2 | ||
![]() |
2412a89445 | ||
![]() |
789e268264 | ||
![]() |
7507d10223 | ||
![]() |
b18a8ebcae | ||
![]() |
ed07413c20 | ||
![]() |
f94eab803b | ||
![]() |
0315a6e4a8 | ||
![]() |
48085dd428 | ||
![]() |
099b73a0c4 | ||
![]() |
b8d46422d5 | ||
![]() |
459bdfba78 | ||
![]() |
66414ea3f6 | ||
![]() |
d453067e24 | ||
![]() |
ae320a26fc |
@@ -1,23 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
end_of_line = lf
|
|
||||||
|
|
||||||
indent_style = space
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
[*.js]
|
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
[*.[ch]]
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[*.gresource.xml]
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[*.ui]
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[meson.build]
|
|
||||||
indent_size = 2
|
|
@@ -1,5 +0,0 @@
|
|||||||
extends:
|
|
||||||
- ./lint/eslintrc-gjs.yml
|
|
||||||
- ./lint/eslintrc-shell.yml
|
|
||||||
parserOptions:
|
|
||||||
sourceType: module
|
|
54
.gitignore
vendored
54
.gitignore
vendored
@@ -1,10 +1,44 @@
|
|||||||
data/.osk-layout-workbench
|
*.la
|
||||||
po/gnome-shell.pot
|
*.lo
|
||||||
subprojects/gvc
|
*.o
|
||||||
subprojects/jasmine-gjs
|
.deps
|
||||||
*~
|
.libs
|
||||||
*.patch
|
ChangeLog
|
||||||
*.sw?
|
INSTALL
|
||||||
.buildconfig
|
Makefile
|
||||||
.eslintcache
|
Makefile.in
|
||||||
.vscode
|
NEWS
|
||||||
|
aclocal.m4
|
||||||
|
autom4te.cache
|
||||||
|
config.h
|
||||||
|
config.h.in
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
config
|
||||||
|
configure
|
||||||
|
data/gnome-shell.desktop
|
||||||
|
data/gnome-shell.desktop.in
|
||||||
|
intltool-extract.in
|
||||||
|
intltool-merge.in
|
||||||
|
intltool-update.in
|
||||||
|
libtool
|
||||||
|
omf.make
|
||||||
|
po/*.gmo
|
||||||
|
po/Makefile.in.in
|
||||||
|
po/POTFILES
|
||||||
|
po/stamp-it
|
||||||
|
scripts/launcher.pyc
|
||||||
|
src/*.gir
|
||||||
|
src/*.typelib
|
||||||
|
src/*-enum-types.[ch]
|
||||||
|
src/*-marshal.[ch]
|
||||||
|
src/Makefile
|
||||||
|
src/Makefile.in
|
||||||
|
src/gnomeshell-taskpanel
|
||||||
|
src/gnome-shell
|
||||||
|
src/test-recorder
|
||||||
|
src/test-recorder.ogg
|
||||||
|
src/test-theme
|
||||||
|
stamp-h1
|
||||||
|
tests/run-test.sh
|
||||||
|
xmldocs.make
|
||||||
|
334
.gitlab-ci.yml
334
.gitlab-ci.yml
@@ -1,334 +0,0 @@
|
|||||||
include:
|
|
||||||
- project: 'GNOME/citemplates'
|
|
||||||
file: 'templates/default-rules.yml'
|
|
||||||
- project: 'GNOME/citemplates'
|
|
||||||
file: 'flatpak/flatpak_ci_initiative.yml'
|
|
||||||
- project: 'Infrastructure/freedesktop-ci-templates'
|
|
||||||
file: 'templates/fedora.yml'
|
|
||||||
ref: '057b052e682d8e5a20c1eb2dd60d5b87d2b56856'
|
|
||||||
- project: 'Infrastructure/freedesktop-ci-templates'
|
|
||||||
file: 'templates/ci-fairy.yml'
|
|
||||||
ref: 'bc70242ffb8402243e934659ecc1a2d1c89eca2b'
|
|
||||||
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
|
|
||||||
inputs:
|
|
||||||
job-stage: deploy
|
|
||||||
dist-job-name: "dist-tarball"
|
|
||||||
tarball-artifact-path: $TARBALL_ARTIFACT_PATH
|
|
||||||
- component: gitlab.gnome.org/GNOME/citemplates/gnomeos-build-sysext@1.0.0-alpha.1
|
|
||||||
inputs:
|
|
||||||
meson-options:
|
|
||||||
-Dextensions_app=false
|
|
||||||
-Dextensions-tool:bash_completion=disabled
|
|
||||||
|
|
||||||
build-sysext:
|
|
||||||
tags:
|
|
||||||
- x86_64_v3
|
|
||||||
before_script:
|
|
||||||
- .gitlab-ci/install-gnomeos-sysext-dependencies.sh $CI_PROJECT_DIR/extension
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- pre-review
|
|
||||||
- prep
|
|
||||||
- review
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- analyze
|
|
||||||
- docs
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
default:
|
|
||||||
image: $MUTTER_CI_IMAGE
|
|
||||||
|
|
||||||
variables:
|
|
||||||
MUTTER_CI_IMAGE: registry.gitlab.gnome.org/gnome/mutter/fedora/42:x86_64-2025-03-31.0
|
|
||||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell
|
|
||||||
BUNDLE: "extensions-git.flatpak"
|
|
||||||
LINT_LOG: "eslint-report.xml"
|
|
||||||
LINT_MR_LOG: "eslint-mr-report.xml"
|
|
||||||
TARBALL_ARTIFACT_PATH: build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
|
|
||||||
|
|
||||||
.pipeline-guard:
|
|
||||||
rules:
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
- if: '$CI_COMMIT_TAG'
|
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
|
||||||
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
|
|
||||||
- when: 'manual'
|
|
||||||
|
|
||||||
.gnome-shell.fedora:
|
|
||||||
variables:
|
|
||||||
FDO_DISTRIBUTION_VERSION: 42
|
|
||||||
FDO_DISTRIBUTION_TAG: '2025-04-01.0'
|
|
||||||
FDO_DISTRIBUTION_PACKAGES:
|
|
||||||
gjs
|
|
||||||
nodejs
|
|
||||||
npm
|
|
||||||
meson
|
|
||||||
git
|
|
||||||
'pkgconfig(gobject-introspection-1.0)'
|
|
||||||
'pkgconfig(gio-2.0)'
|
|
||||||
'pkgconfig(gio-unix-2.0)'
|
|
||||||
'pkgconfig(gnome-autoar-0)'
|
|
||||||
'pkgconfig(json-glib-1.0)'
|
|
||||||
FDO_DISTRIBUTION_EXEC: |
|
|
||||||
# For static analysis with eslint
|
|
||||||
npm install -g eslint@^8.0.0 eslint-plugin-jsdoc@^46.0.0 &&
|
|
||||||
|
|
||||||
./.gitlab-ci/install-meson-project.sh \
|
|
||||||
https://gitlab.gnome.org/World/javascript/gjs-ci-tools.git \
|
|
||||||
main &&
|
|
||||||
|
|
||||||
./.gitlab-ci/install-meson-project.sh \
|
|
||||||
--subdir subprojects/extensions-tool/ \
|
|
||||||
--prepare ./generate-translations.sh \
|
|
||||||
-Dman=false \
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell.git \
|
|
||||||
main
|
|
||||||
|
|
||||||
check-commit-log:
|
|
||||||
extends:
|
|
||||||
- .fdo.ci-fairy
|
|
||||||
stage: pre-review
|
|
||||||
variables:
|
|
||||||
GIT_DEPTH: "100"
|
|
||||||
script:
|
|
||||||
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
|
|
||||||
then
|
|
||||||
ci-fairy check-commits --junit-xml=commit-message-junit-report.xml ;
|
|
||||||
else
|
|
||||||
echo "Not a merge request" ;
|
|
||||||
fi
|
|
||||||
rules:
|
|
||||||
- !reference [.pipeline-guard, rules]
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 week
|
|
||||||
paths:
|
|
||||||
- commit-message-junit-report.xml
|
|
||||||
reports:
|
|
||||||
junit: commit-message-junit-report.xml
|
|
||||||
|
|
||||||
check-merge-request:
|
|
||||||
extends:
|
|
||||||
- .fdo.ci-fairy
|
|
||||||
stage: pre-review
|
|
||||||
script:
|
|
||||||
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
|
|
||||||
then
|
|
||||||
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
|
|
||||||
else
|
|
||||||
echo "Not a merge request" ;
|
|
||||||
fi
|
|
||||||
rules:
|
|
||||||
- !reference [.pipeline-guard, rules]
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 week
|
|
||||||
paths:
|
|
||||||
- check-merge-request-report.xml
|
|
||||||
reports:
|
|
||||||
junit: check-merge-request-report.xml
|
|
||||||
|
|
||||||
build-fedora-container:
|
|
||||||
extends:
|
|
||||||
- .fdo.container-build@fedora@x86_64
|
|
||||||
- .gnome-shell.fedora
|
|
||||||
stage: prep
|
|
||||||
|
|
||||||
js-check:
|
|
||||||
extends:
|
|
||||||
- .fdo.distribution-image@fedora
|
|
||||||
- .gnome-shell.fedora
|
|
||||||
stage: review
|
|
||||||
script:
|
|
||||||
- gjs-check-syntax
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
junit: gjs-check-syntax.junit.xml
|
|
||||||
|
|
||||||
eslint:
|
|
||||||
extends:
|
|
||||||
- .fdo.distribution-image@fedora
|
|
||||||
- .gnome-shell.fedora
|
|
||||||
stage: review
|
|
||||||
script:
|
|
||||||
- export NODE_PATH=$(npm root -g)
|
|
||||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
junit: ${LINT_LOG}
|
|
||||||
when: always
|
|
||||||
|
|
||||||
eslint-doc:
|
|
||||||
extends:
|
|
||||||
- .fdo.distribution-image@fedora
|
|
||||||
- .gnome-shell.fedora
|
|
||||||
stage: review
|
|
||||||
script:
|
|
||||||
- export NODE_PATH=$(npm root -g)
|
|
||||||
- ./.gitlab-ci/eslint-coding-style.sh
|
|
||||||
rules:
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
changes:
|
|
||||||
- HACKING.md
|
|
||||||
- .eslintrc.yml
|
|
||||||
- lint/*
|
|
||||||
|
|
||||||
potfile-c-check:
|
|
||||||
extends:
|
|
||||||
- .fdo.distribution-image@fedora
|
|
||||||
- .gnome-shell.fedora
|
|
||||||
stage: review
|
|
||||||
script:
|
|
||||||
- ./.gitlab-ci/check-potfiles.sh
|
|
||||||
|
|
||||||
potfile-js-check:
|
|
||||||
extends:
|
|
||||||
- .fdo.distribution-image@fedora
|
|
||||||
- .gnome-shell.fedora
|
|
||||||
stage: review
|
|
||||||
script:
|
|
||||||
- gjs-check-potfiles
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
junit: gjs-check-potfiles.junit.xml
|
|
||||||
|
|
||||||
build:
|
|
||||||
stage: build
|
|
||||||
needs: ["check-commit-log"]
|
|
||||||
before_script:
|
|
||||||
- .gitlab-ci/checkout-mutter.sh
|
|
||||||
- meson mutter mutter/build --prefix=/usr
|
|
||||||
- sudo meson install -C mutter/build
|
|
||||||
script:
|
|
||||||
- meson setup . build -Dbuildtype=debugoptimized -Dman=false -Dgtk_doc=true --werror --fatal-meson-warnings
|
|
||||||
- meson compile -C build
|
|
||||||
- sudo meson install -C build
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 day
|
|
||||||
paths:
|
|
||||||
- mutter
|
|
||||||
- build
|
|
||||||
- subprojects/gvc
|
|
||||||
- subprojects/jasmine-gjs
|
|
||||||
|
|
||||||
test:
|
|
||||||
stage: test
|
|
||||||
needs: ["build"]
|
|
||||||
variables:
|
|
||||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
|
||||||
NO_AT_BRIDGE: "1"
|
|
||||||
before_script:
|
|
||||||
- sudo meson install -C mutter/build
|
|
||||||
- mkdir -m 700 $XDG_RUNTIME_DIR
|
|
||||||
- mkdir -m 1777 /tmp/.X11-unix
|
|
||||||
script:
|
|
||||||
- dbus-run-session -- meson test -C build --no-rebuild --timeout-multiplier 5
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 day
|
|
||||||
paths:
|
|
||||||
- build/meson-logs/testlog.txt
|
|
||||||
reports:
|
|
||||||
junit: build/meson-logs/testlog.junit.xml
|
|
||||||
when: on_failure
|
|
||||||
|
|
||||||
test-coverity:
|
|
||||||
rules:
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "schedule" && $GNOME_SHELL_SCHEDULED_JOB == "coverity"'
|
|
||||||
when: always
|
|
||||||
- when: manual
|
|
||||||
needs: ["build"]
|
|
||||||
stage: analyze
|
|
||||||
allow_failure: true
|
|
||||||
before_script:
|
|
||||||
- sudo meson install -C mutter/build
|
|
||||||
script:
|
|
||||||
- .gitlab-ci/download-coverity-tarball.sh
|
|
||||||
- CC=clang meson coverity-build -Dman=false
|
|
||||||
- ./coverity/cov-analysis-linux64-*/bin/cov-build --fs-capture-search js --dir cov-int meson compile -C coverity-build
|
|
||||||
- tar czf cov-int.tar.gz cov-int
|
|
||||||
- curl https://scan.coverity.com/builds?project=GNOME+Shell
|
|
||||||
--form token=$COVERITY_TOKEN --form email=carlosg@gnome.org
|
|
||||||
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
|
|
||||||
--form description="GitLab CI build"
|
|
||||||
cache:
|
|
||||||
key: coverity-tarball
|
|
||||||
paths:
|
|
||||||
- coverity
|
|
||||||
|
|
||||||
flatpak:
|
|
||||||
stage: build
|
|
||||||
needs: ["check-commit-log"]
|
|
||||||
variables:
|
|
||||||
SUBPROJECT: "subprojects/extensions-app"
|
|
||||||
# Your manifest path
|
|
||||||
MANIFEST_PATH: "$SUBPROJECT/build-aux/flatpak/org.gnome.Extensions.json"
|
|
||||||
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
|
||||||
FLATPAK_MODULE: "gnome-extensions-app"
|
|
||||||
APP_ID: "org.gnome.Extensions.Devel"
|
|
||||||
extends: .flatpak
|
|
||||||
|
|
||||||
nightly:
|
|
||||||
extends: '.publish_nightly'
|
|
||||||
needs:
|
|
||||||
- flatpak
|
|
||||||
|
|
||||||
dist:
|
|
||||||
variables:
|
|
||||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
|
||||||
NO_AT_BRIDGE: "1"
|
|
||||||
stage: deploy
|
|
||||||
needs: ["build"]
|
|
||||||
before_script:
|
|
||||||
- sudo meson install -C mutter/build
|
|
||||||
- mkdir -m 700 $XDG_RUNTIME_DIR
|
|
||||||
- mkdir -m 1777 /tmp/.X11-unix
|
|
||||||
script:
|
|
||||||
- dbus-run-session meson dist -C build --include-subprojects
|
|
||||||
rules:
|
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
|
||||||
changes:
|
|
||||||
- "**/meson.build"
|
|
||||||
- meson/*
|
|
||||||
|
|
||||||
dist-tarball:
|
|
||||||
extends: dist
|
|
||||||
needs:
|
|
||||||
- build
|
|
||||||
artifacts:
|
|
||||||
expose_as: 'Get tarball here'
|
|
||||||
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
|
||||||
when: always
|
|
||||||
paths:
|
|
||||||
- $TARBALL_ARTIFACT_PATH
|
|
||||||
rules:
|
|
||||||
- if: '$CI_COMMIT_TAG'
|
|
||||||
|
|
||||||
reference:
|
|
||||||
stage: docs
|
|
||||||
needs: ["build"]
|
|
||||||
script:
|
|
||||||
- mkdir -p reference/
|
|
||||||
- mv build/docs/reference/{shell/shell,st/st} reference/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- reference
|
|
||||||
|
|
||||||
pages:
|
|
||||||
stage: deploy
|
|
||||||
needs: ['reference']
|
|
||||||
script:
|
|
||||||
- mv reference/ public/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
rules:
|
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"'
|
|
||||||
|
|
||||||
build-toolbox:
|
|
||||||
image: quay.io/freedesktop.org/ci-templates:container-build-base-2021-07-29.0
|
|
||||||
stage: deploy
|
|
||||||
needs: []
|
|
||||||
script:
|
|
||||||
- .gitlab-ci/build-toolbox-image.sh $MUTTER_CI_IMAGE
|
|
||||||
rules:
|
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"'
|
|
||||||
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/ && $CI_PROJECT_NAMESPACE == "GNOME"'
|
|
@@ -1,99 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# vi: sw=2 ts=4
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
die() {
|
|
||||||
echo "$@" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
check_image_base() {
|
|
||||||
local base=$(
|
|
||||||
skopeo inspect docker://$TOOLBOX_IMAGE 2>/dev/null |
|
|
||||||
jq -r '.Labels["org.opencontainers.image.base.name"]')
|
|
||||||
[[ "$base" == "$MUTTER_CI_IMAGE" ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
build_container() {
|
|
||||||
echo Building $TOOLBOX_IMAGE from $MUTTER_CI_IMAGE
|
|
||||||
|
|
||||||
export BUILDAH_ISOLATION=chroot
|
|
||||||
export BUILDAH_FORMAT=docker
|
|
||||||
|
|
||||||
local build_cntr=$(buildah from $MUTTER_CI_IMAGE)
|
|
||||||
local build_mnt=$(buildah mount $build_cntr)
|
|
||||||
|
|
||||||
[[ -n "$build_mnt" && -n "$build_cntr" ]] || die "Failed to mount the container"
|
|
||||||
|
|
||||||
local extra_packages=(
|
|
||||||
passwd # needed by toolbox
|
|
||||||
gdb
|
|
||||||
gnome-console # can't do without *some* terminal
|
|
||||||
flatpak-spawn # run host commands
|
|
||||||
flatpak # for host apps
|
|
||||||
nautilus # FileChooser portal
|
|
||||||
adwaita-fonts-all # system fonts
|
|
||||||
gnome-backgrounds # no blank background!
|
|
||||||
)
|
|
||||||
local debug_packages=(
|
|
||||||
glib2 # makes gdb much more useful
|
|
||||||
)
|
|
||||||
buildah run $build_cntr dnf config-manager setopt '*-openh264.enabled=0'
|
|
||||||
buildah run $build_cntr dnf install -y "${extra_packages[@]}"
|
|
||||||
buildah run $build_cntr dnf debuginfo-install -y "${debug_packages[@]}"
|
|
||||||
buildah run $build_cntr dnf clean all
|
|
||||||
buildah run $build_cntr rm -rf /var/lib/cache/dnf
|
|
||||||
|
|
||||||
# disable gnome-keyring activation:
|
|
||||||
# it either asks for unlocking the login keyring on startup, or it detects
|
|
||||||
# the running host daemon and doesn't export the object on the bus, which
|
|
||||||
# blocks the activating service until it hits the timeout
|
|
||||||
buildah run $build_cntr rm /usr/share/dbus-1/services/org.freedesktop.secrets.service
|
|
||||||
|
|
||||||
local srcdir=$(realpath $(dirname $0))
|
|
||||||
buildah copy --chmod 755 $build_cntr $srcdir/install-meson-project.sh /usr/libexec
|
|
||||||
|
|
||||||
# include convenience script for updating mutter dependency
|
|
||||||
local update_mutter=$(mktemp)
|
|
||||||
cat > $update_mutter <<-EOF
|
|
||||||
#!/bin/sh
|
|
||||||
TOOLBOX=\$(. /run/.containerenv; echo \$name)
|
|
||||||
/usr/libexec/install-meson-project.sh \\
|
|
||||||
--destdir=/ --destdir=/var/lib/extensions/\$TOOLBOX \\
|
|
||||||
https://gitlab.gnome.org/GNOME/mutter.git $MUTTER_BRANCH
|
|
||||||
EOF
|
|
||||||
buildah copy --chmod 755 $build_cntr $update_mutter /usr/bin/update-mutter
|
|
||||||
|
|
||||||
buildah config --env HOME- \
|
|
||||||
--label com.github.containers.toolbox=true \
|
|
||||||
--label org.opencontainers.image.base.name=$MUTTER_CI_IMAGE \
|
|
||||||
$build_cntr
|
|
||||||
|
|
||||||
buildah commit $build_cntr $TOOLBOX_IMAGE
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MUTTER_CI_IMAGE=$1
|
|
||||||
MUTTER_BRANCH=${2:-$CI_COMMIT_BRANCH}
|
|
||||||
|
|
||||||
TOOLBOX_IMAGE=$CI_REGISTRY_IMAGE/toolbox:${MUTTER_BRANCH#gnome-}
|
|
||||||
|
|
||||||
[[ -n "$MUTTER_CI_IMAGE" && -n "$MUTTER_BRANCH" ]] ||
|
|
||||||
die "Usage: $(basename $0) MUTTER_CI_IMAGE [MUTTER_BRANCH]"
|
|
||||||
|
|
||||||
if [[ -z "$FORCE_REBUILD" ]]; then
|
|
||||||
if check_image_base; then
|
|
||||||
echo Image $TOOLBOX_IMAGE exists and is up to date.
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ -n "$CI_REGISTRY" && -n "$CI_REGISTRY_USER" && -n "$CI_REGISTRY_PASSWORD" ]] ||
|
|
||||||
die "Insufficient information to log in."
|
|
||||||
|
|
||||||
podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
||||||
|
|
||||||
build_container
|
|
||||||
|
|
||||||
podman push $TOOLBOX_IMAGE
|
|
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
srcdirs="src subprojects/extensions-tool"
|
|
||||||
uidirs="js subprojects/extensions-app"
|
|
||||||
desktopdirs="data subprojects/extensions-app/ subprojects/extensions-tool"
|
|
||||||
|
|
||||||
# find source files that contain gettext keywords
|
|
||||||
files=$(grep -lR --include='*.c' '\(gettext\|[^I_)]_\)(' $srcdirs)
|
|
||||||
|
|
||||||
# find ui files that contain translatable string
|
|
||||||
files="$files "$(grep -lRi --include='*.ui' 'translatable="[ty1]' $uidirs)
|
|
||||||
|
|
||||||
# find .desktop files
|
|
||||||
files="$files "$(find $desktopdirs -name '*.desktop*')
|
|
||||||
|
|
||||||
# filter out excluded files
|
|
||||||
if [ -f po/POTFILES.skip ]; then
|
|
||||||
files=$(for f in $files; do ! grep -q ^$f po/POTFILES.skip && echo $f; done)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# find those that aren't listed in POTFILES.in
|
|
||||||
missing=$(for f in $files; do ! grep -q ^$f po/POTFILES.in && echo $f; done)
|
|
||||||
|
|
||||||
if [ ${#missing} -eq 0 ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >&2 <<EOT
|
|
||||||
|
|
||||||
The following files are missing from po/POTFILES.po:
|
|
||||||
|
|
||||||
EOT
|
|
||||||
for f in $missing; do
|
|
||||||
echo " $f" >&2
|
|
||||||
done
|
|
||||||
echo >&2
|
|
||||||
|
|
||||||
exit 1
|
|
@@ -1,70 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
fetch() {
|
|
||||||
local remote=$1
|
|
||||||
local ref=$2
|
|
||||||
|
|
||||||
git fetch --quiet --depth=1 $remote $ref 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
mutter_target=
|
|
||||||
|
|
||||||
echo -n Cloning into mutter ...
|
|
||||||
if git clone --quiet --depth=1 https://gitlab.gnome.org/GNOME/mutter.git; then
|
|
||||||
echo \ done
|
|
||||||
else
|
|
||||||
echo \ failed
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd mutter
|
|
||||||
|
|
||||||
if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
|
||||||
merge_request_remote=${CI_MERGE_REQUEST_SOURCE_PROJECT_URL//gnome-shell/mutter}
|
|
||||||
merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
|
|
||||||
|
|
||||||
echo -n Looking for $merge_request_branch on remote ...
|
|
||||||
if fetch $merge_request_remote $merge_request_branch; then
|
|
||||||
echo \ found
|
|
||||||
mutter_target=FETCH_HEAD
|
|
||||||
else
|
|
||||||
echo \ not found
|
|
||||||
|
|
||||||
echo -n Looking for $CI_MERGE_REQUEST_TARGET_BRANCH_NAME instead ...
|
|
||||||
if fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME; then
|
|
||||||
echo \ found
|
|
||||||
mutter_target=FETCH_HEAD
|
|
||||||
else
|
|
||||||
echo \ not found
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$mutter_target" ]; then
|
|
||||||
ref_remote=${CI_PROJECT_URL//gnome-shell/mutter}
|
|
||||||
echo -n Looking for $CI_COMMIT_REF_NAME on remote ...
|
|
||||||
if fetch $ref_remote $CI_COMMIT_REF_NAME; then
|
|
||||||
echo \ found
|
|
||||||
mutter_target=FETCH_HEAD
|
|
||||||
else
|
|
||||||
echo \ not found
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fallback_branch=${CI_COMMIT_TAG:+gnome-}${CI_COMMIT_TAG%%.*}
|
|
||||||
if [ -z "$mutter_target" -a "$fallback_branch" ]; then
|
|
||||||
echo -n Looking for $fallback_branch instead ...
|
|
||||||
if fetch origin $fallback_branch; then
|
|
||||||
echo \ found
|
|
||||||
mutter_target=FETCH_HEAD
|
|
||||||
else
|
|
||||||
echo \ not found
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$mutter_target" ]; then
|
|
||||||
mutter_target=HEAD
|
|
||||||
echo Using $mutter_target instead
|
|
||||||
fi
|
|
||||||
|
|
||||||
git checkout -q $mutter_target
|
|
@@ -1,18 +0,0 @@
|
|||||||
patterns:
|
|
||||||
deny:
|
|
||||||
- regex: '^(st-|St)'
|
|
||||||
message: Commit message subject should not be prefixed with 'st-' or 'St', use 'st/' instead
|
|
||||||
where: subject
|
|
||||||
- regex: '^[^:]+: [a-z]'
|
|
||||||
message: "Commit message subject should be properly Capitalized. E.g. 'window: Marginalize extradicity'"
|
|
||||||
where: subject
|
|
||||||
- regex: '^\S*\.(js|c|h):'
|
|
||||||
message: Commit message subject prefix should not include .c, .h etc.
|
|
||||||
where: subject
|
|
||||||
- regex: '([^.]\.|[:,;])\s*$'
|
|
||||||
message: Commit message subject should not end with punctuation
|
|
||||||
where: subject
|
|
||||||
- regex: '^[Cc]lose[sd]?:?\s*#[0-9]+'
|
|
||||||
message: Closes instructions must be a full link
|
|
||||||
- regex: '^[Ff]ix(e[sd]?)?:?\s*(#[0-9]+|https://)'
|
|
||||||
message: \"Fixes\" should be used with commits, use \"Closes\" for issues
|
|
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
# We need a coverity token to fetch the tarball
|
|
||||||
if [ -x $COVERITY_TOKEN ]
|
|
||||||
then
|
|
||||||
echo "No coverity token. Run this job from a protected branch."
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p coverity
|
|
||||||
|
|
||||||
# Download and check MD5 first
|
|
||||||
curl https://scan.coverity.com/download/linux64 \
|
|
||||||
--data "token=$COVERITY_TOKEN&project=GNOME+Shell&md5=1" \
|
|
||||||
--output /tmp/coverity_tool.md5
|
|
||||||
|
|
||||||
diff /tmp/coverity_tool.md5 coverity/coverity_tool.md5 >/dev/null 2>&1
|
|
||||||
|
|
||||||
if [ $? -eq 0 -a -d coverity/cov-analysis* ]
|
|
||||||
then
|
|
||||||
echo "Coverity tarball is up-to-date"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Download and extract coverity tarball
|
|
||||||
curl https://scan.coverity.com/download/linux64 \
|
|
||||||
--data "token=$COVERITY_TOKEN&project=GNOME+Shell" \
|
|
||||||
--output /tmp/coverity_tool.tgz
|
|
||||||
|
|
||||||
rm -rf ./coverity/cov-analysis*
|
|
||||||
|
|
||||||
tar zxf /tmp/coverity_tool.tgz -C coverity/
|
|
||||||
if [ $? -eq 0 ]
|
|
||||||
then
|
|
||||||
mv /tmp/coverity_tool.md5 coverity/
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm /tmp/coverity_tool.tgz
|
|
@@ -1,43 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
SRCDIR=$(realpath $(dirname $0)/..)
|
|
||||||
OUTDIR=$(mktemp --directory --tmpdir=$SRCDIR)
|
|
||||||
trap "rm -rf $OUTDIR" EXIT
|
|
||||||
|
|
||||||
# Turn ```javascript``` code snippets in the
|
|
||||||
# style guide into .js files in $OUTDIR
|
|
||||||
cat <<'EOF' | python3 - docs/js-coding-style.md $OUTDIR
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
|
|
||||||
def extract_js_snippets(input_file, output_dir):
|
|
||||||
with open(input_file, 'r') as file:
|
|
||||||
content = file.read()
|
|
||||||
|
|
||||||
# Find all JavaScript code blocks using regex
|
|
||||||
js_blocks = re.findall(r'```javascript\n(.*?)\n?```', content, flags=re.DOTALL)
|
|
||||||
|
|
||||||
for i, (match) in enumerate(js_blocks):
|
|
||||||
js_code = match
|
|
||||||
|
|
||||||
# Remove one level of indent
|
|
||||||
js_code = re.sub(r'^ {4}', '', js_code, flags=re.MULTILINE)
|
|
||||||
|
|
||||||
# The following are class snippets, turn them
|
|
||||||
# into functions to not confuse eslint
|
|
||||||
js_code = re.sub(r'^moveActor', 'function moveActor', js_code)
|
|
||||||
js_code = re.sub(r'^desaturateActor', 'function desaturateActor', js_code)
|
|
||||||
|
|
||||||
# Finally, create a .js file in the output directory
|
|
||||||
output_filename = f'{output_dir}/{i}.js'
|
|
||||||
with open(output_filename, 'w') as out_file:
|
|
||||||
out_file.write(f'{js_code}\n')
|
|
||||||
|
|
||||||
input_file, output_dir = sys.argv[1:]
|
|
||||||
extract_js_snippets(input_file, output_dir)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
eslint \
|
|
||||||
--rule 'no-undef: off' \
|
|
||||||
--rule 'no-unused-vars: off' \
|
|
||||||
--rule 'no-invalid-this: off' $OUTDIR/*.js
|
|
@@ -1,31 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# This script ensures that all dependencies required to build and run
|
|
||||||
# a GNOME Shell system extension are present in:
|
|
||||||
#
|
|
||||||
# The building environment, by installing these dependencies to the container.
|
|
||||||
# The running environment, by bundling these dependencies with the extension.
|
|
||||||
#
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Install dependencies to $SYSEXT_DEST_DIR to bundle these with the extension.
|
|
||||||
|
|
||||||
SYSEXT_DEST_DIR="$(realpath $1)"
|
|
||||||
|
|
||||||
# Ensure that we're building against (and bundling) the right mutter branch
|
|
||||||
# and its dependencies:
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(dirname $0)"
|
|
||||||
|
|
||||||
$SCRIPT_DIR/checkout-mutter.sh
|
|
||||||
./mutter/.gitlab-ci/install-gnomeos-sysext-dependencies.sh $SYSEXT_DEST_DIR
|
|
||||||
|
|
||||||
meson setup mutter/build mutter --prefix=/usr --libdir="lib/$(gcc -print-multiarch)"
|
|
||||||
meson compile -C mutter/build
|
|
||||||
meson install -C mutter/build --destdir $SYSEXT_DEST_DIR
|
|
||||||
|
|
||||||
sudo meson install -C mutter/build
|
|
||||||
|
|
||||||
# Ensure that any other dependency missing in GNOME OS is installed and bundled
|
|
||||||
# here as it was done with mutter:
|
|
@@ -1,107 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
cat <<-EOF
|
|
||||||
Usage: $(basename $0) [OPTION…] REPO_URL COMMIT
|
|
||||||
|
|
||||||
Check out and install a meson project
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-Dkey=val Option to pass on to meson
|
|
||||||
--subdir=DIR Build subdirectory instead of whole project
|
|
||||||
--prepare=SCRIPT Script to run before build
|
|
||||||
--libdir=DIR Setup the project with a different libdir
|
|
||||||
--destdir=DIR Install the project to DIR, can be used
|
|
||||||
several times to install to multiple destdirs
|
|
||||||
|
|
||||||
-h, --help Display this help
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
TEMP=$(getopt \
|
|
||||||
--name=$(basename $0) \
|
|
||||||
--options='D:h' \
|
|
||||||
--longoptions='subdir:' \
|
|
||||||
--longoptions='prepare:' \
|
|
||||||
--longoptions='libdir:' \
|
|
||||||
--longoptions='destdir:' \
|
|
||||||
--longoptions='help' \
|
|
||||||
-- "$@")
|
|
||||||
|
|
||||||
eval set -- "$TEMP"
|
|
||||||
unset TEMP
|
|
||||||
|
|
||||||
MESON_OPTIONS=()
|
|
||||||
SUBDIR=.
|
|
||||||
PREPARE=:
|
|
||||||
DESTDIRS=()
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
case "$1" in
|
|
||||||
-D)
|
|
||||||
MESON_OPTIONS+=( -D$2 )
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
|
|
||||||
--subdir)
|
|
||||||
SUBDIR=$2
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
|
|
||||||
--prepare)
|
|
||||||
PREPARE=$2
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
|
|
||||||
--libdir)
|
|
||||||
MESON_OPTIONS+=( --libdir=$2 )
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
|
|
||||||
--destdir)
|
|
||||||
DESTDIRS+=( $2 )
|
|
||||||
shift 2
|
|
||||||
;;
|
|
||||||
|
|
||||||
-h|--help)
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
|
|
||||||
--)
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ $# -lt 2 ]]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
REPO_URL="$1"
|
|
||||||
COMMIT="$2"
|
|
||||||
|
|
||||||
[[ ${#DESTDIRS[@]} == 0 ]] && DESTDIRS+=( / )
|
|
||||||
|
|
||||||
CHECKOUT_DIR=$(mktemp --directory)
|
|
||||||
trap "rm -rf $CHECKOUT_DIR" EXIT
|
|
||||||
|
|
||||||
git clone --depth 1 "$REPO_URL" -b "$COMMIT" "$CHECKOUT_DIR"
|
|
||||||
|
|
||||||
pushd "$CHECKOUT_DIR/$SUBDIR"
|
|
||||||
sh -c "$PREPARE"
|
|
||||||
meson setup --prefix=/usr _build "${MESON_OPTIONS[@]}"
|
|
||||||
|
|
||||||
# Install it to all specified dest dirs
|
|
||||||
for destdir in "${DESTDIRS[@]}"; do
|
|
||||||
# don't use --destdir when installing to root,
|
|
||||||
# so post-install hooks are run
|
|
||||||
[[ $destdir == / ]] && destdir=
|
|
||||||
sudo meson install -C _build ${destdir:+--destdir=$destdir}
|
|
||||||
done
|
|
||||||
popd
|
|
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
const {ESLint} = require('eslint');
|
|
||||||
|
|
||||||
console.log(`Running ESLint version ${ESLint.version}...`);
|
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
function hasOption(...names) {
|
|
||||||
return process.argv.some(arg => names.includes(arg));
|
|
||||||
}
|
|
||||||
|
|
||||||
function getOption(...names) {
|
|
||||||
const optIndex =
|
|
||||||
process.argv.findIndex(arg => names.includes(arg)) + 1;
|
|
||||||
|
|
||||||
if (optIndex === 0)
|
|
||||||
return undefined;
|
|
||||||
|
|
||||||
return process.argv[optIndex];
|
|
||||||
}
|
|
||||||
|
|
||||||
(async function main() {
|
|
||||||
const outputOption = getOption('--output-file', '-o');
|
|
||||||
const outputPath = outputOption ? path.resolve(outputOption) : null;
|
|
||||||
|
|
||||||
const sourceDir = path.dirname(process.argv[1]);
|
|
||||||
process.chdir(path.resolve(sourceDir, '..'));
|
|
||||||
|
|
||||||
const sources = ['js', 'subprojects/extensions-app/js', 'tests'];
|
|
||||||
const eslint = new ESLint({cache: true});
|
|
||||||
|
|
||||||
const results = await eslint.lintFiles(sources);
|
|
||||||
const formatter = await eslint.loadFormatter(getOption('--format', '-f'));
|
|
||||||
const resultText = formatter.format(results);
|
|
||||||
|
|
||||||
if (outputPath) {
|
|
||||||
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
||||||
fs.writeFileSync(outputPath, resultText);
|
|
||||||
|
|
||||||
if (hasOption('--stdout')) {
|
|
||||||
const consoleFormatter = await eslint.loadFormatter();
|
|
||||||
console.log(consoleFormatter.format(results));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log(resultText);
|
|
||||||
}
|
|
||||||
|
|
||||||
process.exitCode = results.some(r => r.errorCount > 0) ? 1 : 0;
|
|
||||||
})().catch((error) => {
|
|
||||||
process.exitCode = 1;
|
|
||||||
console.error(error);
|
|
||||||
});
|
|
@@ -1,62 +0,0 @@
|
|||||||
<!--
|
|
||||||
Please read https://gitlab.gnome.org/GNOME/gnome-shell/-/tree/main#reporting-bugs
|
|
||||||
first to ensure that you create a clear and specific issue.
|
|
||||||
-->
|
|
||||||
|
|
||||||
### Affected version
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Provide at least the following information:
|
|
||||||
* Your OS and version
|
|
||||||
* Affected GNOME Shell version (see https://release.gnome.org/calendar/
|
|
||||||
for currently supported versions)
|
|
||||||
* Does this issue appear in XOrg and/or Wayland
|
|
||||||
* Does this issue happen without extensions (please follow instructions below)
|
|
||||||
|
|
||||||
To properly disable extensions you can use gnome-extensions-app and then restart
|
|
||||||
your session. Disabling extensions without a restart is not sufficient to rule
|
|
||||||
out extensions as cause of a bug. If an issue can only be reproduced with a
|
|
||||||
certain extension, please file a bug report against that extension first.
|
|
||||||
-->
|
|
||||||
|
|
||||||
### Bug summary
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Provide a short summary of the bug you encountered.
|
|
||||||
-->
|
|
||||||
|
|
||||||
### Steps to reproduce
|
|
||||||
|
|
||||||
<!--
|
|
||||||
1. Step one
|
|
||||||
2. Step two
|
|
||||||
3. ...
|
|
||||||
-->
|
|
||||||
|
|
||||||
### What happened
|
|
||||||
|
|
||||||
<!--
|
|
||||||
What did GNOME Shell do that was unexpected?
|
|
||||||
-->
|
|
||||||
|
|
||||||
### What did you expect to happen
|
|
||||||
|
|
||||||
<!--
|
|
||||||
What did you expect GNOME Shell to do?
|
|
||||||
-->
|
|
||||||
|
|
||||||
### Relevant logs, screenshots, screencasts etc.
|
|
||||||
|
|
||||||
<!--
|
|
||||||
If you have further information, such as technical documentation, logs,
|
|
||||||
screenshots or screencasts related, please provide them here.
|
|
||||||
|
|
||||||
If the bug is a crash, please obtain a stack trace with installed debug
|
|
||||||
symbols (at least for GNOME Shell and Mutter) and attach it to
|
|
||||||
this issue following the instructions on
|
|
||||||
https://handbook.gnome.org/issues/stack-traces.html.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Do not remove the following line. -->
|
|
||||||
/label ~"1. Bug"
|
|
@@ -1,30 +0,0 @@
|
|||||||
<!--
|
|
||||||
Please read https://gitlab.gnome.org/GNOME/gnome-shell/-/tree/main#reporting-bugs
|
|
||||||
first to ensure that you create a clear and specific issue.
|
|
||||||
-->
|
|
||||||
|
|
||||||
### Feature summary
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Describe what you would like to be able to do with GNOME Shell
|
|
||||||
that you currently cannot do.
|
|
||||||
-->
|
|
||||||
|
|
||||||
### How would you like it to work
|
|
||||||
|
|
||||||
<!--
|
|
||||||
If you can think of a way GNOME Shell might be able to do this,
|
|
||||||
let us know here.
|
|
||||||
-->
|
|
||||||
|
|
||||||
### Relevant links, screenshots, screencasts etc.
|
|
||||||
|
|
||||||
<!--
|
|
||||||
If you have further information, such as technical documentation,
|
|
||||||
code, mockups or a similar feature in another desktop environments,
|
|
||||||
please provide them here.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Do not remove the following line. -->
|
|
||||||
/label ~"1. Feature"
|
|
31
.project
Normal file
31
.project
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>gnome-shell</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.linuxtools.cdt.autotools.genmakebuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||||
|
<nature>org.eclipse.linuxtools.cdt.autotools.autotoolsNature</nature>
|
||||||
|
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||||
|
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||||
|
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
11
.settings/.jsdtscope
Normal file
11
.settings/.jsdtscope
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="hide" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
|
||||||
|
<classpathentry kind="output" path=""/>
|
||||||
|
</classpath>
|
148
.settings/org.eclipse.cdt.core.prefs
Normal file
148
.settings/org.eclipse.cdt.core.prefs
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
#Fri Nov 28 14:33:30 EST 2008
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=80
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_compact_if=0
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=80
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=48
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_expression_list=0
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=16
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=16
|
||||||
|
org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=next_line_shifted
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_block=next_line_shifted
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=next_line_shifted
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=next_line
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=next_line
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_switch=next_line_shifted
|
||||||
|
org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=next_line
|
||||||
|
org.eclipse.cdt.core.formatter.compact_else_if=true
|
||||||
|
org.eclipse.cdt.core.formatter.continuation_indentation=2
|
||||||
|
org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2
|
||||||
|
org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false
|
||||||
|
org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false
|
||||||
|
org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_empty_lines=false
|
||||||
|
org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
||||||
|
org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=false
|
||||||
|
org.eclipse.cdt.core.formatter.indentation.size=8
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
|
||||||
|
org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false
|
||||||
|
org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false
|
||||||
|
org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false
|
||||||
|
org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false
|
||||||
|
org.eclipse.cdt.core.formatter.lineSplit=80
|
||||||
|
org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1
|
||||||
|
org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true
|
||||||
|
org.eclipse.cdt.core.formatter.tabulation.char=space
|
||||||
|
org.eclipse.cdt.core.formatter.tabulation.size=2
|
||||||
|
org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
4
.settings/org.eclipse.cdt.ui.prefs
Normal file
4
.settings/org.eclipse.cdt.ui.prefs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#Fri Nov 28 14:33:30 EST 2008
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
formatter_profile=org.eclipse.cdt.ui.default.gnu_profile
|
||||||
|
formatter_settings_version=1
|
315
.settings/org.eclipse.wst.jsdt.core.prefs
Normal file
315
.settings/org.eclipse.wst.jsdt.core.prefs
Normal file
@@ -0,0 +1,315 @@
|
|||||||
|
#Fri Nov 28 14:43:43 EST 2008
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.argumentPrefixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.argumentSuffixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.fieldPrefixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.fieldSuffixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.localPrefixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.localSuffixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.staticFieldPrefixes=
|
||||||
|
org.eclipse.wst.jsdt.core.codeComplete.staticFieldSuffixes=
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.codegen.inlineJsrBytecode=disabled
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.codegen.targetPlatform=1.2
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.compliance=1.4
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.debug.lineNumber=generate
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.debug.localVariable=generate
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.debug.sourceFile=generate
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.assertIdentifier=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.deprecation=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.discouragedReference=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.emptyStatement=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.enumIdentifier=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.fallthroughCase=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.fieldHiding=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.forbiddenReference=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.hiddenCatchBlock=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.indirectStaticAccess=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.localVariableHiding=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.looseVarDecleration=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.noEffectAssignment=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.nullReference=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.optionalSemicolon=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.parameterAssignment=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.potentialNullReference=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.redundantNullCheck=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.undefinedField=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.undocumentedEmptyBlock=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unnecessaryElse=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unresolvedFieldReference=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unresolvedMethodReference=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unresolvedTypeReference=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedLabel=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedLocal=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedParameter=ignore
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.problem.unusedPrivateMember=warning
|
||||||
|
org.eclipse.wst.jsdt.core.compiler.source=1.3
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.align_type_members_on_columns=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_enum_constant=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_method_invocation=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_assignment=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_binary_expression=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_compact_if=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_conditional_expression=80
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_enum_constants=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_expressions_in_array_initializer=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_multiple_fields=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_parameters_in_method_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_superclass_in_type_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_after_imports=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_after_package=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_field=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_first_class_body_declaration=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_imports=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_member_type=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_method=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_new_chunk=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_before_package=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_between_import_groups=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.blank_lines_between_type_declarations=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_array_initializer=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_block=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_block_in_case=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_enum_constant=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_enum_declaration=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_method_declaration=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_objlit_initializer=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_switch=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.brace_position_for_type_declaration=end_of_line
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.format_block_comments=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.format_header=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.format_html=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.format_javadoc_comments=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.format_line_comments=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.format_source_code=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.indent_parameter_description=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.indent_root_tags=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.insert_new_line_before_root_tags=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.insert_new_line_for_parameter=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.comment.line_length=80
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.compact_else_if=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.continuation_indentation=2
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.continuation_indentation_for_array_initializer=2
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.continuation_indentation_for_objlit_initializer=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.format_guardian_clause_on_one_line=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_body_declarations_compare_to_type_header=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_breaks_compare_to_cases=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_empty_lines=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_statements_compare_to_block=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_statements_compare_to_body=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indent_switchstatements_compare_to_switch=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.indentation.size=4
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_annotation=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_comma_in_objlit_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_after_opening_brace_in_objlit_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_closing_brace_in_objlit_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_block=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_method_body=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_and_in_type_parameter=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_assignment_operator=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_at_in_annotation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_binary_operator=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_assert=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_case=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_conditional=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_for=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_annotation=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_for_increments=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_for_inits=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_ellipsis=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_postfix_operator=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_question_in_conditional=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_after_unary_operator=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_and_in_type_parameter=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_assignment_operator=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_binary_operator=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_assert=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_case=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_conditional=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_default=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_for=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_ellipsis=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_block=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_for=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_if=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_opening_paren_in_while=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_postfix_operator=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_question_in_conditional=insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_semicolon=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_before_unary_operator=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.keep_else_statement_on_same_line=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.keep_empty_array_initializer_on_one_line=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.keep_empty_objlit_initializer_on_one_line=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.keep_imple_if_on_one_line=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.keep_then_statement_on_same_line=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.lineSplit=80
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.never_indent_block_comments_on_first_column=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.never_indent_line_comments_on_first_column=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.number_of_empty_lines_to_preserve=1
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.put_empty_statement_on_new_line=true
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.tabulation.char=space
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.tabulation.size=4
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
||||||
|
org.eclipse.wst.jsdt.core.formatter.wrap_before_binary_operator=true
|
10
.settings/org.eclipse.wst.jsdt.ui.prefs
Normal file
10
.settings/org.eclipse.wst.jsdt.ui.prefs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#Fri Nov 28 14:39:12 EST 2008
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
formatter_profile=_gjs
|
||||||
|
formatter_settings_version=11
|
||||||
|
org.eclipse.wst.jsdt.ui.exception.name=e
|
||||||
|
org.eclipse.wst.jsdt.ui.gettersetter.use.is=true
|
||||||
|
org.eclipse.wst.jsdt.ui.javadoc=false
|
||||||
|
org.eclipse.wst.jsdt.ui.keywordthis=false
|
||||||
|
org.eclipse.wst.jsdt.ui.overrideannotation=true
|
||||||
|
org.eclipse.wst.jsdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
|
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
@@ -0,0 +1 @@
|
|||||||
|
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Window
|
25
COPYING
25
COPYING
@@ -1,8 +1,8 @@
|
|||||||
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.
|
||||||
|
|
||||||
@@ -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,7 +55,7 @@ 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
|
||||||
|
|
||||||
@@ -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
|
||||||
@@ -278,7 +278,7 @@ 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
|
||||||
@@ -303,9 +303,10 @@ 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.
|
||||||
|
|
||||||
@@ -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.
|
||||||
|
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@redhat.com
|
||||||
|
Userid: walters
|
27
Makefile.am
Normal file
27
Makefile.am
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
SUBDIRS = data js src tests po
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
.project \
|
||||||
|
.settings \
|
||||||
|
autogen.sh
|
||||||
|
|
||||||
|
# These are files checked into Git that we don't want to distribute
|
||||||
|
DIST_EXCLUDE = \
|
||||||
|
.gitignore \
|
||||||
|
gnome-shell.doap \
|
||||||
|
MAINTAINERS \
|
||||||
|
tools/build/*
|
||||||
|
|
||||||
|
distcheck-hook:
|
||||||
|
@echo "Checking disted files against files in git"
|
||||||
|
@failed=false; \
|
||||||
|
exclude=`(for p in $(DIST_EXCLUDE) ; do echo --exclude=$$p ; done)`; \
|
||||||
|
for f in `cd $(srcdir) && git ls-files $$exclude` ; do \
|
||||||
|
if ! test -e $(distdir)/$$f ; then \
|
||||||
|
echo File missing from distribution: $$f ; \
|
||||||
|
failed=true ; \
|
||||||
|
fi \
|
||||||
|
done ; \
|
||||||
|
if $$failed ; then \
|
||||||
|
exit 1 ; \
|
||||||
|
fi
|
20
README
Normal file
20
README
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
|
||||||
|
like switching to windows and launching applications. GNOME Shell takes
|
||||||
|
advantage of the capabilities of modern graphics hardware and introduces
|
||||||
|
innovative user interface concepts to provide a visually attractive and
|
||||||
|
easy to use experience.
|
||||||
|
|
||||||
|
For more information about GNOME Shell, including instructions on how
|
||||||
|
to build GNOME Shell from source and how to get involved with the project,
|
||||||
|
see:
|
||||||
|
|
||||||
|
http://live.gnome.org/GnomeShell
|
||||||
|
|
||||||
|
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,
|
||||||
|
version 2 or later. See the COPYING file for details.
|
||||||
|
|
136
README.md
136
README.md
@@ -1,136 +0,0 @@
|
|||||||
# GNOME Shell
|
|
||||||
|
|
||||||
GNOME Shell provides core user interface functions for the GNOME desktop,
|
|
||||||
like switching to windows and launching applications. GNOME Shell takes
|
|
||||||
advantage of the capabilities of modern graphics hardware and introduces
|
|
||||||
innovative user interface concepts to provide a visually attractive and
|
|
||||||
easy to use experience.
|
|
||||||
|
|
||||||
All interactions with the project should follow the [Code of Conduct][conduct].
|
|
||||||
|
|
||||||
[conduct]: https://conduct.gnome.org/
|
|
||||||
|
|
||||||
## Supported versions
|
|
||||||
|
|
||||||
Upstream gnome-shell only supports the most recent stable release series,
|
|
||||||
the previous stable release series, and the current development release
|
|
||||||
series. Any older stable release series are no longer supported, although
|
|
||||||
they may still receive backported security updates in long-term support
|
|
||||||
distributions. Such support is up to the distributions, though.
|
|
||||||
|
|
||||||
Please refer to the [schedule] to see when a new version will be released.
|
|
||||||
|
|
||||||
[schedule]: https://release.gnome.org/calendar
|
|
||||||
|
|
||||||
## Reporting bugs
|
|
||||||
|
|
||||||
Bugs should be reported to the [issue tracking system][bug-tracker].
|
|
||||||
|
|
||||||
The [GNOME handbook][bug-handbook] has useful information for creating
|
|
||||||
effective issue reports.
|
|
||||||
|
|
||||||
If you are using extensions, please confirm that an issue still happens
|
|
||||||
without extensions. To properly disable extensions you can use the
|
|
||||||
[extensions-app] and then restart your session. Disabling extensions
|
|
||||||
without a restart is not sufficient to rule out extensions as the
|
|
||||||
cause of a bug. If an issue can only be reproduced with a certain
|
|
||||||
extension, please file an issue report against that extension first.
|
|
||||||
|
|
||||||
Please note that the issue tracker is meant to be used for
|
|
||||||
actionable issues only.
|
|
||||||
|
|
||||||
For support questions, feedback on changes or general discussions,
|
|
||||||
you can use:
|
|
||||||
|
|
||||||
- the [#gnome-shell matrix room][matrix-room]
|
|
||||||
- the `Desktop` category or `shell` tag on [GNOME Discourse][discourse]
|
|
||||||
|
|
||||||
[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
|
|
||||||
[bug-handbook]: https://handbook.gnome.org/issues/reporting.html
|
|
||||||
[extensions-app]: https://apps.gnome.org/Extensions
|
|
||||||
[matrix-room]: https://matrix.to/#/#gnome-shell:gnome.org
|
|
||||||
[discourse]: https://discourse.gnome.org
|
|
||||||
|
|
||||||
## Feature requests
|
|
||||||
|
|
||||||
gnome-shell is a core compoment of the GNOME desktop experience.
|
|
||||||
As such, any changes in behavior or appearance only happen in
|
|
||||||
accordance with the [GNOME design team][design-team].
|
|
||||||
|
|
||||||
For major changes, it is best to start a discussion on [discourse]
|
|
||||||
and reach out on the [#gnome-design matrix room][design-room],
|
|
||||||
and only involve the issue tracker once agreement has been reached.
|
|
||||||
|
|
||||||
In particular mockups must be approved by the design team to be
|
|
||||||
considered for implementation.
|
|
||||||
|
|
||||||
For enhancements that are limited in scope and well-defined,
|
|
||||||
it is acceptable to directly open a feature request.
|
|
||||||
|
|
||||||
When in doubt, it is better to ask before opening an issue.
|
|
||||||
|
|
||||||
[design-team]: https://gitlab.gnome.org/Teams/Design
|
|
||||||
[discourse]: https://discourse.gnome.org
|
|
||||||
[design-room]: https://matrix.to/#/#gnome-design:gnome.org
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
|
|
||||||
|
|
||||||
It can be useful to first look at the [GNOME handbook][mr-handbook].
|
|
||||||
|
|
||||||
If a change likely requires discussion beyond code review, it is probably better to
|
|
||||||
open an issue first, or follow the process for [feature requests](#feature-requests).
|
|
||||||
Otherwise, creating a separate issue is not required.
|
|
||||||
|
|
||||||
The following guidelines will help your change to be successfully merged:
|
|
||||||
|
|
||||||
* Keep the change as small as possible. If you can split it into multiple
|
|
||||||
merge requests, please do so.
|
|
||||||
* Use multiple commits. This makes it easier to review and helps to diagnose
|
|
||||||
bugs in the future.
|
|
||||||
* Use clear commit messages following the [conventions][commit-messages].
|
|
||||||
* Pay attention to the CI results. Merge requests cannot be merged until the
|
|
||||||
CI passes.
|
|
||||||
|
|
||||||
There's also a [small guide for newcomers][newcomers-contribution-guide] with
|
|
||||||
a few more basic tips and tricks.
|
|
||||||
|
|
||||||
[mr-handbook]: https://handbook.gnome.org/development/change-submission.html
|
|
||||||
[commit-messages]: docs/commit-messages.md
|
|
||||||
[newcomers-contribution-guide]: docs/newcomers-contribution-guide.md
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
* [Coding style and conventions for javascript][js-style]
|
|
||||||
* [Coding style and conventions for C code][c-style]
|
|
||||||
* [The GJS Developer Guide][gjs-guide]
|
|
||||||
* [Building and Running][building]
|
|
||||||
* [Debugging][debugging]
|
|
||||||
|
|
||||||
[js-style]: docs/js-coding-style.md
|
|
||||||
[c-style]: docs/c-coding-style.md
|
|
||||||
[gjs-guide]: https://gjs.guide
|
|
||||||
[building]: docs/building-and-running.md
|
|
||||||
[debugging]: docs/debugging.md
|
|
||||||
|
|
||||||
## API Reference
|
|
||||||
|
|
||||||
* [Meta][meta-docs]: Display server and window manager
|
|
||||||
* [St][st-docs]: Shell toolkit
|
|
||||||
* [Clutter][clutter-docs]: OpenGL based scene graph
|
|
||||||
* [Shell][shell-docs]: Non-ui shell objects and utilities
|
|
||||||
* See the [mutter page][mutter-docs] for additional documentation
|
|
||||||
|
|
||||||
[st-docs]: <https://gnome.pages.gitlab.gnome.org/gnome-shell/st/>
|
|
||||||
[shell-docs]: <https://gnome.pages.gitlab.gnome.org/gnome-shell/shell/>
|
|
||||||
[clutter-docs]: <https://mutter.gnome.org/clutter/>
|
|
||||||
[meta-docs]: <https://mutter.gnome.org/meta/>
|
|
||||||
[mutter-docs]: <https://mutter.gnome.org>
|
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
||||||
[license]: COPYING
|
|
22
autogen.sh
Executable file
22
autogen.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Run this to generate all the initial makefiles, etc.
|
||||||
|
|
||||||
|
srcdir=`dirname $0`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
PKG_NAME="gnome-shell"
|
||||||
|
REQUIRED_AUTOMAKE_VERSION=1.10
|
||||||
|
|
||||||
|
(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
|
||||||
|
}
|
||||||
|
|
||||||
|
which gnome-autogen.sh || {
|
||||||
|
echo "You need to install gnome-common from GNOME Subversion (or from"
|
||||||
|
echo "your OS vendor's package manager)."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh
|
@@ -1,47 +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 if you have the `mallinfo2' function. */
|
|
||||||
#mesondefine HAVE_MALLINFO2
|
|
||||||
|
|
||||||
/* 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 Pipewire */
|
|
||||||
#mesondefine HAVE_PIPEWIRE
|
|
||||||
|
|
||||||
/* Define if we have systemd */
|
|
||||||
#mesondefine HAVE_SYSTEMD
|
|
||||||
|
|
||||||
/* Define if _NL_TIME_FIRST_WEEKDATE is available */
|
|
||||||
#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
|
|
||||||
|
|
||||||
/* Define if fdwalk is available in libc */
|
|
||||||
#mesondefine HAVE_FDWALK
|
|
||||||
|
|
||||||
/* Define if polkit defines autocleanup functions */
|
|
||||||
#mesondefine HAVE_POLKIT_AUTOCLEANUP
|
|
||||||
|
|
||||||
/* Define to 1 if the <elf.h> and <link.h> header file exist. */
|
|
||||||
#mesondefine HAVE_EXE_INTROSPECTION
|
|
||||||
|
|
||||||
/* Whether GNOME Shell is built with X11 support */
|
|
||||||
#mesondefine HAVE_X11
|
|
||||||
|
|
||||||
/* Whether GNOME Shell is built with X11 clients support */
|
|
||||||
#mesondefine HAVE_X11_CLIENT
|
|
134
configure.ac
Normal file
134
configure.ac
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
AC_INIT(gnome-shell, 2.27.3)
|
||||||
|
|
||||||
|
AC_CONFIG_AUX_DIR(config)
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip foreign])
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
|
||||||
|
|
||||||
|
AC_CONFIG_HEADERS(config.h)
|
||||||
|
|
||||||
|
AC_DISABLE_STATIC
|
||||||
|
AC_PROG_CC
|
||||||
|
# Needed for per-target cflags, like in gnomeshell-taskpanel
|
||||||
|
AM_PROG_CC_C_O
|
||||||
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
|
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.16)
|
||||||
|
|
||||||
|
IT_PROG_INTLTOOL(0.26)
|
||||||
|
AM_GLIB_GNU_GETTEXT
|
||||||
|
|
||||||
|
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
|
||||||
|
AM_GCONF_SOURCE_2
|
||||||
|
|
||||||
|
# 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.10.16
|
||||||
|
|
||||||
|
recorder_modules=
|
||||||
|
build_recorder=false
|
||||||
|
AC_MSG_CHECKING([for GStreamer (needed for recording functionality)])
|
||||||
|
if $PKG_CONFIG --exists gstreamer-0.10 '>=' $GSTREAMER_MIN_VERSION ; then
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
build_recorder=true
|
||||||
|
recorder_modules="gstreamer-0.10 gstreamer-base-0.10 xfixes"
|
||||||
|
PKG_CHECK_MODULES(TEST_SHELL_RECORDER, $recorder_modules clutter-1.0)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
||||||
|
|
||||||
|
# Collect more than 20 libraries for a prize!
|
||||||
|
PKG_CHECK_MODULES(MUTTER_PLUGIN, gio-unix-2.0 gtk+-2.0 dbus-glib-1 mutter-plugins
|
||||||
|
gjs-gi-1.0 libgnome-menu $recorder_modules gconf-2.0
|
||||||
|
gdk-x11-2.0 clutter-x11-1.0 clutter-glx-1.0
|
||||||
|
gnome-desktop-2.0 >= 2.26 libstartup-notification-1.0
|
||||||
|
gobject-introspection-1.0 >= 0.6.5)
|
||||||
|
PKG_CHECK_MODULES(TIDY, clutter-1.0)
|
||||||
|
PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-2.0 clutter-imcontext-0.1 libcroco-0.6)
|
||||||
|
PKG_CHECK_MODULES(BIG, clutter-1.0 gtk+-2.0 librsvg-2.0)
|
||||||
|
PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-2.0)
|
||||||
|
PKG_CHECK_MODULES(TRAY, gtk+-2.0)
|
||||||
|
|
||||||
|
MUTTER_BIN_DIR=`$PKG_CONFIG --variable=exec_prefix mutter-plugins`/bin
|
||||||
|
# FIXME: metacity-plugins.pc should point directly to its .gir file
|
||||||
|
MUTTER_LIB_DIR=`$PKG_CONFIG --variable=libdir mutter-plugins`
|
||||||
|
MUTTER_PLUGIN_DIR=`$PKG_CONFIG --variable=plugindir mutter-plugins`
|
||||||
|
AC_SUBST(MUTTER_BIN_DIR)
|
||||||
|
AC_SUBST(MUTTER_LIB_DIR)
|
||||||
|
AC_SUBST(MUTTER_PLUGIN_DIR)
|
||||||
|
|
||||||
|
GJS_JS_DIR=`$PKG_CONFIG --variable=jsdir gjs-1.0`
|
||||||
|
GJS_JS_NATIVE_DIR=`$PKG_CONFIG --variable=jsnativedir gjs-1.0`
|
||||||
|
AC_SUBST(GJS_JS_DIR)
|
||||||
|
AC_SUBST(GJS_JS_NATIVE_DIR)
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(fdwalk)
|
||||||
|
AC_CHECK_HEADERS([sys/resource.h])
|
||||||
|
|
||||||
|
# Sets GLIB_GENMARSHAL and GLIB_MKENUMS
|
||||||
|
AM_PATH_GLIB_2_0()
|
||||||
|
G_IR_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||||
|
AC_SUBST(G_IR_SCANNER)
|
||||||
|
G_IR_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||||
|
AC_SUBST(G_IR_COMPILER)
|
||||||
|
G_IR_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||||
|
AC_SUBST(G_IR_GENERATE)
|
||||||
|
GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
||||||
|
AC_SUBST(GIRDIR)
|
||||||
|
TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||||
|
AC_SUBST(TYPELIBDIR)
|
||||||
|
|
||||||
|
# Stay command-line compatible with the gnome-common configure option. Here
|
||||||
|
# minimum/yes/maximum are the same, however.
|
||||||
|
AC_ARG_ENABLE(compile_warnings,
|
||||||
|
AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
|
||||||
|
[Turn on compiler warnings]),,
|
||||||
|
enable_compile_warnings=error)
|
||||||
|
|
||||||
|
changequote(,)dnl
|
||||||
|
if test "$enable_compile_warnings" != no ; then
|
||||||
|
if test "x$GCC" = "xyes"; then
|
||||||
|
case " $CFLAGS " in
|
||||||
|
*[\ \ ]-Wall[\ \ ]*) ;;
|
||||||
|
*) CFLAGS="$CFLAGS -Wall" ;;
|
||||||
|
esac
|
||||||
|
case " $CFLAGS " in
|
||||||
|
*[\ \ ]-Wmissing-prototypes[\ \ ]*) ;;
|
||||||
|
*) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
|
||||||
|
esac
|
||||||
|
if test "$enable_compile_warnings" = error ; then
|
||||||
|
case " $CFLAGS " in
|
||||||
|
*[\ \ ]-Werror[\ \ ]*) ;;
|
||||||
|
*) CFLAGS="$CFLAGS -Werror" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
changequote([,])dnl
|
||||||
|
|
||||||
|
AC_PATH_PROG(mutter, [mutter])
|
||||||
|
AC_SUBST(mutter)
|
||||||
|
|
||||||
|
AC_OUTPUT([
|
||||||
|
Makefile
|
||||||
|
data/Makefile
|
||||||
|
js/Makefile
|
||||||
|
js/misc/Makefile
|
||||||
|
js/ui/Makefile
|
||||||
|
src/Makefile
|
||||||
|
tests/Makefile
|
||||||
|
po/Makefile.in
|
||||||
|
])
|
@@ -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,81 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<KeyListEntries schema="org.gnome.shell.keybindings"
|
|
||||||
group="system"
|
|
||||||
name="Launchers"
|
|
||||||
wm_name="GNOME Shell"
|
|
||||||
package="gnome-shell">
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-1"
|
|
||||||
description="Activate pinned app 1"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-2"
|
|
||||||
description="Activate pinned app 2"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-3"
|
|
||||||
description="Activate pinned app 3"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-4"
|
|
||||||
description="Activate pinned app 4"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-5"
|
|
||||||
description="Activate pinned app 5"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-6"
|
|
||||||
description="Activate pinned app 6"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-7"
|
|
||||||
description="Activate pinned app 7"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-8"
|
|
||||||
description="Activate pinned app 8"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="switch-to-application-9"
|
|
||||||
description="Activate pinned app 9"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-1"
|
|
||||||
description="Open new window of pinned app 1"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-2"
|
|
||||||
description="Open new window of pinned app 2"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-3"
|
|
||||||
description="Open new window of pinned app 3"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-4"
|
|
||||||
description="Open new window of pinned app 4"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-5"
|
|
||||||
description="Open new window of pinned app 5"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-6"
|
|
||||||
description="Open new window of pinned app 6"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-7"
|
|
||||||
description="Open new window of pinned app 7"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-8"
|
|
||||||
description="Open new window of pinned app 8"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="open-new-window-application-9"
|
|
||||||
description="Open new window of pinned app 9"
|
|
||||||
hidden="true"/>
|
|
||||||
|
|
||||||
</KeyListEntries>
|
|
||||||
|
|
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<KeyListEntries schema="org.gnome.shell.keybindings"
|
|
||||||
group="system"
|
|
||||||
name="Screenshots"
|
|
||||||
wm_name="GNOME Shell"
|
|
||||||
package="gnome-shell">
|
|
||||||
|
|
||||||
<KeyListEntry name="show-screenshot-ui"
|
|
||||||
description="Take a screenshot interactively"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="screenshot"
|
|
||||||
description="Take a screenshot"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="screenshot-window"
|
|
||||||
description="Take a screenshot of a window"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="show-screen-recording-ui"
|
|
||||||
description="Record a screencast interactively"/>
|
|
||||||
|
|
||||||
</KeyListEntries>
|
|
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<KeyListEntries schema="org.gnome.shell.keybindings"
|
|
||||||
group="system"
|
|
||||||
name="System"
|
|
||||||
wm_name="GNOME Shell"
|
|
||||||
package="gnome-shell">
|
|
||||||
|
|
||||||
<KeyListEntry name="toggle-message-tray"
|
|
||||||
description="Show the notification list"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="toggle-quick-settings"
|
|
||||||
description="Open the quick settings menu"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="focus-active-notification"
|
|
||||||
description="Focus the active notification"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="toggle-overview"
|
|
||||||
description="Show the overview"/>
|
|
||||||
|
|
||||||
<KeyListEntry name="toggle-application-view"
|
|
||||||
description="Show all apps"/>
|
|
||||||
|
|
||||||
</KeyListEntries>
|
|
||||||
|
|
48
data/Makefile.am
Normal file
48
data/Makefile.am
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
desktopdir=$(datadir)/applications
|
||||||
|
desktop_DATA = gnome-shell.desktop
|
||||||
|
|
||||||
|
# We substitute in bindir so it works as an autostart
|
||||||
|
# file when built in a non-system prefix
|
||||||
|
gnome-shell.desktop.in: gnome-shell.desktop.in.in
|
||||||
|
$(AM_V_GEN) sed -e "s|@bindir[@]|$(bindir)|" \
|
||||||
|
-e "s|@VERSION[@]|$(VERSION)|" \
|
||||||
|
$< > $@ || rm $@
|
||||||
|
|
||||||
|
# Placeholder until we add intltool
|
||||||
|
gnome-shell.desktop: gnome-shell.desktop.in
|
||||||
|
$(AM_V_GEN) sed s/^_// < $< > $@ || rm $@
|
||||||
|
|
||||||
|
imagesdir = $(pkgdatadir)/images
|
||||||
|
dist_images_DATA = \
|
||||||
|
add-workspace.svg \
|
||||||
|
app-well-glow.png \
|
||||||
|
back.svg \
|
||||||
|
close.svg \
|
||||||
|
close-black.svg \
|
||||||
|
info.svg \
|
||||||
|
magnifier.svg \
|
||||||
|
remove-workspace.svg
|
||||||
|
|
||||||
|
themedir = $(pkgdatadir)/theme
|
||||||
|
dist_theme_DATA = \
|
||||||
|
theme/gnome-shell.css \
|
||||||
|
theme/scroll-button-down.png \
|
||||||
|
theme/scroll-button-down-hover.png \
|
||||||
|
theme/scroll-button-up.png \
|
||||||
|
theme/scroll-button-up-hover.png \
|
||||||
|
theme/scroll-vhandle.png
|
||||||
|
|
||||||
|
schemadir = @GCONF_SCHEMA_FILE_DIR@
|
||||||
|
schema_DATA = gnome-shell.schemas
|
||||||
|
|
||||||
|
install-data-local:
|
||||||
|
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(srcdir)/$(schema_DATA)
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
gnome-shell.desktop.in.in \
|
||||||
|
$(schema_DATA)
|
||||||
|
|
||||||
|
CLEANFILES = \
|
||||||
|
gnome-shell.desktop.in \
|
||||||
|
$(desktop_DATA)
|
||||||
|
|
@@ -1,84 +0,0 @@
|
|||||||
Gnome-shell OSK layouts are extracted from CLDR layout definitions:
|
|
||||||
https://www.unicode.org/cldr/charts/latest/keyboards/layouts/index.html
|
|
||||||
|
|
||||||
To add new layouts from CLDR:
|
|
||||||
|
|
||||||
1) Run update-osk-layouts.sh
|
|
||||||
|
|
||||||
2) Modify JSON files to add extra keys, tweak appearance...
|
|
||||||
|
|
||||||
2) Do git add and git commit
|
|
||||||
|
|
||||||
JSON file format
|
|
||||||
================
|
|
||||||
|
|
||||||
Each JSON file describes a keymap for a certain language and layout,
|
|
||||||
it has the following structure:
|
|
||||||
|
|
||||||
- Root (Object)
|
|
||||||
|
|
||||||
Root object of a layout, has the following properties:
|
|
||||||
|
|
||||||
- levels (Array of Level): Levels in the keymap
|
|
||||||
- locale (String): Locale name for this keymap
|
|
||||||
- name (String): Human readable name for this keymap
|
|
||||||
|
|
||||||
- Level (Object)
|
|
||||||
|
|
||||||
A level defines the keys available on a keyboard level,
|
|
||||||
these are the key panels visible at a time. E.g. to type
|
|
||||||
uppercase levels or symbols.
|
|
||||||
|
|
||||||
Levels have the following properties:
|
|
||||||
|
|
||||||
- level (String): Name of the level, common names are
|
|
||||||
"", "shift", "opt" and "opt+shift".
|
|
||||||
- mode (String): Mode for this level, common modes are
|
|
||||||
"default", "latched" and "locked".
|
|
||||||
- rows (Array of Row): Array of rows of keys.
|
|
||||||
|
|
||||||
- Row (Array)
|
|
||||||
|
|
||||||
A row is an Array of Key.
|
|
||||||
|
|
||||||
- Key (Object)
|
|
||||||
|
|
||||||
A keyboard key. Keys have the following properties:
|
|
||||||
|
|
||||||
- iconName (String): Icon name to show on the key.
|
|
||||||
Keys with an icon name do not have a label.
|
|
||||||
- label (String): Label to show on the key.
|
|
||||||
- strings (Array of String): Strings to commit. If
|
|
||||||
label property does not exist, the first element
|
|
||||||
will be also the label. Extra elements are shown
|
|
||||||
in the extra keys popover.
|
|
||||||
- keyval (String): Hexadecimal keyval to emit as
|
|
||||||
emulated key presses. Committed strings are
|
|
||||||
preferred.
|
|
||||||
- leftOffset (Double): If set, the left offset of
|
|
||||||
this key, relative to the key immediately to the
|
|
||||||
left, or the start of the row. If not set, the key
|
|
||||||
will be implicitly located at the right of the
|
|
||||||
previous key in the row. Multiples of 0.5 are
|
|
||||||
accepted.
|
|
||||||
- width (Double): Relative width of the key in the
|
|
||||||
row. 1 is for a square key. Multiples of 0.5 are
|
|
||||||
accepted. The implicit default value is 1.
|
|
||||||
- height (Double): Relative height of the key in
|
|
||||||
the grid. The key will overflow downwards. Multiples
|
|
||||||
of 0.5 are accepted. The implicit default value is 1.
|
|
||||||
- level (Integer): Level that the key switches to.
|
|
||||||
See the levelSwitch action.
|
|
||||||
- action (string): Action performed by the key,
|
|
||||||
accepted actions are:
|
|
||||||
|
|
||||||
- hide: Hides the OSK
|
|
||||||
- languageMenu: Pops up the language selection
|
|
||||||
menu
|
|
||||||
- emoji: Switches to the emoji selection panel
|
|
||||||
- modifier: Handles the keyval as a modifier
|
|
||||||
key. This handles e.g. Ctrl+A as a sequence
|
|
||||||
of Ctrl press, A press, A release, Ctrl
|
|
||||||
release.
|
|
||||||
- delete: Deletes text backwards
|
|
||||||
- levelSwitch: Switches OSK to a different level
|
|
@@ -1,3 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=System
|
|
||||||
Type=Directory
|
|
@@ -1,3 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Utilities
|
|
||||||
Type=Directory
|
|
70
data/add-workspace.svg
Normal file
70
data/add-workspace.svg
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="59.995201"
|
||||||
|
height="59.995102"
|
||||||
|
id="svg3113"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.46"
|
||||||
|
version="1.0"
|
||||||
|
sodipodi:docname="add-workspace.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||||
|
<defs
|
||||||
|
id="defs3115">
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 526.18109 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||||
|
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||||
|
id="perspective3121" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
gridtolerance="10000"
|
||||||
|
guidetolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.35"
|
||||||
|
inkscape:cx="375"
|
||||||
|
inkscape:cy="520"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="641"
|
||||||
|
inkscape:window-height="683"
|
||||||
|
inkscape:window-x="4"
|
||||||
|
inkscape:window-y="54" />
|
||||||
|
<metadata
|
||||||
|
id="metadata3118">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-498.57383,-439.50749)">
|
||||||
|
<path
|
||||||
|
id="path3269"
|
||||||
|
d="M 528.57143,439.91129 C 512.23433,439.91129 498.97763,453.16795 498.97763,469.50504 C 498.97763,485.84214 512.23433,499.09881 528.57143,499.09879 C 544.90853,499.09879 558.16513,485.84215 558.16523,469.50504 C 558.16523,453.16794 544.90853,439.9113 528.57143,439.91129 z M 525.29023,451.16129 L 531.88393,451.16129 C 533.75363,451.16129 535.25893,452.66659 535.25893,454.53629 L 535.25893,462.84879 L 543.54023,462.84879 C 545.40973,462.84879 546.91523,464.35409 546.91523,466.22379 L 546.91523,472.81754 C 546.91523,474.68728 545.40993,476.19255 543.54023,476.19254 L 535.25893,476.19254 L 535.25893,484.47379 C 535.25893,486.34353 533.75363,487.8488 531.88393,487.84879 L 525.29023,487.84879 C 523.42053,487.84881 521.91523,486.34351 521.91523,484.47379 L 521.91523,476.19254 L 513.60263,476.19254 C 511.73313,476.19257 510.22773,474.68726 510.22763,472.81754 L 510.22763,466.22379 C 510.22763,464.35407 511.73303,462.8488 513.60263,462.84879 L 521.91523,462.84879 L 521.91523,454.53629 C 521.91523,452.66657 523.42043,451.1613 525.29023,451.16129 z"
|
||||||
|
style="opacity:0.30701785;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.807603px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
BIN
data/app-well-glow.png
Normal file
BIN
data/app-well-glow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
7
data/back.svg
Normal file
7
data/back.svg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" id="Foreground" x="0px" y="0px" width="12" height="16" viewBox="0 0 12 16" enable-background="new 0 0 29 18" xml:space="preserve" sodipodi:version="0.32" inkscape:version="0.46+devel" sodipodi:docname="back.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata id="metadata16"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><defs id="defs14"><inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 9 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="29 : 9 : 1" inkscape:persp3d-origin="14.5 : 6 : 1" id="perspective18"/></defs><sodipodi:namedview inkscape:window-height="728" inkscape:window-width="1103" inkscape:pageshadow="2" inkscape:pageopacity="1" guidetolerance="10.0" gridtolerance="10.0" objecttolerance="10.0" borderopacity="1.0" bordercolor="#666666" pagecolor="#000000" id="base" showgrid="true" inkscape:zoom="27.260185" inkscape:cx="12.592456" inkscape:cy="8.2696842" inkscape:window-x="145" inkscape:window-y="38" inkscape:current-layer="Foreground" inkscape:snap-global="true" showguides="false"><inkscape:grid type="xygrid" id="grid2391" empspacing="5" visible="true" enabled="true" snapvisiblegridlinesonly="true"/></sodipodi:namedview>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<path style="fill: rgb(255, 255, 255); fill-opacity: 1; stroke: none;" d="M 10,2 10,14 2,8 10,2 z" id="path43"/></svg>
|
After Width: | Height: | Size: 1.9 KiB |
@@ -1,40 +0,0 @@
|
|||||||
cldr2json
|
|
||||||
=========
|
|
||||||
|
|
||||||
This script converts Unicode CLDR android keyboard layouts to JSON usable by
|
|
||||||
GNOME Shell.
|
|
||||||
|
|
||||||
CLDR keyboard layouts can be found at
|
|
||||||
<http://www.unicode.org/Public/cldr/latest/keyboards.zip>
|
|
||||||
|
|
||||||
|
|
||||||
Usage
|
|
||||||
=====
|
|
||||||
|
|
||||||
./cldr2json <input file or directory> <output directory>
|
|
||||||
|
|
||||||
example:
|
|
||||||
|
|
||||||
./cldr2json cldr/keyboards/android/ json_layouts/
|
|
||||||
|
|
||||||
|
|
||||||
Keyboard layout mapping
|
|
||||||
=======================
|
|
||||||
|
|
||||||
Unicode CLDR layout identifiers are language codes, while XKB layout
|
|
||||||
identifiers are... something else. The mapping between the two currently uses
|
|
||||||
heuristic based on the layout descriptions, in this order:
|
|
||||||
|
|
||||||
- if the CLDR layout description matches an XKB layout description, chose its
|
|
||||||
XKB identifier
|
|
||||||
- if one word of the CLDR layout description matches an XKB layout
|
|
||||||
description, chose its XKB identifier
|
|
||||||
- if the CLDR layout description matches one word of an XKB layout description,
|
|
||||||
chose its XKB identifier
|
|
||||||
|
|
||||||
That doesn't always work. For instance it fails for "en" language, that should
|
|
||||||
match "us" XKB identifier. For such cases, there is a mapping in
|
|
||||||
LOCALE_TO_XKB_OVERRIDES at the top of the script. If you discover a weird
|
|
||||||
mapping of if you get a "failed to find XKB mapping for <locale>" warning then
|
|
||||||
please consider adding an override there.
|
|
||||||
|
|
@@ -1,212 +0,0 @@
|
|||||||
#!/usr/bin/python3
|
|
||||||
#
|
|
||||||
# Copyright 2015 Daiki Ueno <dueno@src.gnome.org>
|
|
||||||
# 2016 Parag Nemade <pnemade@redhat.com>
|
|
||||||
# 2017 Alan <alan@boum.org>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Lesser General Public License as
|
|
||||||
# published by the Free Software Foundation; either version 2 of the
|
|
||||||
# License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but
|
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
# Lesser General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Lesser General Public
|
|
||||||
# License along with this program; if not, see
|
|
||||||
# <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
import glob
|
|
||||||
import json
|
|
||||||
import locale
|
|
||||||
import logging
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
import xml.etree.ElementTree
|
|
||||||
|
|
||||||
import gi
|
|
||||||
gi.require_version('GnomeDesktop', '3.0') # NOQA: E402
|
|
||||||
from gi.repository import GnomeDesktop
|
|
||||||
|
|
||||||
ESCAPE_PATTERN = re.compile(r'\\u\{([0-9A-Fa-f]+?)\}')
|
|
||||||
ISO_PATTERN = re.compile(r'[A-E]([0-9]+)')
|
|
||||||
|
|
||||||
LOCALE_TO_XKB_OVERRIDES = {
|
|
||||||
'af': 'za',
|
|
||||||
'en': 'us',
|
|
||||||
'en-GB': 'uk',
|
|
||||||
'es-US': 'latam',
|
|
||||||
'fr-CA': 'ca',
|
|
||||||
'hi': 'in+bolnagri',
|
|
||||||
'ky': 'kg',
|
|
||||||
'nl-BE': 'be',
|
|
||||||
'zu': None
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def parse_single_key(value):
|
|
||||||
def unescape(m):
|
|
||||||
return chr(int(m.group(1), 16))
|
|
||||||
value = ESCAPE_PATTERN.sub(unescape, value)
|
|
||||||
return value
|
|
||||||
|
|
||||||
|
|
||||||
def parse_rows(keymap):
|
|
||||||
unsorted_rows = {}
|
|
||||||
for _map in keymap.iter('map'):
|
|
||||||
value = _map.get('to')
|
|
||||||
key = [parse_single_key(value)]
|
|
||||||
iso = _map.get('iso')
|
|
||||||
if not ISO_PATTERN.match(iso):
|
|
||||||
sys.stderr.write('invalid ISO key name: %s\n' % iso)
|
|
||||||
continue
|
|
||||||
if not iso[0] in unsorted_rows:
|
|
||||||
unsorted_rows[iso[0]] = []
|
|
||||||
unsorted_rows[iso[0]].append((int(iso[1:]), key))
|
|
||||||
# add subkeys
|
|
||||||
longPress = _map.get('longPress')
|
|
||||||
if longPress:
|
|
||||||
for value in longPress.split(' '):
|
|
||||||
subkey = parse_single_key(value)
|
|
||||||
key.append(subkey)
|
|
||||||
|
|
||||||
rows = []
|
|
||||||
for k, v in sorted(list(unsorted_rows.items()),
|
|
||||||
key=lambda x: x[0],
|
|
||||||
reverse=True):
|
|
||||||
row = []
|
|
||||||
for key in sorted(v, key=lambda x: x):
|
|
||||||
row.append({ 'strings': key[1] })
|
|
||||||
rows.append(row)
|
|
||||||
|
|
||||||
return rows
|
|
||||||
|
|
||||||
|
|
||||||
def convert_xml(tree):
|
|
||||||
root = {}
|
|
||||||
for xml_keyboard in tree.iter("keyboard"):
|
|
||||||
locale_full = xml_keyboard.get("locale")
|
|
||||||
locale, sep, end = locale_full.partition("-t-")
|
|
||||||
root["locale"] = locale
|
|
||||||
for xml_name in tree.iter("name"):
|
|
||||||
name = xml_name.get("value")
|
|
||||||
root["name"] = name
|
|
||||||
root["levels"] = []
|
|
||||||
# parse levels
|
|
||||||
for index, keymap in enumerate(tree.iter('keyMap')):
|
|
||||||
# FIXME: heuristics here
|
|
||||||
modifiers = keymap.get('modifiers')
|
|
||||||
if not modifiers:
|
|
||||||
mode = 'default'
|
|
||||||
modifiers = ''
|
|
||||||
elif 'shift' in modifiers.split(' '):
|
|
||||||
mode = 'latched'
|
|
||||||
modifiers = 'shift'
|
|
||||||
else:
|
|
||||||
mode = 'locked'
|
|
||||||
level = {}
|
|
||||||
level["level"] = modifiers
|
|
||||||
level["mode"] = mode
|
|
||||||
level["rows"] = parse_rows(keymap)
|
|
||||||
root["levels"].append(level)
|
|
||||||
return root
|
|
||||||
|
|
||||||
|
|
||||||
def locale_to_xkb(locale, name):
|
|
||||||
if locale in sorted(LOCALE_TO_XKB_OVERRIDES.keys()):
|
|
||||||
xkb = LOCALE_TO_XKB_OVERRIDES[locale]
|
|
||||||
logging.debug("override for %s → %s",
|
|
||||||
locale, xkb)
|
|
||||||
if xkb:
|
|
||||||
return xkb
|
|
||||||
else:
|
|
||||||
raise KeyError("layout %s explicitly disabled in overrides"
|
|
||||||
% locale)
|
|
||||||
xkb_names = sorted(name_to_xkb.keys())
|
|
||||||
if name in xkb_names:
|
|
||||||
return name_to_xkb[name]
|
|
||||||
else:
|
|
||||||
logging.debug("name %s failed" % name)
|
|
||||||
for sub_name in name.split(' '):
|
|
||||||
if sub_name in xkb_names:
|
|
||||||
xkb = name_to_xkb[sub_name]
|
|
||||||
logging.debug("dumb mapping failed but match with locale word: "
|
|
||||||
"%s (%s) → %s (%s)",
|
|
||||||
locale, name, xkb, sub_name)
|
|
||||||
return xkb
|
|
||||||
else:
|
|
||||||
logging.debug("sub_name failed")
|
|
||||||
for xkb_name in xkb_names:
|
|
||||||
for xkb_sub_name in xkb_name.split(' '):
|
|
||||||
if xkb_sub_name.strip('()') == name:
|
|
||||||
xkb = name_to_xkb[xkb_name]
|
|
||||||
logging.debug("dumb mapping failed but match with xkb word: "
|
|
||||||
"%s (%s) → %s (%s)",
|
|
||||||
locale, name, xkb, xkb_name)
|
|
||||||
return xkb
|
|
||||||
raise KeyError("failed to find XKB mapping for %s" % locale)
|
|
||||||
|
|
||||||
|
|
||||||
def convert_file(source_file, destination_path):
|
|
||||||
logging.info("Parsing %s", source_file)
|
|
||||||
|
|
||||||
itree = xml.etree.ElementTree.ElementTree()
|
|
||||||
itree.parse(source_file)
|
|
||||||
|
|
||||||
root = convert_xml(itree)
|
|
||||||
|
|
||||||
try:
|
|
||||||
xkb_name = locale_to_xkb(root["locale"], root["name"])
|
|
||||||
except KeyError as e:
|
|
||||||
logging.warning(e)
|
|
||||||
return False
|
|
||||||
destination_file = os.path.join(destination_path, xkb_name + ".json")
|
|
||||||
|
|
||||||
try:
|
|
||||||
with open(destination_file, 'x', encoding="utf-8") as dest_fd:
|
|
||||||
json.dump(root, dest_fd, ensure_ascii=False, indent=2, sort_keys=True)
|
|
||||||
except FileExistsError as e:
|
|
||||||
logging.info("File %s exists, not updating", destination_file)
|
|
||||||
return False
|
|
||||||
|
|
||||||
logging.debug("written %s", destination_file)
|
|
||||||
|
|
||||||
|
|
||||||
def load_xkb_mappings():
|
|
||||||
xkb = GnomeDesktop.XkbInfo()
|
|
||||||
layouts = xkb.get_all_layouts()
|
|
||||||
name_to_xkb = {}
|
|
||||||
|
|
||||||
for layout in layouts:
|
|
||||||
name = xkb.get_layout_info(layout).display_name
|
|
||||||
name_to_xkb[name] = layout
|
|
||||||
|
|
||||||
return name_to_xkb
|
|
||||||
|
|
||||||
|
|
||||||
locale.setlocale(locale.LC_ALL, "C")
|
|
||||||
name_to_xkb = load_xkb_mappings()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
if "DEBUG" in os.environ:
|
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
|
||||||
|
|
||||||
if len(sys.argv) < 2:
|
|
||||||
print("supply a CLDR keyboard file")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
if len(sys.argv) < 3:
|
|
||||||
print("supply an output directory")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
source = sys.argv[1]
|
|
||||||
destination = sys.argv[2]
|
|
||||||
if os.path.isfile(source):
|
|
||||||
convert_file(source, destination)
|
|
||||||
elif os.path.isdir(source):
|
|
||||||
for path in glob.glob(source + "/*-t-k0-android.xml"):
|
|
||||||
convert_file(path, destination)
|
|
@@ -1,138 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<!DOCTYPE keyboard SYSTEM "../dtd/ldmlKeyboard.dtd">
|
|
||||||
<keyboard locale="fr-t-k0-android">
|
|
||||||
<version platform="4.4" number="$Revision: 11914 $"/>
|
|
||||||
<names>
|
|
||||||
<name value="French"/>
|
|
||||||
</names>
|
|
||||||
<keyMap>
|
|
||||||
<map iso="D01" to="a" longPress="à â % æ á ä ã å ā ª"/> <!-- Q -->
|
|
||||||
<map iso="D02" to="z"/> <!-- W -->
|
|
||||||
<map iso="D03" to="e" longPress="é è ê ë % ę ė ē"/>
|
|
||||||
<map iso="D04" to="r"/>
|
|
||||||
<map iso="D05" to="t"/>
|
|
||||||
<map iso="D06" to="y" longPress="% ÿ"/>
|
|
||||||
<map iso="D07" to="u" longPress="ù û % ü ú ū"/>
|
|
||||||
<map iso="D08" to="i" longPress="î % ï ì í į ī"/>
|
|
||||||
<map iso="D09" to="o" longPress="ô œ % ö ò ó õ ø ō º"/>
|
|
||||||
<map iso="D10" to="p"/>
|
|
||||||
<map iso="C01" to="q"/> <!-- A -->
|
|
||||||
<map iso="C02" to="s"/>
|
|
||||||
<map iso="C03" to="d"/>
|
|
||||||
<map iso="C04" to="f"/>
|
|
||||||
<map iso="C05" to="g"/>
|
|
||||||
<map iso="C06" to="h"/>
|
|
||||||
<map iso="C07" to="j"/>
|
|
||||||
<map iso="C08" to="k"/>
|
|
||||||
<map iso="C09" to="l"/>
|
|
||||||
<map iso="C10" to="m"/> <!-- ; -->
|
|
||||||
<map iso="B01" to="w"/> <!-- Z -->
|
|
||||||
<map iso="B02" to="x"/>
|
|
||||||
<map iso="B03" to="c" longPress="ç ć č"/>
|
|
||||||
<map iso="B04" to="v"/>
|
|
||||||
<map iso="B05" to="b"/>
|
|
||||||
<map iso="B06" to="n"/>
|
|
||||||
<map iso="B07" to="'" longPress="‘ ’ ‹ ›"/> <!-- M -->
|
|
||||||
<map iso="A02" to=","/> <!-- (key to left of space) -->
|
|
||||||
<map iso="A03" to=" "/> <!-- space -->
|
|
||||||
<map iso="A04" to="." longPress="# ! , ? - : ' @"/> <!-- (key to right of space) -->
|
|
||||||
</keyMap>
|
|
||||||
<keyMap modifiers="shift caps">
|
|
||||||
<map iso="D01" to="A" longPress="À Â % Æ Á Ä Ã Å Ā ª"/> <!-- Q -->
|
|
||||||
<map iso="D02" to="Z"/> <!-- W -->
|
|
||||||
<map iso="D03" to="E" longPress="É È Ê Ë % Ę Ė Ē"/>
|
|
||||||
<map iso="D04" to="R"/>
|
|
||||||
<map iso="D05" to="T"/>
|
|
||||||
<map iso="D06" to="Y" longPress="% Ÿ"/>
|
|
||||||
<map iso="D07" to="U" longPress="Ù Û % Ü Ú Ū"/>
|
|
||||||
<map iso="D08" to="I" longPress="Î % Ï Ì Í Į Ī"/>
|
|
||||||
<map iso="D09" to="O" longPress="Ô Œ % Ö Ò Ó Õ Ø Ō º"/>
|
|
||||||
<map iso="D10" to="P"/>
|
|
||||||
<map iso="C01" to="Q"/> <!-- A -->
|
|
||||||
<map iso="C02" to="S"/>
|
|
||||||
<map iso="C03" to="D"/>
|
|
||||||
<map iso="C04" to="F"/>
|
|
||||||
<map iso="C05" to="G"/>
|
|
||||||
<map iso="C06" to="H"/>
|
|
||||||
<map iso="C07" to="J"/>
|
|
||||||
<map iso="C08" to="K"/>
|
|
||||||
<map iso="C09" to="L"/>
|
|
||||||
<map iso="C10" to="M"/> <!-- ; -->
|
|
||||||
<map iso="B01" to="W"/> <!-- Z -->
|
|
||||||
<map iso="B02" to="X"/>
|
|
||||||
<map iso="B03" to="C" longPress="Ç Ć Č"/>
|
|
||||||
<map iso="B04" to="V"/>
|
|
||||||
<map iso="B05" to="B"/>
|
|
||||||
<map iso="B06" to="N"/>
|
|
||||||
<map iso="B07" to="'" longPress="‘ ’ ‹ ›"/> <!-- M -->
|
|
||||||
<map iso="A02" to=","/> <!-- (key to left of space) -->
|
|
||||||
<map iso="A03" to=" "/> <!-- space -->
|
|
||||||
<map iso="A04" to="." longPress="# ! , ? - : ' @"/> <!-- (key to right of space) -->
|
|
||||||
</keyMap>
|
|
||||||
<keyMap modifiers="opt">
|
|
||||||
<map iso="D01" to="1" longPress="¹ ½ ⅓ ¼ ⅛"/> <!-- Q base=a -->
|
|
||||||
<map iso="D02" to="2" longPress="² ⅔"/> <!-- W base=z -->
|
|
||||||
<map iso="D03" to="3" longPress="³ ¾ ⅜"/> <!-- E -->
|
|
||||||
<map iso="D04" to="4" longPress="⁴"/> <!-- R -->
|
|
||||||
<map iso="D05" to="5" longPress="⅝"/> <!-- T -->
|
|
||||||
<map iso="D06" to="6"/> <!-- Y -->
|
|
||||||
<map iso="D07" to="7" longPress="⅞"/> <!-- U -->
|
|
||||||
<map iso="D08" to="8"/> <!-- I -->
|
|
||||||
<map iso="D09" to="9"/> <!-- O -->
|
|
||||||
<map iso="D10" to="0" longPress="ⁿ ∅"/> <!-- P -->
|
|
||||||
<map iso="C01" to="@"/> <!-- A base=q -->
|
|
||||||
<map iso="C02" to="#"/> <!-- S -->
|
|
||||||
<map iso="C03" to="€" longPress="¢ £ $ ¥ ₱"/> <!-- D -->
|
|
||||||
<map iso="C04" to="%" longPress="‰"/> <!-- F -->
|
|
||||||
<map iso="C05" to="&"/> <!-- G -->
|
|
||||||
<map iso="C06" to="-" longPress="_ – — ·"/> <!-- H -->
|
|
||||||
<map iso="C07" to="+" longPress="±"/> <!-- J -->
|
|
||||||
<map iso="C08" to="(" longPress="< { ["/> <!-- K -->
|
|
||||||
<map iso="C09" to=")" longPress="> } ]"/> <!-- L -->
|
|
||||||
<map iso="B01" to="*" longPress="† ‡ ★"/> <!-- Z base=w -->
|
|
||||||
<map iso="B02" to="\u{22}" longPress="“ ” « »"/> <!-- X to= " -->
|
|
||||||
<map iso="B03" to="'" longPress="‘ ’ ‹ ›"/> <!-- C -->
|
|
||||||
<map iso="B04" to=":"/> <!-- V -->
|
|
||||||
<map iso="B05" to=";"/> <!-- B -->
|
|
||||||
<map iso="B06" to="!" longPress="¡"/> <!-- N -->
|
|
||||||
<map iso="B07" to="?" longPress="¿"/> <!-- M base=' -->
|
|
||||||
<map iso="A00" to="_"/> <!-- (3 keys to left of space) -->
|
|
||||||
<map iso="A01" to="/"/> <!-- (2 keys to left of space) -->
|
|
||||||
<map iso="A02" to=" "/> <!-- (key to left of space) base=, -->
|
|
||||||
<map iso="A03" to=","/> <!-- space -->
|
|
||||||
<map iso="A04" to="." longPress="…"/> <!-- (key to right of space) -->
|
|
||||||
</keyMap>
|
|
||||||
<keyMap modifiers="opt+shift">
|
|
||||||
<map iso="D01" to="~"/> <!-- Q base=a -->
|
|
||||||
<map iso="D02" to="`"/> <!-- W base=z -->
|
|
||||||
<map iso="D03" to="|"/> <!-- E -->
|
|
||||||
<map iso="D04" to="•" longPress="♪ ♥ ♠ ♦ ♣"/> <!-- R -->
|
|
||||||
<map iso="D05" to="√"/> <!-- T -->
|
|
||||||
<map iso="D06" to="Π" longPress="π"/> <!-- Y -->
|
|
||||||
<map iso="D07" to="÷"/> <!-- U -->
|
|
||||||
<map iso="D08" to="×"/> <!-- I -->
|
|
||||||
<map iso="D09" to="¶" longPress="§"/> <!-- O -->
|
|
||||||
<map iso="D10" to="∆"/> <!-- P -->
|
|
||||||
<map iso="C01" to="£"/> <!-- A base=q -->
|
|
||||||
<map iso="C02" to="¥"/> <!-- S -->
|
|
||||||
<map iso="C03" to="$" longPress="¢"/> <!-- D -->
|
|
||||||
<map iso="C04" to="¢"/> <!-- F -->
|
|
||||||
<map iso="C05" to="^" longPress="↑ ↓ ← →"/> <!-- G -->
|
|
||||||
<map iso="C06" to="°" longPress="′ ″"/> <!-- H -->
|
|
||||||
<map iso="C07" to="=" longPress="≠ ≈ ∞"/> <!-- J -->
|
|
||||||
<map iso="C08" to="{"/> <!-- K -->
|
|
||||||
<map iso="C09" to="}"/> <!-- L -->
|
|
||||||
<map iso="B01" to="\"/> <!-- Z base=w -->
|
|
||||||
<map iso="B02" to="©"/> <!-- X -->
|
|
||||||
<map iso="B03" to="®"/> <!-- C -->
|
|
||||||
<map iso="B04" to="™"/> <!-- V -->
|
|
||||||
<map iso="B05" to="℅"/> <!-- B -->
|
|
||||||
<map iso="B06" to="["/> <!-- N -->
|
|
||||||
<map iso="B07" to="]"/> <!-- M base=' -->
|
|
||||||
<map iso="A00" to="<" longPress="‹ ≤ «"/> <!-- (3 keys to left of space) -->
|
|
||||||
<map iso="A01" to=">" longPress="› ≥ »"/> <!-- (2 keys to left of space) -->
|
|
||||||
<map iso="A02" to=" "/> <!-- (key to left of space) base=, -->
|
|
||||||
<map iso="A03" to=","/> <!-- space -->
|
|
||||||
<map iso="A04" to="." longPress="…"/> <!-- (key to right of space) -->
|
|
||||||
</keyMap>
|
|
||||||
</keyboard>
|
|
@@ -1,614 +0,0 @@
|
|||||||
{
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"a",
|
|
||||||
"à",
|
|
||||||
"â",
|
|
||||||
"%",
|
|
||||||
"æ",
|
|
||||||
"á",
|
|
||||||
"ä",
|
|
||||||
"ã",
|
|
||||||
"å",
|
|
||||||
"ā",
|
|
||||||
"ª"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"e",
|
|
||||||
"é",
|
|
||||||
"è",
|
|
||||||
"ê",
|
|
||||||
"ë",
|
|
||||||
"%",
|
|
||||||
"ę",
|
|
||||||
"ė",
|
|
||||||
"ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"r"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"t"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"y",
|
|
||||||
"%",
|
|
||||||
"ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"u",
|
|
||||||
"ù",
|
|
||||||
"û",
|
|
||||||
"%",
|
|
||||||
"ü",
|
|
||||||
"ú",
|
|
||||||
"ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"i",
|
|
||||||
"î",
|
|
||||||
"%",
|
|
||||||
"ï",
|
|
||||||
"ì",
|
|
||||||
"í",
|
|
||||||
"į",
|
|
||||||
"ī"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"o",
|
|
||||||
"ô",
|
|
||||||
"œ",
|
|
||||||
"%",
|
|
||||||
"ö",
|
|
||||||
"ò",
|
|
||||||
"ó",
|
|
||||||
"õ",
|
|
||||||
"ø",
|
|
||||||
"ō",
|
|
||||||
"º"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"p"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"s"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"d"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"f"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"g"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"h"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"j"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"k"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"l"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"m"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"w"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"x"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"c",
|
|
||||||
"ç",
|
|
||||||
"ć",
|
|
||||||
"č"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"v"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"b"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"n"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"A",
|
|
||||||
"À",
|
|
||||||
"Â",
|
|
||||||
"%",
|
|
||||||
"Æ",
|
|
||||||
"Á",
|
|
||||||
"Ä",
|
|
||||||
"Ã",
|
|
||||||
"Å",
|
|
||||||
"Ā",
|
|
||||||
"ª"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Z"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"E",
|
|
||||||
"É",
|
|
||||||
"È",
|
|
||||||
"Ê",
|
|
||||||
"Ë",
|
|
||||||
"%",
|
|
||||||
"Ę",
|
|
||||||
"Ė",
|
|
||||||
"Ē"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"R"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"T"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Y",
|
|
||||||
"%",
|
|
||||||
"Ÿ"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"U",
|
|
||||||
"Ù",
|
|
||||||
"Û",
|
|
||||||
"%",
|
|
||||||
"Ü",
|
|
||||||
"Ú",
|
|
||||||
"Ū"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"I",
|
|
||||||
"Î",
|
|
||||||
"%",
|
|
||||||
"Ï",
|
|
||||||
"Ì",
|
|
||||||
"Í",
|
|
||||||
"Į",
|
|
||||||
"Ī"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"O",
|
|
||||||
"Ô",
|
|
||||||
"Œ",
|
|
||||||
"%",
|
|
||||||
"Ö",
|
|
||||||
"Ò",
|
|
||||||
"Ó",
|
|
||||||
"Õ",
|
|
||||||
"Ø",
|
|
||||||
"Ō",
|
|
||||||
"º"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"P"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"Q"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"S"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"D"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"F"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"G"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"H"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"J"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"K"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"L"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"W"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"X"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"C",
|
|
||||||
"Ç",
|
|
||||||
"Ć",
|
|
||||||
"Č"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"V"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"B"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"N"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"#",
|
|
||||||
"!",
|
|
||||||
",",
|
|
||||||
"?",
|
|
||||||
"-",
|
|
||||||
":",
|
|
||||||
"'",
|
|
||||||
"@"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"1",
|
|
||||||
"¹",
|
|
||||||
"½",
|
|
||||||
"⅓",
|
|
||||||
"¼",
|
|
||||||
"⅛"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2",
|
|
||||||
"²",
|
|
||||||
"⅔"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"3",
|
|
||||||
"³",
|
|
||||||
"¾",
|
|
||||||
"⅜"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"4",
|
|
||||||
"⁴"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"5",
|
|
||||||
"⅝"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"6"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"7",
|
|
||||||
"⅞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"8"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"9"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0",
|
|
||||||
"ⁿ",
|
|
||||||
"∅"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"@"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"#"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"€",
|
|
||||||
"¢",
|
|
||||||
"£",
|
|
||||||
"$",
|
|
||||||
"¥",
|
|
||||||
"₱"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"%",
|
|
||||||
"‰"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"&"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"-",
|
|
||||||
"_",
|
|
||||||
"–",
|
|
||||||
"—",
|
|
||||||
"·"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"+",
|
|
||||||
"±"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"(",
|
|
||||||
"<",
|
|
||||||
"{",
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
")",
|
|
||||||
">",
|
|
||||||
"}",
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"*",
|
|
||||||
"†",
|
|
||||||
"‡",
|
|
||||||
"★"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"\"",
|
|
||||||
"“",
|
|
||||||
"”",
|
|
||||||
"«",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"'",
|
|
||||||
"‘",
|
|
||||||
"’",
|
|
||||||
"‹",
|
|
||||||
"›"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
":"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
";"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"!",
|
|
||||||
"¡"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"?",
|
|
||||||
"¿"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"_"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"/"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"`"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"|"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"•",
|
|
||||||
"♪",
|
|
||||||
"♥",
|
|
||||||
"♠",
|
|
||||||
"♦",
|
|
||||||
"♣"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"√"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"Π",
|
|
||||||
"π"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"÷"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"×"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¶",
|
|
||||||
"§"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"∆"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"£"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¥"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"$",
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"¢"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"^",
|
|
||||||
"↑",
|
|
||||||
"↓",
|
|
||||||
"←",
|
|
||||||
"→"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"°",
|
|
||||||
"′",
|
|
||||||
"″"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"=",
|
|
||||||
"≠",
|
|
||||||
"≈",
|
|
||||||
"∞"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"{"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"}"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"\\"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"©"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"®"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"™"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"℅"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"["
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"]"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
[
|
|
||||||
[
|
|
||||||
"<",
|
|
||||||
"‹",
|
|
||||||
"≤",
|
|
||||||
"«"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
">",
|
|
||||||
"›",
|
|
||||||
"≥",
|
|
||||||
"»"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
" "
|
|
||||||
],
|
|
||||||
[
|
|
||||||
","
|
|
||||||
],
|
|
||||||
[
|
|
||||||
".",
|
|
||||||
"…"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"locale": "fr",
|
|
||||||
"name": "French"
|
|
||||||
}
|
|
@@ -1,212 +0,0 @@
|
|||||||
#!/usr/bin/python3
|
|
||||||
|
|
||||||
import json
|
|
||||||
import tempfile
|
|
||||||
import unittest
|
|
||||||
import xml.etree.ElementTree
|
|
||||||
|
|
||||||
import cldr2json
|
|
||||||
|
|
||||||
|
|
||||||
class TestParseSingleKey(unittest.TestCase):
|
|
||||||
def test_ascii(self):
|
|
||||||
self.assertEqual(cldr2json.parse_single_key("a"), "a")
|
|
||||||
|
|
||||||
def test_nonascii(self):
|
|
||||||
self.assertEqual(cldr2json.parse_single_key("Æ"), "Æ")
|
|
||||||
|
|
||||||
def test_twochars(self):
|
|
||||||
self.assertEqual(cldr2json.parse_single_key("ԵՒ"), "ԵՒ")
|
|
||||||
|
|
||||||
def test_decode(self):
|
|
||||||
self.assertEqual(cldr2json.parse_single_key("\\u{200D}"), "\u200d")
|
|
||||||
|
|
||||||
def test_decode_threechars(self):
|
|
||||||
self.assertEqual(cldr2json.parse_single_key("ज\\u{94D}ञ"), "ज\u094Dञ")
|
|
||||||
|
|
||||||
|
|
||||||
class TestParseRow(unittest.TestCase):
|
|
||||||
def test_parse_row(self):
|
|
||||||
xml_string = """
|
|
||||||
<keyMap>
|
|
||||||
<map iso="D01" to="a" longPress="à â % æ á ä ã å ā ª"/> <!-- Q -->
|
|
||||||
<map iso="D02" to="z"/> <!-- W -->
|
|
||||||
<map iso="D03" to="e" longPress="é è ê ë % ę ė ē"/>
|
|
||||||
<map iso="D04" to="r"/>
|
|
||||||
<map iso="D05" to="t"/>
|
|
||||||
<map iso="D06" to="y" longPress="% ÿ"/>
|
|
||||||
<map iso="D07" to="u" longPress="ù û % ü ú ū"/>
|
|
||||||
<map iso="D08" to="i" longPress="î % ï ì í į ī"/>
|
|
||||||
<map iso="D09" to="o" longPress="ô œ % ö ò ó õ ø ō º"/>
|
|
||||||
<map iso="D10" to="p"/>
|
|
||||||
<map iso="C01" to="q"/> <!-- A -->
|
|
||||||
<map iso="C02" to="s"/>
|
|
||||||
<map iso="C03" to="d"/>
|
|
||||||
<map iso="C04" to="f"/>
|
|
||||||
<map iso="C05" to="g"/>
|
|
||||||
<map iso="C06" to="h"/>
|
|
||||||
<map iso="C07" to="j"/>
|
|
||||||
<map iso="C08" to="k"/>
|
|
||||||
<map iso="C09" to="l"/>
|
|
||||||
<map iso="C10" to="m"/> <!-- ; -->
|
|
||||||
<map iso="B01" to="w"/> <!-- Z -->
|
|
||||||
<map iso="B02" to="x"/>
|
|
||||||
<map iso="B03" to="c" longPress="ç ć č"/>
|
|
||||||
<map iso="B04" to="v"/>
|
|
||||||
<map iso="B05" to="b"/>
|
|
||||||
<map iso="B06" to="n"/>
|
|
||||||
<map iso="B07" to="'" longPress="‘ ’ ‹ ›"/> <!-- M -->
|
|
||||||
<map iso="A02" to=","/> <!-- (key to left of space) -->
|
|
||||||
<map iso="A03" to=" "/> <!-- space -->
|
|
||||||
<map iso="A04" to="." longPress="# ! , ? - : ' @"/> <!-- (key to right of space) -->
|
|
||||||
</keyMap>
|
|
||||||
"""
|
|
||||||
xml_tree = xml.etree.ElementTree.XML(xml_string)
|
|
||||||
json = [[
|
|
||||||
['a', 'à', 'â', '%', 'æ', 'á', 'ä', 'ã', 'å', 'ā', 'ª'],
|
|
||||||
['z'],
|
|
||||||
['e', 'é', 'è', 'ê', 'ë', '%', 'ę', 'ė', 'ē'],
|
|
||||||
['r'],
|
|
||||||
['t'],
|
|
||||||
['y', '%', 'ÿ'],
|
|
||||||
['u', 'ù', 'û', '%', 'ü', 'ú', 'ū'],
|
|
||||||
['i', 'î', '%', 'ï', 'ì', 'í', 'į', 'ī'],
|
|
||||||
['o', 'ô', 'œ', '%', 'ö', 'ò', 'ó', 'õ', 'ø', 'ō', 'º'],
|
|
||||||
['p']
|
|
||||||
], [
|
|
||||||
['q'],
|
|
||||||
['s'],
|
|
||||||
['d'],
|
|
||||||
['f'],
|
|
||||||
['g'],
|
|
||||||
['h'],
|
|
||||||
['j'],
|
|
||||||
['k'],
|
|
||||||
['l'],
|
|
||||||
['m']
|
|
||||||
], [
|
|
||||||
['w'],
|
|
||||||
['x'],
|
|
||||||
['c', 'ç', 'ć', 'č'],
|
|
||||||
['v'],
|
|
||||||
['b'],
|
|
||||||
['n'],
|
|
||||||
["'", '‘', '’', '‹', '›']
|
|
||||||
], [
|
|
||||||
[','],
|
|
||||||
[' '],
|
|
||||||
['.', '#', '!', ',', '?', '-', ':', "'", '@']
|
|
||||||
]]
|
|
||||||
self.assertEqual(cldr2json.parse_rows(xml_tree), json)
|
|
||||||
|
|
||||||
|
|
||||||
class TestConvertXml(unittest.TestCase):
|
|
||||||
def test_convert_xml(self):
|
|
||||||
xml_string = """<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<!DOCTYPE keyboard SYSTEM "../dtd/ldmlKeyboard.dtd">
|
|
||||||
<keyboard locale="fr-t-k0-android">
|
|
||||||
<version platform="4.4" number="$Revision: 11914 $"/>
|
|
||||||
<names>
|
|
||||||
<name value="French"/>
|
|
||||||
</names>
|
|
||||||
<keyMap>
|
|
||||||
<map iso="D01" to="a" longPress="à â % æ á ä ã å ā ª"/> <!-- Q -->
|
|
||||||
</keyMap>
|
|
||||||
<keyMap modifiers="shift caps">
|
|
||||||
<map iso="D01" to="A" longPress="À Â % Æ Á Ä Ã Å Ā ª"/> <!-- Q -->
|
|
||||||
</keyMap>
|
|
||||||
<keyMap modifiers="opt">
|
|
||||||
<map iso="D01" to="1" longPress="¹ ½ ⅓ ¼ ⅛"/> <!-- Q base=a -->
|
|
||||||
</keyMap>
|
|
||||||
<keyMap modifiers="opt+shift">
|
|
||||||
<map iso="D01" to="~"/> <!-- Q base=a -->
|
|
||||||
</keyMap>
|
|
||||||
</keyboard>
|
|
||||||
"""
|
|
||||||
xml_tree = xml.etree.ElementTree.XML(xml_string)
|
|
||||||
json = {
|
|
||||||
"locale": "fr",
|
|
||||||
"name": "French",
|
|
||||||
"levels": [
|
|
||||||
{
|
|
||||||
"level": "",
|
|
||||||
"mode": "default",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
['a', 'à', 'â', '%', 'æ', 'á', 'ä', 'ã', 'å', 'ā', 'ª'],
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "shift",
|
|
||||||
"mode": "latched",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
['A', 'À', 'Â', '%', 'Æ', 'Á', 'Ä', 'Ã', 'Å', 'Ā', 'ª'],
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
["1", "¹", "½", "⅓", "¼", "⅛"],
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"level": "opt+shift",
|
|
||||||
"mode": "locked",
|
|
||||||
"rows": [
|
|
||||||
[
|
|
||||||
["~"],
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
self.assertEqual(cldr2json.convert_xml(xml_tree), json)
|
|
||||||
|
|
||||||
|
|
||||||
class TestConvertFile(unittest.TestCase):
|
|
||||||
def test_fr(self):
|
|
||||||
outdir = tempfile.mkdtemp()
|
|
||||||
cldr2json.convert_file("test/data/fr-t-k0-android.xml", outdir)
|
|
||||||
with open("test/data/fr.json", encoding="utf-8") as expected_json_fd:
|
|
||||||
expected_json = json.load(expected_json_fd)
|
|
||||||
with open(outdir + "/fr.json", encoding="utf-8") as actual_json_fd:
|
|
||||||
actual_json = json.load(actual_json_fd)
|
|
||||||
self.assertEqual(expected_json, actual_json)
|
|
||||||
|
|
||||||
|
|
||||||
class TestLocaleToXKB(unittest.TestCase):
|
|
||||||
def test_simple(self):
|
|
||||||
self.assertEqual(cldr2json.locale_to_xkb("fr", "French"),
|
|
||||||
"fr")
|
|
||||||
|
|
||||||
def test_fallback(self):
|
|
||||||
self.assertEqual(cldr2json.locale_to_xkb("nb", "Norwegian Bokmål"),
|
|
||||||
"no")
|
|
||||||
|
|
||||||
def test_fallback2(self):
|
|
||||||
self.assertEqual(cldr2json.locale_to_xkb("km", "Khmer"),
|
|
||||||
"kh")
|
|
||||||
|
|
||||||
def test_override(self):
|
|
||||||
self.assertEqual(cldr2json.locale_to_xkb("en-GB",
|
|
||||||
"English Great Britain"),
|
|
||||||
"uk")
|
|
||||||
|
|
||||||
|
|
||||||
class LoadXKBMapplings(unittest.TestCase):
|
|
||||||
def test_dictionnary(self):
|
|
||||||
self.assertIsInstance(cldr2json.load_xkb_mappings(), dict)
|
|
||||||
|
|
||||||
def test_mapping(self):
|
|
||||||
mapping = cldr2json.load_xkb_mappings()
|
|
||||||
self.assertEqual(mapping["French"], "fr")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
unittest.main()
|
|
66
data/close-black.svg
Normal file
66
data/close-black.svg
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Foreground"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="16px"
|
||||||
|
height="16px"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
enable-background="new 0 0 16 16"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.46+devel"
|
||||||
|
sodipodi:docname="close-black.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
|
||||||
|
id="metadata2399"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs2397"><linearGradient
|
||||||
|
id="linearGradient3173"><stop
|
||||||
|
style="stop-color:#c4c4c4;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop3175" /><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3177" /></linearGradient><inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 8 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="16 : 8 : 1"
|
||||||
|
inkscape:persp3d-origin="8 : 5.3333333 : 1"
|
||||||
|
id="perspective2401" /></defs><sodipodi:namedview
|
||||||
|
inkscape:window-height="811"
|
||||||
|
inkscape:window-width="1272"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
guidetolerance="10.0"
|
||||||
|
gridtolerance="10.0"
|
||||||
|
objecttolerance="10.0"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
id="base"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="32.125"
|
||||||
|
inkscape:cx="8"
|
||||||
|
inkscape:cy="10.440056"
|
||||||
|
inkscape:window-x="40"
|
||||||
|
inkscape:window-y="40"
|
||||||
|
inkscape:current-layer="Foreground" />
|
||||||
|
<path
|
||||||
|
fill-rule="evenodd"
|
||||||
|
clip-rule="evenodd"
|
||||||
|
d="M10.5,3.5l2,2L10,8l2.5,2.5l-2,2L8,10l-2.5,2.5l-2-2L6,8L3.5,5.5l2-2L8,6L10.5,3.5 z M0,8c0-4.418,3.582-8,8-8s8,3.582,8,8s-3.582,8-8,8S0,12.418,0,8z"
|
||||||
|
id="path2394"
|
||||||
|
style="fill-opacity:1;fill:#000000" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
74
data/close.svg
Normal file
74
data/close.svg
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Foreground"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="16px"
|
||||||
|
height="16px"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
enable-background="new 0 0 16 16"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:version="0.32"
|
||||||
|
inkscape:version="0.46"
|
||||||
|
sodipodi:docname="x_circle_16.svg"
|
||||||
|
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
|
||||||
|
id="metadata2399"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs2397"><linearGradient
|
||||||
|
id="linearGradient3173"><stop
|
||||||
|
style="stop-color:#c4c4c4;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop3175" /><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3177" /></linearGradient><inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 8 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="16 : 8 : 1"
|
||||||
|
inkscape:persp3d-origin="8 : 5.3333333 : 1"
|
||||||
|
id="perspective2401" /><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient3173"
|
||||||
|
id="linearGradient3179"
|
||||||
|
x1="7.844358"
|
||||||
|
y1="16"
|
||||||
|
x2="7.7198443"
|
||||||
|
y2="-0.062256809"
|
||||||
|
gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
|
||||||
|
inkscape:window-height="713"
|
||||||
|
inkscape:window-width="1197"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
guidetolerance="10.0"
|
||||||
|
gridtolerance="10.0"
|
||||||
|
objecttolerance="10.0"
|
||||||
|
borderopacity="1.0"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
id="base"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="32.125"
|
||||||
|
inkscape:cx="8"
|
||||||
|
inkscape:cy="8"
|
||||||
|
inkscape:window-x="40"
|
||||||
|
inkscape:window-y="40"
|
||||||
|
inkscape:current-layer="Foreground" />
|
||||||
|
<path
|
||||||
|
fill-rule="evenodd"
|
||||||
|
clip-rule="evenodd"
|
||||||
|
d="M10.5,3.5l2,2L10,8l2.5,2.5l-2,2L8,10l-2.5,2.5l-2-2L6,8L3.5,5.5l2-2L8,6L10.5,3.5 z M0,8c0-4.418,3.582-8,8-8s8,3.582,8,8s-3.582,8-8,8S0,12.418,0,8z"
|
||||||
|
id="path2394"
|
||||||
|
style="fill-opacity:1;fill:url(#linearGradient3179)" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
@@ -1,11 +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.Shell.ScreenTime.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,46 +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>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
net.hadess.SwitcherooControl:
|
|
||||||
@short_description: D-Bus proxy to access dual-GPU controls.
|
|
||||||
|
|
||||||
After checking the availability of two switchable GPUs in the machine,
|
|
||||||
check the value of net.hadess.SwitcherooControl.HasDualGpu to see
|
|
||||||
if running applications on the discrete GPU should be offered.
|
|
||||||
|
|
||||||
The object path will be "/net/hadess/SwitcherooControl".
|
|
||||||
-->
|
|
||||||
<interface name="net.hadess.SwitcherooControl">
|
|
||||||
<!--
|
|
||||||
HasDualGpu:
|
|
||||||
|
|
||||||
Whether two switchable GPUs are present on the system. This property
|
|
||||||
has been obsoleted in favour of the "NumGPUs" property.
|
|
||||||
-->
|
|
||||||
<property name="HasDualGpu" type="b" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
NumGPUs:
|
|
||||||
|
|
||||||
The number of GPUs available on the system. Note that while having no
|
|
||||||
GPUs is unlikely, consumers of this API should probably not throw errors
|
|
||||||
if that were the case.
|
|
||||||
-->
|
|
||||||
<property name="NumGPUs" type="u" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
GPUs:
|
|
||||||
|
|
||||||
An array of key-pair values representing each GPU. The key named "Name" (s)
|
|
||||||
will contain a user-facing name for the GPU, the "Environment" (as) key will
|
|
||||||
contain an array of even number of strings, each being an environment
|
|
||||||
variable to set to use the GPU, followed by its value, the "Default" (b) key
|
|
||||||
will tag the default (usually integrated) GPU.
|
|
||||||
-->
|
|
||||||
<property name="GPUs" type="aa{sv}" access="read"/>
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@@ -1,78 +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>
|
|
||||||
<interface name="net.reactivated.Fprint.Device">
|
|
||||||
<method name="ListEnrolledFingers">
|
|
||||||
<arg type="s" name="username" direction="in">
|
|
||||||
</arg>
|
|
||||||
<arg type="as" name="enrolled_fingers" direction="out">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="DeleteEnrolledFingers">
|
|
||||||
<arg type="s" name="username" direction="in">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="DeleteEnrolledFingers2">
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="Claim">
|
|
||||||
<arg type="s" name="username" direction="in">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="Release">
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="VerifyStart">
|
|
||||||
<arg type="s" name="finger_name" direction="in">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="VerifyStop">
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<signal name="VerifyFingerSelected">
|
|
||||||
<arg type="s" name="finger_name">
|
|
||||||
</arg>
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<signal name="VerifyStatus">
|
|
||||||
<arg type="s" name="result">
|
|
||||||
</arg>
|
|
||||||
|
|
||||||
<arg type="b" name="done">
|
|
||||||
</arg>
|
|
||||||
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<method name="EnrollStart">
|
|
||||||
<arg type="s" name="finger_name" direction="in">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="EnrollStop">
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<signal name="EnrollStatus">
|
|
||||||
<arg type="s" name="result">
|
|
||||||
</arg>
|
|
||||||
|
|
||||||
<arg type="b" name="done">
|
|
||||||
</arg>
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<property name="name" type="s" access="read">
|
|
||||||
</property>
|
|
||||||
|
|
||||||
<property name="num-enroll-stages" type="i" access="read">
|
|
||||||
</property>
|
|
||||||
|
|
||||||
<property name="scan-type" type="s" access="read">
|
|
||||||
</property>
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@@ -1,18 +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>
|
|
||||||
<interface name="net.reactivated.Fprint.Manager">
|
|
||||||
|
|
||||||
<method name="GetDevices">
|
|
||||||
<arg type="ao" name="devices" direction="out">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<method name="GetDefaultDevice">
|
|
||||||
<arg type="o" name="device" direction="out">
|
|
||||||
</arg>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
</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,39 +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>
|
|
||||||
<signal name="ActivationToken">
|
|
||||||
<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,147 +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.freedesktop.UPower.PowerProfiles:
|
|
||||||
@short_description: Power Profiles daemon
|
|
||||||
|
|
||||||
The power-profiles-daemon API is meant to be used by parts of the OS or
|
|
||||||
desktop environment to switch system power profiles based on user choice,
|
|
||||||
or user intent.
|
|
||||||
|
|
||||||
OS components would typically use the "Profiles" property to construct
|
|
||||||
their UI (2 or 3 profiles available), and monitor the "ActiveProfile"
|
|
||||||
and the "PerformanceDegraded" properties to update that UI. The UI
|
|
||||||
would try to set the "ActiveProfile" property if the user selected
|
|
||||||
a different one.
|
|
||||||
|
|
||||||
Note that the reason why the project exists and how it is different from
|
|
||||||
existing projects is explained <ulink href=" https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/blob/master/README.md">
|
|
||||||
in the project's README file</ulink>.
|
|
||||||
|
|
||||||
The object path will be "/org/freedesktop/UPower/PowerProfiles".
|
|
||||||
-->
|
|
||||||
<interface name="org.freedesktop.UPower.PowerProfiles">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
HoldProfile:
|
|
||||||
|
|
||||||
This forces the passed profile (either 'power-saver' or 'performance')
|
|
||||||
to be activated until either the caller quits, "ReleaseProfile" is
|
|
||||||
called, or the "ActiveProfile" is changed by the user.
|
|
||||||
|
|
||||||
This should be used programmatically by OS components when, eg. high-
|
|
||||||
performance workloads are started with the "performance" profile, or
|
|
||||||
battery will soon be critically low with the "power-saver" profile.
|
|
||||||
|
|
||||||
When conflicting profiles are requested to be held, the 'power-saver' profile
|
|
||||||
will be activated in preference to the 'performance' profile.
|
|
||||||
|
|
||||||
Those holds will be automatically cancelled if the user manually switches
|
|
||||||
to another profile, and the "ProfileReleased" signal will be emitted.
|
|
||||||
-->
|
|
||||||
<method name="HoldProfile">
|
|
||||||
<arg name="profile" type="s" direction="in"/>
|
|
||||||
<arg name="reason" type="s" direction="in"/>
|
|
||||||
<arg name="application_id" type="s" direction="in" />
|
|
||||||
<arg name="cookie" type="u" direction="out"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ReleaseProfile:
|
|
||||||
|
|
||||||
This removes the hold that was set on a profile.
|
|
||||||
-->
|
|
||||||
<method name="ReleaseProfile">
|
|
||||||
<arg name="cookie" type="u" direction="in"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ProfileReleased:
|
|
||||||
|
|
||||||
This signal will be emitted if the profile is released because the
|
|
||||||
"ActiveProfile" was manually changed. The signal will only be emitted
|
|
||||||
to the process that originally called "HoldProfile".
|
|
||||||
-->
|
|
||||||
<signal name="ProfileReleased">
|
|
||||||
<arg name="cookie" type="u" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ActiveProfile:
|
|
||||||
|
|
||||||
The type of the currently active profile. It might change automatically
|
|
||||||
if a profile is held, using the "HoldProfile" function.
|
|
||||||
-->
|
|
||||||
<property name="ActiveProfile" type="s" access="readwrite"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
PerformanceInhibited:
|
|
||||||
|
|
||||||
This property is deprecated, and unused since version 0.9.
|
|
||||||
-->
|
|
||||||
<property name="PerformanceInhibited" type="s" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
PerformanceDegraded:
|
|
||||||
|
|
||||||
This will be set if the performance power profile is running in degraded
|
|
||||||
mode, with the value being used to identify the reason for that degradation.
|
|
||||||
As new reasons can be added, it is recommended that front-ends show a generic
|
|
||||||
reason if they do not recognise the value. Possible values are:
|
|
||||||
- "lap-detected" (the computer is sitting on the user's lap)
|
|
||||||
- "high-operating-temperature" (the computer is close to overheating)
|
|
||||||
- "" (the empty string, if not performance is not degraded)
|
|
||||||
-->
|
|
||||||
<property name="PerformanceDegraded" type="s" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Profiles:
|
|
||||||
|
|
||||||
An array of key-pair values representing each profile. The key named
|
|
||||||
"Driver" (s) identifies the power-profiles-daemon backend code used to
|
|
||||||
implement the profile.
|
|
||||||
|
|
||||||
The key named "Profile" (s) will be one of:
|
|
||||||
- "power-saver" (battery saving profile)
|
|
||||||
- "balanced" (the default profile)
|
|
||||||
- "performance" (a profile that does not care about noise or battery consumption)
|
|
||||||
|
|
||||||
Only one of each type of profile will be listed, with the daemon choosing the
|
|
||||||
more appropriate "driver" for each profile type.
|
|
||||||
|
|
||||||
This list is guaranteed to be sorted in the same order that the profiles
|
|
||||||
are listed above.
|
|
||||||
-->
|
|
||||||
<property name="Profiles" type="aa{sv}" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Actions:
|
|
||||||
|
|
||||||
An array of strings listing each one of the "actions" implemented in
|
|
||||||
the running daemon. This is used by API users to figure out whether
|
|
||||||
particular functionality is available in a version of the daemon.
|
|
||||||
-->
|
|
||||||
<property name="Actions" type="as" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ActiveProfileHolds:
|
|
||||||
|
|
||||||
A list of dictionaries representing the current profile holds.
|
|
||||||
The keys in the dict are "ApplicationId", "Profile" and "Reason",
|
|
||||||
and correspond to the "application_id", "profile" and "reason" arguments
|
|
||||||
passed to the HoldProfile() method.
|
|
||||||
-->
|
|
||||||
<property name="ActiveProfileHolds" type="aa{sv}" access="read"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Version:
|
|
||||||
|
|
||||||
The version of the power-profiles-daemon software.
|
|
||||||
-->
|
|
||||||
<property name="Version" 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,64 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!--
|
|
||||||
Copyright (C) 2022 Endless OS Foundation, LLC
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Author: Georges Basile Stavracas Neto <georges@endlessos.org>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
|
||||||
<!--
|
|
||||||
org.freedesktop.background.Monitor:
|
|
||||||
@short_description: Background applications monitor
|
|
||||||
|
|
||||||
This interface provides APIs related to applications
|
|
||||||
that are running in the background.
|
|
||||||
|
|
||||||
This documentation describes version 1 of this interface.
|
|
||||||
-->
|
|
||||||
<interface name="org.freedesktop.background.Monitor">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
BackgroundApps:
|
|
||||||
|
|
||||||
The list of applications that are considered to be running in
|
|
||||||
background. The following keys are supported:
|
|
||||||
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>app_id s</term>
|
|
||||||
<listitem><para>
|
|
||||||
App id of the application.
|
|
||||||
</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>instance s</term>
|
|
||||||
<listitem><para>
|
|
||||||
The Flatpak instance of the application.
|
|
||||||
</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>message s</term>
|
|
||||||
<listitem><para>
|
|
||||||
Status message reported by the application. Optional.
|
|
||||||
</para></listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
-->
|
|
||||||
<property name="BackgroundApps" type="aa{sv}" access="read"/>
|
|
||||||
|
|
||||||
<property name="version" type="u" 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,31 +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>
|
|
||||||
<method name="SetPermission">
|
|
||||||
<arg name='table' type='s' direction='in'/>
|
|
||||||
<arg name='create' type='b' direction='in'/>
|
|
||||||
<arg name='id' type='s' direction='in'/>
|
|
||||||
<arg name='app' type='s' direction='in'/>
|
|
||||||
<arg name='permissions' type='as' 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,37 +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="GetUser">
|
|
||||||
<arg type="u" direction="in"/>
|
|
||||||
<arg type="o" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="ListSessions">
|
|
||||||
<arg name="sessions" type="a(susso)" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="CanRebootToBootLoaderMenu">
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="SetRebootToBootLoaderMenu">
|
|
||||||
<arg type="t" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<signal name="PrepareForSleep">
|
|
||||||
<arg type="b" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@@ -1,16 +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="Name" type="s" access="read"/>
|
|
||||||
<property name="Remote" type="b" access="read"/>
|
|
||||||
<property name="State" type="s" access="read"/>
|
|
||||||
<property name="Type" type="s" access="read"/>
|
|
||||||
<method name="SetLockedHint">
|
|
||||||
<arg type="b" direction="in"/>
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@@ -1,8 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.freedesktop.login1.User">
|
|
||||||
<property name="Display" type="(so)" access="read"/>
|
|
||||||
<property name="IdleHint" type="b" access="read"/>
|
|
||||||
<property name="Sessions" type="a(so)" access="read"/>
|
|
||||||
<property name="State" type="s" 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,191 +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.Mutter.ScreenCast:
|
|
||||||
@short_description: Screen cast interface
|
|
||||||
|
|
||||||
This API is private and not intended to be used outside of the integrated
|
|
||||||
system that uses libmutter. No compatibility between versions are
|
|
||||||
promised.
|
|
||||||
-->
|
|
||||||
<interface name="org.gnome.Mutter.ScreenCast">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
CreateSession:
|
|
||||||
@properties: Properties
|
|
||||||
@session_path: Path to the new session object
|
|
||||||
|
|
||||||
* "remote-desktop-session-id" (s): The ID of a remote desktop session.
|
|
||||||
Remote desktop driven screen casts
|
|
||||||
are started and stopped by the remote
|
|
||||||
desktop session.
|
|
||||||
* "disable-animations" (b): Set to "true" if the screen cast application
|
|
||||||
would prefer animations to be globally
|
|
||||||
disabled, while the session is running. Default
|
|
||||||
is "false". Available since version 3.
|
|
||||||
-->
|
|
||||||
<method name="CreateSession">
|
|
||||||
<arg name="properties" type="a{sv}" direction="in" />
|
|
||||||
<arg name="session_path" type="o" direction="out" />
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Version:
|
|
||||||
@short_description: API version
|
|
||||||
-->
|
|
||||||
<property name="Version" type="i" access="read" />
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
org.gnome.Mutter.ScreenCast.Session:
|
|
||||||
@short_description: Screen cast session
|
|
||||||
-->
|
|
||||||
<interface name="org.gnome.Mutter.ScreenCast.Session">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Start:
|
|
||||||
|
|
||||||
Start the screen cast session
|
|
||||||
-->
|
|
||||||
<method name="Start" />
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Stop:
|
|
||||||
|
|
||||||
Stop the screen cast session
|
|
||||||
-->
|
|
||||||
<method name="Stop" />
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Closed:
|
|
||||||
|
|
||||||
The session has closed.
|
|
||||||
-->
|
|
||||||
<signal name="Closed" />
|
|
||||||
|
|
||||||
<!--
|
|
||||||
RecordMonitor:
|
|
||||||
@connector: Connector of the monitor to record
|
|
||||||
@properties: Properties
|
|
||||||
@stream_path: Path to the new stream object
|
|
||||||
|
|
||||||
Record a single monitor.
|
|
||||||
|
|
||||||
Available @properties include:
|
|
||||||
|
|
||||||
* "cursor-mode" (u): Cursor mode. Default: 'hidden' (see below)
|
|
||||||
Available since API version 2.
|
|
||||||
* "is-recording" (b): Whether this is a screen recording. May be
|
|
||||||
be used for choosing panel icon.
|
|
||||||
Default: false. Available since API version 4.
|
|
||||||
|
|
||||||
Available cursor mode values:
|
|
||||||
|
|
||||||
0: hidden - cursor is not included in the stream
|
|
||||||
1: embedded - cursor is included in the framebuffer
|
|
||||||
2: metadata - cursor is included as metadata in the PipeWire stream
|
|
||||||
-->
|
|
||||||
<method name="RecordMonitor">
|
|
||||||
<arg name="connector" type="s" direction="in" />
|
|
||||||
<arg name="properties" type="a{sv}" direction="in" />
|
|
||||||
<arg name="stream_path" type="o" direction="out" />
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
RecordWindow:
|
|
||||||
@properties: Properties used determining what window to select
|
|
||||||
@stream_path: Path to the new stream object
|
|
||||||
|
|
||||||
Supported since API version 2.
|
|
||||||
|
|
||||||
Record a single window. The cursor will not be included.
|
|
||||||
|
|
||||||
Available @properties include:
|
|
||||||
|
|
||||||
* "window-id" (t): Id of the window to record.
|
|
||||||
* "cursor-mode" (u): Cursor mode. Default: 'hidden' (see RecordMonitor).
|
|
||||||
* "is-recording" (b): Whether this is a screen recording. May be
|
|
||||||
be used for choosing panel icon.
|
|
||||||
Default: false. Available since API version 4.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<method name="RecordWindow">
|
|
||||||
<arg name="properties" type="a{sv}" direction="in" />
|
|
||||||
<arg name="stream_path" type="o" direction="out" />
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
RecordArea:
|
|
||||||
@x: X position of the recorded area
|
|
||||||
@y: Y position of the recorded area
|
|
||||||
@width: width of the recorded area
|
|
||||||
@height: height of the recorded area
|
|
||||||
@properties: Properties
|
|
||||||
@stream_path: Path to the new stream object
|
|
||||||
|
|
||||||
Record an area of the stage. The coordinates are in stage coordinates.
|
|
||||||
The size of the stream does not necessarily match the size of the
|
|
||||||
recorded area, and will depend on DPI scale of the affected monitors.
|
|
||||||
|
|
||||||
Available @properties include:
|
|
||||||
|
|
||||||
* "cursor-mode" (u): Cursor mode. Default: 'hidden' (see below)
|
|
||||||
Available since API version 2.
|
|
||||||
* "is-recording" (b): Whether this is a screen recording. May be
|
|
||||||
be used for choosing panel icon.
|
|
||||||
Default: false. Available since API version 4.
|
|
||||||
|
|
||||||
Available cursor mode values:
|
|
||||||
|
|
||||||
0: hidden - cursor is not included in the stream
|
|
||||||
1: embedded - cursor is included in the framebuffer
|
|
||||||
2: metadata - cursor is included as metadata in the PipeWire stream
|
|
||||||
-->
|
|
||||||
<method name="RecordArea">
|
|
||||||
<arg name="x" type="i" direction="in" />
|
|
||||||
<arg name="y" type="i" direction="in" />
|
|
||||||
<arg name="width" type="i" direction="in" />
|
|
||||||
<arg name="height" type="i" direction="in" />
|
|
||||||
<arg name="properties" type="a{sv}" direction="in" />
|
|
||||||
<arg name="stream_path" type="o" direction="out" />
|
|
||||||
</method>
|
|
||||||
</interface>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
org.gnome.Mutter.ScreenCast.Stream:
|
|
||||||
@short_description: Screen cast stream
|
|
||||||
-->
|
|
||||||
<interface name="org.gnome.Mutter.ScreenCast.Stream">
|
|
||||||
|
|
||||||
<!--
|
|
||||||
PipeWireStreamAdded:
|
|
||||||
@short_description: Pipewire stream added
|
|
||||||
|
|
||||||
A signal emitted when PipeWire stream for the screen cast stream has
|
|
||||||
been created. The @node_id corresponds to the PipeWire stream node.
|
|
||||||
-->
|
|
||||||
<signal name="PipeWireStreamAdded">
|
|
||||||
<annotation name="org.gtk.GDBus.C.Name" value="pipewire-stream-added"/>
|
|
||||||
<arg name="node_id" type="u" direction="out" />
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Parameters:
|
|
||||||
@short_description: Optional stream parameters
|
|
||||||
|
|
||||||
Available parameters include:
|
|
||||||
|
|
||||||
* "position" (ii): Position of the source of the stream in the
|
|
||||||
compositor coordinate space.
|
|
||||||
* "size" (ii): Size of the source of the stream in the compositor
|
|
||||||
coordinate space.
|
|
||||||
-->
|
|
||||||
<property name="Parameters" type="a{sv}" access="read" />
|
|
||||||
|
|
||||||
</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,13 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SessionManager.Inhibitor">
|
|
||||||
<method name="GetAppId">
|
|
||||||
<arg type="s" direction="out"/>
|
|
||||||
</method>
|
|
||||||
<method name="GetFlags">
|
|
||||||
<arg type="u" 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,7 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name='org.gnome.SettingsDaemon.Power.Keyboard'>
|
|
||||||
<property name='Brightness' type='i' access='readwrite'/>
|
|
||||||
<property name='Steps' type='i' 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,11 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.SettingsDaemon.Rfkill">
|
|
||||||
<property name="AirplaneMode" type="b" access="readwrite"/>
|
|
||||||
<property name="HasAirplaneMode" type="b" access="read"/>
|
|
||||||
<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,19 +0,0 @@
|
|||||||
<node>
|
|
||||||
<interface name="org.gnome.Shell.CalendarServer">
|
|
||||||
<method name="SetTimeRange">
|
|
||||||
<arg type="x" name="since" direction="in"/>
|
|
||||||
<arg type="x" name="until" direction="in"/>
|
|
||||||
<arg type="b" name="force_reload" direction="in"/>
|
|
||||||
</method>
|
|
||||||
<signal name="EventsAddedOrUpdated">
|
|
||||||
<arg type="a(ssxxa{sv})" name="events" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="EventsRemoved">
|
|
||||||
<arg type="as" name="ids" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="ClientDisappeared">
|
|
||||||
<arg type="s" name="source_uid" direction="out"/>
|
|
||||||
</signal>
|
|
||||||
<property name="HasCalendars" type="b" access="read" />
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@@ -1,15 +0,0 @@
|
|||||||
<node>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
org.gnome.Shell.ClocksIntegration:
|
|
||||||
@short_description: Clocks integration interface
|
|
||||||
|
|
||||||
The interface used for exporting location settings to GNOME Shell's
|
|
||||||
world clocks integration.
|
|
||||||
-->
|
|
||||||
<interface name="org.gnome.Shell.ClocksIntegration">
|
|
||||||
|
|
||||||
<property name="Locations" type="av" access="read"/>
|
|
||||||
|
|
||||||
</interface>
|
|
||||||
</node>
|
|
@@ -1,274 +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: ACTIVE</member>
|
|
||||||
<member>2: INACTIVE</member>
|
|
||||||
<member>3: ERROR</member>
|
|
||||||
<member>4: OUT_OF_DATE</member>
|
|
||||||
<member>5: DOWNLOADING</member>
|
|
||||||
<member>6: INITIALIZED</member>
|
|
||||||
<member>7: DEACTIVATING</member>
|
|
||||||
<member>8: ACTIVATING</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>version-name s</term>
|
|
||||||
<listitem><para>The extension version name</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>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
EnableExtension:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@success: Whether the operation was successful
|
|
||||||
|
|
||||||
Enable an extension.
|
|
||||||
-->
|
|
||||||
<method name="EnableExtension">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="b" direction="out" name="success"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
DisableExtension:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@success: Whether the operation was successful
|
|
||||||
|
|
||||||
Disable an extension.
|
|
||||||
-->
|
|
||||||
<method name="DisableExtension">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="b" direction="out" name="success"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
LaunchExtensionPrefs:
|
|
||||||
Deprecated for OpenExtensionPrefs
|
|
||||||
-->
|
|
||||||
<method name="LaunchExtensionPrefs">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
OpenExtensionPrefs:
|
|
||||||
@uuid: The UUID of the extension
|
|
||||||
@parent_window: Identifier for the application window
|
|
||||||
@options: Vardict with further options
|
|
||||||
|
|
||||||
Opens the prefs dialog of extension @uuid.
|
|
||||||
|
|
||||||
The following @options are recognized:
|
|
||||||
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>modal b</term>
|
|
||||||
<listitem>
|
|
||||||
<para>Whether the prefs window should be modal, default: false</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
-->
|
|
||||||
<method name="OpenExtensionPrefs">
|
|
||||||
<arg type="s" direction="in" name="uuid"/>
|
|
||||||
<arg type="s" direction="in" name="parent_window"/>
|
|
||||||
<arg type="a{sv}" direction="in" name="options"/>
|
|
||||||
</method>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
CheckForUpdates:
|
|
||||||
Update all extensions for which updates are available
|
|
||||||
-->
|
|
||||||
<method name="CheckForUpdates"/>
|
|
||||||
|
|
||||||
<signal name="ExtensionStateChanged">
|
|
||||||
<arg type="s" name="uuid"/>
|
|
||||||
<arg type="a{sv}" name="state"/>
|
|
||||||
</signal>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
ExtensionStatusChanged:
|
|
||||||
Deprecated for ExtensionStateChanged
|
|
||||||
-->
|
|
||||||
<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"/>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
UserExtensionsEnabled:
|
|
||||||
Whether user extensions are enabled
|
|
||||||
-->
|
|
||||||
<property name="UserExtensionsEnabled" type="b" access="readwrite"/>
|
|
||||||
|
|
||||||
</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>
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user