Compare commits

..

1 Commits

Author SHA1 Message Date
Carlos Garnacho
f0cf611e1b shell: Update to MetaCursorTracker API change
The pointer coordinates in meta_cursor_tracker_get_pointer() are now
returned as a graphene_point_t.
2020-08-13 19:49:11 +00:00
807 changed files with 125817 additions and 231422 deletions

View File

@@ -1,23 +0,0 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
trim_trailing_whitespace = true
[*.js]
indent_size = 4
[*.[ch]]
indent_size = 2
[*.gresource.xml]
indent_size = 2
[*.ui]
indent_size = 2
[meson.build]
indent_size = 2

View File

@@ -1,5 +1,3 @@
extends:
- ./lint/eslintrc-gjs.yml
- ./lint/eslintrc-shell.yml
parserOptions:
sourceType: module

80
.gitignore vendored
View File

@@ -1,8 +1,84 @@
*.la
*.lo
*.o
.deps
.libs
ABOUT-NLS
ChangeLog
INSTALL
aclocal.m4
autom4te.cache
data/.osk-layout-workbench
data/org.gnome.Shell.desktop
data/org.gnome.Shell.desktop.in
data/gnome-shell-extension-prefs.desktop
data/gnome-shell-extension-prefs.desktop.in
data/gnome-shell-theme.gresource
data/gschemas.compiled
data/perf-background.xml
data/org.gnome.shell.gschema.xml
data/org.gnome.shell.gschema.valid
data/org.gnome.Shell.PortalHelper.desktop
data/org.gnome.Shell.PortalHelper.service
data/theme/.sass-cache
data/theme/gnome-shell*.css.map
data/theme/gnome-shell*.css
docs/reference/*/*.args
docs/reference/*/*.bak
docs/reference/*/*.hierarchy
docs/reference/*/*.interfaces
docs/reference/*/*.prerequisites
docs/reference/*/*.sgml
docs/reference/*/*.signals
docs/reference/*/*.stamp
docs/reference/*/*.txt
docs/reference/*/*.types
docs/reference/*/html/
docs/reference/*/xml/
docs/reference/shell/doc-gen-*
js/misc/config.js
js/js-resources.c
js/js-resources.h
man/gnome-shell.1
omf.make
po/*.gmo
po/gnome-shell.pot
po/*.header
po/*.sed
po/*.sin
po/.intltool-merge-cache
po/Makevars.template
po/POTFILES
po/Rules-quot
po/stamp-it
scripts/launcher.pyc
src/*.gir
src/*.typelib
src/*-enum-types.[ch]
src/*-marshal.[ch]
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-tool
src/gnome-shell-hotplug-sniffer
src/gnome-shell-perf-helper
src/gnome-shell-perf-tool
src/gnome-shell-portal-helper
src/hotplug-sniffer/org.gnome.Shell.HotplugSniffer.service
src/org-gtk-application.[ch]
src/run-js-test
src/test-recorder
src/test-recorder.ogg
src/test-theme
src/st.h
src/stamp-st.h
src/stamp-st.h.tmp
src/st-scroll-view-fade-generated.c
src/stamp-st-scroll-view-fade-generated.c
stamp-h1
tests/run-test.sh
*~
*.patch
*.sw?
.buildconfig
.eslintcache
.vscode

View File

@@ -1,323 +1,119 @@
include:
- remote: 'https://gitlab.gnome.org/GNOME/citemplates/raw/HEAD/flatpak/flatpak_ci_initiative.yml'
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/057b052e682d8e5a20c1eb2dd60d5b87d2b56856/templates/fedora.yml'
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/34f4ade99434043f88e164933f570301fd18b125/templates/ci-fairy.yml'
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
stages:
- pre_review
- prep
- review
- build
- test
- analyze
- docs
- deploy
default:
image: $MUTTER_CI_IMAGE
# 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
- deploy
variables:
MUTTER_CI_IMAGE: registry.gitlab.gnome.org/gnome/mutter/fedora/40:x86_64-2024-02-23.0
FDO_UPSTREAM_REPO: GNOME/gnome-shell
BUNDLE: "extensions-git.flatpak"
LINT_LOG: "eslint-report.xml"
LINT_MR_LOG: "eslint-mr-report.xml"
BUNDLE: "extensions-git.flatpak"
JS_LOG: "js-report.txt"
workflow:
rules:
- if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"'
when: never
- 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:
variables:
FDO_DISTRIBUTION_VERSION: 40
FDO_DISTRIBUTION_TAG: '2024-02-23.0'
FDO_DISTRIBUTION_PACKAGES:
gjs
nodejs
npm
meson
git
'pkgconfig(gobject-introspection-1.0)'
'pkgconfig(gio-2.0)'
'pkgconfig(gio-unix-2.0)'
'pkgconfig(gnome-autoar-0)'
'pkgconfig(json-glib-1.0)'
FDO_DISTRIBUTION_EXEC: |
# For static analysis with eslint
npm install -g eslint@^8.0.0 eslint-plugin-jsdoc@^46.0.0 &&
./.gitlab-ci/install-meson-project.sh \
https://gitlab.gnome.org/fmuellner/gjs-ci-tools.git \
main &&
./.gitlab-ci/install-meson-project.sh \
--subdir subprojects/extensions-tool/ \
--prepare ./generate-translations.sh \
-Dman=false \
https://gitlab.gnome.org/GNOME/gnome-shell.git \
main
.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
stage: prep
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
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
stage: review
script:
- gjs-check-syntax
artifacts:
reports:
junit: gjs-check-syntax.junit.xml
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
stage: review
script:
- find js -name '*.js' -exec js68 -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
stage: review
script:
- export NODE_PATH=$(npm root -g)
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout
artifacts:
reports:
junit: ${LINT_LOG}
when: always
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
stage: review
script:
- ./.gitlab-ci/run-eslint.sh
<<: *only_default
artifacts:
paths:
- reports
when: always
eslint-doc:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell.fedora
stage: review
script:
- export NODE_PATH=$(npm root -g)
- ./.gitlab-ci/eslint-coding-style.sh
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes:
- HACKING.md
- .eslintrc.yml
- lint/*
potfile_check:
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
stage: review
script:
- ./.gitlab-ci/check-potfiles.sh
<<: *only_default
potfile_c_check:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell.fedora
stage: review
script:
- ./.gitlab-ci/check-potfiles.sh
potfile_js_check:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell.fedora
stage: review
script:
- gjs-check-potfiles
artifacts:
reports:
junit: gjs-check-potfiles.junit.xml
no_template_check:
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
stage: review
script:
- ./.gitlab-ci/check-template-strings.sh
<<: *only_default
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
- sudo meson install -C mutter/build
script:
- meson setup . build -Dbuildtype=debugoptimized -Dman=false -Dgtk_doc=true --werror --fatal-meson-warnings
- meson compile -C build
- sudo meson install -C build
artifacts:
expire_in: 1 day
paths:
- mutter
- build
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
stage: build
needs: []
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:
- sudo meson install -C mutter/build
- mkdir -m 700 $XDG_RUNTIME_DIR
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
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:
- sudo meson install -C mutter/build
script:
- .gitlab-ci/download-coverity-tarball.sh
- CC=clang meson coverity-build -Dman=false
- ./coverity/cov-analysis-linux64-*/bin/cov-build --fs-capture-search js --dir cov-int meson compile -C coverity-build
- tar czf cov-int.tar.gz cov-int
- curl https://scan.coverity.com/builds?project=GNOME+Shell
--form token=$COVERITY_TOKEN --form email=carlosg@gnome.org
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
--form description="GitLab CI build"
cache:
key: coverity-tarball
paths:
- coverity
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
stage: test
needs: ["build"]
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
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
stage: build
needs: []
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"
extends: .flatpak
<<: *only_default
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:
- sudo 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'
reference:
stage: docs
needs: ["build"]
script:
- mkdir -p reference/
- mv build/docs/reference/{shell/shell,st/st} reference/
artifacts:
paths:
- reference
pages:
stage: deploy
needs: ['reference']
script:
- mv reference/ public/
artifacts:
paths:
- public
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"'
build-toolbox:
image: quay.io/freedesktop.org/ci-templates:container-build-base-2021-07-29.0
stage: deploy
needs: []
script:
- .gitlab-ci/build-toolbox-image.sh $MUTTER_CI_IMAGE
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"'
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/ && $CI_PROJECT_NAMESPACE == "GNOME"'
BUNDLES: '$BUNDLE'

24
.gitlab-ci/Dockerfile Normal file
View File

@@ -0,0 +1,24 @@
# Rebuild and push with
#
# cd .gitlab-ci/
# podman build --format docker --no-cache -t registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2 .
# podman push registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
#
FROM registry.fedoraproject.org/fedora:32
RUN dnf -y update && dnf -y upgrade && \
dnf install -y 'dnf-command(copr)' git && \
# For syntax checks with `find . -name '*.js' -exec js68 -c -s '{}' ';'`
dnf install -y findutils mozjs68-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

View File

