Compare commits
2 Commits
citadel-43
...
wip/jtojna
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d3f85ae6ea | ||
![]() |
56265e91d6 |
@@ -1,8 +1,3 @@
|
||||
extends:
|
||||
- ./lint/eslintrc-gjs.yml
|
||||
- ./lint/eslintrc-shell.yml
|
||||
overrides:
|
||||
- files:
|
||||
- js/ui/init.js
|
||||
parserOptions:
|
||||
sourceType: module
|
1
.gitignore
vendored
@@ -60,6 +60,7 @@ src/calendar-server/evolution-calendar.desktop
|
||||
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
||||
src/gnome-shell
|
||||
src/gnome-shell-calendar-server
|
||||
src/gnome-shell-extension-prefs
|
||||
src/gnome-shell-extension-tool
|
||||
src/gnome-shell-hotplug-sniffer
|
||||
src/gnome-shell-perf-helper
|
||||
|
357
.gitlab-ci.yml
@@ -1,289 +1,98 @@
|
||||
include:
|
||||
- remote: 'https://gitlab.gnome.org/GNOME/citemplates/raw/HEAD/flatpak/flatpak_ci_initiative.yml'
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/34f4ade99434043f88e164933f570301fd18b125/templates/fedora.yml'
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/34f4ade99434043f88e164933f570301fd18b125/templates/ci-fairy.yml'
|
||||
|
||||
stages:
|
||||
- pre_review
|
||||
- prep
|
||||
- review
|
||||
- build
|
||||
- test
|
||||
- analyze
|
||||
- deploy
|
||||
|
||||
default:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/fedora/36:x86_64-2022-09-01.0
|
||||
# Cancel jobs if newer commits are pushed to the branch
|
||||
interruptible: true
|
||||
# Auto-retry jobs in case of infra failures
|
||||
retry:
|
||||
max: 1
|
||||
when:
|
||||
- 'runner_system_failure'
|
||||
- 'stuck_or_timeout_failure'
|
||||
- 'scheduler_failure'
|
||||
- 'api_failure'
|
||||
- review
|
||||
- build
|
||||
- test
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell
|
||||
BUNDLE: "extensions-git.flatpak"
|
||||
JS_LOG: "js-report.txt"
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
LINT_MR_LOG: "eslint-mr-report.xml"
|
||||
JS_LOG: "js-report.txt"
|
||||
POT_LOG: "pot-update.txt"
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
- if: '$CI_MERGE_REQUEST_IID'
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
- if: '$CI_COMMIT_BRANCH'
|
||||
|
||||
.pipeline_guard: &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:35:
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 35
|
||||
FDO_DISTRIBUTION_TAG: '2022-01-18.0'
|
||||
FDO_DISTRIBUTION_PACKAGES:
|
||||
findutils
|
||||
mozjs91-devel
|
||||
nodejs
|
||||
npm
|
||||
meson
|
||||
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 eslint-plugin-jsdoc &&
|
||||
|
||||
dnf group install -y 'Development Tools' \
|
||||
'C Development Tools and Libraries' &&
|
||||
|
||||
./.gitlab-ci/install-meson-project.sh \
|
||||
-Dman=false \
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell.git \
|
||||
main \
|
||||
subprojects/extensions-tool/ \
|
||||
./generate-translations.sh &&
|
||||
|
||||
dnf clean all
|
||||
.only_default: &only_default
|
||||
only:
|
||||
- branches
|
||||
- tags
|
||||
- merge_requests
|
||||
|
||||
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
|
||||
<<: *pipeline_guard
|
||||
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
|
||||
<<: *pipeline_guard
|
||||
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:35
|
||||
stage: prep
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: review
|
||||
variables:
|
||||
GIT_DEPTH: "100"
|
||||
script:
|
||||
- ./.gitlab-ci/check-commit-log.sh
|
||||
only:
|
||||
- merge_requests
|
||||
|
||||
js_check:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:35
|
||||
stage: review
|
||||
script:
|
||||
- find js -name '*.js' $(printf "! -wholename %s " $(cat .jscheckignore)) -exec js91 -c '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- (! grep -q . $JS_LOG)
|
||||
artifacts:
|
||||
paths:
|
||||
- ${JS_LOG}
|
||||
when: on_failure
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: review
|
||||
script:
|
||||
- find js -name '*.js' -exec js60 -c -s '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- (! grep -q . $JS_LOG)
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- ${JS_LOG}
|
||||
when: on_failure
|
||||
|
||||
eslint:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:35
|
||||
stage: review
|
||||
script:
|
||||
- export NODE_PATH=$(npm root -g)
|
||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit
|
||||
artifacts:
|
||||
reports:
|
||||
junit: ${LINT_LOG}
|
||||
when: always
|
||||
|
||||
eslint_mr:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:35
|
||||
stage: review
|
||||
script:
|
||||
- export NODE_PATH=$(npm root -g)
|
||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_MR_LOG} --format junit
|
||||
--remote ${CI_MERGE_REQUEST_PROJECT_URL}.git
|
||||
--branch ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
|
||||
only:
|
||||
- merge_requests
|
||||
artifacts:
|
||||
reports:
|
||||
junit: ${LINT_MR_LOG}
|
||||
when: always
|
||||
|
||||
potfile_c_check:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:35
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/check-potfiles.sh
|
||||
|
||||
potfile_js_check:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:35
|
||||
stage: review
|
||||
script:
|
||||
- js91 -m .gitlab-ci/check-potfiles.js
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/run-eslint.sh
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- reports
|
||||
when: always
|
||||
|
||||
build:
|
||||
stage: build
|
||||
needs: ["check_commit_log"]
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
before_script:
|
||||
- .gitlab-ci/checkout-mutter.sh
|
||||
- meson mutter mutter/build --prefix=/usr
|
||||
- meson install -C mutter/build
|
||||
script:
|
||||
- meson . build -Dbuildtype=debugoptimized -Dman=false --werror
|
||||
- meson compile -C build
|
||||
- meson install -C build
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- mutter
|
||||
- build
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: build
|
||||
before_script:
|
||||
- .gitlab-ci/checkout-mutter.sh
|
||||
- meson mutter mutter/build --prefix=/usr -Dtests=false
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
- meson . build -Dbuiltype=debugoptimized -Dman=false --werror
|
||||
- ninja -C build
|
||||
- ninja -C build install
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- mutter
|
||||
- build
|
||||
|
||||
test:
|
||||
stage: test
|
||||
needs: ["build"]
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
before_script:
|
||||
- meson install -C mutter/build
|
||||
script:
|
||||
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- build/meson-logs/testlog.txt
|
||||
reports:
|
||||
junit: build/meson-logs/testlog.junit.xml
|
||||
when: on_failure
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: test
|
||||
variables:
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
before_script:
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- build/meson-logs/testlog.txt
|
||||
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
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
before_script:
|
||||
- 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'
|
||||
|
||||
dist:
|
||||
variables:
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
stage: deploy
|
||||
needs: ["build"]
|
||||
before_script:
|
||||
- meson install -C mutter/build
|
||||
- mkdir -m 700 $XDG_RUNTIME_DIR
|
||||
script:
|
||||
- dbus-run-session xvfb-run meson dist -C build
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
changes:
|
||||
- "**/meson.build"
|
||||
- meson/*
|
||||
|
||||
|
||||
dist-tarball:
|
||||
extends: dist
|
||||
artifacts:
|
||||
expose_as: 'Get tarball here'
|
||||
paths:
|
||||
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
test-pot:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: test
|
||||
before_script:
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
# Check that pot files are generated correctly:
|
||||
# https://savannah.gnu.org/bugs/?50920#comment5
|
||||
- ninja -C build gnome-shell-pot 2>&1 | awk '
|
||||
BEGIN { start=0; }
|
||||
start==1 { print $0; }
|
||||
/gnome-shell-pot/ { start=1; }
|
||||
' | tee $POT_LOG
|
||||
- (! grep -q . $POT_LOG)
|
||||
<<: *only_default
|
||||
|
18
.gitlab-ci/Dockerfile.extension-ci
Normal file
@@ -0,0 +1,18 @@
|
||||
FROM registry.fedoraproject.org/fedora:latest
|
||||
|
||||
RUN dnf -y update && dnf -y upgrade && \
|
||||
dnf install -y 'dnf-command(copr)' git && \
|
||||
|
||||
# For syntax checks with `find . -name '*.js' -exec js60 -c -s '{}' ';'`
|
||||
dnf install -y findutils mozjs60-devel && \
|
||||
|
||||
# For static analysis with eslint
|
||||
dnf install -y nodejs && \
|
||||
npm install -g eslint && \
|
||||
|
||||
# Shameless plug for my own tooling; useful for generating zip
|
||||
dnf copr enable -y fmuellner/gnome-shell-ci && \
|
||||
dnf install -y gnome-extensions-tool meson && \
|
||||
|
||||
dnf clean all && \
|
||||
rm -rf /var/cache/dnf
|
31
.gitlab-ci/check-commit-log.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||
echo Cannot review non-merge request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||
|
||||
commits=$(git log --format='format:%H' $branch_point..$CI_COMMIT_SHA)
|
||||
|
||||
if [ -z "$commits" ]; then
|
||||
echo Commit range empty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function commit_message_has_url() {
|
||||
commit=$1
|
||||
commit_message=$(git show -s --format='format:%b' $commit)
|
||||
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
|
||||
return $?
|
||||
}
|
||||
|
||||
for commit in $commits; do
|
||||
if ! commit_message_has_url $commit; then
|
||||
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
|
||||
exit 1
|
||||
fi
|
||||
done
|
@@ -1,207 +0,0 @@
|
||||
const gettextFuncs = new Set([
|
||||
'_',
|
||||
'N_',
|
||||
'C_',
|
||||
'NC_',
|
||||
'dcgettext',
|
||||
'dgettext',
|
||||
'dngettext',
|
||||
'dpgettext',
|
||||
'gettext',
|
||||
'ngettext',
|
||||
'pgettext',
|
||||
]);
|
||||
|
||||
function dirname(file) {
|
||||
const split = file.split('/');
|
||||
split.pop();
|
||||
return split.join('/');
|
||||
}
|
||||
|
||||
const scriptDir = dirname(import.meta.url);
|
||||
const root = dirname(scriptDir);
|
||||
|
||||
const excludedFiles = new Set();
|
||||
const foundFiles = new Set()
|
||||
|
||||
function addExcludes(filename) {
|
||||
const contents = os.file.readFile(filename);
|
||||
const lines = contents.split('\n')
|
||||
.filter(l => l && !l.startsWith('#'));
|
||||
lines.forEach(line => excludedFiles.add(line));
|
||||
}
|
||||
|
||||
addExcludes(`${root}/po/POTFILES.in`);
|
||||
addExcludes(`${root}/po/POTFILES.skip`);
|
||||
|
||||
function walkAst(node, func) {
|
||||
func(node);
|
||||
nodesToWalk(node).forEach(n => walkAst(n, func));
|
||||
}
|
||||
|
||||
function findGettextCalls(node) {
|
||||
switch(node.type) {
|
||||
case 'CallExpression':
|
||||
if (node.callee.type === 'Identifier' &&
|
||||
gettextFuncs.has(node.callee.name))
|
||||
throw new Error();
|
||||
if (node.callee.type === 'MemberExpression' &&
|
||||
node.callee.object.type === 'Identifier' &&
|
||||
node.callee.object.name === 'Gettext' &&
|
||||
node.callee.property.type === 'Identifier' &&
|
||||
gettextFuncs.has(node.callee.property.name))
|
||||
throw new Error();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function nodesToWalk(node) {
|
||||
switch(node.type) {
|
||||
case 'ArrayPattern':
|
||||
case 'BreakStatement':
|
||||
case 'CallSiteObject': // i.e. strings passed to template
|
||||
case 'ContinueStatement':
|
||||
case 'DebuggerStatement':
|
||||
case 'EmptyStatement':
|
||||
case 'Identifier':
|
||||
case 'Literal':
|
||||
case 'MetaProperty': // i.e. new.target
|
||||
case 'Super':
|
||||
case 'ThisExpression':
|
||||
return [];
|
||||
case 'ArrowFunctionExpression':
|
||||
case 'FunctionDeclaration':
|
||||
case 'FunctionExpression':
|
||||
return [...node.defaults, node.body].filter(n => !!n);
|
||||
case 'AssignmentExpression':
|
||||
case 'BinaryExpression':
|
||||
case 'ComprehensionBlock':
|
||||
case 'LogicalExpression':
|
||||
return [node.left, node.right];
|
||||
case 'ArrayExpression':
|
||||
case 'TemplateLiteral':
|
||||
return node.elements.filter(n => !!n);
|
||||
case 'BlockStatement':
|
||||
case 'Program':
|
||||
return node.body;
|
||||
case 'StaticClassBlock':
|
||||
return [node.body];
|
||||
case 'ClassField':
|
||||
return [node.name, node.init];
|
||||
case 'CallExpression':
|
||||
case 'NewExpression':
|
||||
case 'OptionalCallExpression':
|
||||
case 'TaggedTemplate':
|
||||
return [node.callee, ...node.arguments];
|
||||
case 'CatchClause':
|
||||
return [node.body, node.guard].filter(n => !!n);
|
||||
case 'ClassExpression':
|
||||
case 'ClassStatement':
|
||||
return [...node.body, node.superClass].filter(n => !!n);
|
||||
case 'ClassMethod':
|
||||
return [node.name, node.body];
|
||||
case 'ComprehensionExpression':
|
||||
case 'GeneratorExpression':
|
||||
return [node.body, ...node.blocks, node.filter].filter(n => !!n);
|
||||
case 'ComprehensionIf':
|
||||
return [node.test];
|
||||
case 'ComputedName':
|
||||
return [node.name];
|
||||
case 'ConditionalExpression':
|
||||
case 'IfStatement':
|
||||
return [node.test, node.consequent, node.alternate].filter(n => !!n);
|
||||
case 'DoWhileStatement':
|
||||
case 'WhileStatement':
|
||||
return [node.body, node.test];
|
||||
case 'ExportDeclaration':
|
||||
return [node.declaration, node.source].filter(n => !!n);
|
||||
case 'ImportDeclaration':
|
||||
return [...node.specifiers, node.source];
|
||||
case 'LetStatement':
|
||||
return [...node.head, node.body];
|
||||
case 'ExpressionStatement':
|
||||
return [node.expression];
|
||||
case 'ForInStatement':
|
||||
case 'ForOfStatement':
|
||||
return [node.body, node.left, node.right];
|
||||
case 'ForStatement':
|
||||
return [node.init, node.test, node.update, node.body].filter(n => !!n);
|
||||
case 'LabeledStatement':
|
||||
return [node.body];
|
||||
case 'MemberExpression':
|
||||
return [node.object, node.property];
|
||||
case 'ObjectExpression':
|
||||
case 'ObjectPattern':
|
||||
return node.properties;
|
||||
case 'OptionalExpression':
|
||||
return [node.expression];
|
||||
case 'OptionalMemberExpression':
|
||||
return [node.object, node.property];
|
||||
case 'Property':
|
||||
case 'PrototypeMutation':
|
||||
return [node.value];
|
||||
case 'ReturnStatement':
|
||||
case 'ThrowStatement':
|
||||
case 'UnaryExpression':
|
||||
case 'UpdateExpression':
|
||||
case 'YieldExpression':
|
||||
return node.argument ? [node.argument] : [];
|
||||
case 'SequenceExpression':
|
||||
return node.expressions;
|
||||
case 'SpreadExpression':
|
||||
return [node.expression];
|
||||
case 'SwitchCase':
|
||||
return [node.test, ...node.consequent].filter(n => !!n);
|
||||
case 'SwitchStatement':
|
||||
return [node.discriminant, ...node.cases];
|
||||
case 'TryStatement':
|
||||
return [node.block, node.handler, node.finalizer].filter(n => !!n);
|
||||
case 'VariableDeclaration':
|
||||
return node.declarations;
|
||||
case 'VariableDeclarator':
|
||||
return node.init ? [node.init] : [];
|
||||
case 'WithStatement':
|
||||
return [node.object, node.body];
|
||||
default:
|
||||
print(`Ignoring ${node.type}, you should probably fix this in the script`);
|
||||
}
|
||||
}
|
||||
|
||||
function walkDir(dir) {
|
||||
os.file.listDir(dir).forEach(child => {
|
||||
if (child.startsWith('.'))
|
||||
return;
|
||||
|
||||
const path = os.path.join(dir, child);
|
||||
const relativePath = path.replace(`${root}/`, '');
|
||||
if (excludedFiles.has(relativePath))
|
||||
return;
|
||||
|
||||
if (!child.endsWith('.js')) {
|
||||
try {
|
||||
walkDir(path);
|
||||
} catch (e) {
|
||||
// not a directory
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const script = os.file.readFile(path);
|
||||
const ast = Reflect.parse(script);
|
||||
walkAst(ast, findGettextCalls);
|
||||
} catch (e) {
|
||||
foundFiles.add(path);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
walkDir(root);
|
||||
|
||||
if (foundFiles.size === 0)
|
||||
quit(0);
|
||||
|
||||
print('The following files are missing from po/POTFILES.in:')
|
||||
foundFiles.forEach(f => print(` ${f}`));
|
||||
quit(1);
|
@@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
srcdirs="src subprojects/extensions-tool"
|
||||
uidirs="js subprojects/extensions-app"
|
||||
|
||||
# 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)
|
||||
|
||||
# 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,19 +1,11 @@
|
||||
#!/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
|
||||
git clone https://gitlab.gnome.org/GNOME/mutter.git
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo Checkout failed
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -23,46 +15,18 @@ 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
|
||||
echo Looking for $merge_request_branch on remote ...
|
||||
if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then
|
||||
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
|
||||
mutter_target=origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
echo Using $mutter_target instead
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$mutter_target" ]; then
|
||||
echo -n Looking for $CI_COMMIT_REF_NAME on remote ...
|
||||
if fetch origin $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
|
||||
mutter_target=$(git branch -r -l origin/$CI_COMMIT_REF_NAME)
|
||||
mutter_target=${mutter_target:-origin/master}
|
||||
echo Using $mutter_target instead
|
||||
fi
|
||||
|
||||
|
@@ -1,16 +0,0 @@
|
||||
patterns:
|
||||
deny:
|
||||
- regex: '^$CI_MERGE_REQUEST_PROJECT_URL/(-/)?merge_requests/$CI_MERGE_REQUEST_IID$'
|
||||
message: Commit message must not contain a link to its own merge request
|
||||
- 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
|
@@ -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,34 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [[ $# -lt 4 ]]; then
|
||||
echo Usage: $0 [options] [repo-url] [commit] [subdir]
|
||||
echo Options:
|
||||
echo -Dkey=val
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MESON_OPTIONS=()
|
||||
|
||||
while [[ $1 =~ ^-D ]]; do
|
||||
MESON_OPTIONS+=( "$1" )
|
||||
shift
|
||||
done
|
||||
|
||||
REPO_URL="$1"
|
||||
COMMIT="$2"
|
||||
SUBDIR="$3"
|
||||
PREPARE="$4"
|
||||
|
||||
REPO_DIR="$(basename ${REPO_URL%.git})"
|
||||
|
||||
git clone --depth 1 "$REPO_URL" -b "$COMMIT"
|
||||
pushd "$REPO_DIR"
|
||||
pushd "$SUBDIR"
|
||||
sh -c "$PREPARE"
|
||||
meson --prefix=/usr _build "${MESON_OPTIONS[@]}"
|
||||
meson install -C _build
|
||||
popd
|
||||
popd
|
||||
rm -rf "$REPO_DIR"
|
@@ -1,128 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const { ESLint } = require('eslint');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { spawn } = require('child_process');
|
||||
|
||||
function createConfig(config) {
|
||||
const options = {
|
||||
cache: true,
|
||||
cacheLocation: `.eslintcache-${config}`,
|
||||
};
|
||||
|
||||
if (config === 'legacy')
|
||||
options.overrideConfigFile='lint/eslintrc-legacy.yml';
|
||||
|
||||
return new ESLint(options);
|
||||
}
|
||||
|
||||
function git(...args) {
|
||||
const git = spawn('git', args, { stdio: ['ignore', null, 'ignore'] });
|
||||
git.stdout.setEncoding('utf8');
|
||||
|
||||
return new Promise(resolve => {
|
||||
let out = '';
|
||||
git.stdout.on('data', chunk => out += chunk);
|
||||
git.stdout.on('end', () => resolve(out.trim()));
|
||||
});
|
||||
}
|
||||
|
||||
function createCommon(report1, report2, ignoreColumn=false) {
|
||||
return report1.map(result => {
|
||||
const { filePath, messages } = result;
|
||||
const match =
|
||||
report2.find(r => r.filePath === filePath) || { messages: [] };
|
||||
|
||||
const filteredMessages = messages.filter(
|
||||
msg => match.messages.some(
|
||||
m => m.line === msg.line && (ignoreColumn || m.column === msg.column)));
|
||||
|
||||
const [errorCount, warningCount] = filteredMessages.reduce(
|
||||
([e, w], msg) => {
|
||||
return [
|
||||
e + Number(msg.severity === 2),
|
||||
w + Number(msg.severity === 1)];
|
||||
}, [0, 0]);
|
||||
|
||||
return {
|
||||
filePath,
|
||||
messages: filteredMessages,
|
||||
errorCount,
|
||||
warningCount,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
async function getMergeRequestChanges(remote, branch) {
|
||||
await git('fetch', remote, branch);
|
||||
const branchPoint = await git('merge-base', 'HEAD', 'FETCH_HEAD');
|
||||
const diff = await git('diff', '-U0', `${branchPoint}...HEAD`);
|
||||
|
||||
const report = [];
|
||||
let messages = null;
|
||||
for (const line of diff.split('\n')) {
|
||||
if (line.startsWith('+++ b/')) {
|
||||
const filePath = path.resolve(line.substring(6));
|
||||
messages = filePath.endsWith('.js') ? [] : null;
|
||||
if (messages)
|
||||
report.push({ filePath, messages });
|
||||
} else if (messages && line.startsWith('@@ ')) {
|
||||
[, , changes] = line.split(' ');
|
||||
[start, count] = `${changes},1`.split(',').map(i => parseInt(i));
|
||||
for (let i = start; i < start + count; i++)
|
||||
messages.push({ line: i });
|
||||
}
|
||||
}
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
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 remote = getOption('--remote') || 'origin';
|
||||
const branch = getOption('--branch', '-b');
|
||||
|
||||
const sources = ['js', 'subprojects/extensions-app/js'];
|
||||
const regular = createConfig('regular');
|
||||
|
||||
const ops = [];
|
||||
ops.push(regular.lintFiles(sources));
|
||||
if (branch)
|
||||
ops.push(getMergeRequestChanges(remote, branch));
|
||||
else
|
||||
ops.push(createConfig('legacy').lintFiles(sources));
|
||||
|
||||
const results = await Promise.all(ops);
|
||||
const commonResults = createCommon(...results, branch !== undefined);
|
||||
|
||||
const formatter = await regular.loadFormatter(getOption('--format', '-f'));
|
||||
const resultText = formatter.format(commonResults);
|
||||
|
||||
if (outputPath) {
|
||||
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
||||
fs.writeFileSync(outputPath, resultText);
|
||||
} else {
|
||||
console.log(resultText);
|
||||
}
|
||||
|
||||
process.exitCode = commonResults.some(r => r.errorCount > 0) ? 1 : 0;
|
||||
})().catch((error) => {
|
||||
process.exitCode = 1;
|
||||
console.error(error);
|
||||
});
|
114
.gitlab-ci/run-eslint.sh
Executable file
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
OUTPUT_REGULAR=reports/lint-regular-report.txt
|
||||
OUTPUT_LEGACY=reports/lint-legacy-report.txt
|
||||
OUTPUT_FINAL=reports/lint-common-report.txt
|
||||
|
||||
OUTPUT_MR=reports/lint-mr-report.txt
|
||||
|
||||
LINE_CHANGES=changed-lines.txt
|
||||
|
||||
is_empty() {
|
||||
(! grep -q . $1)
|
||||
}
|
||||
|
||||
run_eslint() {
|
||||
ARGS_LEGACY='--config lint/eslintrc-legacy.yml'
|
||||
|
||||
local extra_args=ARGS_$1
|
||||
local output_var=OUTPUT_$1
|
||||
local output=${!output_var}
|
||||
|
||||
# ensure output exists even if eslint doesn't report any errors
|
||||
mkdir -p $(dirname $output)
|
||||
touch $output
|
||||
|
||||
eslint -f unix ${!extra_args} -o $output js
|
||||
}
|
||||
|
||||
list_commit_range_additions() {
|
||||
# Turn raw context-less git-diff into a list of
|
||||
# filename:lineno pairs of new (+) lines
|
||||
git diff -U0 "$@" -- js |
|
||||
awk '
|
||||
BEGIN { file=""; }
|
||||
/^+++ b/ { file=substr($0,7); }
|
||||
/^@@ / {
|
||||
len = split($3,a,",")
|
||||
start=a[1]
|
||||
count=(len > 1) ? a[2] : 1
|
||||
|
||||
for (line=start; line<start+count; line++)
|
||||
printf "%s/%s:%d:\n",ENVIRON["PWD"],file,line;
|
||||
}'
|
||||
}
|
||||
|
||||
copy_matched_lines() {
|
||||
local source=$1
|
||||
local matches=$2
|
||||
local target=$3
|
||||
|
||||
echo -n > $target
|
||||
for l in $(<$matches); do
|
||||
grep $l $source >> $target
|
||||
done
|
||||
}
|
||||
|
||||
create_common() {
|
||||
# comm requires sorted input;
|
||||
# we also strip the error message to make the following a "common" error:
|
||||
# regular:
|
||||
# file.js:42:23 Indentation of 55, expected 42
|
||||
# legacy:
|
||||
# file.js:42:23 Indentation of 55, extected 24
|
||||
prepare() {
|
||||
sed 's: .*::' $1 | sort
|
||||
}
|
||||
|
||||
comm -12 <(prepare $OUTPUT_REGULAR) <(prepare $OUTPUT_LEGACY) >$OUTPUT_FINAL.tmp
|
||||
|
||||
# Now add back the stripped error messages
|
||||
copy_matched_lines $OUTPUT_REGULAR $OUTPUT_FINAL.tmp $OUTPUT_FINAL
|
||||
rm $OUTPUT_FINAL.tmp
|
||||
}
|
||||
|
||||
# Disable MR handling for now. We aren't ready to enforce
|
||||
# non-legacy style just yet ...
|
||||
unset CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
REMOTE=${1:-$CI_MERGE_REQUEST_PROJECT_URL.git}
|
||||
BRANCH_NAME=${2:-$CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
|
||||
|
||||
if [ "$BRANCH_NAME" ]; then
|
||||
git fetch $REMOTE $BRANCH_NAME
|
||||
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||
commit_range=$branch_point...HEAD
|
||||
|
||||
list_commit_range_additions $commit_range > $LINE_CHANGES
|
||||
|
||||
# Don't bother with running lint when no JS changed
|
||||
if is_empty $LINE_CHANGES; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo Generating lint report using regular configuration
|
||||
run_eslint REGULAR
|
||||
echo Generating lint report using legacy configuration
|
||||
run_eslint LEGACY
|
||||
echo Done.
|
||||
create_common
|
||||
|
||||
if ! is_empty $OUTPUT_FINAL; then
|
||||
cat $OUTPUT_FINAL
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Just show the report and succeed when not testing a MR
|
||||
if [ -z "$BRANCH_NAME" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
copy_matched_lines $OUTPUT_REGULAR $LINE_CHANGES $OUTPUT_MR
|
||||
cat $OUTPUT_MR
|
||||
is_empty $OUTPUT_MR
|
@@ -8,7 +8,7 @@ first to ensure that you create a clear and specific issue.
|
||||
<!--
|
||||
Provide at least the following information:
|
||||
* Your OS and version
|
||||
* Affected GNOME Shell version (see https://wiki.gnome.org/Schedule for currently supported versions)
|
||||
* Affected GNOME Shell version
|
||||
* Does this issue appear in XOrg and/or Wayland
|
||||
-->
|
||||
|
||||
|
2
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
||||
[submodule "subprojects/gvc"]
|
||||
path = subprojects/gvc
|
||||
url = ../../GNOME/libgnome-volume-control.git
|
||||
url = https://gitlab.gnome.org/GNOME/libgnome-volume-control.git
|
||||
|
@@ -1 +0,0 @@
|
||||
js/ui/init.js
|
@@ -131,7 +131,7 @@ whenever possible, that is when not inheriting from GObjects.
|
||||
};
|
||||
```
|
||||
|
||||
For GObject inheritance, we use the GObject.registerClass() function provided
|
||||
For GObject inheritence, we use the GObject.registerClass() function provided
|
||||
by gjs.
|
||||
```javascript
|
||||
var MyActor = GObject.registerClass(
|
||||
|
17
README.md
@@ -1,5 +1,5 @@
|
||||
# GNOME Shell
|
||||
GNOME Shell provides core user interface functions for the GNOME desktop,
|
||||
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
|
||||
@@ -10,7 +10,6 @@ to build GNOME Shell from source and how to get involved with the project,
|
||||
see the [project wiki][project-wiki].
|
||||
|
||||
Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
|
||||
Please refer to the [*Schedule* wiki page][schedule] to see the supported versions.
|
||||
|
||||
## Contributing
|
||||
|
||||
@@ -20,24 +19,10 @@ Commit messages should follow the [GNOME commit message
|
||||
guidelines](https://wiki.gnome.org/Git/CommitMessages). We require an URL
|
||||
to either an issue or a merge request in each commit.
|
||||
|
||||
## Default branch
|
||||
|
||||
The default development branch is `main`. If you still have a local
|
||||
checkout under the old name, use:
|
||||
```sh
|
||||
git checkout master
|
||||
git branch -m master main
|
||||
git fetch
|
||||
git branch --unset-upstream
|
||||
git branch -u origin/main
|
||||
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
[project-wiki]: https://wiki.gnome.org/Projects/GnomeShell
|
||||
[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
|
||||
[schedule]: https://wiki.gnome.org/Schedule
|
||||
[license]: COPYING
|
||||
|
@@ -79,7 +79,7 @@ def parse_rows(keymap):
|
||||
reverse=True):
|
||||
row = []
|
||||
for key in sorted(v, key=lambda x: x):
|
||||
row.append({ 'strings': key[1] })
|
||||
row.append(key[1])
|
||||
rows.append(row)
|
||||
|
||||
return rows
|
||||
@@ -123,7 +123,7 @@ def locale_to_xkb(locale, name):
|
||||
if xkb:
|
||||
return xkb
|
||||
else:
|
||||
raise KeyError("layout %s explicitly disabled in overrides"
|
||||
raise KeyError("layout %s explicitely disabled in overrides"
|
||||
% locale)
|
||||
xkb_names = sorted(name_to_xkb.keys())
|
||||
if name in xkb_names:
|
||||
@@ -161,16 +161,12 @@ def convert_file(source_file, destination_path):
|
||||
try:
|
||||
xkb_name = locale_to_xkb(root["locale"], root["name"])
|
||||
except KeyError as e:
|
||||
logging.warning(e)
|
||||
logging.warn(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
|
||||
with open(destination_file, 'w', encoding="utf-8") as dest_fd:
|
||||
json.dump(root, dest_fd, ensure_ascii=False, indent=2, sort_keys=True)
|
||||
|
||||
logging.debug("written %s", destination_file)
|
||||
|
@@ -13,9 +13,6 @@
|
||||
/* 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
|
||||
|
||||
@@ -33,6 +30,3 @@
|
||||
|
||||
/* Define if fdwalk is available in libc */
|
||||
#mesondefine HAVE_FDWALK
|
||||
|
||||
/* Define if polkit defines autocleanup functions */
|
||||
#mesondefine HAVE_POLKIT_AUTOCLEANUP
|
||||
|
@@ -1,45 +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 favorite application 1"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-2"
|
||||
description="Activate favorite application 2"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-3"
|
||||
description="Activate favorite application 3"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-4"
|
||||
description="Activate favorite application 4"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-5"
|
||||
description="Activate favorite application 5"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-6"
|
||||
description="Activate favorite application 6"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-7"
|
||||
description="Activate favorite application 7"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-8"
|
||||
description="Activate favorite application 8"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-9"
|
||||
description="Activate favorite application 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,75 +1,33 @@
|
||||
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:
|
||||
Updating these involves several steps:
|
||||
|
||||
1) Downloading and unzipping the tarball found at:
|
||||
http://www.unicode.org/Public/cldr/latest/keyboards.zip
|
||||
|
||||
This file contains XML files describing the keyboard layouts.
|
||||
|
||||
2) Cloning the cldr2json script at:
|
||||
git://repo.or.cz/cldr2json.git
|
||||
|
||||
It will be used to convert the XML files into JSON that can be
|
||||
directly consumed by gnome-shell.
|
||||
|
||||
3) Running the script to produce the files:
|
||||
./cldr2json <input-directory> <output-directory>
|
||||
|
||||
We shall usually use the "android" folder, since that's most
|
||||
complete, and similar to our UI and target sizes. And the target
|
||||
directory must be data/osk-layouts in this repository.
|
||||
|
||||
4) Modify gnome-shell-osk-layouts.gresource.xml to include the files
|
||||
|
||||
5) Do git add on the updated/new files, and git commit.
|
||||
|
||||
|
||||
Or alternatively:
|
||||
|
||||
1) Run update-osk-layouts.sh
|
||||
|
||||
2) 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.
|
||||
- width (Double): Relative width of the key in the
|
||||
row. 1 is for a square key. Multiples of 0.5 are
|
||||
accepted.
|
||||
- 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,76 +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.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 "PerformanceInhibited" 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 "/net/hadess/PowerProfiles".
|
||||
-->
|
||||
<interface name="net.hadess.PowerProfiles">
|
||||
<!--
|
||||
ActiveProfile:
|
||||
|
||||
The type of the currently active profile. It might change automatically
|
||||
if the "performance" profile was selected but it got inhibited, in which
|
||||
case the "PerformanceInhibited" property will reflect the reason.
|
||||
-->
|
||||
<property name="ActiveProfile" type="s" access="readwrite"/>
|
||||
|
||||
<!--
|
||||
PerformanceInhibited:
|
||||
|
||||
This will be set if the performance power profile is unavailable, with
|
||||
the value being used to identify the reason for unavailability. 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 inhibited)
|
||||
-->
|
||||
<property name="PerformanceInhibited" 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.
|
||||
-->
|
||||
<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"/>
|
||||
|
||||
</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>
|
@@ -20,12 +20,6 @@
|
||||
<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>
|
||||
|
26
data/dbus-interfaces/org.gnome.Magnifier.ZoomRegion.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<node>
|
||||
<interface name="org.gnome.Magnifier.ZoomRegion">
|
||||
<method name="setMagFactor">
|
||||
<arg type="d" direction="in"/>
|
||||
<arg type="d" direction="in"/>
|
||||
</method>
|
||||
<method name="getMagFactor">
|
||||
<arg type="d" direction="out"/>
|
||||
<arg type="d" direction="out"/>
|
||||
</method>
|
||||
<method name="setRoi">
|
||||
<arg type="ai" direction="in"/>
|
||||
</method>
|
||||
<method name="getRoi">
|
||||
<arg type="ai" direction="out"/>
|
||||
</method>
|
||||
<method name="shiftContentsTo">
|
||||
<arg type="i" direction="in"/>
|
||||
<arg type="i" direction="in"/>
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="moveResize">
|
||||
<arg type="ai" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
54
data/dbus-interfaces/org.gnome.Magnifier.xml
Normal file
@@ -0,0 +1,54 @@
|
||||
<node>
|
||||
<interface name="org.gnome.Magnifier">
|
||||
<method name="setActive">
|
||||
<arg type="b" direction="in"/>
|
||||
</method>
|
||||
<method name="isActive">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="showCursor"/>
|
||||
<method name="hideCursor"/>
|
||||
<method name="createZoomRegion">
|
||||
<arg type="d" direction="in"/>
|
||||
<arg type="d" direction="in"/>
|
||||
<arg type="ai" direction="in"/>
|
||||
<arg type="ai" direction="in"/>
|
||||
<arg type="o" direction="out"/>
|
||||
</method>
|
||||
<method name="addZoomRegion">
|
||||
<arg type="o" direction="in"/>
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="getZoomRegions">
|
||||
<arg type="ao" direction="out"/>
|
||||
</method>
|
||||
<method name="clearAllZoomRegions"/>
|
||||
<method name="fullScreenCapable">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireSize">
|
||||
<arg type="i" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireSize">
|
||||
<arg type="i" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireLength">
|
||||
<arg type="i" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireLength">
|
||||
<arg type="i" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireClip">
|
||||
<arg type="b" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireClip">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireColor">
|
||||
<arg type="u" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireColor">
|
||||
<arg type="u" direction="out"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
@@ -1,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>
|
@@ -3,9 +3,6 @@
|
||||
<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>
|
||||
|
@@ -1,7 +1,6 @@
|
||||
<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"/>
|
||||
|
@@ -1,19 +1,12 @@
|
||||
<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 name="GetEvents">
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="a(sssbxxa{sv})" direction="out" />
|
||||
</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" />
|
||||
<signal name="Changed" />
|
||||
</interface>
|
||||
</node>
|
||||
|
@@ -180,10 +180,10 @@
|
||||
|
||||
Enable an extension.
|
||||
-->
|
||||
<method name="EnableExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="EnableExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
|
||||
<!--
|
||||
DisableExtension:
|
||||
@@ -192,44 +192,21 @@
|
||||
|
||||
Disable an extension.
|
||||
-->
|
||||
<method name="DisableExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="DisableExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
|
||||
<!--
|
||||
LaunchExtensionPrefs:
|
||||
Deprecated for OpenExtensionPrefs
|
||||
@uuid: The UUID of the extension
|
||||
|
||||
Launch preferences of an extension.
|
||||
-->
|
||||
<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
|
||||
@@ -257,11 +234,5 @@
|
||||
-->
|
||||
<property name="ShellVersion" type="s" access="read"/>
|
||||
|
||||
<!--
|
||||
UserExtensionsEnabled:
|
||||
Whether user extensions are enabled
|
||||
-->
|
||||
<property name="UserExtensionsEnabled" type="b" access="readwrite"/>
|
||||
|
||||
</interface>
|
||||
</node>
|
||||
|
@@ -18,12 +18,6 @@
|
||||
-->
|
||||
<signal name="RunningApplicationsChanged" />
|
||||
|
||||
<!--
|
||||
WindowsChanged:
|
||||
@short_description: Notifies when any window opens or closes
|
||||
-->
|
||||
<signal name="WindowsChanged" />
|
||||
|
||||
<!--
|
||||
GetRunningApplications:
|
||||
@short_description: Retrieves the description of all running applications
|
||||
@@ -63,27 +57,5 @@
|
||||
<method name="GetWindows">
|
||||
<arg name="windows" direction="out" type="a{ta{sv}}" />
|
||||
</method>
|
||||
|
||||
<!--
|
||||
AnimationsEnabled:
|
||||
@short_description: Whether the shell animations are enabled
|
||||
|
||||
By default determined by the org.gnome.desktop.interface enable-animations
|
||||
gsetting, but may be overridden, e.g. if there is an active screen cast or
|
||||
remote desktop session that asked for animations to be disabled.
|
||||
|
||||
Since: 2
|
||||
-->
|
||||
<property name="AnimationsEnabled" type="b" access="read"/>
|
||||
|
||||
<!--
|
||||
ScreenSize:
|
||||
@short_description: The size of the screen
|
||||
|
||||
Since: 3
|
||||
-->
|
||||
<property name="ScreenSize" type="(ii)" access="read"/>
|
||||
|
||||
<property name="version" type="u" access="read"/>
|
||||
</interface>
|
||||
</node>
|
||||
|
@@ -35,7 +35,6 @@
|
||||
<arg type="au" direction="in" name="action"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
<method name="ScreenTransition"/>
|
||||
<signal name="AcceleratorActivated">
|
||||
<arg name="action" type="u"/>
|
||||
<arg name="parameters" type="a{sv}"/>
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<node>
|
||||
<interface name="org.gtk.Notifications">
|
||||
<method name="AddNotification">
|
||||
<arg name="app_id" type="s" direction="in"/>
|
||||
<arg name="id" type="s" direction="in"/>
|
||||
<arg name="notification" type="a{sv}" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="a{sv}" direction="in"/>
|
||||
</method>
|
||||
<method name="RemoveNotification">
|
||||
<arg name="app_id" type="s" direction="in"/>
|
||||
<arg name="id" type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
<arg type="s" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
||||
|
@@ -1,10 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/org/gnome/shell/dbus-interfaces">
|
||||
<file preprocess="xml-stripblanks">net.hadess.PowerProfiles.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.hadess.SensorProxy.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.reactivated.Fprint.Device.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.reactivated.Fprint.Manager.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.hadess.SwitcherooControl.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.Application.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file>
|
||||
@@ -29,7 +27,8 @@
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.realmd.Service.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.UPower.Device.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.UPower.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.Mutter.ScreenCast.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.Magnifier.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.Magnifier.ZoomRegion.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.ScreenSaver.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.EndSessionDialog.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.Inhibitor.xml</file>
|
||||
|
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/org/gnome/shell/icons">
|
||||
<file>scalable/actions/color-pick.svg</file>
|
||||
<file>scalable/actions/carousel-arrow-next-symbolic.svg</file>
|
||||
<file>scalable/actions/carousel-arrow-previous-symbolic.svg</file>
|
||||
<file>scalable/actions/dark-mode-symbolic.svg</file>
|
||||
<file>scalable/actions/pointer-double-click-symbolic.svg</file>
|
||||
<file>scalable/actions/pointer-drag-symbolic.svg</file>
|
||||
<file>scalable/actions/pointer-primary-click-symbolic.svg</file>
|
||||
<file>scalable/actions/pointer-secondary-click-symbolic.svg</file>
|
||||
<file>scalable/actions/preview-close-symbolic.svg</file>
|
||||
<file>scalable/actions/screenshot-ui-area-symbolic.svg</file>
|
||||
<file>scalable/actions/screenshot-ui-display-symbolic.svg</file>
|
||||
<file>scalable/actions/screenshot-ui-show-pointer-symbolic.svg</file>
|
||||
<file>scalable/actions/screenshot-ui-window-symbolic.svg</file>
|
||||
<file>scalable/actions/record-screen-symbolic.svg</file>
|
||||
<file>scalable/actions/screencast-recorded-symbolic.svg</file>
|
||||
<file>scalable/actions/screenshot-recorded-symbolic.svg</file>
|
||||
<file>scalable/status/keyboard-caps-lock-symbolic.svg</file>
|
||||
<file>scalable/status/keyboard-enter-symbolic.svg</file>
|
||||
<file>scalable/status/keyboard-hide-symbolic.svg</file>
|
||||
<file>scalable/status/keyboard-layout-symbolic.svg</file>
|
||||
<file>scalable/status/keyboard-shift-symbolic.svg</file>
|
||||
<file>scalable/status/message-indicator-symbolic.svg</file>
|
||||
<file>scalable/status/no-events-symbolic.svg</file>
|
||||
<file>scalable/status/no-notifications-symbolic.svg</file>
|
||||
<file>scalable/status/screen-privacy-disabled-symbolic.svg</file>
|
||||
<file>scalable/status/screen-privacy-symbolic.svg</file>
|
||||
<file>scalable/status/stop-symbolic.svg</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
@@ -3,13 +3,10 @@
|
||||
<gresource prefix="/org/gnome/shell/osk-layouts">
|
||||
<file>am.json</file>
|
||||
<file>ara.json</file>
|
||||
<file>at.json</file>
|
||||
<file>be.json</file>
|
||||
<file>bg.json</file>
|
||||
<file>by.json</file>
|
||||
<file>ca.json</file>
|
||||
<file>ch.json</file>
|
||||
<file>ch+fr.json</file>
|
||||
<file>cz.json</file>
|
||||
<file>de.json</file>
|
||||
<file>dk.json</file>
|
||||
@@ -33,7 +30,6 @@
|
||||
<file>ke.json</file>
|
||||
<file>kg.json</file>
|
||||
<file>kh.json</file>
|
||||
<file>kr.json</file>
|
||||
<file>la.json</file>
|
||||
<file>latam.json</file>
|
||||
<file>lt.json</file>
|
||||
@@ -57,7 +53,6 @@
|
||||
<file>ua.json</file>
|
||||
<file>uk.json</file>
|
||||
<file>us.json</file>
|
||||
<file>us-extended.json</file>
|
||||
<file>vn.json</file>
|
||||
<file>za.json</file>
|
||||
<file>emoji.json</file>
|
||||
|
4
data/gnome-shell-overrides.convert
Normal file
@@ -0,0 +1,4 @@
|
||||
[org.gnome.shell.overrides]
|
||||
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
|
||||
edge-tiling = /desktop/gnome/shell/windows/edge_tiling
|
||||
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary
|
@@ -2,24 +2,35 @@
|
||||
<gresources>
|
||||
<gresource prefix="/org/gnome/shell/theme">
|
||||
<file>calendar-today.svg</file>
|
||||
<file>calendar-today-light.svg</file>
|
||||
<file>checkbox.svg</file>
|
||||
<file>checkbox-focused.svg</file>
|
||||
<file>checkbox-off-focused-light.svg</file>
|
||||
<file>checkbox-off-focused.svg</file>
|
||||
<file>checkbox-off-light.svg</file>
|
||||
<file>checkbox-off.svg</file>
|
||||
<file>checkbox.svg</file>
|
||||
<file>dash-placeholder.svg</file>
|
||||
<file>gnome-shell.css</file>
|
||||
<file>gnome-shell-high-contrast.css</file>
|
||||
<file>gnome-shell-start.svg</file>
|
||||
<file>key-enter.svg</file>
|
||||
<file>key-hide.svg</file>
|
||||
<file>key-layout.svg</file>
|
||||
<file>key-shift.svg</file>
|
||||
<file>key-shift-uppercase.svg</file>
|
||||
<file>key-shift-latched-uppercase.svg</file>
|
||||
<file alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
||||
<file>no-events.svg</file>
|
||||
<file>no-notifications.svg</file>
|
||||
<file>pad-osd.css</file>
|
||||
<file alias="icons/eye-open-negative-filled-symbolic.svg">eye-open-negative-filled-symbolic.svg</file>
|
||||
<file alias="icons/eye-not-looking-symbolic.svg">eye-not-looking-symbolic.svg</file>
|
||||
<file alias="icons/pointer-double-click-symbolic.svg">pointer-double-click-symbolic.svg</file>
|
||||
<file alias="icons/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file>
|
||||
<file alias="icons/pointer-primary-click-symbolic.svg">pointer-primary-click-symbolic.svg</file>
|
||||
<file alias="icons/pointer-secondary-click-symbolic.svg">pointer-secondary-click-symbolic.svg</file>
|
||||
<file>process-working.svg</file>
|
||||
<file>toggle-off.svg</file>
|
||||
<file>toggle-off-dark.svg</file>
|
||||
<file>toggle-off-hc.svg</file>
|
||||
<file>toggle-off-light.svg</file>
|
||||
<file>toggle-on.svg</file>
|
||||
<file>toggle-on-dark.svg</file>
|
||||
<file>toggle-on-hc.svg</file>
|
||||
<file>toggle-on-light.svg</file>
|
||||
<file>workspace-placeholder.svg</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
27
data/gnome-shell-wayland.service.in
Normal file
@@ -0,0 +1,27 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on Wayland
|
||||
# On wayland, force a session shutdown
|
||||
OnFailure=gnome-shell-disable-extensions.service gnome-session-shutdown.target
|
||||
OnFailureJobMode=replace-irreversibly
|
||||
CollectMode=inactive-or-failed
|
||||
RefuseManualStart=on
|
||||
RefuseManualStop=on
|
||||
|
||||
After=gnome-session-manager.target
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
# The units already conflict because they use the same BusName
|
||||
#Conflicts=gnome-shell-x11.service
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
ExecStart=@bindir@/gnome-shell
|
||||
# Exit code 1 means we are probably *not* dealing with an extension failure
|
||||
SuccessExitStatus=1
|
||||
# On wayland we cannot restart
|
||||
Restart=no
|
||||
# Kill any stubborn child processes after this long
|
||||
TimeoutStopSec=5
|
10
data/gnome-shell-wayland.target
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on Wayland
|
||||
DefaultDependencies=no
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
Requires=gnome-shell-wayland.service
|
||||
After=gnome-shell-wayland.service
|
@@ -1,7 +1,7 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on X11
|
||||
# On X11, try to show the GNOME Session Failed screen
|
||||
OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-failed.target
|
||||
OnFailure=gnome-shell-disable-extensions.service gnome-session-failed.target
|
||||
OnFailureJobMode=replace
|
||||
CollectMode=inactive-or-failed
|
||||
RefuseManualStart=on
|
||||
@@ -13,24 +13,18 @@ Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
# The units already conflict because they use the same BusName
|
||||
#Conflicts=gnome-shell-wayland.service
|
||||
|
||||
# Limit startup frequency more than the default
|
||||
StartLimitIntervalSec=15s
|
||||
StartLimitBurst=3
|
||||
|
||||
[Service]
|
||||
Slice=session.slice
|
||||
Type=notify
|
||||
# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in
|
||||
# the [Unit] section with systemd >= 246. Also, the current solution is
|
||||
# kind of painful as systemd had a bug where it retries the condition.
|
||||
# Only start if the template instance matches the session type.
|
||||
ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2'
|
||||
ExecStart=@bindir@/gnome-shell
|
||||
# Exit code 1 means we are probably *not* dealing with an extension failure
|
||||
SuccessExitStatus=1
|
||||
|
||||
# On X11 we do not need to unset any variables
|
||||
|
||||
# On X11 we want to restart on-success (Alt+F2 + r) and on-failure.
|
||||
Restart=always
|
||||
# Do not wait before restarting the shell
|
@@ -1,10 +1,10 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell
|
||||
Description=GNOME Shell on X11
|
||||
DefaultDependencies=no
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
Wants=org.gnome.Shell@wayland.service
|
||||
Wants=org.gnome.Shell@x11.service
|
||||
Requires=gnome-shell-x11.service
|
||||
After=gnome-shell-x11.service
|
@@ -1,4 +1,4 @@
|
||||
[portal]
|
||||
DBusName=org.gnome.Shell.Portal
|
||||
DBusName=org.freedesktop.impl.portal.desktop.gnome
|
||||
Interfaces=org.freedesktop.impl.portal.Access
|
||||
UseIn=gnome
|
||||
|
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128px" height="128px" viewBox="0 0 128 128" version="1.1">
|
||||
<g id="surface43907">
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(10.196079%,37.254903%,70.588237%);fill-opacity:1;" d="M 58.847656 15.683594 L 49.074219 30.632812 C 46.921875 33.84375 42.480469 36.65625 39.378906 35.300781 C 34.488281 33.164062 35.859375 28.144531 31.28125 25.292969 C 28.070312 23.292969 16.839844 20.449219 14.804688 27.644531 C 13.761719 31.339844 14.480469 37.410156 17.398438 41.019531 C 20.164062 44.441406 26.8125 43.355469 28.898438 47.230469 C 30.34375 49.925781 29.738281 51.628906 28.347656 54.351562 C 26.796875 57.375 22.839844 61.359375 19.265625 64.585938 C 17.480469 66.199219 13.273438 65.710938 12.03125 66.730469 C 11.753906 66.949219 12.511719 70.285156 12.511719 70.285156 C 12.511719 70.285156 19.90625 82.707031 25.539062 87.285156 C 27.773438 89.101562 30.089844 91.808594 32.742188 90.695312 C 36.035156 89.316406 35.304688 82.289062 37.644531 79.597656 C 41.976562 74.605469 50.292969 73.761719 55.582031 78.144531 C 61.277344 82.867188 60.882812 89.472656 57.941406 94.683594 C 55.175781 99.578125 49.472656 98.453125 47.484375 102.28125 C 46.730469 103.730469 47.578125 105.664062 48.765625 106.785156 C 54.628906 112.335938 71.210938 118.988281 71.210938 118.988281 L 81.605469 102.429688 C 83.757812 99.222656 86.707031 97.742188 90.011719 98.46875 C 94.605469 99.472656 95.160156 105.945312 98.914062 108.785156 C 103.195312 112.019531 110.546875 111.765625 114.351562 105.753906 C 117.128906 101.371094 116.761719 97.449219 113.765625 91.414062 C 111.808594 87.476562 103.253906 89.382812 101.171875 85.507812 C 99.722656 82.8125 99.992188 80.214844 101.859375 77.796875 C 106.332031 72 117.003906 62.699219 117.003906 62.699219 C 117.003906 62.699219 117.144531 60.824219 116.246094 59.363281 C 115.15625 57.589844 107.472656 49.273438 104.65625 46.984375 C 102.421875 45.167969 99.6875 41.921875 97.03125 43.035156 C 93.742188 44.414062 94.417969 51.058594 92.082031 53.753906 C 86.5 60.179688 78.4375 59.101562 73.914062 54.648438 C 68.644531 49.453125 68.511719 44.488281 71.453125 39.277344 C 74.222656 34.382812 79.921875 35.3125 81.910156 31.484375 C 82.664062 30.035156 81.484375 27.070312 80.597656 25.390625 C 79.277344 22.890625 65.976562 18.902344 58.847656 15.683594 Z M 58.847656 15.683594 "/>
|
||||
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(20.784314%,51.764709%,89.411765%);fill-opacity:1;" d="M 58.089844 12.347656 L 48.316406 27.300781 C 46.164062 30.507812 41.726562 33.320312 38.625 31.964844 C 33.734375 29.828125 35.101562 24.808594 30.523438 21.960938 C 27.3125 19.957031 19.445312 19.160156 15.683594 25.625 C 13.730469 28.976562 13.722656 34.074219 16.644531 37.6875 C 19.410156 41.105469 26.058594 40.023438 28.140625 43.898438 C 29.589844 46.589844 28.984375 48.292969 27.589844 51.015625 C 24.492188 57.066406 11.753906 66.949219 11.753906 66.949219 C 11.753906 66.949219 19.148438 79.371094 24.785156 83.949219 C 27.019531 85.765625 29.332031 88.472656 31.988281 87.363281 C 35.277344 85.984375 34.550781 78.957031 36.886719 76.261719 C 41.21875 71.273438 49.535156 70.425781 54.824219 74.8125 C 60.519531 79.53125 60.125 86.140625 57.183594 91.347656 C 54.417969 96.242188 48.714844 95.117188 46.726562 98.949219 C 45.976562 100.398438 46.824219 102.328125 48.011719 103.449219 C 53.871094 109 70.457031 115.652344 70.457031 115.652344 L 80.847656 99.097656 C 83 95.886719 85.953125 94.40625 89.257812 95.132812 C 93.847656 96.140625 94.402344 102.609375 98.160156 105.449219 C 102.4375 108.683594 109.789062 108.433594 113.597656 102.421875 C 116.375 98.035156 116.152344 94.195312 112.175781 89.128906 C 109.460938 85.667969 102.496094 86.046875 100.414062 82.171875 C 98.96875 79.480469 99.234375 76.878906 101.101562 74.460938 C 105.578125 68.667969 116.246094 59.363281 116.246094 59.363281 C 116.246094 59.363281 109.535156 48.226562 103.898438 43.648438 C 101.664062 41.835938 98.929688 38.585938 96.277344 39.699219 C 92.988281 41.078125 93.660156 47.726562 91.324219 50.417969 C 85.746094 56.84375 77.679688 55.769531 73.15625 51.3125 C 67.886719 46.121094 67.757812 41.152344 70.699219 35.945312 C 73.464844 31.046875 79.164062 31.980469 81.152344 28.148438 C 81.90625 26.699219 80.066406 24.476562 78.878906 23.355469 C 73.015625 17.804688 58.089844 12.347656 58.089844 12.347656 Z M 58.089844 12.347656 "/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6.5 1C5.669 1 5 1.669 5 2.5V4H2c-.554 0-1 .446-1 1v3h1.5C3.331 8 4 8.669 4 9.5S3.331 11 2.5 11H1v3c0 .554.446 1 1 1h3v-1.5c0-.831.669-1.5 1.5-1.5s1.5.669 1.5 1.5V15h3c.554 0 1-.446 1-1v-3h1.5c.831 0 1.5-.669 1.5-1.5S14.331 8 13.5 8H12V5c0-.554-.446-1-1-1H8V2.5C8 1.669 7.331 1 6.5 1z" style="isolation:auto;mix-blend-mode:normal;marker:none" color="#000" overflow="visible" fill="#474747"/></svg>
|
After Width: | Height: | Size: 469 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6.5 1.031c-.371 0-.742-.035-1.11.016-.367.05-.73.203-.972.476-.125.141-.215.309-.266.485-.047.18-.054.367-.02.55.032.184.102.356.192.516.09.164.203.309.317.457L5 4H2a1.8 1.8 0 00-.41.035.791.791 0 00-.36.195.791.791 0 00-.195.36C1 4.723 1 4.863 1 5v2.75l.77-.344c.265-.117.542-.23.832-.242.289-.016.586.074.812.254.227.18.383.441.465.723.082.277.101.57.121.859.02.316.04.637-.016.95-.058.312-.199.616-.43.831a1.264 1.264 0 01-.874.32c-.317-.007-.618-.128-.91-.257L1 10.5V14c0 .137.004.277.035.41a.791.791 0 00.195.36c.098.097.227.16.36.195.133.035.273.035.41.035h3l-.328-.68c-.14-.293-.274-.597-.29-.922-.015-.32.095-.652.31-.894.214-.242.523-.39.84-.453.316-.067.644-.059.968-.059.324 0 .652-.008.969.059.316.062.625.21.84.453.214.242.324.574.308.894-.015.325-.148.63-.289.922L8 15h3a1.8 1.8 0 00.41-.035.791.791 0 00.36-.195.791.791 0 00.195-.36C12 14.277 12 14.137 12 14v-3.563l.703.297c.29.125.59.239.902.246.313.004.63-.101.864-.308.238-.203.386-.496.46-.8C15 9.565 15 9.25 15 8.937c0-.313 0-.63-.07-.934-.075-.305-.223-.598-.461-.8a1.288 1.288 0 00-.864-.31c-.312.008-.613.122-.902.247L12 7.437V5a1.8 1.8 0 00-.035-.41.791.791 0 00-.195-.36.791.791 0 00-.36-.195C11.277 4 11.137 4 11 4H8l.36-.469c.113-.148.226-.293.316-.457.09-.16.16-.332.191-.515a1.248 1.248 0 00-.02-.551 1.256 1.256 0 00-.265-.485c-.242-.273-.605-.425-.973-.476-.367-.05-.738-.016-1.109-.016zm0 0" fill="#474747"/></svg>
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 10.832031 1.039062 c 0.386719 0.085938 0.722657 0.324219 0.9375 0.660157 l 6 9.5 c 0.339844 0.558593 0.308594 1.113281 0 1.601562 l -6 9.5 c -0.445312 0.699219 -1.371093 0.910157 -2.070312 0.46875 c -0.699219 -0.445312 -0.90625 -1.371093 -0.464844 -2.070312 l 5.492187 -8.699219 l -5.492187 -8.699219 c -0.441406 -0.699219 -0.234375 -1.625 0.464844 -2.070312 c 0.335937 -0.210938 0.742187 -0.28125 1.132812 -0.191407 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 592 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 13.167969 1.035156 c -0.386719 0.089844 -0.722657 0.328125 -0.9375 0.664063 l -6 9.5 c -0.308594 0.488281 -0.308594 1.113281 0 1.601562 l 6 9.5 c 0.445312 0.699219 1.371093 0.910157 2.070312 0.464844 c 0.699219 -0.441406 0.90625 -1.367187 0.464844 -2.066406 l -5.492187 -8.699219 l 5.492187 -8.699219 c 0.441406 -0.699219 0.234375 -1.625 -0.464844 -2.070312 c -0.335937 -0.210938 -0.742187 -0.28125 -1.132812 -0.195313 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 594 B |
@@ -1,94 +0,0 @@
|
||||
<?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="5.4116011mm"
|
||||
height="5.1374583mm"
|
||||
viewBox="0 0 5.4116011 5.1374583"
|
||||
version="1.1"
|
||||
id="svg5595"
|
||||
inkscape:version="0.92.4 (unknown)"
|
||||
sodipodi:docname="color-pick.svg">
|
||||
<defs
|
||||
id="defs5589">
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
x="-0.10291173"
|
||||
width="1.2058235"
|
||||
y="-0.065432459"
|
||||
height="1.1308649"
|
||||
id="filter5601"
|
||||
style="color-interpolation-filters:sRGB">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.610872"
|
||||
id="feGaussianBlur5603" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="15.839192"
|
||||
inkscape:cx="39.387731"
|
||||
inkscape:cy="12.554326"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata5592">
|
||||
<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>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-103.12753,-146.26461)">
|
||||
<circle
|
||||
r="8.4810486"
|
||||
cy="9.82623"
|
||||
cx="10.226647"
|
||||
id="circle7584"
|
||||
style="color:#000000;display:inline;overflow:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter:url(#filter5601)"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,103.12753,146.26461)" />
|
||||
<path
|
||||
style="color:#000000;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.26399338;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
||||
d="m 108.07728,148.64122 c 0,1.2393 -1.00465,2.24394 -2.24395,2.24394 -1.23929,0 -2.24716,-1.00465 -2.25221,-2.24394 l -0.009,-2.24458 2.26136,6.4e-4 c 1.2393,3.4e-4 2.24395,1.00464 2.24395,2.24394 z"
|
||||
id="path7523-7"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssscss" />
|
||||
<circle
|
||||
style="color:#000000;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#50dbb5;fill-opacity:1;stroke:none;stroke-width:0.36885914;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
||||
id="path7482-1"
|
||||
cx="105.83707"
|
||||
cy="148.64352"
|
||||
r="1.844296" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.7 KiB |
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 0 c -4.40625 0 -8 3.59375 -8 8 s 3.59375 8 8 8 s 8 -3.59375 8 -8 s -3.59375 -8 -8 -8 z m 0 1.941406 c 3.359375 0 6.058594 2.699219 6.058594 6.058594 s -2.699219 6.058594 -6.058594 6.058594 z m 0 0" fill="#222222"/></svg>
|
Before Width: | Height: | Size: 360 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="20px" viewBox="0 0 20 20" width="20px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 1 0 v 19.707031 l 4.242188 -4.144531 c 0.589843 1.191406 1.160156 2.386719 1.761718 3.570312 c 1.105469 1.640626 4.15625 0.464844 3.898438 -1.496093 c 0.007812 -0.46875 -0.40625 -0.90625 -0.4375 -1.3125 l 0.78125 -0.761719 c 0.585937 1.191406 1.15625 2.386719 1.757812 3.570312 c 1.105469 1.640626 4.15625 0.464844 3.898438 -1.496093 c -0.195313 -0.902344 -0.71875 -1.695313 -1.070313 -2.546875 l -0.714843 -1.539063 h 4.828124 l -12.945312 -13.550781 v 6.242188 z m 1.5 3.726562 l 6 6.242188 v -6.242188 l 7.921875 8.324219 h -3.664063 c 0.886719 1.902344 1.785157 3.800781 2.65625 5.707031 c 0.007813 0.625 -1.226562 0.980469 -1.324218 0.207032 l -2.410156 -4.917969 l -3.0625 2.984375 c 0.261718 0.609375 0.597656 1.191406 0.816406 1.816406 c -0.183594 0.601563 -1.269532 0.835938 -1.367188 0.066406 l -2.386718 -4.867187 l -3.179688 3.101563 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1021 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="20px" viewBox="0 0 20 20" width="20px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 10.925781 2.320312 c -0.835937 0.074219 -1.816406 -0.136718 -2.445312 0.574219 c -0.179688 0.503907 -0.394531 0.730469 -0.945313 0.617188 c -0.796875 -0.050781 -1.703125 0.054687 -2.1875 0.773437 c -0.554687 0.832032 -0.316406 1.859375 -0.367187 2.792969 v 1.503906 c -0.511719 -0.320312 -1.132813 -0.132812 -1.699219 -0.183593 c -0.445312 -0.019532 -0.882812 0.027343 -1.320312 0.09375 c 0.058593 2.683593 0.074218 5.371093 0.121093 8.058593 c 0.09375 1.300781 1.230469 2.402344 2.546875 2.421875 c 0.632813 0.015625 1.480469 0.007813 2.222656 0.011719 c 3.222657 -0.011719 6.445313 0.050781 9.667969 -0.054687 c 1.160157 -0.121094 2.210938 -1.1875 2.070313 -2.398438 v -9.480469 c -0.707032 -0.9375 -1.816406 -1.78125 -3.058594 -1.570312 c -0.300781 -0.453125 -0.488281 -1.472657 -1.226562 -1.796875 c -0.355469 -0.292969 -0.839844 -0.109375 -1.261719 -0.164063 c -0.296875 -0.070312 -0.855469 0.195313 -0.867188 -0.25 c -0.160156 -0.523437 -0.71875 -0.910156 -1.25 -0.949219 z m -0.105469 1.503907 c 0.164063 0.269531 0.183594 0.753906 0.21875 1.125 c 0.007813 0.007812 0.019532 0.003906 0.027344 0.011719 c -0.007812 0 -0.019531 0 -0.027344 0 l 0.496094 5.898437 l 0.664063 -5.839844 l 1.34375 0.003907 c 0.535156 0.390624 0.414062 1.140624 0.554687 1.722656 c -0.011718 0.066406 0.007813 0.09375 0.015625 0.136718 l 0.011719 0.085938 l 0.480469 3.863281 l 0.664062 -3.917969 c 0.574219 -0.039062 1.15625 0.039063 1.558594 0.5 c 0.410156 0.21875 0.214844 0.691407 0.261719 1.058594 v 8.34375 c -0.339844 0.964844 -1.601563 0.546875 -2.375 0.660156 c -3.371094 0.011719 -6.742188 0.035157 -10.113282 -0.015624 c -0.976562 -0.027344 -1.140624 -1.070313 -1.039062 -1.839844 c -0.011719 -1.90625 -0.046875 -3.816406 -0.078125 -5.722656 c 0.324219 0.007812 0.675781 -0.011719 0.988281 0.011718 c 0.492188 0.914063 0.484375 2 0.507813 3.015625 c 0.492187 -0.007812 1.042969 0.039063 1.5 0 c 0.007812 -2.519531 -0.019531 -5.039062 0.011719 -7.558593 c 0.105468 -0.519532 0.730468 -0.308594 1.113281 -0.355469 h 0.675781 l 0.488281 5.847656 l 0.667969 -5.875 h -0.003906 c 0.03125 -0.382813 -0.148438 -0.894531 0.25 -1.121094 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="20px" viewBox="0 0 20 20" width="20px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 4 0 v 19.644531 l 4.242188 -4.140625 c 0.613281 1.214844 1.175781 2.460938 1.820312 3.65625 c 1.144531 1.476563 3.976562 0.390625 3.847656 -1.472656 c -0.09375 -0.824219 -0.59375 -1.523438 -0.898437 -2.277344 l -0.898438 -1.921875 h 5.269531 z m 1.5 3.726562 l 8.359375 8.261719 h -4.101563 c 0.886719 1.902344 1.78125 3.800781 2.660157 5.707031 c 0.035156 0.566407 -1.148438 0.988282 -1.28125 0.296876 l -2.457031 -5.011719 l -3.179688 3.105469 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 621 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="20px" viewBox="0 0 20 20" width="20px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 16 0 v 19.769531 l -4.242188 -4.140625 c -0.613281 1.214844 -1.175781 2.460938 -1.820312 3.65625 c -1.144531 1.476563 -3.976562 0.390625 -3.847656 -1.472656 c 0.09375 -0.824219 0.59375 -1.523438 0.898437 -2.277344 l 0.898438 -1.921875 h -5.269531 z m -1.5 3.726562 l -8.359375 8.386719 h 4.101563 c -0.886719 1.902344 -1.78125 3.800781 -2.660157 5.707031 c -0.035156 0.566407 1.148438 0.988282 1.28125 0.296876 l 2.457031 -5.011719 l 3.179688 3.105469 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 627 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 7 6 c -0.265625 0 -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 4.292969 4.292969 l -4.292969 4.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 s 1.023437 0.390625 1.414062 0 l 4.292969 -4.292969 l 4.292969 4.292969 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 s 0.390625 -1.023437 0 -1.414062 l -4.292969 -4.292969 l 4.292969 -4.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 l -4.292969 4.292969 l -4.292969 -4.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 822 B |
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#2e3436">
|
||||
<path d="m 2.175781 0 h 3.648438 c 1.203125 0 2.175781 0.972656 2.175781 2.175781 v 2.648438 c 0 1.203125 -0.972656 2.175781 -2.175781 2.175781 h -3.648438 c -1.203125 0 -2.175781 -0.972656 -2.175781 -2.175781 v -2.648438 c 0 -1.203125 0.972656 -2.175781 2.175781 -2.175781 z m 0 0"/>
|
||||
<path d="m 7.796875 2.652344 l 2.050781 -1.523438 c 0.214844 -0.160156 0.503906 -0.1875 0.742188 -0.066406 c 0.242187 0.121094 0.394531 0.367188 0.394531 0.636719 v 3.605469 c 0 0.265624 -0.152344 0.511718 -0.394531 0.632812 c -0.238282 0.121094 -0.523438 0.09375 -0.742188 -0.066406 l -2.050781 -1.53125 c -0.265625 -0.199219 -0.421875 -0.511719 -0.421875 -0.84375 c 0 -0.332032 0.15625 -0.644532 0.421875 -0.84375 z m 0 0"/>
|
||||
<path d="m 9.042969 7 h 2.914062 c 0.574219 0 1.042969 0.449219 1.042969 1 s -0.46875 1 -1.042969 1 h -2.914062 c -0.574219 0 -1.042969 -0.449219 -1.042969 -1 s 0.46875 -1 1.042969 -1 z m 0 0"/>
|
||||
<path d="m 7.011719 8 c -1.113281 0 -2.011719 0.898438 -2.011719 2.011719 v 3.976562 c 0 1.113281 0.898438 2.011719 2.011719 2.011719 h 6.976562 c 1.113281 0 2.011719 -0.898438 2.011719 -2.011719 v -3.976562 c 0 -1.113281 -0.898438 -2.011719 -2.011719 -2.011719 z m 3.488281 1 c 1.378906 0 2.5 1.121094 2.5 2.5 s -1.121094 2.5 -2.5 2.5 s -2.5 -1.121094 -2.5 -2.5 s 1.121094 -2.5 2.5 -2.5 z m 0 0"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#2e3436">
|
||||
<path d="m 6.929688 8.011719 h 4.140624 c 1.066407 0 1.929688 0.863281 1.929688 1.929687 v 3.140625 c 0 1.066407 -0.863281 1.929688 -1.929688 1.929688 h -4.140624 c -1.066407 0 -1.929688 -0.863281 -1.929688 -1.929688 v -3.140625 c 0 -1.066406 0.863281 -1.929687 1.929688 -1.929687 z m 0 0"/>
|
||||
<path d="m 12.796875 10.664062 l 2.050781 -1.523437 c 0.214844 -0.160156 0.503906 -0.1875 0.742188 -0.066406 c 0.242187 0.121093 0.394531 0.367187 0.394531 0.636719 v 3.605468 c 0 0.265625 -0.152344 0.511719 -0.394531 0.632813 c -0.238282 0.121093 -0.523438 0.09375 -0.742188 -0.066407 l -2.050781 -1.53125 c -0.265625 -0.199218 -0.421875 -0.511718 -0.421875 -0.84375 c 0 -0.332031 0.15625 -0.644531 0.421875 -0.84375 z m 0 0"/>
|
||||
<path d="m 0 4.011719 c 0 -1.652344 1.359375 -3.011719 3.011719 -3.011719 h 7.976562 c 1.652344 0 3.011719 1.359375 3.011719 3.011719 v 1.953125 c 0 0.554687 -0.449219 1 -1 1 s -1 -0.445313 -1 -1 v -1.953125 c 0 -0.578125 -0.433594 -1.011719 -1.011719 -1.011719 h -7.976562 c -0.578125 0 -1.011719 0.433594 -1.011719 1.011719 v 4.976562 c 0 0.578125 0.433594 1.011719 1.011719 1.011719 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 c -1.652344 0 -3.011719 -1.359375 -3.011719 -3.011719 z m 0 0"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#2e3436">
|
||||
<path d="m 9.042969 6 h 1.914062 c 0.574219 0 1.042969 0.449219 1.042969 1 s -0.46875 1 -1.042969 1 h -1.914062 c -0.574219 0 -1.042969 -0.449219 -1.042969 -1 s 0.46875 -1 1.042969 -1 z m 0 0"/>
|
||||
<path d="m 7.011719 6.964844 c -1.113281 0 -2.011719 0.898437 -2.011719 2.011718 v 4.011719 c 0 1.113281 0.898438 2.011719 2.011719 2.011719 h 5.976562 c 1.113281 0 2.011719 -0.898438 2.011719 -2.011719 v -4.011719 c 0 -1.113281 -0.898438 -2.011718 -2.011719 -2.011718 z m 2.988281 2.035156 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0"/>
|
||||
<path d="m 0 4.011719 c 0 -1.652344 1.359375 -3.011719 3.011719 -3.011719 h 7.976562 c 1.652344 0 3.011719 1.359375 3.011719 3.011719 v 0.988281 c 0 0.550781 -0.449219 1 -1 1 s -1 -0.449219 -1 -1 v -0.988281 c 0 -0.578125 -0.433594 -1.011719 -1.011719 -1.011719 h -7.976562 c -0.578125 0 -1.011719 0.433594 -1.011719 1.011719 v 4.976562 c 0 0.578125 0.433594 1.011719 1.011719 1.011719 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 c -1.652344 0 -3.011719 -1.359375 -3.011719 -3.011719 z m 0 0"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="32px" viewBox="0 0 32 32" width="32px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 3.5 2 c -1.929688 0.007812 -3.4921875 1.570312 -3.5 3.5 c 0 1.386719 0.820312 2.59375 2 3.15625 v 3.34375 h 2 v -3.035156 c 1.53125 -0.230469 2.734375 -1.433594 2.964844 -2.964844 h 2.035156 v -2 h -2.34375 c -0.578125 -1.21875 -1.808594 -1.996094 -3.15625 -2 z m 25 0 c -1.347656 0.003906 -2.578125 0.78125 -3.15625 2 h -2.34375 v 2 h 2.035156 c 0.230469 1.53125 1.433594 2.734375 2.964844 2.964844 v 3.035156 h 2 v -3.34375 c 1.21875 -0.578125 1.996094 -1.808594 2 -3.15625 c 0 -1.921875 -1.578125 -3.5 -3.5 -3.5 z m -25 2 c 0.839844 0 1.5 0.660156 1.5 1.5 s -0.660156 1.5 -1.5 1.5 s -1.5 -0.660156 -1.5 -1.5 s 0.660156 -1.5 1.5 -1.5 z m 7.5 0 v 2 h 4 v -2 z m 6 0 v 2 h 4 v -2 z m 11.5 0 c 0.839844 0 1.5 0.660156 1.5 1.5 s -0.660156 1.5 -1.5 1.5 s -1.5 -0.660156 -1.5 -1.5 s 0.660156 -1.5 1.5 -1.5 z m -26.5 10 v 4 h 2 v -4 z m 26 0 v 4 h 2 v -4 z m -26 6 v 3.34375 c -1.21875 0.578125 -1.99609375 1.808594 -2 3.15625 c 0 1.921875 1.578125 3.5 3.5 3.5 c 1.347656 -0.003906 2.578125 -0.78125 3.15625 -2 h 2.34375 v -2 h -2.035156 c -0.230469 -1.53125 -1.433594 -2.734375 -2.964844 -2.964844 v -3.035156 z m 26 0 v 3.035156 c -1.53125 0.230469 -2.734375 1.433594 -2.964844 2.964844 h -2.035156 v 2 h 2.34375 c 0.578125 1.21875 1.808594 1.996094 3.15625 2 c 1.921875 0 3.5 -1.578125 3.5 -3.5 c -0.003906 -1.347656 -0.78125 -2.578125 -2 -3.15625 v -3.34375 z m -24.5 5 c 0.839844 0 1.5 0.660156 1.5 1.5 s -0.660156 1.5 -1.5 1.5 s -1.5 -0.660156 -1.5 -1.5 s 0.660156 -1.5 1.5 -1.5 z m 25 0 c 0.839844 0 1.5 0.660156 1.5 1.5 s -0.660156 1.5 -1.5 1.5 s -1.5 -0.660156 -1.5 -1.5 s 0.660156 -1.5 1.5 -1.5 z m -17.5 1 v 2 h 4 v -2 z m 6 0 v 2 h 4 v -2 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.8 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="32px" viewBox="0 0 32 32" width="32px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 4 4 c -1.660156 0 -3 1.339844 -3 3 v 14 c 0 1.660156 1.339844 3 3 3 h 10 v 3 h -3 c -1.09375 -0.003906 -2 0.90625 -2 2 h 14 c 0 -1.09375 -0.910156 -2 -2 -2 h -3 v -3 h 10 c 1.660156 0 3 -1.339844 3 -3 v -14 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 2 h 24 c 0.554688 0 1 0.445312 1 1 v 14 c 0 0.554688 -0.445312 1 -1 1 h -24 c -0.554688 0 -1 -0.445312 -1 -1 v -14 c 0 -0.554688 0.445312 -1 1 -1 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 567 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 2.953125 1.074219 l 2.417969 13.210937 l 3.238281 -2.398437 l 2.054687 2.648437 c 1.03125 1.433594 3.148438 -0.210937 2.011719 -1.5625 l -2.015625 -2.59375 l 2.984375 -2.175781 z m 0 0" fill="#2e3436"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 352 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="32px" viewBox="0 0 32 32" width="32px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 3 3 c -1.644531 0 -3 1.355469 -3 3 v 14 c 0 1.644531 1.355469 3 3 3 h 4 v 3 c 0 1.644531 1.351562 3 3 3 h 18.996094 c 1.644531 0 3 -1.355469 3 -3 v -14 c 0 -1.644531 -1.355469 -3 -3 -3 h -4 v -3 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 18.996094 c 0.570312 0 1 0.429688 1 1 v 3 h -12.996094 c -1.648438 0 -3 1.355469 -3 3 v 9 h -4 c -0.570312 0 -1 -0.429688 -1 -1 v -14 c 0 -0.570312 0.429688 -1 1 -1 z m 7 6 h 18.996094 c 0.570312 0 1 0.429688 1 1 v 14 c 0 0.570312 -0.429688 1 -1 1 h -18.996094 c -0.574219 0 -1 -0.429688 -1 -1 v -14 c 0 -0.570312 0.425781 -1 1 -1 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 744 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 12 2 l -7.5 8 h 4.5 v 5 h 6 v -5 h 4.5 z m -3 16 v 3 h 6 v -3 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 237 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 19 6 v 6.003906 c 0.007812 0.996094 -1 0.996094 -1 0.996094 h -11.585938 l 1.292969 -1.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 l -3 3 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 3 3 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 s 0.390625 -1.023437 0 -1.414062 l -1.289062 -1.292969 h 11.582031 c 3.007812 0 3 -3 3 -3 v -6 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 627 B |
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 2.49705,2.00665 c -0.554,0 -1,0.446 -1,1 v 11 c 0,0.554 0.446,1 1,1 h 19.0059 c 0.554,0 1,-0.446 1,-1 v -11 c 0,-0.554 -0.446,-1 -1,-1 z m 1.3653,2 h 1.6562 v 2 h -2 v -1.6074 c 0,-0.218 0.1538,-0.3926 0.3438,-0.3926 z m 2.6562,0 h 2 v 2 h -2 z m 3,0 h 2 v 2 h -2 z m 3,0 h 1.6563 c 0.19,0 0.3437,0.1746 0.3437,0.3926 v 1.6074 h -2 z m 2.9844,0 h 2 v 2 h -2 z m 3,0 h 2 v 2 h -2 z m -13.9844,3 h 2 v 2 h -2 z m 3,0 h 2 v 2 h -2 z m 3,0 h 2 v 2 h -2 z m 2.9844,0 h 2 v 2 h -2 z m 3,0 h 2 v 2 h -2 z m -9.6621,4 h 10.3125 c 0.19,0 0.3437,0.1746 0.3437,0.3926 v 1.2148 c 0,0.218 -0.1537,0.3926 -0.3437,0.3926 H 6.84085 c -0.19,0 -0.3438,-0.1746 -0.3438,-0.3926 v -1.2148 c 0,-0.218 0.1538,-0.3926 0.3438,-0.3926 z" fill="#241f31"/>
|
||||
<path d="m 17,17.99335 -4.99512,4 -5.00488,-4 z" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 948 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 2985,-2801.6382 c -0.2187,0 -0.4414,0.012 -0.6562,0.031 l -0.4063,2.0938 c -0.332,0.07 -0.6562,0.1758 -0.9687,0.3125 l -1.5313,-1.4648 c -0.3867,0.2265 -0.7266,0.5117 -1.0625,0.8085 l 0.9063,1.9063 c -0.2227,0.25 -0.4219,0.5234 -0.5938,0.8125 l -2.0937,-0.2773 c -0.1758,0.4101 -0.3125,0.8398 -0.4063,1.2773 l 1.8438,1 c -0.02,0.168 -0.027,0.332 -0.031,0.5 0,0.1719 0.016,0.332 0.031,0.5 l -1.8438,1 c 0.098,0.4453 0.2266,0.8711 0.4063,1.2812 l 2.0937,-0.2812 c 0.1719,0.2891 0.3711,0.5625 0.5938,0.8125 l -0.9063,1.9062 c 0.3359,0.3008 0.6758,0.5821 1.0625,0.8125 l 1.5313,-1.4687 c 0.3046,0.1367 0.6328,0.2383 0.9687,0.3125 l 0.4063,2.0937 c 0.4375,0.043 0.875,0.043 1.3125,0 l 0.4062,-2.0937 c 0.3359,-0.074 0.6641,-0.1758 0.9688,-0.3125 l 1.5312,1.4687 c 0.3867,-0.2304 0.7266,-0.5117 1.0625,-0.8125 l -0.9062,-1.9062 c 0.2226,-0.25 0.4218,-0.5234 0.5937,-0.8125 l 2.0938,0.2812 c 0.1757,-0.414 0.3125,-0.8398 0.4062,-1.2812 l -1.8437,-1 c 0.016,-0.168 0.031,-0.3281 0.031,-0.5 0,-0.1719 -0.016,-0.332 -0.031,-0.5 l 1.8437,-1 c -0.094,-0.4375 -0.2305,-0.8672 -0.4062,-1.2813 l -2.0938,0.2813 c -0.1719,-0.2891 -0.3672,-0.5625 -0.5937,-0.8125 l 0.9062,-1.9063 c -0.3359,-0.2968 -0.6758,-0.582 -1.0625,-0.8125 l -1.5312,1.4688 c -0.3125,-0.1367 -0.6368,-0.2422 -0.9688,-0.3125 l -0.4062,-2.0938 c -0.2188,-0.019 -0.4375,-0.031 -0.6563,-0.031 z m 0,4 c 1.6563,0 3,1.3437 3,3 0,1.6562 -1.3437,3 -3,3 -1.6562,0 -3,-1.3438 -3,-3 0,-1.6563 1.3438,-3 3,-3 z m 0,0" transform="matrix(1.5,0,0,1.5,-4465.5,4203.9569)" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="24px" viewBox="0 0 24 24" width="24px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 12 4 l -7.5 8 h 4.5 v 7 h 6 v -7 h 4.5 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 214 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 12 8 c 0 2.210938 -1.789062 4 -4 4 s -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 s 4 1.789062 4 4 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 267 B |
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="64px" viewBox="0 0 64 64" width="64px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#241f31">
|
||||
<path d="m 12 4 c -4.210938 0 -8 3.378906 -8 7.75 v 40.5 c 0 4.371094 3.789062 7.75 8 7.75 h 40 c 4.210938 0 8 -3.378906 8 -7.75 v -40.5 c 0 -4.371094 -3.789062 -7.75 -8 -7.75 z m -2 18 h 12 v 8 h -12 z m 16.125 0 h 11.875 v 8 h -11.875 z m 15.875 0 h 12 v 8 h -12 z m -32 12 h 12 v 8 h -12 z m 16.125 0 h 11.875 v 8 h -11.875 z m 15.875 0 h 12 v 8 h -12 z m -32 12 h 12 v 8 h -12 z m 16.125 0 h 11.875 v 8 h -11.875 z m 15.875 0 h 12 v 8 h -12 z m 0 0" fill-opacity="0.35"/>
|
||||
<path d="m 42 34 h 12 v 8 h -12 z m 0 0" fill-opacity="0.1"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 720 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="64px" viewBox="0 0 64 64" width="64px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 32 0 c -3.3125 0 -6 2.6875 -6 6 c 0 0.304688 0.023438 0.601562 0.066406 0.894531 c -8.148437 2.527344 -14.066406 10.125 -14.066406 19.105469 v 18 h -2 c -2.203125 0 -4 1.796875 -4 4 s 1.796875 4 4 4 h 44 c 2.203125 0 4 -1.796875 4 -4 s -1.796875 -4 -4 -4 h -2 v -18 c 0 -8.980469 -5.917969 -16.578125 -14.066406 -19.105469 c 0.042968 -0.292969 0.066406 -0.589843 0.066406 -0.894531 c 0 -3.3125 -2.6875 -6 -6 -6 z m -8 56 c 0 2.859375 1.53125 5.5 4 6.921875 c 2.46875 1.4375 5.53125 1.4375 8 0 c 2.46875 -1.421875 4 -4.0625 4 -6.921875 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 710 B |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 1.53125 0.46875 l -1.0625 1.0625 l 14 14 l 1.0625 -1.0625 l -1.945312 -1.945312 c 0.847656 -0.527344 1.414062 -1.449219 1.414062 -2.523438 v -6 c 0 -1.660156 -1.339844 -3 -3 -3 h -8 c -0.554688 0 -1.070312 0.160156 -1.515625 0.421875 z m 2.53125 2.53125 h 0.199219 l -0.097657 0.097656 z m 2.675781 0 h 0.699219 l -1.6875 1.6875 l -0.351562 -0.351562 z m 2.824219 0 h 1.230469 l -3.367188 3.363281 l -0.613281 -0.613281 z m 2.609375 0.035156 c 0.316406 0.054688 0.578125 0.246094 0.714844 0.523438 l -4.132813 4.132812 l -0.617187 -0.617187 z m -11.171875 1.023438 v 5.941406 c 0 1.660156 1.339844 3 3 3 h 5.941406 l -2 -2 h -1.785156 l 0.894531 -0.894531 l -0.355469 -0.355469 l -1.25 1.25 h -1.238281 l 1.867188 -1.867188 l -0.707031 -0.707031 l -2.160157 2.15625 c -0.121093 -0.164062 -0.207031 -0.359375 -0.207031 -0.582031 v -0.4375 l 1.75 -1.75 l -1.0625 -1.0625 l -0.6875 0.6875 v -0.699219 l 0.339844 -0.339843 z m 12 0.09375 v 5.847656 c 0 0.535156 -0.417969 0.960938 -0.949219 0.988281 l -2.941406 -2.941406 z m -5 9.847656 c -5 0 -5 1 -5 1 c 0 1 1 1 1 1 h 8 c 0.328125 0 0.539062 -0.109375 0.6875 -0.253906 l -1.542969 -1.546875 c -0.730469 -0.113281 -1.71875 -0.199219 -3.144531 -0.199219 z m 0 0" fill="#241f31" fill-rule="evenodd"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 4 1 c -1.660156 0 -3 1.339844 -3 3 v 6 c 0 1.660156 1.339844 3 3 3 h 8 c 1.660156 0 3 -1.339844 3 -3 v -6 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 2 h 0.261719 l -1.261719 1.261719 v -0.261719 c 0 -0.554688 0.445312 -1 1 -1 z m 2.738281 0 h 0.699219 l -4.4375 4.4375 v -0.699219 z m 2.824219 0 h 1.230469 l -7.585938 7.582031 c -0.121093 -0.164062 -0.207031 -0.359375 -0.207031 -0.582031 v -0.4375 z m 2.609375 0.035156 c 0.316406 0.054688 0.578125 0.246094 0.714844 0.523438 l -7.441407 7.441406 h -1.238281 z m 0.828125 1.121094 v 5.84375 c 0 0.554688 -0.445312 1 -1 1 h -5.84375 z m -5 9.84375 c -5 0 -5 1 -5 1 c 0 1 1 1 1 1 h 8 c 1 0 1 -1 1 -1 s 0 -1 -5 -1 z m 0 0" fill="#241f31"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 834 B |
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 4 4 h 8 v 8 h -8 z m 0 0" fill="#2e3436"/></svg>
|
Before Width: | Height: | Size: 186 B |
@@ -1,6 +1,6 @@
|
||||
desktop_files = [
|
||||
'org.gnome.Shell.desktop',
|
||||
'org.gnome.Shell.Extensions.desktop',
|
||||
'org.gnome.Extensions.desktop',
|
||||
]
|
||||
service_files = []
|
||||
|
||||
@@ -16,7 +16,7 @@ desktopconf.set('bindir', bindir)
|
||||
desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false')
|
||||
|
||||
foreach desktop_file : desktop_files
|
||||
i18n.merge_file(
|
||||
i18n.merge_file('desktop',
|
||||
input: configure_file(
|
||||
input: desktop_file + '.in.in',
|
||||
output: desktop_file + '.in',
|
||||
@@ -41,27 +41,22 @@ foreach service_file : service_files
|
||||
)
|
||||
endforeach
|
||||
|
||||
theme_deps = []
|
||||
|
||||
subdir('dbus-interfaces')
|
||||
subdir('icons')
|
||||
subdir('theme')
|
||||
|
||||
data_resources = [
|
||||
{'name': 'dbus-interfaces'},
|
||||
{'name': 'icons'},
|
||||
{'name': 'osk-layouts'},
|
||||
{'name': 'theme', 'deps': theme_deps}
|
||||
['dbus-interfaces', []],
|
||||
['osk-layouts', []],
|
||||
['theme', theme_deps]
|
||||
]
|
||||
foreach resource : data_resources
|
||||
name = resource.get('name')
|
||||
deps = resource.get('deps', [])
|
||||
|
||||
gnome.compile_resources(
|
||||
'gnome-shell-' + name,
|
||||
'gnome-shell-@0@.gresource.xml'.format(name),
|
||||
source_dir: name,
|
||||
dependencies: deps,
|
||||
'gnome-shell-' + resource[0],
|
||||
'gnome-shell-@0@.gresource.xml'.format(resource[0]),
|
||||
source_dir: resource[0],
|
||||
dependencies: resource[1],
|
||||
gresource_bundle: true,
|
||||
install: true,
|
||||
install_dir: pkgdatadir
|
||||
@@ -77,14 +72,9 @@ configure_file(
|
||||
install_dir: pkgdatadir
|
||||
)
|
||||
|
||||
keybinding_files = [
|
||||
'50-gnome-shell-launchers.xml',
|
||||
'50-gnome-shell-screenshots.xml',
|
||||
'50-gnome-shell-system.xml',
|
||||
]
|
||||
|
||||
install_data('gnome-shell.portal', install_dir: portaldir)
|
||||
install_data(keybinding_files, install_dir: keysdir)
|
||||
install_data('50-gnome-shell-system.xml', install_dir: keysdir)
|
||||
|
||||
|
||||
schemaconf = configuration_data()
|
||||
@@ -111,21 +101,22 @@ if have_systemd
|
||||
unitconf.set('bindir', bindir)
|
||||
|
||||
configure_file(
|
||||
input: 'org.gnome.Shell@x11.service.in',
|
||||
output: 'org.gnome.Shell@x11.service',
|
||||
input: 'gnome-shell-x11.service.in',
|
||||
output: 'gnome-shell-x11.service',
|
||||
configuration: unitconf,
|
||||
install_dir: systemduserunitdir
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'org.gnome.Shell@wayland.service.in',
|
||||
output: 'org.gnome.Shell@wayland.service',
|
||||
input: 'gnome-shell-wayland.service.in',
|
||||
output: 'gnome-shell-wayland.service',
|
||||
configuration: unitconf,
|
||||
install_dir: systemduserunitdir
|
||||
)
|
||||
|
||||
units = files('org.gnome.Shell.target',
|
||||
'org.gnome.Shell-disable-extensions.service')
|
||||
units = files('gnome-shell-x11.target',
|
||||
'gnome-shell-wayland.target',
|
||||
'gnome-shell-disable-extensions.service')
|
||||
|
||||
install_data(units, install_dir: systemduserunitdir)
|
||||
endif
|
||||
@@ -136,3 +127,5 @@ custom_target('compile-schemas',
|
||||
output: 'gschemas.compiled',
|
||||
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
|
||||
build_by_default: true)
|
||||
|
||||
install_data('gnome-shell-overrides.convert', install_dir: convertdir)
|
||||
|
@@ -2,9 +2,8 @@
|
||||
Type=Application
|
||||
Name=Extensions
|
||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||
Icon=@app_id@
|
||||
Icon=org.gnome.Extensions
|
||||
Comment=Configure GNOME Shell Extensions
|
||||
Exec=@bindir@/@prgname@ --gapplication-service
|
||||
DBusActivatable=true
|
||||
Categories=GNOME;GTK;Utility;
|
||||
Exec=@bindir@/gnome-shell-extension-prefs %u
|
||||
Categories=GNOME;GTK;
|
||||
OnlyShowIn=GNOME;
|
@@ -1,511 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 64 64"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||
sodipodi:docname="org.gnome.Shell-symbolic.Source.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="51.5"
|
||||
inkscape:cy="258"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer2"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:snap-intersection-paths="false"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:object-nodes="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:bbox-nodes="false"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:pagecheckerboard="false"
|
||||
showborder="false"
|
||||
inkscape:snap-nodes="true"
|
||||
inkscape:snap-others="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4514"
|
||||
empspacing="4"
|
||||
color="#5e57ff"
|
||||
opacity="0.1254902"
|
||||
empcolor="#5e57ff"
|
||||
empopacity="0.25098039" />
|
||||
</sodipodi:namedview>
|
||||
<g
|
||||
inkscape:label="status"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-161.53331)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#241f31;fill-opacity:1;stroke:none"
|
||||
x="-4"
|
||||
y="145.53331"
|
||||
id="text12175"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan12173"
|
||||
x="-4"
|
||||
y="145.53331"
|
||||
style="font-size:16px;fill:#241f31;fill-opacity:1">status</tspan></text>
|
||||
<g
|
||||
id="g16183"
|
||||
transform="translate(-288,-312)"
|
||||
inkscape:label="notifications alerts calendar events">
|
||||
<title
|
||||
id="title20651">no-notifications</title>
|
||||
<path
|
||||
id="path81"
|
||||
d="m 320,473.53331 c -3.3125,0 -6,2.6875 -6,6 0,0.30385 0.0228,0.60279 0.0664,0.89453 C 305.91768,482.95558 300,490.55273 300,499.53331 v 18 h -2 c -2.20312,0 -4,1.79688 -4,4 0,2.20312 1.79688,4 4,4 h 44 c 2.20312,0 4,-1.79688 4,-4 0,-2.20312 -1.79688,-4 -4,-4 h -2 v -18 c 0,-8.98058 -5.91768,-16.57773 -14.06641,-19.10547 0.0436,-0.29174 0.0664,-0.59068 0.0664,-0.89453 0,-3.3125 -2.6875,-6 -6,-6 z m -8,56 c 0,2.85938 1.53125,5.5 4,6.92188 2.46875,1.43749 5.53125,1.43749 8,0 2.46875,-1.42188 4,-4.0625 4,-6.92188 z"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
y="473.53333"
|
||||
x="-352"
|
||||
height="64"
|
||||
width="64"
|
||||
id="rect15794"
|
||||
style="fill:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g21075"
|
||||
transform="translate(0,-320)"
|
||||
inkscape:label="notifications alerts calendar events">
|
||||
<title
|
||||
id="title36429">message-indicator</title>
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
y="601.53333"
|
||||
x="-16"
|
||||
height="16"
|
||||
width="16"
|
||||
id="rect20973"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="M 12,609.53332 A 3.9999999,3.9999999 0 0 1 8.0000002,613.53331 3.9999999,3.9999999 0 0 1 4.0000003,609.53332 3.9999999,3.9999999 0 0 1 8.0000002,605.53334 3.9999999,3.9999999 0 0 1 12,609.53332 Z"
|
||||
id="path4485"
|
||||
style="fill:#241f31;fill-opacity:1;stroke-width:3.77953" />
|
||||
</g>
|
||||
<g
|
||||
id="g36685"
|
||||
inkscape:label="screen shield privacy active"
|
||||
transform="translate(-40,-382)">
|
||||
<title
|
||||
id="title41631">screen-privacy</title>
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
y="663.53333"
|
||||
x="-76"
|
||||
height="16"
|
||||
width="16"
|
||||
id="rect36558"
|
||||
style="fill:none" />
|
||||
<path
|
||||
id="path113"
|
||||
style="fill:#241f31;fill-opacity:1"
|
||||
d="m 64,664.53331 c -1.660156,0 -3,1.33984 -3,3 v 6 c 0,1.66016 1.339844,3 3,3 h 8 c 1.660156,0 3,-1.33984 3,-3 v -6 c 0,-1.66016 -1.339844,-3 -3,-3 z m 0,2 h 0.261719 L 63,667.79503 v -0.26172 c 0,-0.55469 0.445312,-1 1,-1 z m 2.738281,0 H 67.4375 L 63,670.97081 v -0.69922 z m 2.824219,0 h 1.230469 l -7.585938,7.58203 C 63.085938,673.95128 63,673.75597 63,673.53331 v -0.4375 z m 2.609375,0.0352 c 0.316406,0.0547 0.578125,0.24609 0.714844,0.52343 l -7.441407,7.44141 H 64.207031 Z M 73,667.68956 v 5.84375 c 0,0.55469 -0.445312,1 -1,1 h -5.84375 z m -5,9.84375 c -5,0 -5,1 -5,1 0,1 1,1 1,1 h 8 c 1,0 1,-1 1,-1 0,0 0,-1 -5,-1 z" />
|
||||
</g>
|
||||
<g
|
||||
id="g41416"
|
||||
inkscape:label="status"
|
||||
transform="translate(-40,-382)">
|
||||
<title
|
||||
id="title41633">screen-privacy-disabled</title>
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
y="663.53333"
|
||||
x="-96"
|
||||
height="16"
|
||||
width="16"
|
||||
id="rect36687"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 81.53125,664.00213 -1.0625,1.0625 14,14 1.0625,-1.0625 -1.945312,-1.94531 C 94.433594,675.52947 95,674.6076 95,673.53338 v -6 c 0,-1.66016 -1.339844,-3 -3,-3 h -8 c -0.554688,0 -1.070312,0.16016 -1.515625,0.42188 z m 2.53125,2.53125 h 0.199219 l -0.09766,0.0977 z m 2.675781,0 H 87.4375 l -1.6875,1.6875 -0.351562,-0.35156 z m 2.824219,0 h 1.230469 l -3.367188,3.36328 -0.613281,-0.61328 z m 2.609375,0.0352 c 0.316406,0.0547 0.578125,0.24609 0.714844,0.52343 l -4.132813,4.13282 -0.617187,-0.61719 z M 81,667.59197 v 5.94141 c 0,1.66016 1.339844,3 3,3 h 5.941406 l -2,-2 H 86.15625 l 0.894531,-0.89453 -0.355469,-0.35547 -1.25,1.25 h -1.238281 l 1.867188,-1.86719 -0.707031,-0.70703 -2.160157,2.15625 C 83.085938,673.95135 83,673.75604 83,673.53338 v -0.4375 l 1.75,-1.75 -1.0625,-1.0625 -0.6875,0.6875 v -0.69922 l 0.339844,-0.33984 z m 12,0.0937 v 5.84766 c 0,0.53516 -0.417969,0.96094 -0.949219,0.98828 l -2.941406,-2.9414 z m -5,9.84766 c -5,0 -5,1 -5,1 0,1 1,1 1,1 h 8 c 0.328125,0 0.539062,-0.10937 0.6875,-0.25391 l -1.542969,-1.54687 C 90.414062,677.61927 89.425781,677.53333 88,677.53333 Z m 0,0"
|
||||
fill="#2e3436"
|
||||
fill-rule="evenodd"
|
||||
id="path113-6"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g53379"
|
||||
inkscape:label="notifications alerts calendar events"
|
||||
transform="translate(0,-360)">
|
||||
<title
|
||||
id="title58232">no-events</title>
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
y="521.53333"
|
||||
x="-144"
|
||||
height="64"
|
||||
width="64"
|
||||
id="rect53237"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 92,525.53331 c -4.20948,0 -8,3.38032 -8,7.75 v 40.5 c 0,4.36968 3.79052,7.75 8,7.75 h 40 c 4.20948,0 8,-3.38032 8,-7.75 v -40.5 c 0,-4.36968 -3.79052,-7.75 -8,-7.75 z m -2,18 h 12 v 8 H 90 Z m 16.125,0 H 118 v 8 h -11.875 z m 15.875,0 h 12 v 8 h -12 z m -32,12 h 12 v 8 H 90 Z m 16.125,0 H 118 v 8 h -11.875 z m 15.875,0 h 12 v 8 h -12 z m -32,12 h 12 v 8 H 90 Z m 16.125,0 H 118 v 8 h -11.875 z m 15.875,0 h 12 v 8 h -12 z"
|
||||
id="path19157"
|
||||
style="fill:#241f31;fill-opacity:0.35" />
|
||||
<rect
|
||||
height="7.9999971"
|
||||
id="rect19159"
|
||||
width="11.999997"
|
||||
x="121.99993"
|
||||
y="555.53333"
|
||||
style="fill:#241f31;fill-opacity:0.1" />
|
||||
</g>
|
||||
<g
|
||||
id="g8970"
|
||||
transform="translate(-24,-194.46669)"
|
||||
inkscape:label="on-screen keyboard keys">
|
||||
<title
|
||||
id="title14941">keyboard-shift</title>
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="23.99999"
|
||||
y="443.99997"
|
||||
id="rect8636"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 36,448 -7.5,8 H 33 v 7 h 6 v -7 h 4.5 z"
|
||||
id="path1150"
|
||||
style="fill:#241f31;fill-opacity:1;stroke-width:0.666667" />
|
||||
</g>
|
||||
<g
|
||||
id="g8978"
|
||||
transform="translate(8,-194.46669)"
|
||||
inkscape:label="on-screen keyboard keys">
|
||||
<title
|
||||
id="title14939">keyboard-caps-lock</title>
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="23.99999"
|
||||
y="443.99997"
|
||||
id="rect8972"
|
||||
style="fill:none" />
|
||||
<path
|
||||
id="path8974"
|
||||
d="m 36,446 -7.5,8 H 33 v 5 h 6 v -5 h 4.5 z m -3,16 v 3 h 6 v -3 z"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g13560"
|
||||
inkscape:label="on-screen keyboard keys"
|
||||
transform="translate(-40,-214.46669)">
|
||||
<title
|
||||
id="title14945">keyboard-layout</title>
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="103.99999"
|
||||
y="463.99997"
|
||||
id="rect13441"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 109,467 v 19 h 2 v -8 h 4.383 l 0.722,1.447 c 0.16942,0.33905 0.51597,0.55318 0.895,0.553 h 7 c 0.55228,0 1,-0.44772 1,-1 v -9 c 0,-0.55228 -0.44772,-1 -1,-1 h -5.383 l -0.722,-1.447 C 117.72558,467.21395 117.37903,466.99982 117,467 h -7 z"
|
||||
id="path1085"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g13678"
|
||||
inkscape:label="keyboard keys hide "
|
||||
transform="translate(-40,-214.46669)">
|
||||
<title
|
||||
id="title14947">keyboard-hide</title>
|
||||
<path
|
||||
d="m 139.99985,472 a 1,1 0 0 0 -0.70703,0.29297 1,1 0 0 0 0,1.41406 l 8,8 a 1.0001,1.0001 0 0 0 1.41406,0 l 8,-8 a 1,1 0 0 0 0,-1.41406 1,1 0 0 0 -1.41406,0 l -7.29297,7.29297 -7.29297,-7.29297 A 1,1 0 0 0 139.99985,472 Z"
|
||||
id="path4931"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="-487.99997"
|
||||
y="-159.99998"
|
||||
id="rect13562"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g13796"
|
||||
inkscape:label="on-screen keyboard keys"
|
||||
transform="translate(-40,-214.46669)">
|
||||
<title
|
||||
id="title14943">keyboard-enter</title>
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="-487.99997"
|
||||
y="-191.99998"
|
||||
id="rect13680"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none" />
|
||||
<path
|
||||
id="path955"
|
||||
style="fill:#241f31;fill-opacity:1"
|
||||
d="m 187,470 v 6.00391 c 0.006,0.996 -1,0.99609 -1,0.99609 h -11.58594 l 1.29297,-1.29297 a 1,1 0 0 0 0,-1.41406 A 1,1 0 0 0 175,474 a 1,1 0 0 0 -0.70703,0.29297 l -3,3 a 1.0001,1.0001 0 0 0 0,1.41406 l 3,3 a 1,1 0 0 0 1.41406,0 1,1 0 0 0 0,-1.41406 L 174.41602,479 H 186 c 3.006,0 3,-3 3,-3 v -6 z" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="actions">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#241f31;fill-opacity:1;stroke:none"
|
||||
x="-4"
|
||||
y="184"
|
||||
id="text12715"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan12713"
|
||||
x="-4"
|
||||
y="184"
|
||||
style="font-size:16px;fill:#241f31;fill-opacity:1">actions</tspan></text>
|
||||
<g
|
||||
id="g13433"
|
||||
inkscape:label="overview previous left backward"
|
||||
transform="translate(-40,-240)">
|
||||
<title
|
||||
id="title15448">carousel-arrow-previous</title>
|
||||
<path
|
||||
d="m 53.169107,497.03665 a 1.5,1.5 0 0 0 -0.9375,0.66211 l -6,9.5 a 1.50015,1.50015 0 0 0 0,1.60156 l 6,9.5 a 1.5,1.5 0 0 0 2.068359,0.4668 1.5,1.5 0 0 0 0.466797,-2.06836 l -5.49414,-8.69922 5.49414,-8.69922 a 1.5,1.5 0 0 0 -0.466797,-2.06836 1.5,1.5 0 0 0 -1.130859,-0.19531 z"
|
||||
id="path13468"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="39.999992"
|
||||
y="495.99997"
|
||||
id="rect12821"
|
||||
style="fill:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g13439"
|
||||
transform="matrix(-1,0,0,1,95.99998,-240)"
|
||||
inkscape:label="overview next right forward">
|
||||
<title
|
||||
id="title15446">carousel-arrow-next</title>
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="39.999992"
|
||||
y="495.99997"
|
||||
id="rect13435"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 53.169235,497.03711 c -0.387918,0.0877 -0.725132,0.32585 -0.9375,0.66211 l -6,9.5 c -0.34001,0.56012 -0.308809,1.11236 0,1.60156 l 6,9.5 c 0.442487,0.69974 1.368227,0.90867 2.068359,0.4668 0.69974,-0.44249 0.908665,-1.36823 0.466797,-2.06836 L 49.272751,508 l 5.49414,-8.69922 c 0.441868,-0.70013 0.232943,-1.62587 -0.466797,-2.06836 -0.336162,-0.21243 -0.742919,-0.28268 -1.130859,-0.19531 z"
|
||||
id="path13468-5"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g29998"
|
||||
inkscape:label="mouse pointer dwell click"
|
||||
transform="translate(28,-344)">
|
||||
<title
|
||||
id="title39373">pointer-secondary-click</title>
|
||||
<path
|
||||
d="m 16,640 v 19.77148 l -4.24414,-4.14258 c -0.612408,1.21538 -1.173049,2.46023 -1.819709,3.6561 -1.141947,1.47628 -3.975266,0.38901 -3.846009,-1.47361 0.09413,-0.82252 0.594755,-1.52142 0.899969,-2.2776 l 0.896608,-1.92051 H 2.617188 Z m -1.5,3.72656 -8.359375,8.38672 h 4.101563 c -0.885072,1.9032 -1.781799,3.80152 -2.659622,5.70774 -0.0349,0.56609 1.149057,0.98883 1.282093,0.29797 l 2.455699,-5.01348 3.179687,3.10351 z"
|
||||
id="path5851"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
<rect
|
||||
width="20"
|
||||
height="20"
|
||||
x="-7.6293945e-06"
|
||||
y="640"
|
||||
id="rect1156"
|
||||
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1.781;marker:none;enable-background:new" />
|
||||
</g>
|
||||
<g
|
||||
id="g29992"
|
||||
inkscape:label="mouse pointer dwell click"
|
||||
transform="translate(-28,-344)">
|
||||
<title
|
||||
id="title39371">pointer-primary-click</title>
|
||||
<rect
|
||||
width="20"
|
||||
height="20"
|
||||
x="27.999992"
|
||||
y="640"
|
||||
id="rect1244"
|
||||
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1.781;marker:none;enable-background:new" />
|
||||
<path
|
||||
d="m 32,640 v 19.64648 l 4.24414,-4.14257 c 0.612408,1.21537 1.173049,2.46022 1.819709,3.65609 1.141947,1.47628 3.975266,0.38901 3.846009,-1.47361 -0.09413,-0.82252 -0.594755,-1.52142 -0.899969,-2.2776 l -0.896608,-1.92051 h 5.269531 z m 1.5,3.72656 8.359375,8.26172 h -4.101563 c 0.885072,1.9032 1.781799,3.80152 2.659622,5.70774 0.0349,0.56609 -1.149057,0.98883 -1.282093,0.29798 l -2.455699,-5.01349 -3.179687,3.10352 z"
|
||||
id="path5565"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g14643"
|
||||
inkscape:label="mouse pointer dwell click drag"
|
||||
transform="translate(0,-344)">
|
||||
<title
|
||||
id="title39369">pointer-drag</title>
|
||||
<rect
|
||||
width="20"
|
||||
height="20"
|
||||
x="55.999992"
|
||||
y="640"
|
||||
id="rect9430"
|
||||
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1.781;marker:none;enable-background:new" />
|
||||
<path
|
||||
d="m 66.92607,642.31969 c -0.836524,0.0747 -1.818151,-0.13657 -2.447266,0.57617 -0.179249,0.5031 -0.39107,0.72969 -0.945312,0.61718 -0.793816,-0.0511 -1.701912,0.0538 -2.1875,0.77344 -0.554908,0.83096 -0.313681,1.85623 -0.367187,2.79297 v 1.50195 c -0.509721,-0.31797 -1.13192,-0.13205 -1.699219,-0.18164 -0.442833,-0.0207 -0.881113,0.0252 -1.31836,0.0918 0.05693,2.68593 0.07373,5.37334 0.121094,8.05859 0.09369,1.3023 1.232044,2.40482 2.544922,2.42383 0.632949,0.0151 1.48233,0.007 2.224609,0.0117 3.221817,-0.0121 6.446114,0.0498 9.666016,-0.0566 1.162213,-0.12022 2.213268,-1.18845 2.070313,-2.39648 v -9.48047 c -0.706809,-0.94069 -1.815276,-1.78087 -3.058594,-1.57032 -0.299549,-0.45356 -0.486118,-1.47311 -1.226563,-1.79882 -0.354855,-0.29104 -0.839588,-0.10977 -1.259765,-0.16211 -0.297442,-0.0727 -0.8559,0.19254 -0.869141,-0.25196 -0.157351,-0.52152 -0.715235,-0.90856 -1.248047,-0.94921 z m -0.105469,1.5039 c 0.164522,0.27146 0.182773,0.75372 0.21875,1.125 0.0066,0.007 0.0198,0.006 0.02734,0.0117 -0.0091,-1.7e-4 -0.01824,1.7e-4 -0.02734,0 l 0.494141,5.90039 0.664062,-5.8418 1.345704,0.004 c 0.536079,0.38955 0.412986,1.14048 0.554687,1.72266 -0.01113,0.0675 0.0064,0.096 0.01563,0.13672 -6.5e-4,-10e-6 -0.0013,0 -0.002,0 l 0.01172,0.0859 0.482422,3.86524 0.664062,-3.91993 c 0.574035,-0.0371 1.157689,0.0385 1.558594,0.50196 0.40964,0.21686 0.215641,0.68897 0.259766,1.05859 v 8.3418 c -0.337059,0.96368 -1.599977,0.54827 -2.375,0.66016 -3.370517,0.0131 -6.742137,0.0338 -10.111329,-0.0137 -0.975625,-0.0283 -1.141898,-1.06997 -1.040974,-1.84179 -0.01164,-1.90706 -0.04474,-3.81393 -0.07813,-5.72071 0.326364,0.006 0.675958,-0.0127 0.988281,0.01 0.493884,0.91523 0.484615,2.00119 0.507813,3.01563 0.492636,-0.007 1.043381,0.0398 1.5,0 0.0091,-2.51961 -0.01844,-5.04003 0.01367,-7.5586 0.104898,-0.5199 0.730745,-0.30916 1.111329,-0.35352 h 0.675781 l 0.488281,5.84766 0.669922,-5.87695 h -0.0039 c 0.03095,-0.38284 -0.150626,-0.89584 0.24805,-1.11914 z"
|
||||
id="path5630"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g30454"
|
||||
inkscape:label="mouse pointer dwell click double"
|
||||
transform="translate(0,-344)">
|
||||
<title
|
||||
id="title39367">pointer-double-click</title>
|
||||
<rect
|
||||
width="20"
|
||||
height="20"
|
||||
x="83.999992"
|
||||
y="640"
|
||||
id="rect14651"
|
||||
style="color:#bebebe;display:inline;overflow:visible;visibility:visible;fill:none;stroke:none;stroke-width:1.781;marker:none;enable-background:new" />
|
||||
<path
|
||||
d="m 85,640 v 19.70898 l 4.24414,-4.14453 c 0.5882,1.18866 1.158389,2.38656 1.758464,3.56913 1.108631,1.64026 4.157538,0.46513 3.89799,-1.49586 0.01057,-0.47022 -0.405577,-0.90844 -0.434651,-1.31364 l 0.778203,-0.75963 c 0.5882,1.18866 1.158389,2.38656 1.758464,3.56913 1.108631,1.64026 4.15754,0.46513 3.89799,-1.49586 -0.19232,-0.9043 -0.71785,-1.69802 -1.068629,-2.54897 l -0.716725,-1.53797 h 4.830074 L 91,640 v 6.24414 z m 1.5,3.72656 6,6.24414 v -6.24414 l 7.92188,8.32422 h -3.662115 c 0.883468,1.90344 1.781983,3.80027 2.656081,5.70782 0.0065,0.62278 -1.227555,0.98057 -1.325116,0.20712 l -2.412991,-4.92076 -3.060547,2.98633 c 0.263642,0.60805 0.596803,1.19246 0.814693,1.81614 -0.182662,0.60103 -1.26833,0.8373 -1.365856,0.0679 l -2.388284,-4.87037 -3.177734,3.10156 z"
|
||||
id="path5565-5"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g1429"
|
||||
transform="translate(-132,-248)"
|
||||
inkscape:label="screenshooter capture area ">
|
||||
<title
|
||||
id="title1423">screenshot-ui-area</title>
|
||||
<rect
|
||||
width="31.999998"
|
||||
height="31.999998"
|
||||
x="-491.99994"
|
||||
y="-163.99998"
|
||||
id="rect1425"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none;stroke-width:1" />
|
||||
<path
|
||||
d="m 135.5,462 a 3.515,3.515 0 0 0 -3.5,3.5 c 0,1.385 0.822,2.593 2,3.158 V 472 h 2 v -3.037 A 3.521,3.521 0 0 0 138.963,466 H 141 v -2 h -2.342 a 3.516,3.516 0 0 0 -3.158,-2 z m 25,0 a 3.516,3.516 0 0 0 -3.158,2 H 155 v 2 h 2.037 A 3.521,3.521 0 0 0 160,468.963 V 472 h 2 v -3.342 a 3.516,3.516 0 0 0 2,-3.158 c 0,-1.921 -1.579,-3.5 -3.5,-3.5 z m -25,2 c 0.84,0 1.5,0.66 1.5,1.5 0,0.84 -0.66,1.5 -1.5,1.5 -0.84,0 -1.5,-0.66 -1.5,-1.5 0,-0.84 0.66,-1.5 1.5,-1.5 z m 7.5,0 v 2 h 4 v -2 z m 6,0 v 2 h 4 v -2 z m 11.5,0 c 0.84,0 1.5,0.66 1.5,1.5 0,0.84 -0.66,1.5 -1.5,1.5 -0.84,0 -1.5,-0.66 -1.5,-1.5 0,-0.84 0.66,-1.5 1.5,-1.5 z M 134,474 v 4 h 2 v -4 z m 26,0 v 4 h 2 v -4 z m -26,6 v 3.342 a 3.516,3.516 0 0 0 -2,3.158 c 0,1.921 1.579,3.5 3.5,3.5 a 3.516,3.516 0 0 0 3.158,-2 H 141 v -2 h -2.037 A 3.521,3.521 0 0 0 136,483.037 V 480 Z m 26,0 v 3.037 A 3.521,3.521 0 0 0 157.037,486 H 155 v 2 h 2.342 a 3.516,3.516 0 0 0 3.158,2 c 1.921,0 3.5,-1.579 3.5,-3.5 a 3.516,3.516 0 0 0 -2,-3.158 V 480 Z m -24.5,5 c 0.84,0 1.5,0.66 1.5,1.5 0,0.84 -0.66,1.5 -1.5,1.5 -0.84,0 -1.5,-0.66 -1.5,-1.5 0,-0.84 0.66,-1.5 1.5,-1.5 z m 25,0 c 0.84,0 1.5,0.66 1.5,1.5 0,0.84 -0.66,1.5 -1.5,1.5 -0.84,0 -1.5,-0.66 -1.5,-1.5 0,-0.84 0.66,-1.5 1.5,-1.5 z m -17.5,1 v 2 h 4 v -2 z m 6,0 v 2 h 4 v -2 z"
|
||||
id="path2-3"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g4349"
|
||||
transform="translate(-92,-248)"
|
||||
inkscape:label="screenshooter capture display screen ">
|
||||
<title
|
||||
id="title4343">screenshot-ui-display</title>
|
||||
<rect
|
||||
width="31.999998"
|
||||
height="31.999998"
|
||||
x="-491.99994"
|
||||
y="-163.99998"
|
||||
id="rect4345"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none;stroke-width:1" />
|
||||
<path
|
||||
id="path9443"
|
||||
d="m 136,464 c -1.662,0 -3,1.338 -3,3 v 14 c 0,1.662 1.338,3 3,3 h 10 v 2.99805 h -3.00195 c -1.0901,-7e-5 -1.99805,0.90995 -1.99805,2 H 142.99805 153 155 C 155,487.908 154.09,487.00007 153,487 h -2.99805 v -3 H 160 c 1.662,0 3,-1.338 3,-3 v -14 c 0,-1.662 -1.338,-3 -3,-3 z m 0,2 h 24 c 0.554,0 1,0.446 1,1 v 14 c 0,0.554 -0.446,1 -1,1 h -24 c -0.554,0 -1,-0.446 -1,-1 v -14 c 0,-0.554 0.446,-1 1,-1 z"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g4445"
|
||||
transform="translate(-52,-248)"
|
||||
inkscape:label="screenshooter capture windows">
|
||||
<title
|
||||
id="title4439">screenshot-ui-window</title>
|
||||
<path
|
||||
id="rect28516"
|
||||
d="m 135,463 c -1.6447,0 -3,1.3553 -3,3 v 14 c 0,1.6447 1.3553,3 3,3 h 3.99805 v 3 c 0,1.6447 1.3553,3 3,3 h 18.99804 c 1.6447,0 3,-1.3553 3,-3 v -14 c 0,-1.6447 -1.3553,-3 -3,-3 h -4 v -3 c 0,-1.6447 -1.3553,-3 -3,-3 z m 0,2 h 18.99609 c 0.5713,0 1,0.4287 1,1 v 3 h -12.99804 c -1.6447,0 -3,1.3553 -3,3 v 9 H 135 c -0.5713,0 -1,-0.4287 -1,-1 v -14 c 0,-0.5713 0.4287,-1 1,-1 z m 6.99805,6 h 18.99804 c 0.5713,0 1,0.4287 1,1 v 14 c 0,0.5713 -0.4287,1 -1,1 h -18.99804 c -0.5713,0 -1,-0.4287 -1,-1 v -14 c 0,-0.5713 0.4287,-1 1,-1 z"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
<rect
|
||||
width="31.999998"
|
||||
height="31.999998"
|
||||
x="-491.99994"
|
||||
y="-163.99998"
|
||||
id="rect4441"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none;stroke-width:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g42319"
|
||||
transform="translate(-12,-248)"
|
||||
inkscape:label="screenshooter capture windows">
|
||||
<title
|
||||
id="title42313">screenshot-ui-window</title>
|
||||
<path
|
||||
id="path42315"
|
||||
d="m 135,463 c -1.6447,0 -3,1.3553 -3,3 v 14 c 0,1.6447 1.3553,3 3,3 h 3.99805 v 3 c 0,1.6447 1.3553,3 3,3 h 18.99804 c 1.6447,0 3,-1.3553 3,-3 v -14 c 0,-1.6447 -1.3553,-3 -3,-3 h -4 v -3 c 0,-1.6447 -1.3553,-3 -3,-3 z m 0,2 h 18.99609 c 0.5713,0 1,0.4287 1,1 v 3 h -12.99804 c -1.6447,0 -3,1.3553 -3,3 v 9 H 135 c -0.5713,0 -1,-0.4287 -1,-1 v -14 c 0,-0.5713 0.4287,-1 1,-1 z m 6.99805,6 h 18.99804 c 0.5713,0 1,0.4287 1,1 v 14 c 0,0.5713 -0.4287,1 -1,1 h -18.99804 c -0.5713,0 -1,-0.4287 -1,-1 v -14 c 0,-0.5713 0.4287,-1 1,-1 z"
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
<rect
|
||||
width="31.999998"
|
||||
height="31.999998"
|
||||
x="-491.99994"
|
||||
y="-163.99998"
|
||||
id="rect42317"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none;stroke-width:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g42429"
|
||||
inkscape:label="screenshooter capture display screen "
|
||||
transform="translate(-80,-335.53331)">
|
||||
<title
|
||||
id="title42423">screenshot-ui-show-pointer</title>
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
y="663.53333"
|
||||
x="-96"
|
||||
height="16"
|
||||
width="16"
|
||||
id="rect42425"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 82.95312,664.60753 2.41797,13.21094 3.23828,-2.39844 2.05469,2.64844 c 1.03125,1.43359 3.14844,-0.21094 2.01172,-1.5625 l -2.01562,-2.59375 2.98437,-2.17579 z m 0,0"
|
||||
fill="#2e3436"
|
||||
id="path2-35" />
|
||||
</g>
|
||||
<g
|
||||
id="g14227"
|
||||
transform="translate(-71.999987,-207.99997)"
|
||||
inkscape:label="overview window close">
|
||||
<title
|
||||
id="title15444">preview-close</title>
|
||||
<rect
|
||||
width="23.999996"
|
||||
height="23.999996"
|
||||
x="-487.99997"
|
||||
y="-159.99998"
|
||||
id="rect14223"
|
||||
transform="matrix(0,-1,-1,0,0,0)"
|
||||
style="fill:none" />
|
||||
</g>
|
||||
<path
|
||||
id="path986"
|
||||
d="M 71 262 A 1 1 0 0 0 70.292969 262.29297 A 1 1 0 0 0 70.292969 263.70703 L 74.585938 268 L 70.292969 272.29297 A 1 1 0 0 0 70.292969 273.70703 A 1 1 0 0 0 71.707031 273.70703 L 76 269.41406 L 80.292969 273.70703 A 1 1 0 0 0 81.707031 273.70703 A 1 1 0 0 0 81.707031 272.29297 L 77.414062 268 L 81.707031 263.70703 A 1 1 0 0 0 81.707031 262.29297 A 1 1 0 0 0 81 262 A 1 1 0 0 0 80.292969 262.29297 L 76 266.58594 L 71.707031 262.29297 A 1 1 0 0 0 71 262 z "
|
||||
style="fill:#241f31;fill-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 25 KiB |
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
# Keep in sync with subprojects/extensions-app
|
||||
Name=Extensions
|
||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||
Icon=org.gnome.Shell.Extensions
|
||||
# Never launch this, just provide name+icon to portal dialog
|
||||
Exec=false
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
@@ -1,34 +0,0 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on Wayland
|
||||
# On wayland, force a session shutdown
|
||||
OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-shutdown.target
|
||||
OnFailureJobMode=replace-irreversibly
|
||||
CollectMode=inactive-or-failed
|
||||
RefuseManualStart=on
|
||||
RefuseManualStop=on
|
||||
|
||||
After=gnome-session-manager.target
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
[Service]
|
||||
Slice=session.slice
|
||||
Type=notify
|
||||
# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in
|
||||
# the [Unit] section with systemd >= 246. Also, the current solution is
|
||||
# kind of painful as systemd had a bug where it retries the condition.
|
||||
# Only start if the template instance matches the session type.
|
||||
ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2'
|
||||
ExecStart=@bindir@/gnome-shell
|
||||
# Exit code 1 means we are probably *not* dealing with an extension failure
|
||||
SuccessExitStatus=1
|
||||
|
||||
# unset some environment variables that were set by the shell and won't work now that the shell is gone
|
||||
ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY'
|
||||
|
||||
# On wayland we cannot restart
|
||||
Restart=no
|
||||
# Kill any stubborn child processes after this long
|
||||
TimeoutStopSec=5
|
@@ -41,7 +41,7 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="disable-extension-version-validation" type="b">
|
||||
<default>false</default>
|
||||
<default>true</default>
|
||||
<summary>Disables the validation of extension version compatibility</summary>
|
||||
<description>
|
||||
GNOME Shell will only load extensions that claim to support the current
|
||||
@@ -50,13 +50,20 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="favorite-apps" type="as">
|
||||
<default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||
<default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||
<summary>List of desktop file IDs for favorite applications</summary>
|
||||
<description>
|
||||
The applications corresponding to these identifiers
|
||||
will be displayed in the favorites area.
|
||||
</description>
|
||||
</key>
|
||||
<key name="app-picker-view" type="u">
|
||||
<default>0</default>
|
||||
<summary>App Picker View</summary>
|
||||
<description>
|
||||
Index of the currently selected view in the application picker.
|
||||
</description>
|
||||
</key>
|
||||
<key name="command-history" type="as">
|
||||
<default>[]</default>
|
||||
<summary>History for command (Alt-F2) dialog</summary>
|
||||
@@ -94,58 +101,12 @@
|
||||
adapter is ever seen not to have devices associated to it.
|
||||
</description>
|
||||
</key>
|
||||
<key name="last-selected-power-profile" type="s">
|
||||
<default>"power-saver"</default>
|
||||
<summary>The last selected non-default power profile</summary>
|
||||
<key name="introspect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Enable introspection API</summary>
|
||||
<description>
|
||||
Some systems support more than two power profiles. In order to still support
|
||||
toggling between two profiles, this key records the last selected non-default
|
||||
profile.
|
||||
</description>
|
||||
</key>
|
||||
<key name="welcome-dialog-last-shown-version" type="s">
|
||||
<default>''</default>
|
||||
<summary>The last version the “Welcome to GNOME” dialog was shown for</summary>
|
||||
<description>
|
||||
This key determines for which version the “Welcome to GNOME” dialog was
|
||||
last shown. An empty string represents the oldest possible version, and
|
||||
a huge number will represent versions that do not exist yet. This huge
|
||||
number can be used to effectively disable the dialog.
|
||||
</description>
|
||||
</key>
|
||||
<key name="app-picker-layout" type="aa{sv}">
|
||||
<default><![CDATA[
|
||||
[{
|
||||
'org.gnome.Geary.desktop': <{'position': <0>}>,
|
||||
'org.gnome.Contacts.desktop': <{'position': <1>}>,
|
||||
'org.gnome.Weather.desktop': <{'position': <2>}>,
|
||||
'org.gnome.clocks.desktop': <{'position': <3>}>,
|
||||
'org.gnome.Maps.desktop': <{'position': <4>}>,
|
||||
'org.gnome.Books.desktop': <{'position': <5>}>,
|
||||
'org.gnome.Photos.desktop': <{'position': <6>}>,
|
||||
'org.gnome.Totem.desktop': <{'position': <7>}>,
|
||||
'org.gnome.Calculator.desktop': <{'position': <8>}>,
|
||||
'org.gnome.gedit.desktop': <{'position': <9>}>,
|
||||
'simple-scan.desktop': <{'position': <10>}>,
|
||||
'org.gnome.Settings.desktop': <{'position': <11>}>,
|
||||
'gnome-system-monitor.desktop': <{'position': <12>}>,
|
||||
'org.gnome.Boxes.desktop': <{'position': <13>}>,
|
||||
'org.gnome.Terminal.desktop': <{'position': <14>}>,
|
||||
'Utilities': <{'position': <15>}>,
|
||||
'org.gnome.Characters.desktop': <{'position': <16>}>,
|
||||
'yelp.desktop': <{'position': <17>}>,
|
||||
'org.gnome.Screenshot.desktop': <{'position': <18>}>,
|
||||
'org.gnome.Cheese.desktop': <{'position': <19>}>,
|
||||
'org.gnome.font-viewer.desktop': <{'position': <20>}>
|
||||
}]
|
||||
]]></default>
|
||||
<summary>Layout of the app picker</summary>
|
||||
<description>
|
||||
Layout of the app picker. Each entry in the array is a page. Pages are
|
||||
stored in the order they appear in GNOME Shell. Each page contains an
|
||||
“application id” → 'data' pair. Currently, the following values are
|
||||
stored as 'data':
|
||||
• “position”: the position of the application icon in the page
|
||||
Enables a D-Bus API that allows to introspect the application state of
|
||||
the shell.
|
||||
</description>
|
||||
</key>
|
||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||
@@ -160,20 +121,6 @@
|
||||
Keybinding to open the application menu.
|
||||
</description>
|
||||
</key>
|
||||
<key name="shift-overview-up" type="as">
|
||||
<default>["<Super><Alt>Up"]</default>
|
||||
<summary>Keybinding to shift between overview states</summary>
|
||||
<description>
|
||||
Keybinding to shift between session, window picker and app grid
|
||||
</description>
|
||||
</key>
|
||||
<key name="shift-overview-down" type="as">
|
||||
<default>["<Super><Alt>Down"]</default>
|
||||
<summary>Keybinding to shift between overview states</summary>
|
||||
<description>
|
||||
Keybinding to shift between app grid, window picker and session
|
||||
</description>
|
||||
</key>
|
||||
<key name="toggle-application-view" type="as">
|
||||
<default>["<Super>a"]</default>
|
||||
<summary>Keybinding to open the “Show Applications” view</summary>
|
||||
@@ -239,30 +186,6 @@
|
||||
<default>["<Super>9"]</default>
|
||||
<summary>Switch to application 9</summary>
|
||||
</key>
|
||||
<key name="switch-realm" type="as">
|
||||
<default>["<Primary>Tab"]</default>
|
||||
<summary>Open Realm Switcher</summary>
|
||||
</key>
|
||||
<key name="switch-realm-backward" type="as">
|
||||
<default>["<Shift><Primary>Tab"]</default>
|
||||
<summary>Open Realm Switcher Backwards</summary>
|
||||
</key>
|
||||
<key name="show-screenshot-ui" type="as">
|
||||
<default>["Print"]</default>
|
||||
<summary>Take a screenshot interactively</summary>
|
||||
</key>
|
||||
<key name="show-screen-recording-ui" type="as">
|
||||
<default>["<Ctrl><Shift><Alt>R"]</default>
|
||||
<summary>Record a screencast interactively</summary>
|
||||
</key>
|
||||
<key name="screenshot-window" type="as">
|
||||
<default>["<Alt>Print"]</default>
|
||||
<summary>Take a screenshot of a window</summary>
|
||||
</key>
|
||||
<key name="screenshot" type="as">
|
||||
<default>["<Shift>Print"]</default>
|
||||
<summary>Take a screenshot</summary>
|
||||
</key>
|
||||
</schema>
|
||||
|
||||
<schema id="org.gnome.shell.app-switcher"
|
||||
|
@@ -1,978 +0,0 @@
|
||||
{
|
||||
"levels": [
|
||||
{
|
||||
"level": "",
|
||||
"mode": "default",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"q"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"w"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"e",
|
||||
"é",
|
||||
"è",
|
||||
"ê",
|
||||
"ë",
|
||||
"ė"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"t"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"z"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"u",
|
||||
"ü",
|
||||
"û",
|
||||
"ù",
|
||||
"ú",
|
||||
"ū"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"i"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"o",
|
||||
"ö",
|
||||
"ô",
|
||||
"ò",
|
||||
"ó",
|
||||
"õ",
|
||||
"œ",
|
||||
"ø",
|
||||
"ō"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"p"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"a",
|
||||
"ä",
|
||||
"â",
|
||||
"à",
|
||||
"á",
|
||||
"æ",
|
||||
"ã",
|
||||
"å",
|
||||
"ā"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"s",
|
||||
"ß",
|
||||
"ś",
|
||||
"š"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"f"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"g"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"j"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"k"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"l"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"x"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"v"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"b"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"n",
|
||||
"ñ",
|
||||
"ń"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"m"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 1,
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 5
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic",
|
||||
"width": 2
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "shift",
|
||||
"mode": "latched",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"Q"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"W"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"E",
|
||||
"É",
|
||||
"È",
|
||||
"Ê",
|
||||
"Ë",
|
||||
"Ė"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"R"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"T"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Z"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"U",
|
||||
"Ü",
|
||||
"Û",
|
||||
"Ù",
|
||||
"Ú",
|
||||
"Ū"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"I"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"O",
|
||||
"Ö",
|
||||
"Ô",
|
||||
"Ò",
|
||||
"Ó",
|
||||
"Õ",
|
||||
"Œ",
|
||||
"Ø",
|
||||
"Ō"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"P"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"A",
|
||||
"Ä",
|
||||
"Â",
|
||||
"À",
|
||||
"Á",
|
||||
"Æ",
|
||||
"Ã",
|
||||
"Å",
|
||||
"Ā"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"S",
|
||||
"SS",
|
||||
"Ś",
|
||||
"Š"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"D"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"F"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"G"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"H"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"J"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"K"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 0
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"X"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"C"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"V"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"B"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"N",
|
||||
"Ñ",
|
||||
"Ń"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"M"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 5
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic",
|
||||
"width": 2
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"1",
|
||||
"¹",
|
||||
"½",
|
||||
"⅓",
|
||||
"¼",
|
||||
"⅛"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"2",
|
||||
"²",
|
||||
"⅔"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"3",
|
||||
"³",
|
||||
"¾",
|
||||
"⅜"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"4",
|
||||
"⁴"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"5",
|
||||
"⅝"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"6"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"7",
|
||||
"⅞"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"0",
|
||||
"ⁿ",
|
||||
"∅"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"#"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"€",
|
||||
"¢",
|
||||
"£",
|
||||
"$",
|
||||
"¥",
|
||||
"₱"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"%",
|
||||
"‰"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"&"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"-",
|
||||
"_",
|
||||
"–",
|
||||
"—",
|
||||
"·"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"+",
|
||||
"±"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"(",
|
||||
"<",
|
||||
"{",
|
||||
"["
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
")",
|
||||
">",
|
||||
"}",
|
||||
"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "=/<",
|
||||
"level": 3,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"*",
|
||||
"†",
|
||||
"‡",
|
||||
"★"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"\"",
|
||||
"“",
|
||||
"”",
|
||||
"«",
|
||||
"»"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"'",
|
||||
"‘",
|
||||
"’",
|
||||
"‹",
|
||||
"›"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
":"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
";"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"!",
|
||||
"¡"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"?",
|
||||
"¿"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "=/<",
|
||||
"level": 3,
|
||||
"width": 3
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "ABC",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"_"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 3
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt+shift",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"~"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"`"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"|"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"•",
|
||||
"♪",
|
||||
"♥",
|
||||
"♠",
|
||||
"♦",
|
||||
"♣"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"√"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Π",
|
||||
"π"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"÷"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"×"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¶",
|
||||
"§"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"∆"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"£"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¥"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"$",
|
||||
"¢"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¢"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"^",
|
||||
"↑",
|
||||
"↓",
|
||||
"←",
|
||||
"→"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"°",
|
||||
"′",
|
||||
"″"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"=",
|
||||
"≠",
|
||||
"≈",
|
||||
"∞"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"{"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"\\"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"©"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"®"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"™"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"℅"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"["
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 3
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "ABC",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"<",
|
||||
"‹",
|
||||
"≤",
|
||||
"«"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
">",
|
||||
"›",
|
||||
"≥",
|
||||
"»"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 3
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"locale": "de-AT",
|
||||
"name": "Austrian German"
|
||||
}
|
@@ -1,978 +0,0 @@
|
||||
{
|
||||
"levels": [
|
||||
{
|
||||
"level": "",
|
||||
"mode": "default",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"q"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"w"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"e",
|
||||
"é",
|
||||
"è",
|
||||
"ê",
|
||||
"ë",
|
||||
"ė"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"t"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"z"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"u",
|
||||
"ü",
|
||||
"û",
|
||||
"ù",
|
||||
"ú",
|
||||
"ū"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"i"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"o",
|
||||
"ö",
|
||||
"ô",
|
||||
"ò",
|
||||
"ó",
|
||||
"õ",
|
||||
"œ",
|
||||
"ø",
|
||||
"ō"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"p"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"a",
|
||||
"ä",
|
||||
"â",
|
||||
"à",
|
||||
"á",
|
||||
"æ",
|
||||
"ã",
|
||||
"å",
|
||||
"ā"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"s",
|
||||
"ß",
|
||||
"ś",
|
||||
"š"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"f"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"g"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"j"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"k"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"l"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"x"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"v"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"b"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"n",
|
||||
"ñ",
|
||||
"ń"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"m"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 1,
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 5
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic",
|
||||
"width": 2
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "shift",
|
||||
"mode": "latched",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"Q"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"W"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"E",
|
||||
"É",
|
||||
"È",
|
||||
"Ê",
|
||||
"Ë",
|
||||
"Ė"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"R"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"T"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Z"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"U",
|
||||
"Ü",
|
||||
"Û",
|
||||
"Ù",
|
||||
"Ú",
|
||||
"Ū"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"I"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"O",
|
||||
"Ö",
|
||||
"Ô",
|
||||
"Ò",
|
||||
"Ó",
|
||||
"Õ",
|
||||
"Œ",
|
||||
"Ø",
|
||||
"Ō"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"P"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"A",
|
||||
"Ä",
|
||||
"Â",
|
||||
"À",
|
||||
"Á",
|
||||
"Æ",
|
||||
"Ã",
|
||||
"Å",
|
||||
"Ā"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"S",
|
||||
"SS",
|
||||
"Ś",
|
||||
"Š"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"D"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"F"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"G"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"H"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"J"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"K"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 0
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"X"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"C"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"V"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"B"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"N",
|
||||
"Ñ",
|
||||
"Ń"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"M"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 5
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic",
|
||||
"width": 2
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"1",
|
||||
"¹",
|
||||
"½",
|
||||
"⅓",
|
||||
"¼",
|
||||
"⅛"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"2",
|
||||
"²",
|
||||
"⅔"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"3",
|
||||
"³",
|
||||
"¾",
|
||||
"⅜"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"4",
|
||||
"⁴"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"5",
|
||||
"⅝"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"6"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"7",
|
||||
"⅞"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"0",
|
||||
"ⁿ",
|
||||
"∅"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"#"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"€",
|
||||
"¢",
|
||||
"£",
|
||||
"$",
|
||||
"¥",
|
||||
"₱"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"%",
|
||||
"‰"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"&"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"-",
|
||||
"_",
|
||||
"–",
|
||||
"—",
|
||||
"·"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"+",
|
||||
"±"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"(",
|
||||
"<",
|
||||
"{",
|
||||
"["
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
")",
|
||||
">",
|
||||
"}",
|
||||
"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "=/<",
|
||||
"level": 3,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"*",
|
||||
"†",
|
||||
"‡",
|
||||
"★"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"\"",
|
||||
"“",
|
||||
"”",
|
||||
"«",
|
||||
"»"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"'",
|
||||
"‘",
|
||||
"’",
|
||||
"‹",
|
||||
"›"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
":"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
";"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"!",
|
||||
"¡"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"?",
|
||||
"¿"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "=/<",
|
||||
"level": 3,
|
||||
"width": 3
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "ABC",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"_"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 3
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt+shift",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"~"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"`"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"|"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"•",
|
||||
"♪",
|
||||
"♥",
|
||||
"♠",
|
||||
"♦",
|
||||
"♣"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"√"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Π",
|
||||
"π"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"÷"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"×"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¶",
|
||||
"§"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"∆"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"£"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¥"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"$",
|
||||
"¢"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¢"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"^",
|
||||
"↑",
|
||||
"↓",
|
||||
"←",
|
||||
"→"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"°",
|
||||
"′",
|
||||
"″"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"=",
|
||||
"≠",
|
||||
"≈",
|
||||
"∞"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"{"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"\\"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"©"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"®"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"™"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"℅"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"["
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 3
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "ABC",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"<",
|
||||
"‹",
|
||||
"≤",
|
||||
"«"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
">",
|
||||
"›",
|
||||
"≥",
|
||||
"»"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 3
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"locale": "fr-CH",
|
||||
"name": "Swiss French"
|
||||
}
|
@@ -1,978 +0,0 @@
|
||||
{
|
||||
"levels": [
|
||||
{
|
||||
"level": "",
|
||||
"mode": "default",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"q"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"w"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"e",
|
||||
"é",
|
||||
"è",
|
||||
"ê",
|
||||
"ë",
|
||||
"ė"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"t"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"z"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"u",
|
||||
"ü",
|
||||
"û",
|
||||
"ù",
|
||||
"ú",
|
||||
"ū"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"i"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"o",
|
||||
"ö",
|
||||
"ô",
|
||||
"ò",
|
||||
"ó",
|
||||
"õ",
|
||||
"œ",
|
||||
"ø",
|
||||
"ō"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"p"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"a",
|
||||
"ä",
|
||||
"â",
|
||||
"à",
|
||||
"á",
|
||||
"æ",
|
||||
"ã",
|
||||
"å",
|
||||
"ā"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"s",
|
||||
"ß",
|
||||
"ś",
|
||||
"š"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"d"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"f"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"g"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"h"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"j"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"k"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"l"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"x"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"v"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"b"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"n",
|
||||
"ñ",
|
||||
"ń"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"m"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 1,
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 5
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic",
|
||||
"width": 2
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "shift",
|
||||
"mode": "latched",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"Q"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"W"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"E",
|
||||
"É",
|
||||
"È",
|
||||
"Ê",
|
||||
"Ë",
|
||||
"Ė"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"R"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"T"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Z"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"U",
|
||||
"Ü",
|
||||
"Û",
|
||||
"Ù",
|
||||
"Ú",
|
||||
"Ū"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"I"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"O",
|
||||
"Ö",
|
||||
"Ô",
|
||||
"Ò",
|
||||
"Ó",
|
||||
"Õ",
|
||||
"Œ",
|
||||
"Ø",
|
||||
"Ō"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"P"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"A",
|
||||
"Ä",
|
||||
"Â",
|
||||
"À",
|
||||
"Á",
|
||||
"Æ",
|
||||
"Ã",
|
||||
"Å",
|
||||
"Ā"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"S",
|
||||
"SS",
|
||||
"Ś",
|
||||
"Š"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"D"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"F"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"G"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"H"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"J"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"K"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"L"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 0
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"X"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"C"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"V"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"B"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"N",
|
||||
"Ñ",
|
||||
"Ń"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"M"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"iconName": "keyboard-shift-symbolic",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 5
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic",
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic",
|
||||
"width": 2
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"1",
|
||||
"¹",
|
||||
"½",
|
||||
"⅓",
|
||||
"¼",
|
||||
"⅛"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"2",
|
||||
"²",
|
||||
"⅔"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"3",
|
||||
"³",
|
||||
"¾",
|
||||
"⅜"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"4",
|
||||
"⁴"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"5",
|
||||
"⅝"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"6"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"7",
|
||||
"⅞"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"9"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"0",
|
||||
"ⁿ",
|
||||
"∅"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"#"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"€",
|
||||
"¢",
|
||||
"£",
|
||||
"$",
|
||||
"¥",
|
||||
"₱"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"%",
|
||||
"‰"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"&"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"-",
|
||||
"_",
|
||||
"–",
|
||||
"—",
|
||||
"·"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"+",
|
||||
"±"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"(",
|
||||
"<",
|
||||
"{",
|
||||
"["
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
")",
|
||||
">",
|
||||
"}",
|
||||
"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "=/<",
|
||||
"level": 3,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"*",
|
||||
"†",
|
||||
"‡",
|
||||
"★"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"\"",
|
||||
"“",
|
||||
"”",
|
||||
"«",
|
||||
"»"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"'",
|
||||
"‘",
|
||||
"’",
|
||||
"‹",
|
||||
"›"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
":"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
";"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"!",
|
||||
"¡"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"?",
|
||||
"¿"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "=/<",
|
||||
"level": 3,
|
||||
"width": 3
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "ABC",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"_"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"/"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 3
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "opt+shift",
|
||||
"mode": "locked",
|
||||
"rows": [
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"~"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"`"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"|"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"•",
|
||||
"♪",
|
||||
"♥",
|
||||
"♠",
|
||||
"♦",
|
||||
"♣"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"√"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"Π",
|
||||
"π"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"÷"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"×"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¶",
|
||||
"§"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"∆"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "delete",
|
||||
"iconName": "edit-clear-symbolic",
|
||||
"width": 1.5
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"strings": [
|
||||
"£"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¥"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"$",
|
||||
"¢"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"¢"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"^",
|
||||
"↑",
|
||||
"↓",
|
||||
"←",
|
||||
"→"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"°",
|
||||
"′",
|
||||
"″"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"=",
|
||||
"≠",
|
||||
"≈",
|
||||
"∞"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"{"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"iconName": "keyboard-enter-symbolic",
|
||||
"keyval": "0xff0d",
|
||||
"width": 2
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"\\"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"©"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"®"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"™"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"℅"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"["
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "?123",
|
||||
"level": 2,
|
||||
"width": 3
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"action": "levelSwitch",
|
||||
"label": "ABC",
|
||||
"level": 0,
|
||||
"width": 1.5
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
"<",
|
||||
"‹",
|
||||
"≤",
|
||||
"«"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
">",
|
||||
"›",
|
||||
"≥",
|
||||
"»"
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
" "
|
||||
],
|
||||
"width": 3
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
","
|
||||
]
|
||||
},
|
||||
{
|
||||
"strings": [
|
||||
".",
|
||||
"…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"action": "emoji",
|
||||
"iconName": "face-smile-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "languageMenu",
|
||||
"iconName": "keyboard-layout-symbolic"
|
||||
},
|
||||
{
|
||||
"action": "hide",
|
||||
"iconName": "keyboard-hide-symbolic"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"locale": "de-CH",
|
||||
"name": "Swiss German"
|
||||
}
|