@@ -1,91 +0,0 @@
#!/bin/bash
# vi: sw=2 ts=4
set -e
die() {
echo "$@" >&2
exit 1
}
check_image_base() {
local base=$(
skopeo inspect docker://$TOOLBOX_IMAGE 2>/dev/null |
jq -r '.Labels["org.opencontainers.image.base.name"]')
[[ "$base" == "$MUTTER_CI_IMAGE" ]]
}
build_container() {
echo Building $TOOLBOX_IMAGE from $MUTTER_CI_IMAGE
export BUILDAH_ISOLATION=chroot
export BUILDAH_FORMAT=docker
local build_cntr=$(buildah from $MUTTER_CI_IMAGE)
local build_mnt=$(buildah mount $build_cntr)
[[ -n "$build_mnt" && -n "$build_cntr" ]] || die "Failed to mount the container"
local extra_packages=(
passwd # needed by toolbox
gdb
gnome-console # can't do without *some* terminal
flatpak-spawn # run host commands
flatpak # for host apps
abattis-cantarell-fonts # system font
gnome-backgrounds # no blank background!
)
buildah run $build_cntr dnf config-manager --set-disabled '*-openh264'
buildah run $build_cntr dnf install -y "${extra_packages[@]}"
buildah run $build_cntr dnf clean all
buildah run $build_cntr rm -rf /var/lib/cache/dnf
# disable gnome-keyring activation:
# it either asks for unlocking the login keyring on startup, or it detects
# the running host daemon and doesn't export the object on the bus, which
# blocks the activating service until it hits the timeout
buildah run $build_cntr rm /usr/share/dbus-1/services/org.freedesktop.secrets.service
local srcdir=$(realpath $(dirname $0))
buildah copy --chmod 755 $build_cntr $srcdir/install-meson-project.sh /usr/libexec
# include convenience script for updating mutter dependency
local update_mutter=$(mktemp)
cat > $update_mutter <<-EOF
#!/bin/sh
/usr/libexec/install-meson-project.sh https://gitlab.gnome.org/GNOME/mutter.git $MUTTER_BRANCH
EOF
buildah copy --chmod 755 $build_cntr $update_mutter /usr/bin/update-mutter
buildah config --env HOME- \
--label com.github.containers.toolbox=true \
--label org.opencontainers.image.base.name=$MUTTER_CI_IMAGE \
$build_cntr
buildah commit $build_cntr $TOOLBOX_IMAGE
}
MUTTER_CI_IMAGE=$1
MUTTER_BRANCH=${2:-$CI_COMMIT_BRANCH}
TOOLBOX_IMAGE=$CI_REGISTRY_IMAGE/toolbox:${MUTTER_BRANCH#gnome-}
[[ -n "$MUTTER_CI_IMAGE" && -n "$MUTTER_BRANCH" ]] ||
die "Usage: $(basename $0) MUTTER_CI_IMAGE [MUTTER_BRANCH]"
if [[ -z "$FORCE_REBUILD" ]]; then
if check_image_base; then
echo Image $TOOLBOX_IMAGE exists and is up to date.
exit 0
fi
fi
[[ -n "$CI_REGISTRY" && -n "$CI_REGISTRY_USER" && -n "$CI_REGISTRY_PASSWORD" ]] ||
die "Insufficient information to log in."
podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build_container
podman push $TOOLBOX_IMAGE

31
.gitlab-ci/check-commit-log.sh Executable file
View 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

View File

@@ -1,17 +1,10 @@
#!/usr/bin/env bash
srcdirs="src subprojects/extensions-tool"
uidirs="js subprojects/extensions-app"
desktopdirs="data subprojects/extensions-app/ subprojects/extensions-tool"
srcdirs="js src subprojects/extensions-tool"
globs=('*.js' '*.c')
# find source files that contain gettext keywords
files=$(grep -lR --include='*.c' '\(gettext\|[^I_)]_\)(' $srcdirs)
# find ui files that contain translatable string
files="$files "$(grep -lRi --include='*.ui' 'translatable="[ty1]' $uidirs)
# find .desktop files
files="$files "$(find $desktopdirs -name '*.desktop*')
files=$(grep -lR ${globs[@]/#/--include=} '\(gettext\|[^I_)]_\)(' $srcdirs)
# filter out excluded files
if [ -f po/POTFILES.skip ]; then

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# find files from POTFILES.in that use js template strings
baddies=$(grep -l '${' $(grep ^js po/POTFILES.in))
if [ ${#baddies} -eq 0 ]; then
exit 0
fi
cat >&2 <<EOT
xgettext cannot handle template strings properly, so we ban their use
in files with translatable strings.
The following files are listed in po/POTFILES.in and use template strings:
EOT
for f in $baddies; do
echo " $f" >&2
done
echo >&2
exit 1

View File

@@ -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,47 +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
ref_remote=${CI_PROJECT_URL//gnome-shell/mutter}
echo -n Looking for $CI_COMMIT_REF_NAME on remote ...
if fetch $ref_remote $CI_COMMIT_REF_NAME; then
echo \ found
mutter_target=FETCH_HEAD
else
echo \ not found
fi
fi
fallback_branch=${CI_COMMIT_TAG:+gnome-}${CI_COMMIT_TAG%%.*}
if [ -z "$mutter_target" -a "$fallback_branch" ]; then
echo -n Looking for $fallback_branch instead ...
if fetch origin $fallback_branch; then
echo \ found
mutter_target=FETCH_HEAD
else
echo \ not found
fi
fi
if [ -z "$mutter_target" ]; then
mutter_target=HEAD
mutter_target=$(git branch -r -l origin/$CI_COMMIT_REF_NAME)
mutter_target=${mutter_target:-origin/master}
echo Using $mutter_target instead
fi

View File

@@ -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

View File

@@ -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

View File

@@ -1,43 +0,0 @@
#!/bin/bash
SRCDIR=$(realpath $(dirname $0)/..)
OUTDIR=$(mktemp --directory --tmpdir=$SRCDIR)
trap "rm -rf $OUTDIR" EXIT
# Turn ```javascript``` code snippets in the
# style guide into .js files in $OUTDIR
awk --assign dir=$OUTDIR -- '
BEGIN {
do_print = 0;
cur = 0;
}
# end of code snippet
/```$/ {
do_print = 0;
cur++;
}
do_print {
# remove one level of indent
sub(" ","")
# the following are class snippets, turn them
# into functions to not confuse eslint
sub("moveActor","function moveActor")
sub("desaturateActor","function desaturateActor")
# finally, append to the currently generated .js file
print >> dir "/" cur ".js";
}
# start of code snippet
/```javascript$/ {
do_print = 1;
}
' docs/js-coding-style.md
eslint \
--rule 'no-undef: off' \
--rule 'no-unused-vars: off' \
--rule 'no-invalid-this: off' $OUTDIR/*.js

View File

@@ -1,82 +0,0 @@
#!/bin/bash
set -e
usage() {
cat <<-EOF
Usage: $(basename $0) [OPTION…] REPO_URL COMMIT
Check out and install a meson project
Options:
-Dkey=val Option to pass on to meson
--subdir Build subdirectory instead of whole project
--prepare Script to run before build
-h, --help Display this help
EOF
}
TEMP=$(getopt \
--name=$(basename $0) \
--options='D:h' \
--longoptions='subdir:' \
--longoptions='prepare:' \
--longoptions='help' \
-- "$@")
eval set -- "$TEMP"
unset TEMP
MESON_OPTIONS=()
SUBDIR=.
PREPARE=:
while true; do
case "$1" in
-D)
MESON_OPTIONS+=( -D$2 )
shift 2
;;
--subdir)
SUBDIR=$2
shift 2
;;
--prepare)
PREPARE=$2
shift 2
;;
-h|--help)
usage
exit 0
;;
--)
shift
break
;;
esac
done
if [[ $# -lt 2 ]]; then
usage
exit 1
fi
REPO_URL="$1"
COMMIT="$2"
CHECKOUT_DIR=$(mktemp --directory)
trap "rm -rf $CHECKOUT_DIR" EXIT
git clone --depth 1 "$REPO_URL" -b "$COMMIT" "$CHECKOUT_DIR"
pushd "$CHECKOUT_DIR/$SUBDIR"
sh -c "$PREPARE"
meson setup --prefix=/usr _build "${MESON_OPTIONS[@]}"
sudo meson install -C _build
popd

View File

@@ -1,54 +0,0 @@
#!/usr/bin/env node
const {ESLint} = require('eslint');
console.log(`Running ESLint version ${ESLint.version}...`);
const fs = require('fs');
const path = require('path');
function hasOption(...names) {
return process.argv.some(arg => names.includes(arg));
}
function getOption(...names) {
const optIndex =
process.argv.findIndex(arg => names.includes(arg)) + 1;
if (optIndex === 0)
return undefined;
return process.argv[optIndex];
}
(async function main() {
const outputOption = getOption('--output-file', '-o');
const outputPath = outputOption ? path.resolve(outputOption) : null;
const sourceDir = path.dirname(process.argv[1]);
process.chdir(path.resolve(sourceDir, '..'));
const sources = ['js', 'subprojects/extensions-app/js', 'tests'];
const eslint = new ESLint({cache: true});
const results = await eslint.lintFiles(sources);
const formatter = await eslint.loadFormatter(getOption('--format', '-f'));
const resultText = formatter.format(results);
if (outputPath) {
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
fs.writeFileSync(outputPath, resultText);
if (hasOption('--stdout')) {
const consoleFormatter = await eslint.loadFormatter();
console.log(consoleFormatter.format(results));
}
} else {
console.log(resultText);
}
process.exitCode = results.some(r => r.errorCount > 0) ? 1 : 0;
})().catch((error) => {
process.exitCode = 1;
console.error(error);
});

116
.gitlab-ci/run-eslint.sh Executable file
View File

@@ -0,0 +1,116 @@
#!/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}
local cache=.eslintcache-${1,,}
# ensure output exists even if eslint doesn't report any errors
mkdir -p $(dirname $output)
touch $output
eslint -f unix --cache --cache-location $cache ${!extra_args} -o $output \
js subprojects/extensions-app/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

View File

@@ -1,5 +1,5 @@
<!--
Please read https://gitlab.gnome.org/GNOME/gnome-shell/-/tree/main#reporting-bugs
<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
@@ -8,15 +8,8 @@ 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://release.gnome.org/calendar/
for currently supported versions)
* Affected GNOME Shell version
* Does this issue appear in XOrg and/or Wayland
* Does this issue happen without extensions (please follow instructions below)
To properly disable extensions you can use gnome-extensions-app and then restart
your session. Disabling extensions without a restart is not sufficient to rule
out extensions as cause of a bug. If an issue can only be reproduced with a
certain extension, please file a bug report against that extension first.
-->
### Bug summary
@@ -54,7 +47,7 @@ screenshots or screencasts related, please provide them here.
If the bug is a crash, please obtain a stack trace with installed debug
symbols (at least for GNOME Shell and Mutter) and attach it to
this issue following the instructions on
https://handbook.gnome.org/issues/stack-traces.html.
https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces.
-->

View File

@@ -1,5 +1,5 @@
<!--
Please read https://gitlab.gnome.org/GNOME/gnome-shell/-/tree/main#reporting-bugs
<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->

2
.gitmodules vendored
View File

@@ -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

View File

View File

@@ -1,4 +1,4 @@
# JS Coding Style
# Coding guide
Our goal is to have all JavaScript code in GNOME follow a consistent style. In
a dynamic language like JavaScript, it is essential to be rigorous about style
@@ -28,7 +28,7 @@ what to do.
else
bar = do_thing(b);
if (bar === 5) {
if (var == 5) {
for (let i = 0; i < 10; i++)
print(i);
} else {
@@ -66,7 +66,7 @@ library. These headers are not installed, distributed or introspected.
Use UpperCamelCase when importing modules to distinguish them from ordinary
variables, e.g.
```javascript
import GLib from 'gi://GLib';
const GLib = imports.gi.GLib;
```
Imports should be categorized into one of two places. The top-most import block
should contain only "environment imports". These are either modules from
@@ -74,18 +74,16 @@ gobject-introspection or modules added by gjs itself.
The second block of imports should contain only "application imports". These
are the JS code that is in the gnome-shell codebase,
e.g. `'./popupMenu.js'`.
e.g. `imports.ui.popupMenu`.
Each import block should be sorted alphabetically. Don't import modules you
don't use.
```javascript
import GLib from 'gi://GLib';
import Gio from 'gi://Gio';
import St from 'gi://St';
const { GLib, Gio, St } = imports.gi;
import * as Main from './main.js';
import * as Params from '../misc/params.js';
import * as Util from '../misc/util.js';
const Main = imports.ui.main;
const Params = imports.misc.params;
const Util = imports.misc.util;
```
The alphabetical ordering should be done independently of the location of the
location. Never reference `imports` in actual code.
@@ -103,13 +101,12 @@ under the imports:
Always use either `const` or `let` when defining a variable.
```javascript
// Iterating over an array
for (let i = 0; i < arr.length; ++i) {
const item = arr[i];
}
for (let i = 0; i < arr.length; ++i)
let item = arr[i];
// Iterating over an object's properties
for (const prop in someobj) {
const val = someobj[prop];
for (let prop in someobj) {
...
}
```
@@ -121,26 +118,26 @@ See [What's new in JavaScript 1.7](https://developer.mozilla.org/en/JavaScript/N
There are many approaches to classes in JavaScript. We use standard ES6 classes
whenever possible, that is when not inheriting from GObjects.
```javascript
export class IconLabelMenuItem extends PopupMenu.PopupMenuBaseItem {
var IconLabelMenuItem = class extends PopupMenu.PopupMenuBaseItem {
constructor(icon, label) {
super({reactive: false});
super({ reactive: false });
this.actor.add_child(icon);
this.actor.add_child(label);
}
open() {
log('menu opened!');
log("menu opened!");
}
}
};
```
For GObject inheritance, we use the GObject.registerClass() function provided
For GObject inheritence, we use the GObject.registerClass() function provided
by gjs.
```javascript
export const MyActor = GObject.registerClass(
var MyActor = GObject.registerClass(
class MyActor extends Clutter.Actor {
constructor(params) {
super(params);
_init(params) {
super._init(params);
this.name = 'MyCustomActor';
}
@@ -153,27 +150,28 @@ GObject Introspection is a powerful feature that allows us to have native
bindings for almost any library built around GObject. If a library requires
you to inherit from a type to use it, you can do so:
```javascript
export const MyClutterActor = GObject.registerClass(
var MyClutterActor = GObject.registerClass(
class MyClutterActor extends Clutter.Actor {
vfunc_get_preferred_width(forHeight) {
return [100, 100];
return [100, 100];
}
vfunc_get_preferred_height(forWidth) {
return [100, 100];
return [100, 100];
}
vfunc_paint(paintContext) {
let framebuffer = paintContext.get_framebuffer();
let coglContext = framebuffer.get_context();
let alloc = this.get_allocation_box();
let framebuffer = paintContext.get_framebuffer();
let coglContext = framebuffer.get_context();
let alloc = this.get_allocation_box();
let pipeline = Cogl.Pipeline.new(coglContext);
pipeline.set_color4ub(255, 0, 0, 255);
let pipeline = new Cogl.Pipeline(coglContext);
pipeline.set_color4ub(255, 0, 0, 255);
framebuffer.draw_rectangle(pipeline,
alloc.x1, alloc.y1,
alloc.x2, alloc.y2);
framebuffer.draw_rectangle(pipeline,
alloc.x1, alloc.y1,
alloc.x2, alloc.y2);
}
});
```
@@ -187,6 +185,11 @@ explicitly import it. This is done through some magic in the
file. If you can't find a method that's used, it's probably either in gjs itself
or installed on the global object from the Environment.
Use 'single quotes' for programming strings that should not be translated
and "double quotes" for strings that the user may see. This allows us to
quickly find untranslated or mistranslated strings by grepping through the
sources for double quotes without a gettext call around them.
## `actor` (deprecated) and `_delegate`
gjs allows us to set so-called "expando properties" on introspected objects,
@@ -198,10 +201,10 @@ wrapper class the "delegate".
We sometimes use expando properties to set a property called `_delegate` on
the actor itself:
```javascript
export const MyActor = GObject.registerClass(
var MyActor = GObject.registerClass(
class MyActor extends Clutter.Actor {
constructor(params) {
super(params);
_init(params) {
super._init(params);
this._delegate = this;
}
});
@@ -209,18 +212,18 @@ the actor itself:
Or using the deprecated `actor`:
```javascript
export class MyClass {
var MyClass = class {
constructor() {
this.actor = new St.Button({text: 'This is a button'});
this.actor = new St.Button({ text: "This is a button" });
this.actor._delegate = this;
this.actor.connect('clicked', this._onClicked.bind(this));
}
_onClicked(actor) {
actor.set_label('You clicked the button!');
actor.set_label("You clicked the button!");
}
}
};
```
The 'delegate' property is important for anything which trying to get the
@@ -254,10 +257,10 @@ notation.
A more realistic example would be connecting to a signal on a method of a
prototype:
```javascript
import * as FnorbLib from './fborbLib.js';
const FnorbLib = imports.fborbLib;
export class MyClass {
constructor() {
var MyClass = class {
_init() {
let fnorb = new FnorbLib.Fnorb();
fnorb.connect('frobate', this._onFnorbFrobate.bind(this));
}
@@ -265,30 +268,30 @@ prototype:
_onFnorbFrobate(fnorb) {
this._updateFnorb();
}
}
};
```
## Object literal syntax
In JavaScript, these are equivalent:
```javascript
foo = {'bar': 42};
foo = {bar: 42};
foo = { 'bar': 42 };
foo = { bar: 42 };
```
and so are these:
```javascript
b = foo['bar'];
b = foo.bar;
var b = foo['bar'];
var b = foo.bar;
```
If your usage of an object is like an object, then you're defining "member
variables." For member variables, use the no-quotes no-brackets syntax:
`{bar: 42}` `foo.bar`.
variables." For member variables, use the no-quotes no-brackets syntax: `{ bar:
42 }` `foo.bar`.
If your usage of an object is like a hash table (and thus conceptually the keys
can have special chars in them), don't use quotes, but use brackets:
`{bar: 42}`, `foo['bar']`.
can have special chars in them), don't use quotes, but use brackets: `{ bar: 42
}`, `foo['bar']`.
## Animations
@@ -301,7 +304,7 @@ are animatable, which means they can use implicit animations:
x,
y,
duration: 500, // ms
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
});
}
```
@@ -317,7 +320,7 @@ be preferred over the more verbose:
actor.set_easing_mode(Clutter.AnimationMode.EASE_OUT_QUAD);
actor.set({
x,
y,
y
});
actor.restore_easing_state();
@@ -332,7 +335,7 @@ actor (or actor meta) properties that cannot use implicit animations:
let factor = desaturate ? 1.0 : 0.0;
actor.ease_property('@effects.desaturate.factor', factor, {
duration: 500, // ms
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
});
}
```

1285
NEWS

File diff suppressed because it is too large Load Diff

124
README.md
View File

@@ -1,132 +1,28 @@
# 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
easy to use experience.
All interactions with the project should follow the [Code of Conduct][conduct].
For more information about GNOME Shell, including instructions on how
to build GNOME Shell from source and how to get involved with the project,
see the [project wiki][project-wiki].
[conduct]: https://conduct.gnome.org/
## Supported versions
Upstream gnome-shell only supports the most recent stable release series,
the previous stable release series, and the current development release
series. Any older stable release series are no longer supported, although
they may still receive backported security updates in long-term support
distributions. Such support is up to the distributions, though.
Please refer to the [schedule] to see when a new version will be released.
[schedule]: https://release.gnome.org/calendar
## Reporting bugs
Bugs should be reported to the [issue tracking system][bug-tracker].
The [GNOME handbook][bug-handbook] has useful information for creating
effective issue reports.
If you are using extensions, please confirm that an issue still happens
without extensions. To properly disable extensions you can use the
[extensions-app] and then restart your session. Disabling extensions
without a restart is not sufficient to rule out extensions as the
cause of a bug. If an issue can only be reproduced with a certain
extension, please file an issue report against that extension first.
Please note that the issue tracker is meant to be used for
actionable issues only.
For support questions, feedback on changes or general discussions,
you can use:
- the [#gnome-shell matrix room][matrix-room]
- the `Desktop` category or `shell` tag on [GNOME Discourse][discourse]
[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
[bug-handbook]: https://handbook.gnome.org/issues/reporting.html
[extensions-app]: https://apps.gnome.org/Extensions
[matrix-room]: https://matrix.to/#/#gnome-shell:gnome.org
[discourse]: https://discourse.gnome.org
## Feature requests
gnome-shell is a core compoment of the GNOME desktop experience.
As such, any changes in behavior or appearance only happen in
accordance with the [GNOME design team][design-team].
For major changes, it is best to start a discussion on [discourse]
and reach out on the [#gnome-design matrix room][design-room],
and only involve the issue tracker once agreement has been reached.
In particular mockups must be approved by the design team to be
considered for implementation.
For enhancements that are limited in scope and well-defined,
it is acceptable to directly open a feature request.
When in doubt, it is better to ask before opening an issue.
[design-team]: https://gitlab.gnome.org/Teams/Design
[discourse]: https://discourse.gnome.org
[design-room]: https://matrix.to/#/#gnome-design:gnome.org
Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
## Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
It can be useful to first look at the [GNOME handbook][mr-handbook].
If a change likely requires discussion beyond code review, it is probably better to
open an issue first, or follow the process for [feature requests](#feature-requests).
Otherwise, creating a separate issue is not required.
The following guidelines will help your change to be successfully merged:
* Keep the change as small as possible. If you can split it into multiple
merge requests, please do so.
* Use multiple commits. This makes it easier to review and helps to diagnose
bugs in the future.
* Use clear commit messages following the [conventions][commit-messages].
* Pay attention to the CI results. Merge requests cannot be merged until the
CI passes.
[mr-handbook]: https://handbook.gnome.org/development/change-submission.html
[commit-messages]: docs/commit-messages.md
## Documentation
* [Coding style and conventions for javascript][js-style]
* [Coding style and conventions for C code][c-style]
* [The GJS Developer Guide][gjs-guide]
* [Building and Running][building]
* [Debugging][debugging]
[js-style]: docs/js-coding-style.md
[c-style]: docs/c-coding-style.md
[gjs-guide]: https://gjs.guide
[building]: docs/building-and-running.md
[debugging]: docs/debugging.md
## API Reference
* [Meta][meta-docs]: Display server and window manager
* [St][st-docs]: Shell toolkit
* [Clutter][clutter-docs]: OpenGL based scene graph
* [Shell][shell-docs]: Non-ui shell objects and utilities
* See the [mutter page][mutter-docs] for additional documentation
[st-docs]: <https://gnome.pages.gitlab.gnome.org/gnome-shell/st/>
[shell-docs]: <https://gnome.pages.gitlab.gnome.org/gnome-shell/shell/>
[clutter-docs]: <https://mutter.gnome.org/clutter/>
[meta-docs]: <https://mutter.gnome.org/clutter/>
[mutter-docs]: <https://mutter.gnome.org>
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.
## 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
[license]: COPYING

View File

@@ -13,18 +13,12 @@
/* Define to 1 if you have the `mallinfo' function. */
#mesondefine HAVE_MALLINFO
/* Define to 1 if you have the `mallinfo2' function. */
#mesondefine HAVE_MALLINFO2
/* Define to 1 fi you have the <sys/resource.h> header file. */
#mesondefine HAVE_SYS_RESOURCE_H
/* Define if we have NetworkManager */
#mesondefine HAVE_NETWORKMANAGER
/* Define if we have Pipewire */
#mesondefine HAVE_PIPEWIRE
/* Define if we have systemd */
#mesondefine HAVE_SYSTEMD
@@ -36,9 +30,3 @@
/* Define if fdwalk is available in libc */
#mesondefine HAVE_FDWALK
/* Define if polkit defines autocleanup functions */
#mesondefine HAVE_POLKIT_AUTOCLEANUP
/* Define to 1 if the <elf.h> and <link.h> header file exist. */
#mesondefine HAVE_EXE_INTROSPECTION

View File

@@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<KeyListEntries schema="org.gnome.shell.keybindings"
group="system"
name="Launchers"
wm_name="GNOME Shell"
package="gnome-shell">
<KeyListEntry name="switch-to-application-1"
description="Activate pinned app 1"
hidden="true"/>
<KeyListEntry name="switch-to-application-2"
description="Activate pinned app 2"
hidden="true"/>
<KeyListEntry name="switch-to-application-3"
description="Activate pinned app 3"
hidden="true"/>
<KeyListEntry name="switch-to-application-4"
description="Activate pinned app 4"
hidden="true"/>
<KeyListEntry name="switch-to-application-5"
description="Activate pinned app 5"
hidden="true"/>
<KeyListEntry name="switch-to-application-6"
description="Activate pinned app 6"
hidden="true"/>
<KeyListEntry name="switch-to-application-7"
description="Activate pinned app 7"
hidden="true"/>
<KeyListEntry name="switch-to-application-8"
description="Activate pinned app 8"
hidden="true"/>
<KeyListEntry name="switch-to-application-9"
description="Activate pinned app 9"
hidden="true"/>
<KeyListEntry name="open-new-window-application-1"
description="Open new window of pinned app 1"
hidden="true"/>
<KeyListEntry name="open-new-window-application-2"
description="Open new window of pinned app 2"
hidden="true"/>
<KeyListEntry name="open-new-window-application-3"
description="Open new window of pinned app 3"
hidden="true"/>
<KeyListEntry name="open-new-window-application-4"
description="Open new window of pinned app 4"
hidden="true"/>
<KeyListEntry name="open-new-window-application-5"
description="Open new window of pinned app 5"
hidden="true"/>
<KeyListEntry name="open-new-window-application-6"
description="Open new window of pinned app 6"
hidden="true"/>
<KeyListEntry name="open-new-window-application-7"
description="Open new window of pinned app 7"
hidden="true"/>
<KeyListEntry name="open-new-window-application-8"
description="Open new window of pinned app 8"
hidden="true"/>
<KeyListEntry name="open-new-window-application-9"
description="Open new window of pinned app 9"
hidden="true"/>
</KeyListEntries>

View File

@@ -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>

View File

@@ -8,9 +8,6 @@
<KeyListEntry name="toggle-message-tray"
description="Show the notification list"/>
<KeyListEntry name="toggle-quick-settings"
description="Open the quick settings menu"/>
<KeyListEntry name="focus-active-notification"
description="Focus the active notification"/>
@@ -18,7 +15,10 @@
description="Show the overview"/>
<KeyListEntry name="toggle-application-view"
description="Show all apps"/>
description="Show all applications"/>
<KeyListEntry name="open-application-menu"
description="Open the application menu"/>
</KeyListEntries>

View File

@@ -1,84 +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.
- leftOffset (Double): If set, the left offset of
this key, relative to the key immediately to the
left, or the start of the row. If not set, the key
will be implicitly located at the right of the
previous key in the row. Multiples of 0.5 are
accepted.
- width (Double): Relative width of the key in the
row. 1 is for a square key. Multiples of 0.5 are
accepted. The implicit default value is 1.
- height (Double): Relative height of the key in
the grid. The key will overflow downwards. Multiples
of 0.5 are accepted. The implicit default value is 1.
- level (Integer): Level that the key switches to.
See the levelSwitch action.
- action (string): Action performed by the key,
accepted actions are:
- hide: Hides the OSK
- languageMenu: Pops up the language selection
menu
- emoji: Switches to the emoji selection panel
- modifier: Handles the keyval as a modifier
key. This handles e.g. Ctrl+A as a sequence
of Ctrl press, A press, A release, Ctrl
release.
- delete: Deletes text backwards
- levelSwitch: Switches OSK to a different level

View File

@@ -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:

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -31,9 +31,5 @@
<arg type="u"/>
<arg type="s"/>
</signal>
<signal name="ActivationToken">
<arg type="u"/>
<arg type="s"/>
</signal>
</interface>
</node>

View File

@@ -1,64 +0,0 @@
<?xml version="1.0"?>
<!--
Copyright (C) 2022 Endless OS Foundation, LLC
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
Author: Georges Basile Stavracas Neto <georges@endlessos.org>
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
org.freedesktop.background.Monitor:
@short_description: Background applications monitor
This interface provides APIs related to applications
that are running in the background.
This documentation describes version 1 of this interface.
-->
<interface name="org.freedesktop.background.Monitor">
<!--
BackgroundApps:
The list of applications that are considered to be running in
background. The following keys are supported:
<variablelist>
<varlistentry>
<term>app_id s</term>
<listitem><para>
App id of the application.
</para></listitem>
</varlistentry>
<varlistentry>
<term>instance s</term>
<listitem><para>
The Flatpak instance of the application.
</para></listitem>
</varlistentry>
<varlistentry>
<term>message s</term>
<listitem><para>
Status message reported by the application. Optional.
</para></listitem>
</varlistentry>
</variablelist>
-->
<property name="BackgroundApps" type="aa{sv}" access="read"/>
<property name="version" type="u" access="read"/>
</interface>
</node>

View File

@@ -13,13 +13,6 @@
<arg name="app_permissions" type="a{sas}" direction="in"/>
<arg name="data" type="v" direction="in"/>
</method>
<method name="SetPermission">
<arg name='table' type='s' direction='in'/>
<arg name='create' type='b' direction='in'/>
<arg name='id' type='s' direction='in'/>
<arg name='app' type='s' direction='in'/>
<arg name='permissions' type='as' direction='in'/>
</method>
<signal name="Changed">
<arg name="table" type="s" direction="out"/>
<arg name="id" type="s" direction="out"/>

View 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>

View 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>

View File

@@ -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>

View File

@@ -1,7 +0,0 @@
<node>
<interface name='org.gnome.SettingsDaemon.Power.Keyboard'>
<property name='Brightness' type='i' access='readwrite'/>
<property name='Steps' type='i' access='read'/>
</interface>
</node>

View File

@@ -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"/>

View File

@@ -6,7 +6,7 @@
<arg type="b" name="force_reload" direction="in"/>
</method>
<signal name="EventsAddedOrUpdated">
<arg type="a(ssxxa{sv})" name="events" direction="out"/>
<arg type="a(ssbxxa{sv})" name="events" direction="out"/>
</signal>
<signal name="EventsRemoved">
<arg type="as" name="ids" direction="out"/>

View File

@@ -71,14 +71,12 @@
<listitem><para>
The state the extension is in:
<simplelist>
<member>1: ACTIVE</member>
<member>2: INACTIVE</member>
<member>1: ENABLED</member>
<member>2: DISABLED</member>
<member>3: ERROR</member>
<member>4: OUT_OF_DATE</member>
<member>5: DOWNLOADING</member>
<member>6: INITIALIZED</member>
<member>7: DEACTIVATING</member>
<member>8: ACTIVATING</member>
<member>99: UNINSTALLED</member>
</simplelist>
</para></listitem>
@@ -107,11 +105,6 @@
<listitem><para>The extension version</para></listitem>
</varlistentry>
<varlistentry>
<term>version-name s</term>
<listitem><para>The extension version name</para></listitem>
</varlistentry>
<varlistentry>
<term>url s</term>
<listitem><para>The URL to the extension homepage or repository</para></listitem>
@@ -187,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:
@@ -199,10 +192,10 @@
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:

View File

@@ -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

View File

@@ -1,13 +1,11 @@
<node>
<interface name="org.gnome.Shell.PerfHelper">
<method name="Exit"/>
<method name="CreateWindow">
<arg type="i" direction="in"/>
<arg type="i" direction="in"/>
<arg type="b" direction="in"/>
<arg type="b" direction="in"/>
<arg type="b" direction="in"/>
<arg type="b" direction="in"/>
</method>
<method name="WaitWindows"/>
<method name="DestroyWindows"/>

View File

@@ -10,7 +10,6 @@
The interface used to record screen contents.
-->
<interface name="org.gnome.Shell.Screencast">
<property name="ScreencastSupported" type="b" access="read"/>
<!--
Screencast:
@@ -92,10 +91,5 @@
<arg type="b" direction="out" name="success"/>
</method>
<signal name="Error">
<arg type="s" name="name"/>
<arg type="s" name="message"/>
</signal>
</interface>
</node>

View File

@@ -11,22 +11,6 @@
-->
<interface name="org.gnome.Shell.Screenshot">
<!--
InteractiveScreenshot:
@success: whether the screenshot was captured
@uri: the file where the screenshot was saved
Shows Shell's interactive screenshot dialog, and lets the
user take an interactive screenshot, which is then returned
in @filename as png image. It returns a boolean indicating
whether the operation was successful or not. The URI of the
screenshot will be returned in @uri.
-->
<method name="InteractiveScreenshot">
<arg type="b" direction="out" name="success"/>
<arg type="s" direction="out" name="uri"/>
</method>
<!--
Screenshot:
@filename: The filename for the screenshot

View File

@@ -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}"/>

View File

@@ -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>

View File

@@ -3,6 +3,5 @@
<method name="Raise"/>
<property name="CanRaise" type="b" access="read"/>
<property name="DesktopEntry" type="s" access="read"/>
<property name="Identity" type="s" access="read"/>
</interface>
</node>

View File

@@ -1,12 +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">org.freedesktop.Application.xml</file>
<file preprocess="xml-stripblanks">org.freedesktop.background.Monitor.xml</file>
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file>
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file>
<file preprocess="xml-stripblanks">org.freedesktop.DBus.xml</file>
@@ -30,6 +26,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.Magnifier.xml</file>
<file preprocess="xml-stripblanks">org.gnome.Magnifier.ZoomRegion.xml</file>
<file preprocess="xml-stripblanks">org.gnome.Mutter.ScreenCast.xml</file>
<file preprocess="xml-stripblanks">org.gnome.ScreenSaver.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SessionManager.EndSessionDialog.xml</file>
@@ -37,7 +35,6 @@
<file preprocess="xml-stripblanks">org.gnome.SessionManager.Presence.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SessionManager.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Color.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Power.Keyboard.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Power.Screen.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Rfkill.xml</file>
<file preprocess="xml-stripblanks">org.gnome.SettingsDaemon.Wacom.xml</file>

View File

@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/icons">
<file preprocess="xml-stripblanks">scalable/actions/color-pick.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/carousel-arrow-next-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/carousel-arrow-previous-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/dark-mode-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/notification-expand-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/ornament-check-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/ornament-dot-checked-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/ornament-dot-unchecked-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/pointer-double-click-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/pointer-drag-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/pointer-primary-click-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/pointer-secondary-click-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/preview-close-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/record-screen-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screencast-recorded-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screencast-stop-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screenshooter-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screenshot-ui-area-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screenshot-ui-display-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screenshot-ui-show-pointer-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screenshot-ui-window-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/screenshot-recorded-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-display-built-in-only-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-display-extend-all-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-display-external-only-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-display-mirror-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-app-grid-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-dash-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-dash-symbolic-rtl.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-desktop-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-desktop-symbolic-rtl.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-search-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-top-bar-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-top-bar-symbolic-rtl.svg</file>
<file preprocess="xml-stripblanks">scalable/actions/shell-focus-windows-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/background-app-ghost-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-brightness-high-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-brightness-medium-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-brightness-off-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-caps-lock-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-enter-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-hide-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-layout-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/keyboard-shift-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/message-indicator-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/no-notifications-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/screen-privacy-disabled-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/screen-privacy-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/switch-on-symbolic.svg</file>
<file preprocess="xml-stripblanks">scalable/status/switch-off-symbolic.svg</file>
</gresource>
</gresources>

View File

@@ -3,19 +3,14 @@
<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>digits.json</file>
<file>dk.json</file>
<file>ee.json</file>
<file>email.json</file>
<file>epo.json</file>
<file>es+cat.json</file>
<file>es.json</file>
@@ -35,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>
@@ -45,9 +39,7 @@
<file>my.json</file>
<file>nl.json</file>
<file>no.json</file>
<file>number.json</file>
<file>ph.json</file>
<file>phone.json</file>
<file>pl.json</file>
<file>pt.json</file>
<file>ro.json</file>
@@ -60,9 +52,7 @@
<file>tr.json</file>
<file>ua.json</file>
<file>uk.json</file>
<file>url.json</file>
<file>us.json</file>
<file>us-extended.json</file>
<file>vn.json</file>
<file>za.json</file>
<file>emoji.json</file>

View File

@@ -0,0 +1,5 @@
[Desktop Entry]
Type=Application
Name=GNOME settings overrides migration
NoDisplay=true
Exec=@libexecdir@/gnome-shell-overrides-migration.sh

View 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

View File

@@ -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>gnome-shell-dark.css</file>
<file>gnome-shell-light.css</file>
<file>checkbox.svg</file>
<file alias="icons/scalable/actions/color-pick.svg">color-pick.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 alias="icons/scalable/status/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>process-working-light.svg</file>
<file>process-working-dark.svg</file>
<file alias="icons/scalable/status/eye-open-negative-filled-symbolic.svg">eye-open-negative-filled-symbolic.svg</file>
<file alias="icons/scalable/status/eye-not-looking-symbolic.svg">eye-not-looking-symbolic.svg</file>
<file alias="icons/scalable/actions/pointer-double-click-symbolic.svg">pointer-double-click-symbolic.svg</file>
<file alias="icons/scalable/actions/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file>
<file alias="icons/scalable/actions/pointer-primary-click-symbolic.svg">pointer-primary-click-symbolic.svg</file>
<file alias="icons/scalable/actions/pointer-secondary-click-symbolic.svg">pointer-secondary-click-symbolic.svg</file>
<file alias="icons/scalable/status/keyboard-caps-lock-filled-symbolic.svg">keyboard-caps-lock-filled-symbolic.svg</file>
<file alias="icons/scalable/status/keyboard-enter-symbolic.svg">keyboard-enter-symbolic.svg</file>
<file alias="icons/scalable/status/keyboard-hide-symbolic.svg">keyboard-hide-symbolic.svg</file>
<file alias="icons/scalable/status/keyboard-layout-filled-symbolic.svg">keyboard-layout-filled-symbolic.svg</file>
<file alias="icons/scalable/status/keyboard-shift-filled-symbolic.svg">keyboard-shift-filled-symbolic.svg</file>
<file>process-working.svg</file>
<file>toggle-off.svg</file>
<file>toggle-off-light.svg</file>
<file>toggle-off-dark.svg</file>
<file>toggle-off-hc.svg</file>
<file>toggle-on.svg</file>
<file>toggle-on-light.svg</file>
<file>workspace-placeholder.svg</file>
<file>toggle-on-dark.svg</file>
<file>toggle-on-hc.svg</file>
</gresource>
</gresources>

4
data/gnome-shell.portal Normal file
View File

@@ -0,0 +1,4 @@
[portal]
DBusName=org.freedesktop.impl.portal.desktop.gnome
Interfaces=org.freedesktop.impl.portal.Access
UseIn=gnome

View File

@@ -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 6 0 c 0.265625 0 0.519531 0.105469 0.707031 0.292969 l 7 7 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 l -7 7 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 s -0.390625 -1.023437 0 -1.414062 l 6.292969 -6.292969 l -6.292969 -6.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 z m 0 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 513 B

View File

@@ -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 10 0 c -0.265625 0 -0.519531 0.105469 -0.707031 0.292969 l -7 7 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 7 7 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 s 0.390625 -1.023437 0 -1.414062 l -6.292969 -6.292969 l 6.292969 -6.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 z m 0 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 516 B

View File

@@ -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

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#222" fill-rule="evenodd" d="m3.293 7.707 4 4a1 1 0 0 0 1.414 0l4-4a1 1 0 1 0-1.414-1.414L8 9.586 4.707 6.293a1 1 0 1 0-1.414 1.414"/></svg>

Before

Width:  |  Height:  |  Size: 215 B

View File

@@ -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 13.75 4.660156 c 0.175781 -0.199218 0.261719 -0.460937 0.246094 -0.726562 c -0.019532 -0.265625 -0.140625 -0.511719 -0.339844 -0.6875 c -0.199219 -0.175782 -0.460938 -0.261719 -0.726562 -0.246094 c -0.265626 0.019531 -0.511719 0.140625 -0.6875 0.339844 l -6.296876 7.195312 l -2.242187 -2.242187 c -0.390625 -0.390625 -1.023437 -0.390625 -1.414063 0 c -0.1875 0.1875 -0.292968 0.441406 -0.292968 0.707031 s 0.105468 0.519531 0.292968 0.707031 l 3 3 c 0.195313 0.195313 0.464844 0.304688 0.738282 0.292969 c 0.277344 -0.007812 0.539062 -0.132812 0.722656 -0.339844 z m 0 0" fill="#2e3436"/>
</svg>

Before

Width:  |  Height:  |  Size: 739 B

View File

@@ -1,5 +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 8 5 c 1.652344 0 3 1.34375 3 3 s -1.347656 3 -3 3 c -1.65625 0 -3 -1.34375 -3 -3 s 1.34375 -3 3 -3 z m 0 0" fill="#2e3436"/>
<path d="m 7.992188 0 c 4.40625 0 8 3.59375 8 8 s -3.59375 8 -8 8 s -8.0000005 -3.59375 -8.0000005 -8 s 3.5937505 -8 8.0000005 -8 z m 0 2 c -3.320313 0 -6 2.679688 -6 6 s 2.679687 6 6 6 c 3.320312 0 6 -2.679688 6 -6 s -2.679688 -6 -6 -6 z m 0 0" fill="#2e3435" fill-opacity="0.2"/>
</svg>

Before

Width:  |  Height:  |  Size: 560 B

View File

@@ -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 7.992188 0 c 4.40625 0 8 3.59375 8 8 s -3.59375 8 -8 8 c -4.402344 0 -8.0000005 -3.59375 -8.0000005 -8 s 3.5976565 -8 8.0000005 -8 z m 0 2 c -3.320313 0 -6 2.679688 -6 6 s 2.679687 6 6 6 c 3.320312 0 6 -2.679688 6 -6 s -2.679688 -6 -6 -6 z m 0 0" fill="#2e3435" fill-opacity="0.2"/>
</svg>

Before

Width:  |  Height:  |  Size: 432 B

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="#2e3436" d="M4.5 3h7A1.5 1.5 0 0 1 13 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-7A1.5 1.5 0 0 1 4.5 3Z"/></svg>

Before

Width:  |  Height:  |  Size: 197 B

View File

@@ -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="#222222">
<path d="m 10.042969 6 c -0.566407 0 -1.019531 0.425781 -1.039063 0.964844 h -0.992187 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 h -0.988281 c -0.019531 -0.539063 -0.476562 -0.964844 -1.042969 -0.964844 z m 0.957031 3 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 3.007812 11.984375 h -0.316406 c -1.507812 0 -2.722656 -1.210937 -2.722656 -2.722656 v -0.269531 c 0 -0.550782 0.445312 -1 1 -1 c 0.550781 0 1 0.449218 1 1 v 0.269531 c 0 0.394531 0.328125 0.722656 0.722656 0.722656 h 0.316406 c 0.550782 0 1 0.449219 1 1 c 0 0.554687 -0.449218 1 -1 1 z m 0 0"/>
<path d="m 14 3.039062 v -0.316406 c 0 -0.394531 -0.328125 -0.722656 -0.722656 -0.722656 h -0.269532 c -0.554687 0 -1 -0.449219 -1 -1 s 0.445313 -1 1 -1 h 0.269532 c 1.507812 0 2.722656 1.214844 2.722656 2.722656 v 0.316406 c 0 0.554688 -0.449219 1 -1 1 s -1 -0.445312 -1 -1 z m 0 0"/>
<path d="m 0 3.039062 v -0.316406 c 0 -1.507812 1.214844 -2.722656 2.722656 -2.722656 h 0.269532 c 0.554687 0 1 0.449219 1 1 s -0.445313 1 -1 1 h -0.269532 c -0.394531 0 -0.722656 0.328125 -0.722656 0.722656 v 0.316406 c 0 0.554688 -0.449219 1 -1 1 s -1 -0.445312 -1 -1 z m 0 0"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -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 5 3 c -2.265625 0 -4.09375 1.847656 -4.09375 4.074219 v 13.828125 c 0 2.230468 1.828125 4.074218 4.09375 4.074218 h 5.894531 v 2.46875 c 0 1.410157 1.132813 2.542969 2.542969 2.542969 h 5.414062 c 1.40625 0 2.542969 -1.132812 2.542969 -2.542969 v -2.46875 h 5.390625 c 2.265625 0 4.097656 -1.84375 4.097656 -4.074218 v -13.828125 c 0 -2.226563 -1.832031 -4.074219 -4.097656 -4.074219 z m 0 1.976562 h 21.785156 c 1.15625 0 2.074219 0.910157 2.074219 2.097657 v 13.828125 c 0 1.191406 -0.917969 2.097656 -2.074219 2.097656 h -21.785156 c -1.15625 0 -2.074219 -0.90625 -2.074219 -2.097656 v -13.828125 c 0 -1.1875 0.917969 -2.097657 2.074219 -2.097657 z m 7.890625 20 h 6.5 v 2.46875 c 0 0.304688 -0.238281 0.542969 -0.539063 0.542969 h -5.414062 c -0.304688 0 -0.546875 -0.238281 -0.546875 -0.542969 z m 0 0" fill="#241f31"/>
</svg>

Before

Width:  |  Height:  |  Size: 974 B

View File

@@ -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

View File

@@ -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

View File

@@ -1,5 +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 12.105469 1 c -2.265625 0 -4.097657 1.847656 -4.097657 4.078125 v 9.832031 c 0 2.230469 1.832032 4.078125 4.097657 4.078125 h 3.894531 v 1.46875 c 0 1.40625 1.132812 2.542969 2.542969 2.542969 h 3.414062 c 1.410157 0 2.546875 -1.136719 2.546875 -2.542969 v -1.46875 h 3.390625 c 2.265625 0 4.097657 -1.847656 4.097657 -4.078125 v -9.832031 c 0 -2.230469 -1.832032 -4.078125 -4.097657 -4.078125 z m 0 1.980469 h 15.789062 c 1.15625 0 2.078125 0.90625 2.078125 2.097656 v 9.832031 c 0 1.191406 -0.921875 2.097656 -2.078125 2.097656 h -15.789062 c -1.15625 0 -2.078125 -0.90625 -2.078125 -2.097656 v -9.832031 c 0 -1.191406 0.921875 -2.097656 2.078125 -2.097656 z m 5.894531 16.007812 h 4.5 v 1.46875 c 0 0.300781 -0.242188 0.542969 -0.542969 0.542969 h -3.414062 c -0.300781 0 -0.542969 -0.242188 -0.542969 -0.542969 z m 0 0" fill="#242032" fill-opacity="0.2"/>
<path d="m 4 21 c -1.644531 0 -3 1.355469 -3 3 v 5.585938 l -0.707031 0.707031 c -0.2851565 0.285156 -0.371094 0.714843 -0.214844 1.089843 c 0.152344 0.375 0.515625 0.617188 0.921875 0.617188 h 14 c 0.40625 0 0.769531 -0.242188 0.921875 -0.617188 c 0.15625 -0.375 0.070313 -0.804687 -0.214844 -1.089843 l -0.707031 -0.707031 v -5.585938 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 8 c 0.570312 0 1 0.429688 1 1 v 5 h -10 v -5 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0" fill="#241f31"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,7 +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">
<g fill="#241f31">
<path d="m 4 21 c -1.644531 0 -3 1.355469 -3 3 v 5.585938 l -0.707031 0.707031 c -0.2851565 0.285156 -0.371094 0.714843 -0.214844 1.089843 c 0.152344 0.375 0.515625 0.617188 0.921875 0.617188 h 14 c 0.40625 0 0.769531 -0.242188 0.921875 -0.617188 c 0.15625 -0.375 0.070313 -0.804687 -0.214844 -1.089843 l -0.707031 -0.707031 v -5.585938 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 8 c 0.570312 0 1 0.429688 1 1 v 5 h -10 v -5 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0"/>
<path d="m 12.105469 1.007812 c -2.261719 0 -4.09375 1.847657 -4.09375 4.078126 v 9.828124 c 0 2.230469 1.832031 4.074219 4.09375 4.074219 h 3.894531 v 1.46875 c 0 1.410157 1.132812 2.542969 2.542969 2.542969 h 3.414062 c 1.410157 0 2.542969 -1.132812 2.542969 -2.542969 v -1.46875 h 3.394531 c 2.261719 0 4.09375 -1.84375 4.09375 -4.074219 v -9.828124 c 0 -2.230469 -1.832031 -4.078126 -4.09375 -4.078126 z m 0 1.980469 h 15.789062 c 1.152344 0 2.074219 0.90625 2.074219 2.097657 v 9.828124 c 0 1.191407 -0.921875 2.09375 -2.074219 2.09375 h -15.789062 c -1.152344 0 -2.074219 -0.902343 -2.074219 -2.09375 v -9.828124 c 0 -1.191407 0.921875 -2.097657 2.074219 -2.097657 z m 5.894531 16 h 4.5 v 1.46875 c 0 0.300781 -0.242188 0.542969 -0.542969 0.542969 h -3.414062 c -0.300781 0 -0.542969 -0.242188 -0.542969 -0.542969 z m 0 0"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,5 +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 12 1 c -2.265625 0 -4.09375 1.847656 -4.09375 4.074219 v 9.832031 c 0 2.226562 1.828125 4.074219 4.09375 4.074219 h 3.894531 v 1.46875 c 0 1.40625 1.132813 2.539062 2.542969 2.539062 h 3.414062 c 1.40625 0 2.542969 -1.132812 2.542969 -2.539062 v -1.46875 h 3.390625 c 2.265625 0 4.097656 -1.847657 4.097656 -4.074219 v -9.832031 c 0 -2.226563 -1.832031 -4.074219 -4.097656 -4.074219 z m 0 1.980469 h 15.785156 c 1.15625 0 2.078125 0.90625 2.078125 2.09375 v 9.832031 c 0 1.1875 -0.921875 2.09375 -2.078125 2.09375 h -15.785156 c -1.15625 0 -2.074219 -0.90625 -2.074219 -2.09375 v -9.832031 c 0 -1.1875 0.917969 -2.09375 2.074219 -2.09375 z m 5.894531 16 h 4.5 v 1.46875 c 0 0.300781 -0.242187 0.539062 -0.542969 0.539062 h -3.414062 c -0.304688 0 -0.542969 -0.238281 -0.542969 -0.539062 z m 0 0" fill="#241f31"/>
<path d="m 4 21 c -1.644531 0 -3 1.355469 -3 3 v 5.585938 l -0.707031 0.707031 c -0.2851565 0.285156 -0.371094 0.714843 -0.214844 1.089843 c 0.152344 0.375 0.515625 0.617188 0.921875 0.617188 h 14 c 0.40625 0 0.769531 -0.242188 0.921875 -0.617188 c 0.15625 -0.375 0.070313 -0.804687 -0.214844 -1.089843 l -0.707031 -0.707031 v -5.585938 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 8 c 0.570312 0 1 0.429688 1 1 v 5 h -10 v -5 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0" fill="#242032" fill-opacity="0.2"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -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 7 4.945312 c -2.199219 0 -4 1.800782 -4 4 l -0.003906 11.054688 c 0 2.199219 1.800781 4 4 4 h 2.003906 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -2.003906 c -1.125 0 -2 -0.875 -2 -2 l 0.003906 -11.054688 c 0 -1.125 0.875 -2 2 -2 h 18 c 1.125 0 2 0.875 2 2 l -0.003906 11.054688 c 0 1.125 -0.871094 2 -2 2 h -1.996094 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 1.996094 c 2.199218 0 4 -1.800781 4 -4 l 0.003906 -11.054688 c 0 -2.199218 -1.800781 -4 -4 -4 z m 9 14.0625 c -0.484375 0 -0.972656 0.214844 -1.265625 0.644532 l -3.523437 5.136718 c -0.609376 0.890626 0.085937 2.210938 1.164062 2.210938 h 7.257812 c 1.078126 0 1.773438 -1.320312 1.164063 -2.210938 l -3.53125 -5.136718 c -0.296875 -0.429688 -0.78125 -0.644532 -1.265625 -0.644532 z m 0 2.332032 l 2.515625 3.660156 h -5.023437 z m 0 0" fill="#241f31"/>
</svg>

Before

Width:  |  Height:  |  Size: 982 B

View File

@@ -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 7.988281 6 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m -16 8 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m -16 8 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 8 0 c -1.109375 0 -2 0.890625 -2 2 s 0.890625 2 2 2 s 2 -0.890625 2 -2 s -0.890625 -2 -2 -2 z m 0 0" fill="#241f31"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,7 +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">
<g fill="#241f31">
<path d="m 32 3 v 2 h -25 c -2.789062 0 -5 2.210938 -5 5 v 12 c 0 2.789062 2.210938 5 5 5 h 25 v 2 h -25 c -3.859375 0 -7 -3.140625 -7 -7 v -12 c 0 -3.859375 3.140625 -7 7 -7 z m -15 8 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m -4 0 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m -4 0 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m 8 4 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m -4 0 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m -4 0 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m 8 4 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m -4 0 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m -4 0 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 s -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m 0 0"/>
<path d="m 32 7 v 18 h -5 c -1.660156 0 -3 -1.339844 -3 -3 v -12 c 0 -1.660156 1.339844 -3 3 -3 z m 0 0" fill-opacity="0.2"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,7 +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">
<g fill="#241f31">
<path d="m 0 3 v 2 h 25 c 2.789062 0 5 2.210938 5 5 v 12 c 0 2.789062 -2.210938 5 -5 5 h -25 v 2 h 25 c 3.859375 0 7 -3.140625 7 -7 v -12 c 0 -3.859375 -3.140625 -7 -7 -7 z m 15 8 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 4 0 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 4 0 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m -8 4 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 4 0 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 4 0 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m -8 4 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 4 0 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 4 0 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 s 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 0 0"/>
<path d="m 0 7 v 18 h 5 c 1.660156 0 3 -1.339844 3 -3 v -12 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 0" fill-opacity="0.2"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,9 +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.660156 0 -3 1.339844 -3 3 v 19 c 0 1.660156 1.339844 3 3 3 h 26 c 1.660156 0 3 -1.339844 3 -3 v -19 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 3 h 26 c 0.554688 0 1 0.445312 1 1 v 18 c 0 0.554688 -0.445312 1 -1 1 h -26 c -0.554688 0 -1 -0.445312 -1 -1 v -18 c 0 -0.554688 0.445312 -1 1 -1 z m 0 0" fill="#241f31"/>
<g fill="#231e2d" fill-opacity="0.2">
<path d="m 25.75 8 h 1.5 c 0.414062 0 0.75 0.335938 0.75 0.75 v 1.5 c 0 0.414062 -0.335938 0.75 -0.75 0.75 h -1.5 c -0.414062 0 -0.75 -0.335938 -0.75 -0.75 v -1.5 c 0 -0.414062 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
<path d="m 25.75 12 h 1.5 c 0.414062 0 0.75 0.335938 0.75 0.75 v 1.5 c 0 0.414062 -0.335938 0.75 -0.75 0.75 h -1.5 c -0.414062 0 -0.75 -0.335938 -0.75 -0.75 v -1.5 c 0 -0.414062 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
<path d="m 25.75 16 h 1.5 c 0.414062 0 0.75 0.335938 0.75 0.75 v 1.5 c 0 0.414062 -0.335938 0.75 -0.75 0.75 h -1.5 c -0.414062 0 -0.75 -0.335938 -0.75 -0.75 v -1.5 c 0 -0.414062 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,9 +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.660156 0 -3 1.339844 -3 3 v 19 c 0 1.660156 1.339844 3 3 3 h 26 c 1.660156 0 3 -1.339844 3 -3 v -19 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 3 h 26 c 0.554688 0 1 0.445312 1 1 v 18 c 0 0.554688 -0.445312 1 -1 1 h -26 c -0.554688 0 -1 -0.445312 -1 -1 v -18 c 0 -0.554688 0.445312 -1 1 -1 z m 0 0" fill="#241f31"/>
<g fill="#231e2d" fill-opacity="0.2">
<path d="m 4.75 8 h 1.5 c 0.414062 0 0.75 0.335938 0.75 0.75 v 1.5 c 0 0.414062 -0.335938 0.75 -0.75 0.75 h -1.5 c -0.414062 0 -0.75 -0.335938 -0.75 -0.75 v -1.5 c 0 -0.414062 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
<path d="m 4.75 12 h 1.5 c 0.414062 0 0.75 0.335938 0.75 0.75 v 1.5 c 0 0.414062 -0.335938 0.75 -0.75 0.75 h -1.5 c -0.414062 0 -0.75 -0.335938 -0.75 -0.75 v -1.5 c 0 -0.414062 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
<path d="m 4.75 16 h 1.5 c 0.414062 0 0.75 0.335938 0.75 0.75 v 1.5 c 0 0.414062 -0.335938 0.75 -0.75 0.75 h -1.5 c -0.414062 0 -0.75 -0.335938 -0.75 -0.75 v -1.5 c 0 -0.414062 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -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 13.5 3 c -5.789062 0 -10.5 4.710938 -10.5 10.5 s 4.710938 10.5 10.5 10.5 c 2.621094 0 4.953125 -1.0625 6.792969 -2.65625 c -0.019531 0.117188 -0.023438 0.242188 0 0.363281 l 6 6 c 0.253906 0.246094 0.621093 0.339844 0.960937 0.25 c 0.734375 -0.203125 0.984375 -1.117187 0.453125 -1.664062 l -6 -6 c -0.121093 -0.023438 -0.246093 -0.019531 -0.367187 0.003906 c 1.597656 -1.84375 2.660156 -4.175781 2.660156 -6.796875 c 0 -5.789062 -4.710938 -10.5 -10.5 -10.5 z m 0 2 c 4.707031 0 8.5 3.792969 8.5 8.5 s -3.792969 8.5 -8.5 8.5 s -8.5 -3.792969 -8.5 -8.5 s 3.792969 -8.5 8.5 -8.5 z m 0 0" fill="#241f31"/>
</svg>

Before

Width:  |  Height:  |  Size: 752 B

View File

@@ -1,7 +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">
<g fill="#241f31">
<path d="m 30 3 c 2 0 2 1.714844 2 2 v 22 h -2 v -17 c 0 -1 -1 -1 -1 -1 h -29 v -6 z m -2 2 h -4 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 h 4 c 0.554688 0 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m -7 0.25 c -0.414062 0 -0.75 0.335938 -0.75 0.75 s 0.335938 0.75 0.75 0.75 s 0.75 -0.335938 0.75 -0.75 s -0.335938 -0.75 -0.75 -0.75 z m 0 0"/>
<path d="m 21 5 h -1 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 h 1 c 0.554688 0 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 0 0" fill-opacity="0.34902"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 687 B

View File

@@ -1,7 +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">
<g fill="#241f31">
<path d="m 2 3 c -2 0 -2 1.714844 -2 2 v 22 h 2 v -17 c 0 -1 1 -1 1 -1 h 29 v -6 z m 2 2 h 4 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 h -4 c -0.554688 0 -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m 7 0.25 c 0.414062 0 0.75 0.335938 0.75 0.75 s -0.335938 0.75 -0.75 0.75 s -0.75 -0.335938 -0.75 -0.75 s 0.335938 -0.75 0.75 -0.75 z m 0 0"/>
<path d="m 11 5 h 1 c 0.554688 0 1 0.445312 1 1 s -0.445312 1 -1 1 h -1 c -0.554688 0 -1 -0.445312 -1 -1 s 0.445312 -1 1 -1 z m 0 0" fill-opacity="0.34902"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 682 B

View File

@@ -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 20.996094 30 c 1.644531 0 2.996094 -1.355469 3 -3 l 0.003906 -2 h -2 l -0.003906 2 c 0 0.570312 -0.429688 1 -1 1 h -17.996094 c -0.570312 0 -1 -0.429688 -1 -1 v -13 c 0 -0.570312 0.429688 -1 1 -1 h 3 v -3 h -3 c -1.644531 0 -3 1.355469 -3 3 v 14 c 0 1.644531 1.355469 3 3 3 z m 8 -7 c 1.644531 0 3 -1.355469 3 -3 v -14 c 0 -1.644531 -1.355469 -3 -3 -3 h -18 c -1.644532 0 -3 1.355469 -3 3 v 14 c 0 1.644531 1.355468 3 3 3 z m 0 -2 h -18 c -0.570313 0 -1 -0.429688 -1 -1 v -13 c 0 -0.570312 0.429687 -1 1 -1 h 18 c 0.570312 0 1 0.429688 1 1 v 13 c 0 0.570312 -0.429688 1 -1 1 z m 0 0" fill="#241f31"/>
</svg>

Before

Width:  |  Height:  |  Size: 750 B

View File

@@ -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 7.992188 1 c -3.867188 0.003906 -6.996094 3.140625 -6.992188 7.007812 v 5.988282 c 0 0.554687 0.449219 1.003906 1.003906 1.003906 c 0.550782 -0.003906 1 -0.453125 0.996094 -1.003906 v -0.992188 c 0 -0.554687 0.449219 -1.003906 1.003906 -1.003906 c 0.550782 0.003906 1 0.453125 0.996094 1.003906 v 0.992188 c 0 0.554687 0.449219 1.003906 1.003906 1.003906 c 0.550782 -0.003906 1 -0.453125 0.996094 -1.003906 v -0.992188 c 0 -0.554687 0.449219 -1.003906 1.003906 -1.003906 c 0.550782 0.003906 1 0.453125 0.996094 1.003906 v 0.992188 c 0 0.554687 0.449219 1.003906 1.003906 1.003906 c 0.550782 -0.003906 1 -0.453125 0.996094 -1.003906 v -0.992188 c 0 -0.554687 0.449219 -1.003906 1.003906 -1.003906 c 0.550782 0.003906 1 0.453125 0.996094 1.003906 v 0.992188 c 0 0.554687 0.449219 1.003906 1.003906 1.003906 c 0.550782 -0.003906 1 -0.453125 0.996094 -1.003906 v -5.988282 c 0 -3.871093 -3.136719 -7.007812 -7.007812 -7.007812 z m -1.992188 4 c 0.554688 0 1 0.445312 1 1 v 1 c 0 0.554688 -0.445312 1 -1 1 s -1 -0.445312 -1 -1 v -1 c 0 -0.554688 0.445312 -1 1 -1 z m 4 0 c 0.554688 0 1 0.445312 1 1 v 1 c 0 0.554688 -0.445312 1 -1 1 s -1 -0.445312 -1 -1 v -1 c 0 -0.554688 0.445312 -1 1 -1 z m 0 0" fill="#222222"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,5 +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 8 3 c -0.554688 0 -1 0.445312 -1 1 v 1 c 0 0.554688 0.445312 1 1 1 s 1 -0.445312 1 -1 v -1 c 0 -0.554688 -0.445312 -1 -1 -1 z m -5 2.050781 c -0.238281 0.007813 -0.476562 0.105469 -0.660156 0.292969 c -0.390625 0.390625 -0.390625 1.019531 0 1.414062 l 0.71875 0.71875 c 0.390625 0.390626 1.023437 0.390626 1.414062 0 c 0.390625 -0.394531 0.390625 -1.023437 0 -1.414062 l -0.71875 -0.71875 c -0.207031 -0.210938 -0.480468 -0.308594 -0.753906 -0.292969 z m 9.949219 0 c -0.253907 0 -0.511719 0.097657 -0.707031 0.292969 l -0.71875 0.71875 c -0.390626 0.390625 -0.390626 1.023438 0 1.414062 c 0.390624 0.390626 1.023437 0.390626 1.414062 0 l 0.71875 -0.71875 c 0.390625 -0.390624 0.390625 -1.023437 0 -1.414062 c -0.195312 -0.195312 -0.449219 -0.292969 -0.707031 -0.292969 z m -11.949219 4.949219 c -0.554688 0 -1 0.445312 -1 1 s 0.445312 1 1 1 h 0.972656 c 0.554688 0 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 12.984375 0 c -0.554687 0 -1 0.445312 -1 1 s 0.445313 1 1 1 h 1.015625 c 0.554688 0 1 -0.445312 1 -1 s -0.445312 -1 -1 -1 z m 0 0"/>
<path d="m 5.5 10 c -0.277344 0 -0.5 0.222656 -0.5 0.5 v 1.5 h 6 v -1.5 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 h -0.5 s -1.332031 0 -2 0 s -2 0 -2 0 z m 0 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,5 +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 8 4 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m -4.398438 1.601562 c -0.554687 0 -1 0.445313 -1 1 c 0 0.550782 0.445313 1 1 1 c 0.550782 0 1 -0.449218 1 -1 c 0 -0.554687 -0.449218 -1 -1 -1 z m 9 0 c -0.554687 0 -1 0.445313 -1 1 c 0 0.550782 0.445313 1 1 1 c 0.550782 0 1 -0.449218 1 -1 c 0 -0.554687 -0.449218 -1 -1 -1 z m -10.601562 4.398438 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 12 0 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 0 0"/>
<path d="m 5.5 10 c -0.277344 0 -0.5 0.222656 -0.5 0.5 v 1.5 h 6 v -1.5 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 h -0.5 s -1.332031 0 -2 0 s -2 0 -2 0 z m 0 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 900 B

View File

@@ -1,6 +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 8 4 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 4.601562 1.601562 c -0.554687 0 -1 0.445313 -1 1 c 0 0.550782 0.445313 1 1 1 c 0.550782 0 1 -0.449218 1 -1 c 0 -0.554687 -0.449218 -1 -1 -1 z m -9.730468 0.316407 c -0.371094 0.394531 -0.363282 1.007812 0.019531 1.390625 c 0.378906 0.378906 0.992187 0.394531 1.386719 0.027344 z m -0.871094 4.082031 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 12 0 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 s 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 z m 0 0" fill-opacity="0.34902"/>
<path d="m 5.5 10 c -0.277344 0 -0.5 0.222656 -0.5 0.5 v 1.5 h 3.9375 l -2 -2 z m 0 0" fill-opacity="0.34902"/>
<path d="m 1.53125 0.46875 l -1.0625 1.0625 l 14 14 l 1.0625 -1.0625 z m 0 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 964 B

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Some files were not shown because too many files have changed in this diff Show More