Compare commits
1 Commits
emoji-majo
...
zoitechat-
| Author | SHA1 | Date | |
|---|---|---|---|
| ab54d9f782 |
132
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,132 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Report a problem with ZoiteChat
|
|
||||||
title: "[Bug]: "
|
|
||||||
labels: bug
|
|
||||||
assignees: ""
|
|
||||||
---
|
|
||||||
|
|
||||||
```
|
|
||||||
+------------------------------------------------------------+
|
|
||||||
| ZoiteChat Bug Report |
|
|
||||||
| Please fill this out so the bug goblin has enough crumbs. |
|
|
||||||
+------------------------------------------------------------+
|
|
||||||
```
|
|
||||||
|
|
||||||
## Summary
|
|
||||||
|
|
||||||
What went wrong?
|
|
||||||
|
|
||||||
```text
|
|
||||||
Describe the bug clearly and briefly.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Steps to Reproduce
|
|
||||||
|
|
||||||
```text
|
|
||||||
1.
|
|
||||||
2.
|
|
||||||
3.
|
|
||||||
4.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Expected Result
|
|
||||||
|
|
||||||
```text
|
|
||||||
What should have happened?
|
|
||||||
```
|
|
||||||
|
|
||||||
## Actual Result
|
|
||||||
|
|
||||||
```text
|
|
||||||
What happened instead?
|
|
||||||
```
|
|
||||||
|
|
||||||
## ZoiteChat Version
|
|
||||||
|
|
||||||
```text
|
|
||||||
ZoiteChat version:
|
|
||||||
Build/source: GitHub release / Fedora package / source build / Windows installer / other
|
|
||||||
Commit hash, if built from source:
|
|
||||||
```
|
|
||||||
|
|
||||||
## System Information
|
|
||||||
|
|
||||||
```text
|
|
||||||
OS:
|
|
||||||
OS version:
|
|
||||||
Desktop environment:
|
|
||||||
Display server: Wayland / X11 / Windows / other
|
|
||||||
CPU architecture: x86_64 / aarch64 / other
|
|
||||||
```
|
|
||||||
|
|
||||||
## IRC / Network Details
|
|
||||||
|
|
||||||
```text
|
|
||||||
IRC network/server:
|
|
||||||
Port:
|
|
||||||
TLS/SSL enabled: yes / no
|
|
||||||
SASL enabled: yes / no
|
|
||||||
Using bouncer/ZNC: yes / no
|
|
||||||
Proxy/VPN involved: yes / no
|
|
||||||
IRCv3 capabilities involved, if known:
|
|
||||||
```
|
|
||||||
|
|
||||||
## Plugins, Scripts, and Config
|
|
||||||
|
|
||||||
```text
|
|
||||||
Plugins enabled:
|
|
||||||
Scripts loaded:
|
|
||||||
Theme/custom CSS:
|
|
||||||
Custom config changes:
|
|
||||||
Does the bug still happen with a clean config? yes / no / untested
|
|
||||||
```
|
|
||||||
|
|
||||||
## Logs / Terminal Output
|
|
||||||
|
|
||||||
Paste relevant output below.
|
|
||||||
|
|
||||||
```text
|
|
||||||
```
|
|
||||||
|
|
||||||
## Raw IRC Lines, If Relevant
|
|
||||||
|
|
||||||
Remove passwords, tokens, IPs, private channels, private messages, certs, and account details before posting.
|
|
||||||
|
|
||||||
```text
|
|
||||||
```
|
|
||||||
|
|
||||||
## Crash Details, If Relevant
|
|
||||||
|
|
||||||
```text
|
|
||||||
Did ZoiteChat crash? yes / no
|
|
||||||
Crash reporter output:
|
|
||||||
Backtrace:
|
|
||||||
Core dump available: yes / no
|
|
||||||
```
|
|
||||||
|
|
||||||
## Screenshots
|
|
||||||
|
|
||||||
Attach screenshots or screen recordings if the issue is visual.
|
|
||||||
|
|
||||||
## Regression Check
|
|
||||||
|
|
||||||
```text
|
|
||||||
Did this work in an older version? yes / no / unknown
|
|
||||||
Last known working version:
|
|
||||||
First broken version:
|
|
||||||
```
|
|
||||||
|
|
||||||
## Checklist
|
|
||||||
|
|
||||||
* [ ] I searched existing issues first.
|
|
||||||
* [ ] I tested with the latest ZoiteChat version available to me.
|
|
||||||
* [ ] I included steps to reproduce the issue.
|
|
||||||
* [ ] I removed private information from logs and raw IRC lines.
|
|
||||||
* [ ] I included system and network details where relevant.
|
|
||||||
|
|
||||||
## Extra Notes
|
|
||||||
|
|
||||||
```text
|
|
||||||
Anything else that might help.
|
|
||||||
```
|
|
||||||
1
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1 +0,0 @@
|
|||||||
blank_issues_enabled: false
|
|
||||||
57
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,57 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an improvement for ZoiteChat
|
|
||||||
title: "[Feature]: "
|
|
||||||
labels: enhancement
|
|
||||||
assignees: ""
|
|
||||||
---
|
|
||||||
|
|
||||||
## Summary
|
|
||||||
|
|
||||||
```text
|
|
||||||
Describe the feature or enhancement clearly and briefly.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Problem
|
|
||||||
|
|
||||||
```text
|
|
||||||
What problem would this solve?
|
|
||||||
```
|
|
||||||
|
|
||||||
## Proposed Solution
|
|
||||||
|
|
||||||
```text
|
|
||||||
How should ZoiteChat behave?
|
|
||||||
```
|
|
||||||
|
|
||||||
## Alternatives Considered
|
|
||||||
|
|
||||||
```text
|
|
||||||
Other approaches or workarounds you considered.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Use Case
|
|
||||||
|
|
||||||
```text
|
|
||||||
Who benefits from this, and when would they use it?
|
|
||||||
```
|
|
||||||
|
|
||||||
## Platform Details
|
|
||||||
|
|
||||||
```text
|
|
||||||
OS:
|
|
||||||
ZoiteChat version:
|
|
||||||
Build/source: GitHub release / Fedora package / source build / Windows installer / other
|
|
||||||
```
|
|
||||||
|
|
||||||
## Checklist
|
|
||||||
|
|
||||||
* [ ] I searched existing issues first.
|
|
||||||
* [ ] I checked whether this already exists in the latest ZoiteChat version available to me.
|
|
||||||
* [ ] I explained the problem this would solve.
|
|
||||||
|
|
||||||
## Extra Notes
|
|
||||||
|
|
||||||
```text
|
|
||||||
Anything else that might help.
|
|
||||||
```
|
|
||||||
55
.github/workflows/appimage-build.yml
vendored
@@ -28,15 +28,15 @@ jobs:
|
|||||||
sudo apt-get install -y --no-install-recommends \
|
sudo apt-get install -y --no-install-recommends \
|
||||||
build-essential pkg-config meson ninja-build cmake \
|
build-essential pkg-config meson ninja-build cmake \
|
||||||
gettext \
|
gettext \
|
||||||
libcanberra-dev libglib2.0-dev \
|
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev \
|
||||||
libarchive-dev \
|
libarchive-dev \
|
||||||
libgtk-3-dev \
|
libgtk-3-dev \
|
||||||
libwayland-client0 libwayland-cursor0 libwayland-egl1 \
|
libwayland-client0 libwayland-cursor0 libwayland-egl1 \
|
||||||
libxkbcommon0 \
|
libxkbcommon0 \
|
||||||
libgtk-3-bin libglib2.0-bin shared-mime-info gsettings-desktop-schemas \
|
libgtk-3-bin libglib2.0-bin shared-mime-info gsettings-desktop-schemas \
|
||||||
liblua5.4-dev libpci-dev libperl-dev libssl-dev libayatana-appindicator3-dev \
|
libluajit-5.1-dev libpci-dev libperl-dev libssl-dev libayatana-appindicator3-dev \
|
||||||
perl python3 python3-minimal python3-dev python3-cffi mono-devel desktop-file-utils \
|
perl python3 python3-minimal python3-dev python3-cffi mono-devel desktop-file-utils \
|
||||||
breeze-gtk-theme \
|
fonts-noto-color-emoji breeze-gtk-theme \
|
||||||
patchelf file curl
|
patchelf file curl
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
@@ -86,21 +86,11 @@ jobs:
|
|||||||
cp -a /usr/lib/x86_64-linux-gnu/python3/dist-packages AppDir/usr/lib/x86_64-linux-gnu/python3/
|
cp -a /usr/lib/x86_64-linux-gnu/python3/dist-packages AppDir/usr/lib/x86_64-linux-gnu/python3/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "/usr/lib/x86_64-linux-gnu/perl-base" ]; then
|
|
||||||
install -d AppDir/usr/lib/x86_64-linux-gnu
|
|
||||||
cp -a /usr/lib/x86_64-linux-gnu/perl-base AppDir/usr/lib/x86_64-linux-gnu/
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "/usr/lib/x86_64-linux-gnu/perl" ]; then
|
if [ -d "/usr/lib/x86_64-linux-gnu/perl" ]; then
|
||||||
install -d AppDir/usr/lib/x86_64-linux-gnu
|
install -d AppDir/usr/lib/x86_64-linux-gnu
|
||||||
cp -a /usr/lib/x86_64-linux-gnu/perl AppDir/usr/lib/x86_64-linux-gnu/
|
cp -a /usr/lib/x86_64-linux-gnu/perl AppDir/usr/lib/x86_64-linux-gnu/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "/usr/lib/x86_64-linux-gnu/perl5" ]; then
|
|
||||||
install -d AppDir/usr/lib/x86_64-linux-gnu
|
|
||||||
cp -a /usr/lib/x86_64-linux-gnu/perl5 AppDir/usr/lib/x86_64-linux-gnu/
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "/usr/share/perl" ]; then
|
if [ -d "/usr/share/perl" ]; then
|
||||||
install -d AppDir/usr/share
|
install -d AppDir/usr/share
|
||||||
cp -a /usr/share/perl AppDir/usr/share/
|
cp -a /usr/share/perl AppDir/usr/share/
|
||||||
@@ -110,17 +100,20 @@ jobs:
|
|||||||
install -d AppDir/usr/share
|
install -d AppDir/usr/share
|
||||||
cp -a /usr/share/perl5 AppDir/usr/share/
|
cp -a /usr/share/perl5 AppDir/usr/share/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
perl -MFile::Spec -e 'print "Build host File::Spec: $INC{\"File/Spec.pm\"}\n"'
|
|
||||||
find AppDir/usr -path '*/File/Spec.pm' -print -quit | grep -q .
|
|
||||||
|
|
||||||
if compgen -G '/usr/lib/x86_64-linux-gnu/libpython3*.so*' > /dev/null; then
|
if compgen -G '/usr/lib/x86_64-linux-gnu/libpython3*.so*' > /dev/null; then
|
||||||
install -d AppDir/usr/lib/x86_64-linux-gnu
|
install -d AppDir/usr/lib/x86_64-linux-gnu
|
||||||
cp -a /usr/lib/x86_64-linux-gnu/libpython3*.so* AppDir/usr/lib/x86_64-linux-gnu/
|
cp -a /usr/lib/x86_64-linux-gnu/libpython3*.so* AppDir/usr/lib/x86_64-linux-gnu/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test -f AppDir/usr/share/fonts/zoitechat/NotoColorEmoji.ttf
|
if [ -d "/usr/share/gtk-3.0/emoji" ]; then
|
||||||
test -f AppDir/usr/share/doc/zoitechat/fonts/OFL.txt
|
install -d AppDir/usr/share/gtk-3.0
|
||||||
|
cp -a /usr/share/gtk-3.0/emoji AppDir/usr/share/gtk-3.0/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf" ]; then
|
||||||
|
install -d AppDir/usr/share/fonts/truetype/noto
|
||||||
|
cp -a /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf AppDir/usr/share/fonts/truetype/noto/
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -d "/usr/lib/x86_64-linux-gnu/gtk-3.0/modules" ]; then
|
if [ -d "/usr/lib/x86_64-linux-gnu/gtk-3.0/modules" ]; then
|
||||||
install -d AppDir/usr/lib/x86_64-linux-gnu/gtk-3.0
|
install -d AppDir/usr/lib/x86_64-linux-gnu/gtk-3.0
|
||||||
@@ -136,6 +129,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
|
# Include every built-in plugin except the Windows-only update plugin.
|
||||||
find AppDir/usr/lib -maxdepth 4 -type f -name '*.so' -path '*/zoitechat/plugins/*' -print | sort
|
find AppDir/usr/lib -maxdepth 4 -type f -name '*.so' -path '*/zoitechat/plugins/*' -print | sort
|
||||||
|
|
||||||
for plugin in checksum fishlim lua perl python sysinfo; do
|
for plugin in checksum fishlim lua perl python sysinfo; do
|
||||||
@@ -168,7 +162,7 @@ jobs:
|
|||||||
|
|
||||||
APPDIR="${APPDIR:-$(dirname "$(readlink -f "$0")")}"
|
APPDIR="${APPDIR:-$(dirname "$(readlink -f "$0")")}"
|
||||||
|
|
||||||
export PATH="$APPDIR/usr/bin:${PATH:-/usr/bin:/bin}"
|
export PATH="${PATH:-/usr/bin:/bin}:$APPDIR/usr/bin"
|
||||||
export LD_LIBRARY_PATH="$APPDIR/usr/lib:$APPDIR/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}"
|
export LD_LIBRARY_PATH="$APPDIR/usr/lib:$APPDIR/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}"
|
||||||
export XDG_DATA_DIRS="$APPDIR/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
|
export XDG_DATA_DIRS="$APPDIR/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
|
||||||
export GTK_EXE_PREFIX="$APPDIR/usr"
|
export GTK_EXE_PREFIX="$APPDIR/usr"
|
||||||
@@ -217,23 +211,6 @@ jobs:
|
|||||||
|
|
||||||
unset GTK_MODULES
|
unset GTK_MODULES
|
||||||
|
|
||||||
perl5lib_entries=""
|
|
||||||
for dir in \
|
|
||||||
"$APPDIR/usr/lib/x86_64-linux-gnu/perl-base" \
|
|
||||||
"$APPDIR/usr/lib/x86_64-linux-gnu/perl"/* \
|
|
||||||
"$APPDIR/usr/lib/x86_64-linux-gnu/perl5"/* \
|
|
||||||
"$APPDIR/usr/share/perl"/* \
|
|
||||||
"$APPDIR/usr/share/perl5"
|
|
||||||
do
|
|
||||||
if [ -d "$dir" ]; then
|
|
||||||
perl5lib_entries="${perl5lib_entries:+$perl5lib_entries:}$dir"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -n "$perl5lib_entries" ]; then
|
|
||||||
export PERL5LIB="$perl5lib_entries${PERL5LIB:+:$PERL5LIB}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export PYTHONHOME="$APPDIR/usr"
|
export PYTHONHOME="$APPDIR/usr"
|
||||||
python_stdlib_dir="$(find "$APPDIR/usr/lib" -maxdepth 1 -type d -name 'python3.*' | head -n 1 || true)"
|
python_stdlib_dir="$(find "$APPDIR/usr/lib" -maxdepth 1 -type d -name 'python3.*' | head -n 1 || true)"
|
||||||
pythonpath_entries=""
|
pythonpath_entries=""
|
||||||
@@ -250,10 +227,13 @@ jobs:
|
|||||||
export PYTHONPATH="$pythonpath_entries${PYTHONPATH:+:$PYTHONPATH}"
|
export PYTHONPATH="$pythonpath_entries${PYTHONPATH:+:$PYTHONPATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# OpenSSL trust store override
|
||||||
export SSL_CERT_FILE="${SSL_CERT_FILE:-$APPDIR/etc/ssl/certs/ca-certificates.crt}"
|
export SSL_CERT_FILE="${SSL_CERT_FILE:-$APPDIR/etc/ssl/certs/ca-certificates.crt}"
|
||||||
export SSL_CERT_DIR="${SSL_CERT_DIR:-$APPDIR/etc/ssl/certs}"
|
export SSL_CERT_DIR="${SSL_CERT_DIR:-$APPDIR/etc/ssl/certs}"
|
||||||
export CURL_CA_BUNDLE="${CURL_CA_BUNDLE:-$SSL_CERT_FILE}"
|
export CURL_CA_BUNDLE="${CURL_CA_BUNDLE:-$SSL_CERT_FILE}"
|
||||||
|
|
||||||
|
# Prefer Wayland if the session provides it, but keep X11 fallback.
|
||||||
|
# Don't override if the user already set GDK_BACKEND explicitly.
|
||||||
if [ -z "${GDK_BACKEND:-}" ]; then
|
if [ -z "${GDK_BACKEND:-}" ]; then
|
||||||
if [ -n "${WAYLAND_DISPLAY:-}" ] || [ "${XDG_SESSION_TYPE:-}" = "wayland" ]; then
|
if [ -n "${WAYLAND_DISPLAY:-}" ] || [ "${XDG_SESSION_TYPE:-}" = "wayland" ]; then
|
||||||
export GDK_BACKEND="wayland,x11"
|
export GDK_BACKEND="wayland,x11"
|
||||||
@@ -276,6 +256,7 @@ jobs:
|
|||||||
EOF
|
EOF
|
||||||
chmod +x AppRun
|
chmod +x AppRun
|
||||||
|
|
||||||
|
|
||||||
VERSION="$(git describe --tags --always)"
|
VERSION="$(git describe --tags --always)"
|
||||||
|
|
||||||
./linuxdeploy-x86_64.AppImage \
|
./linuxdeploy-x86_64.AppImage \
|
||||||
|
|||||||
3
.github/workflows/flatpak-build.yml
vendored
@@ -25,9 +25,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- name: Generate PSL list
|
|
||||||
run: curl -fsSL https://publicsuffix.org/list/public_suffix_list.dat -o src/common/public_suffix_list.dat
|
|
||||||
|
|
||||||
- name: Build Flatpak
|
- name: Build Flatpak
|
||||||
id: flatpak_builder
|
id: flatpak_builder
|
||||||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
|
|||||||
81
.github/workflows/manjaro-package-build.yml
vendored
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
name: Manjaro Package Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master, main]
|
||||||
|
pull_request:
|
||||||
|
branches: [master, main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
manjaro-package:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: manjarolinux/base:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install packaging toolchain
|
||||||
|
run: |
|
||||||
|
set -euxo pipefail
|
||||||
|
pacman -Syu --noconfirm
|
||||||
|
pacman -S --noconfirm --needed \
|
||||||
|
base-devel \
|
||||||
|
git \
|
||||||
|
namcap \
|
||||||
|
meson \
|
||||||
|
ninja \
|
||||||
|
pkgconf \
|
||||||
|
glib2 \
|
||||||
|
glib2-devel \
|
||||||
|
gtk3 \
|
||||||
|
openssl \
|
||||||
|
dbus-glib \
|
||||||
|
libcanberra \
|
||||||
|
libayatana-appindicator \
|
||||||
|
luajit \
|
||||||
|
iso-codes \
|
||||||
|
lua \
|
||||||
|
perl \
|
||||||
|
python \
|
||||||
|
python-cffi \
|
||||||
|
pciutils
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Build package and generate .SRCINFO (non-root)
|
||||||
|
run: |
|
||||||
|
set -euxo pipefail
|
||||||
|
id -u builder >/dev/null 2>&1 || useradd -m builder
|
||||||
|
chown -R builder:builder "$GITHUB_WORKSPACE"
|
||||||
|
su builder -c "cd '$GITHUB_WORKSPACE/packaging/manjaro' && makepkg --noconfirm --syncdeps --cleanbuild"
|
||||||
|
su builder -c "cd '$GITHUB_WORKSPACE/packaging/manjaro' && makepkg --printsrcinfo > .SRCINFO"
|
||||||
|
|
||||||
|
- name: Lint PKGBUILD and package with namcap
|
||||||
|
run: |
|
||||||
|
set -euxo pipefail
|
||||||
|
cd "$GITHUB_WORKSPACE/packaging/manjaro"
|
||||||
|
namcap PKGBUILD
|
||||||
|
pkg_file="$(find . -maxdepth 1 -type f -name '*.pkg.tar.*' | head -n1)"
|
||||||
|
namcap "$pkg_file"
|
||||||
|
|
||||||
|
- name: Collect artifacts
|
||||||
|
run: |
|
||||||
|
set -euxo pipefail
|
||||||
|
mkdir -p artifacts
|
||||||
|
cp -v "$GITHUB_WORKSPACE"/packaging/manjaro/*.pkg.tar.* artifacts/
|
||||||
|
cp -v "$GITHUB_WORKSPACE"/packaging/manjaro/PKGBUILD artifacts/
|
||||||
|
cp -v "$GITHUB_WORKSPACE"/packaging/manjaro/.SRCINFO artifacts/
|
||||||
|
|
||||||
|
- name: Upload package artifacts
|
||||||
|
uses: actions/upload-artifact@v6
|
||||||
|
with:
|
||||||
|
name: zoitechat-manjaro-package
|
||||||
|
path: artifacts/*
|
||||||
|
if-no-files-found: error
|
||||||
45
.github/workflows/windows-build.yml
vendored
@@ -65,8 +65,8 @@ jobs:
|
|||||||
Download-WithRetry -Url https://github.com/jrsoftware/issrc/releases/download/is-6_7_1/innosetup-6.7.1.exe -OutFile deps\innosetup-unicode.exe
|
Download-WithRetry -Url https://github.com/jrsoftware/issrc/releases/download/is-6_7_1/innosetup-6.7.1.exe -OutFile deps\innosetup-unicode.exe
|
||||||
& deps\innosetup-unicode.exe /VERYSILENT | Out-Null
|
& deps\innosetup-unicode.exe /VERYSILENT | Out-Null
|
||||||
|
|
||||||
Download-WithRetry -Url https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.18.1/GTK3_Gvsbuild_zoitechat-2.18.1_x64.zip -OutFile deps\gtk-${{ matrix.arch }}.zip
|
Download-WithRetry -Url https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.18.0-pre1/GTK3_Gvsbuild_zoitechat-2.18.0-pre1_${{ matrix.platform }}.7z -OutFile deps\gtk-${{ matrix.arch }}.7z
|
||||||
Expand-Archive -LiteralPath deps\gtk-${{ matrix.arch }}.zip -DestinationPath C:\gtk-build\gtk\x64\release -Force
|
& 7z.exe x deps\gtk-${{ matrix.arch }}.7z -oC:\gtk-build\gtk\x64\release
|
||||||
|
|
||||||
Download-WithRetry -Url https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-hicolor-icon-theme-0.18-1-any.pkg.tar.zst -OutFile deps\hicolor-icon-theme.pkg.tar.zst
|
Download-WithRetry -Url https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-hicolor-icon-theme-0.18-1-any.pkg.tar.zst -OutFile deps\hicolor-icon-theme.pkg.tar.zst
|
||||||
python -c "import tarfile,zstandard,pathlib;archive=pathlib.Path(r'deps\\hicolor-icon-theme.pkg.tar.zst');target=pathlib.Path(r'C:\\gtk-build\\gtk\\x64\\release');dctx=zstandard.ZstdDecompressor();f=archive.open('rb');reader=dctx.stream_reader(f);tf=tarfile.open(fileobj=reader,mode='r|');[tf.extract(m,path=target) for m in tf if m.name.startswith('mingw64/share/icons/hicolor/')];tf.close();reader.close();f.close()"
|
python -c "import tarfile,zstandard,pathlib;archive=pathlib.Path(r'deps\\hicolor-icon-theme.pkg.tar.zst');target=pathlib.Path(r'C:\\gtk-build\\gtk\\x64\\release');dctx=zstandard.ZstdDecompressor();f=archive.open('rb');reader=dctx.stream_reader(f);tf=tarfile.open(fileobj=reader,mode='r|');[tf.extract(m,path=target) for m in tf if m.name.startswith('mingw64/share/icons/hicolor/')];tf.close();reader.close();f.close()"
|
||||||
@@ -113,26 +113,6 @@ jobs:
|
|||||||
New-Item -Path $pyDir -Name "${{ matrix.platform }}" -ItemType Junction -Value $pyRoot | Out-Null
|
New-Item -Path $pyDir -Name "${{ matrix.platform }}" -ItemType Junction -Value $pyRoot | Out-Null
|
||||||
}
|
}
|
||||||
|
|
||||||
- uses: actions/setup-python@v6
|
|
||||||
with:
|
|
||||||
python-version: '3.8.10'
|
|
||||||
architecture: ${{ matrix.arch }}
|
|
||||||
|
|
||||||
- name: Prepare Python 3.8
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
python -m pip install cffi
|
|
||||||
|
|
||||||
$pyRoot = $env:pythonLocation
|
|
||||||
if (-not $pyRoot) { $pyRoot = & python -c "import sys; print(sys.prefix)" }
|
|
||||||
|
|
||||||
foreach ($pyDir in @("C:\gtk-build\python-3.8.10", "C:\gtk-build\python-3.8")) {
|
|
||||||
New-Item -Path $pyDir -ItemType Directory -Force | Out-Null
|
|
||||||
$target = Join-Path $pyDir "${{ matrix.platform }}"
|
|
||||||
if (Test-Path $target) { Remove-Item $target -Recurse -Force }
|
|
||||||
New-Item -Path $pyDir -Name "${{ matrix.platform }}" -ItemType Junction -Value $pyRoot | Out-Null
|
|
||||||
}
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||||
@@ -144,33 +124,12 @@ jobs:
|
|||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
set "PYTHON38_DIR=C:\gtk-build\python-3.8\${{ matrix.platform }}"
|
|
||||||
if not exist "%PYTHON38_DIR%\libs\python38.lib" (
|
|
||||||
echo Missing %PYTHON38_DIR%\libs\python38.lib
|
|
||||||
dir "%PYTHON38_DIR%\libs"
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
if not exist "%PYTHON38_DIR%\Lib\site-packages\_cffi_backend.cp38*.pyd" (
|
|
||||||
echo Missing %PYTHON38_DIR%\Lib\site-packages\_cffi_backend.cp38*.pyd
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
set "LIB=%PYTHON_DIR%\libs;%LIB%"
|
set "LIB=%PYTHON_DIR%\libs;%LIB%"
|
||||||
set "INCLUDE=%PYTHON_DIR%\include;%INCLUDE%"
|
set "INCLUDE=%PYTHON_DIR%\include;%INCLUDE%"
|
||||||
|
|
||||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "$archiveLib='C:\gtk-build\gtk\x64\release\lib\libarchive.lib'; if (-not (Test-Path $archiveLib)) { $archiveDll = Get-ChildItem 'C:\gtk-build\gtk\x64\release\bin\libarchive*.dll' | Select-Object -First 1; if ($archiveDll) { Push-Location 'C:\gtk-build\gtk\x64\release\lib'; & 'C:\gtk-build\gendef\gendef.exe' $archiveDll.FullName | Out-Null; $archiveDef = Get-ChildItem 'libarchive*.def' | Select-Object -First 1; if ($archiveDef) { & lib /def:$archiveDef.Name /machine:${{ matrix.platform }} /out:libarchive.lib | Out-Null }; Pop-Location } }"
|
powershell -NoProfile -ExecutionPolicy Bypass -Command "$archiveLib='C:\gtk-build\gtk\x64\release\lib\libarchive.lib'; if (-not (Test-Path $archiveLib)) { $archiveDll = Get-ChildItem 'C:\gtk-build\gtk\x64\release\bin\libarchive*.dll' | Select-Object -First 1; if ($archiveDll) { Push-Location 'C:\gtk-build\gtk\x64\release\lib'; & 'C:\gtk-build\gendef\gendef.exe' $archiveDll.FullName | Out-Null; $archiveDef = Get-ChildItem 'libarchive*.def' | Select-Object -First 1; if ($archiveDef) { & lib /def:$archiveDef.Name /machine:${{ matrix.platform }} /out:libarchive.lib | Out-Null }; Pop-Location } }"
|
||||||
|
|
||||||
msbuild win32\zoitechat.sln /m /verbosity:minimal /p:Configuration=Release /p:Platform=${{ matrix.platform }}
|
msbuild win32\zoitechat.sln /m /verbosity:minimal /p:Configuration=Release /p:Platform=${{ matrix.platform }}
|
||||||
if errorlevel 1 exit /b 1
|
|
||||||
|
|
||||||
if not exist "..\zoitechat-build\${{ matrix.platform }}\rel\plugins\hcpython38.dll" (
|
|
||||||
echo hcpython38.dll was not built
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
if not exist "..\zoitechat-build\${{ matrix.platform }}\rel\_cffi_backend.cp38*.pyd" (
|
|
||||||
echo _cffi_backend for Python 3.8 was not staged for the installer
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
shell: cmd
|
shell: cmd
|
||||||
|
|
||||||
- name: Preparing Artifacts
|
- name: Preparing Artifacts
|
||||||
|
|||||||
69
COPYING
@@ -1,12 +1,12 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
<https://fsf.org/>
|
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||||||
General Public License applies to most of the Free Software
|
General Public License applies to most of the Free Software
|
||||||
Foundation's software and to any other program whose authors commit to
|
Foundation's software and to any other program whose authors commit to
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
the GNU Lesser General Public License instead.) You can apply it to
|
the GNU Library General Public License instead.) You can apply it to
|
||||||
your programs, too.
|
your programs, too.
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
When we speak of free software, we are referring to freedom, not
|
||||||
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
The precise terms and conditions for copying, distribution and
|
||||||
modification follow.
|
modification follow.
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
0. This License applies to any program or other work which contains
|
||||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||||||
License. (Exception: if the Program itself is interactive but
|
License. (Exception: if the Program itself is interactive but
|
||||||
does not normally print such an announcement, your work based on
|
does not normally print such an announcement, your work based on
|
||||||
the Program is not required to print an announcement.)
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
These requirements apply to the modified work as a whole. If
|
||||||
identifiable sections of that work are not derived from the Program,
|
identifiable sections of that work are not derived from the Program,
|
||||||
and can be reasonably considered independent and separate works in
|
and can be reasonably considered independent and separate works in
|
||||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||||||
access to copy the source code from the same place counts as
|
access to copy the source code from the same place counts as
|
||||||
distribution of the source code, even though third parties are not
|
distribution of the source code, even though third parties are not
|
||||||
compelled to copy the source along with the object code.
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
except as expressly provided under this License. Any attempt
|
except as expressly provided under this License. Any attempt
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
@@ -225,7 +225,7 @@ impose that choice.
|
|||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
This section is intended to make thoroughly clear what is believed to
|
||||||
be a consequence of the rest of this License.
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
original copyright holder who places the Program under this License
|
original copyright holder who places the Program under this License
|
||||||
@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
|
|||||||
of preserving the free status of all derivatives of our free software and
|
of preserving the free status of all derivatives of our free software and
|
||||||
of promoting the sharing and reuse of software generally.
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
If you develop a new program, and you want it to be of the greatest
|
||||||
possible use to the public, the best way to achieve this is to make it
|
possible use to the public, the best way to achieve this is to make it
|
||||||
@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
|
|||||||
the "copyright" line and a pointer to where the full notice is found.
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
Copyright (C) <year> <name of author>
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -303,15 +303,17 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along
|
You should have received a copy of the GNU General Public License
|
||||||
with this program; if not, see <https://www.gnu.org/licenses/>.
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
If the program is interactive, make it output a short notice like this
|
||||||
when it starts in an interactive mode:
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
@@ -328,34 +330,11 @@ necessary. Here is a sample; alter the names:
|
|||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
<signature of Moe Ghoul>, 1 April 1989
|
<signature of Ty Coon>, 1 April 1989
|
||||||
Moe Ghoul, President of Vice
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
This General Public License does not permit incorporating your program into
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
consider it more useful to permit linking proprietary applications with the
|
consider it more useful to permit linking proprietary applications with the
|
||||||
library. If this is what you want to do, use the GNU Lesser General
|
library. If this is what you want to do, use the GNU Library General
|
||||||
Public License instead of this License.
|
Public License instead of this License.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
ADDITIONAL LICENSE NOTICE
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
ZoiteChat source code:
|
|
||||||
GPL version 2
|
|
||||||
See Above.
|
|
||||||
|
|
||||||
Unicode Emoji and CLDR data:
|
|
||||||
Unicode License v3
|
|
||||||
data/emoji/LICENSE-UNICODE.txt
|
|
||||||
|
|
||||||
gemoji shortcode data:
|
|
||||||
MIT License
|
|
||||||
Copyright (c) 2019 GitHub, Inc.
|
|
||||||
data/emoji/LICENSE-GEMOJI.txt
|
|
||||||
|
|
||||||
Noto Color Emoji:
|
|
||||||
SIL Open Font License 1.1
|
|
||||||
data/fonts/OFL.txt
|
|
||||||
|
|||||||
@@ -1,98 +1,6 @@
|
|||||||
ZoiteChat ChangeLog
|
ZoiteChat ChangeLog
|
||||||
=================
|
=================
|
||||||
|
|
||||||
2.18.3 (2026-06-29)
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
- Added IRCv3 support for message tags, echo-message, typing notifications, and replies.
|
|
||||||
- Restored the accept-invalid-cert TLS bypass behavior.
|
|
||||||
- Replaced legacy IPv4 APIs and added support for OpenSSL 4 APIs.
|
|
||||||
- Snapshot Python hooks during plugin unload for safer plugin shutdown.
|
|
||||||
- Fixed Windows GtkStatusIcon tray menu popup behavior.
|
|
||||||
- Fixed self-echoed private messages routing to the target tab.
|
|
||||||
- Fixed the lag ping timeout window.
|
|
||||||
|
|
||||||
2.18.2 (2026-06-20)
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
- Improved security and connection handling with stronger TLS defaults,
|
|
||||||
safer certificate/hostname validation, FiSHLiM OpenSSL fixes, keyring support,
|
|
||||||
and getaddrinfo-based DCC lookups.
|
|
||||||
- Expanded FiSHLiM usability with a GTK key manager, context-menu access, and clearer
|
|
||||||
channel/private-message key handling.
|
|
||||||
- Improved keyboard and navigation behavior with customizable keybinds, reset support,
|
|
||||||
channel-name switching, /server -noproxy, and configurable stale-link ping checks.
|
|
||||||
- Refined the GTK interface with native file chooser dialogs, topic layout preferences,
|
|
||||||
timestamp/date hover tooltips, better restore-down relayout, text scroll speed controls,
|
|
||||||
and aligned network meters.
|
|
||||||
- Added privacy and display options, including hiding join/part hostmasks and improved
|
|
||||||
topic/multiline mode layout controls.
|
|
||||||
- Fixed several platform/UI edge cases, including tray restore from iconified state, DBus unload
|
|
||||||
handling, GTK3 theme refresh/saving, and tab switcher compatibility.
|
|
||||||
|
|
||||||
2.18.1 (2026-05-21)
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
- Migrated D-Bus handling to GDBus.
|
|
||||||
- Enabled mouse wheel channel switching by default and consumed handled tab wheel events.
|
|
||||||
- Switched main panes to native GTK scrollbars.
|
|
||||||
- Tightened userlist button and meter layout.
|
|
||||||
- Made the native Windows file chooser modal.
|
|
||||||
- Set the Windows AppUserModelID before GTK startup.
|
|
||||||
- Updated Windows CI to use the new GTK3 bundle zip.
|
|
||||||
- Updated Windows installer architecture checks to use x64-compatible detection.
|
|
||||||
- Bumped the Flatpak Perl runtime to 5.42.2.
|
|
||||||
- Fixed palette color reads to preserve base GTK state.
|
|
||||||
- Fixed auto-replace whole-word matching.
|
|
||||||
- Fixed checksum file stream cleanup.
|
|
||||||
- Fixed byte handling in the Python console.
|
|
||||||
- Guarded GTK drag-and-drop handlers against null windows.
|
|
||||||
- Fixed size_t and integer handling issues.
|
|
||||||
- Removed the Winamp plugin.
|
|
||||||
|
|
||||||
2.18.0 (2026-04-20)
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
- Added optional close buttons on tabs.
|
|
||||||
- Added Ctrl+W to close tabs and Ctrl+Shift+T to reopen recently closed tabs.
|
|
||||||
- Expanded theme import support with .hct support in colors.conf import.
|
|
||||||
- Added pevent import support from .hct theme files and improved import result messaging.
|
|
||||||
- Expanded palette and selection CSS styling for better theme consistency.
|
|
||||||
- Auto-sizes the topic bar to wrapped text for better multi-line topic handling.
|
|
||||||
- Refined command-character parsing when pasting path-like text.
|
|
||||||
- Tightened topic link detection and opening rules.
|
|
||||||
- Added Public Suffix List validation for host links to reduce bad link matches.
|
|
||||||
- Improved channel tree behavior by ignoring collapsed parent selections.
|
|
||||||
- Sanitized the Linux open environment for AppImage builds and added safer fallback handling.
|
|
||||||
- Labeled Windows installer runtimes with exact versions.
|
|
||||||
- Fixed the notification icon and corrected the Flatpak screenshot asset.
|
|
||||||
- Improved AppStream metainfo validation.
|
|
||||||
|
|
||||||
2.18.0~pre6 (2026-03-30)
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
- Applied app theme CSS to the menubar consistently across the app.
|
|
||||||
- Restored horizontal separator lines in menus.
|
|
||||||
- Improved Windows installer VC++ redistributable handling by failing loudly when missing and using the official Microsoft download endpoint.
|
|
||||||
- Fixed Windows locale path resolution in both GTK and text frontends.
|
|
||||||
- Fixed duplicate dialog buttons persisting in the UI.
|
|
||||||
- Fixed GTK auto-replace cursor snapback.
|
|
||||||
- Restored hiding of formatting control bytes so only formatted output is shown.
|
|
||||||
- Added one-click client SSL certificate tools, including generation with P-256 certificates.
|
|
||||||
- Added client SSL certificate import support in the network editor.
|
|
||||||
- Added 99-color support.
|
|
||||||
- Fixed xtext link hit-testing coordinates.
|
|
||||||
- Fixed short-palette fallback clobbering tab colors.
|
|
||||||
- Lazy-loads Preferences pages on first open for faster dialog startup.
|
|
||||||
- Removed unused UI icons.
|
|
||||||
- Added a None option for resetting the GTK3 theme back to system/default behavior.
|
|
||||||
- Added channel-only mode to Ctrl+F search.
|
|
||||||
- Disabled disk info in sysinfo.
|
|
||||||
- Wrapped the topic bar in a scroller with bounded height.
|
|
||||||
- Added close buttons to tabs.
|
|
||||||
- Fixed fallback GTK menu highlight states.
|
|
||||||
- Applied configured font preferences to the topic bar, channel tree, user list, and input box.
|
|
||||||
|
|
||||||
2.18.0~pre5 (2026-03-22)
|
2.18.0~pre5 (2026-03-22)
|
||||||
------------------------
|
------------------------
|
||||||
- Overhauled preferences/config saving: fully staged and transactional, debounced
|
- Overhauled preferences/config saving: fully staged and transactional, debounced
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
UNICODE LICENSE V3
|
|
||||||
|
|
||||||
COPYRIGHT AND PERMISSION NOTICE
|
|
||||||
|
|
||||||
Copyright © 1991-2026 Unicode, Inc.
|
|
||||||
|
|
||||||
NOTICE TO USER: Carefully read the following legal agreement. BY
|
|
||||||
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
|
||||||
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
|
||||||
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
|
||||||
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
copy of data files and any associated documentation (the "Data Files") or
|
|
||||||
software and any associated documentation (the "Software") to deal in the
|
|
||||||
Data Files or Software without restriction, including without limitation
|
|
||||||
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
|
||||||
copies of the Data Files or Software, and to permit persons to whom the
|
|
||||||
Data Files or Software are furnished to do so, provided that either (a)
|
|
||||||
this copyright and permission notice appear with all copies of the Data
|
|
||||||
Files or Software, or (b) this copyright and permission notice appear in
|
|
||||||
associated Documentation.
|
|
||||||
|
|
||||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
|
||||||
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
|
||||||
THIRD PARTY RIGHTS.
|
|
||||||
|
|
||||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
|
||||||
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
|
||||||
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
||||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
|
||||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
|
||||||
FILES OR SOFTWARE.
|
|
||||||
|
|
||||||
Except as contained in this notice, the name of a copyright holder shall
|
|
||||||
not be used in advertising or otherwise to promote the sale, use or other
|
|
||||||
dealings in these Data Files or Software without prior written
|
|
||||||
authorization of the copyright holder.
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
# Bundled emoji data
|
|
||||||
|
|
||||||
These are pinned copies of the upstream data files that
|
|
||||||
`tools/gen-emoji-data.py` compiles into ZoiteChat's emoji picker catalog
|
|
||||||
at build time. Bundling them means every ZoiteChat package exposes the
|
|
||||||
same emoji, names, categories and search keywords, independent of the
|
|
||||||
GTK runtime version or the emoji data a distribution installs under
|
|
||||||
`/usr/share/gtk-3.0/emoji`.
|
|
||||||
|
|
||||||
Nothing here affects what is sent over IRC: the picker inserts plain
|
|
||||||
Unicode sequences. Official builds register the bundled Noto Color Emoji
|
|
||||||
font privately for consistent rendering, while preserving platform font
|
|
||||||
fallback if registration is unavailable.
|
|
||||||
|
|
||||||
| File | Source | Version |
|
|
||||||
| ---- | ------ | ------- |
|
|
||||||
| `emoji-test.txt` | [Unicode emoji data](https://unicode.org/Public/emoji/17.0/emoji-test.txt) (mirrored at [unicode-org/unicodetools](https://github.com/unicode-org/unicodetools/blob/main/unicodetools/data/emoji/17.0/emoji-test.txt)) | Emoji 17.0 |
|
|
||||||
| `cldr-annotations-en.xml` | [unicode-org/cldr](https://github.com/unicode-org/cldr/blob/release-48/common/annotations/en.xml) `common/annotations/en.xml` | CLDR release 48 |
|
|
||||||
| `cldr-annotations-derived-en.xml` | [unicode-org/cldr](https://github.com/unicode-org/cldr/blob/release-48/common/annotationsDerived/en.xml) `common/annotationsDerived/en.xml` | CLDR release 48 |
|
|
||||||
| `gemoji.json` | [github/gemoji](https://github.com/github/gemoji/blob/v4.1.0/db/emoji.json) `db/emoji.json` | v4.1.0 |
|
|
||||||
|
|
||||||
The pinned versions are recorded in `VERSIONS`.
|
|
||||||
|
|
||||||
## Licenses
|
|
||||||
|
|
||||||
- `emoji-test.txt`, `cldr-annotations-en.xml`,
|
|
||||||
`cldr-annotations-derived-en.xml`: © Unicode, Inc., distributed under
|
|
||||||
the [Unicode License v3](https://www.unicode.org/license.txt).
|
|
||||||
- `gemoji.json`: from the gemoji project, MIT licensed,
|
|
||||||
© GitHub, Inc.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
# Pinned versions of the emoji source data in this directory.
|
|
||||||
# Keep in sync with the files themselves; tools/gen-emoji-data.py
|
|
||||||
# verifies unicode-emoji against the emoji-test.txt header.
|
|
||||||
unicode-emoji=17.0
|
|
||||||
cldr=48
|
|
||||||
gemoji=4.1.0
|
|
||||||
23479
data/emoji/gemoji.json
@@ -1,91 +0,0 @@
|
|||||||
Copyright 2013 Google LLC
|
|
||||||
|
|
||||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
||||||
This license is copied below, and is also available with a FAQ at:
|
|
||||||
https://scripts.sil.org/OFL
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------
|
|
||||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
||||||
-----------------------------------------------------------
|
|
||||||
|
|
||||||
PREAMBLE
|
|
||||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
||||||
development of collaborative font projects, to support the font creation
|
|
||||||
efforts of academic and linguistic communities, and to provide a free and
|
|
||||||
open framework in which fonts may be shared and improved in partnership
|
|
||||||
with others.
|
|
||||||
|
|
||||||
The OFL allows the licensed fonts to be used, studied, modified and
|
|
||||||
redistributed freely as long as they are not sold by themselves. The
|
|
||||||
fonts, including any derivative works, can be bundled, embedded,
|
|
||||||
redistributed and/or sold with any software provided that any reserved
|
|
||||||
names are not used by derivative works. The fonts and derivatives,
|
|
||||||
however, cannot be released under any other type of license. The
|
|
||||||
requirement for fonts to remain under this license does not apply
|
|
||||||
to any document created using the fonts or their derivatives.
|
|
||||||
|
|
||||||
DEFINITIONS
|
|
||||||
"Font Software" refers to the set of files released by the Copyright
|
|
||||||
Holder(s) under this license and clearly marked as such. This may
|
|
||||||
include source files, build scripts and documentation.
|
|
||||||
|
|
||||||
"Reserved Font Name" refers to any names specified as such after the
|
|
||||||
copyright statement(s).
|
|
||||||
|
|
||||||
"Original Version" refers to the collection of Font Software components as
|
|
||||||
distributed by the Copyright Holder(s).
|
|
||||||
|
|
||||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
||||||
or substituting -- in part or in whole -- any of the components of the
|
|
||||||
Original Version, by changing formats or by porting the Font Software to a
|
|
||||||
new environment.
|
|
||||||
|
|
||||||
"Author" refers to any designer, engineer, programmer, technical
|
|
||||||
writer or other person who contributed to the Font Software.
|
|
||||||
|
|
||||||
PERMISSION & CONDITIONS
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
||||||
redistribute, and sell modified and unmodified copies of the Font
|
|
||||||
Software, subject to the following conditions:
|
|
||||||
|
|
||||||
1) Neither the Font Software nor any of its individual components,
|
|
||||||
in Original or Modified Versions, may be sold by itself.
|
|
||||||
|
|
||||||
2) Original or Modified Versions of the Font Software may be bundled,
|
|
||||||
redistributed and/or sold with any software, provided that each copy
|
|
||||||
contains the above copyright notice and this license. These can be
|
|
||||||
included either as stand-alone text files, human-readable headers or
|
|
||||||
in the appropriate machine-readable metadata fields within text or
|
|
||||||
binary files as long as those fields can be easily viewed by the user.
|
|
||||||
|
|
||||||
3) No Modified Version of the Font Software may use the Reserved Font
|
|
||||||
Name(s) unless explicit written permission is granted by the corresponding
|
|
||||||
Copyright Holder. This restriction only applies to the primary font name as
|
|
||||||
presented to the users.
|
|
||||||
|
|
||||||
4) The name(s) of the Copyright Holder(s) or the Author(s) shall not be
|
|
||||||
used to promote, endorse or advertise any Modified Version, except to
|
|
||||||
acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s)
|
|
||||||
or with their explicit written permission.
|
|
||||||
|
|
||||||
5) The Font Software, modified or unmodified, in part or in whole,
|
|
||||||
must be distributed entirely under this license, and must not be
|
|
||||||
distributed under any other license. The requirement for fonts to
|
|
||||||
remain under this license does not apply to any document created
|
|
||||||
using the Font Software.
|
|
||||||
|
|
||||||
TERMINATION
|
|
||||||
This license becomes null and void if any of the above conditions are not met.
|
|
||||||
|
|
||||||
DISCLAIMER
|
|
||||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
||||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
||||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
||||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
||||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Bundled emoji font
|
|
||||||
|
|
||||||
`NotoColorEmoji.ttf` reports Noto Color Emoji version 2.051 and covers
|
|
||||||
Unicode Emoji 17.0. It is vendored from Debian's
|
|
||||||
`fonts-noto-color-emoji` 2.051 package, built from the corresponding
|
|
||||||
Google Noto Emoji release.
|
|
||||||
|
|
||||||
Official ZoiteChat packages install the font inside the application and
|
|
||||||
register it only for the ZoiteChat process. It is not installed as a
|
|
||||||
global operating-system font.
|
|
||||||
|
|
||||||
Upstream release: https://github.com/googlefonts/noto-emoji/releases/tag/v2.051
|
|
||||||
|
|
||||||
Vendored file SHA-256:
|
|
||||||
`dac5c27651082d6c53dab5081f50d2022ddf6877d730fa919cf6a4fc2af22de0`
|
|
||||||
|
|
||||||
The font is distributed under the SIL Open Font License 1.1. See
|
|
||||||
`OFL.txt`.
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
emoji_font_dir = join_paths(get_option('datadir'), 'fonts', 'zoitechat')
|
|
||||||
emoji_font_doc_dir = join_paths(get_option('datadir'), 'doc', 'zoitechat', 'fonts')
|
|
||||||
|
|
||||||
install_data(
|
|
||||||
'NotoColorEmoji.ttf',
|
|
||||||
install_dir: emoji_font_dir,
|
|
||||||
)
|
|
||||||
|
|
||||||
install_data(
|
|
||||||
'OFL.txt',
|
|
||||||
'README.md',
|
|
||||||
install_dir: emoji_font_doc_dir,
|
|
||||||
)
|
|
||||||
BIN
data/icons/menu/dark/about.png
Normal file
|
After Width: | Height: | Size: 646 B |
19
data/icons/menu/dark/about.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="5.5" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 7v4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="4.8" r=".9" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 959 B |
BIN
data/icons/menu/dark/add.png
Normal file
|
After Width: | Height: | Size: 708 B |
16
data/icons/menu/dark/add.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#22a05a" stroke="#157347" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="4.8" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 5.8v4.4M5.8 8h4.4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 885 B |
BIN
data/icons/menu/dark/cancel.png
Normal file
|
After Width: | Height: | Size: 583 B |
12
data/icons/menu/dark/cancel.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#ff6b81" stroke="#d9485f" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="rgba(255,255,255,0.25)" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<path d="M5.0 5.0l6.0 6.0M11.0 5.0l-6.0 6.0" stroke="#ffffff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 700 B |
BIN
data/icons/menu/dark/chanlist.png
Normal file
|
After Width: | Height: | Size: 616 B |
19
data/icons/menu/dark/chanlist.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6366f1" stroke="#4338ca" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="3.5" cy="5.5" r=".2" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1006 B |
BIN
data/icons/menu/dark/clear.png
Normal file
|
After Width: | Height: | Size: 685 B |
21
data/icons/menu/dark/clear.svg
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6b7280" stroke="#4b5563" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3.2 5.2h9.6" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5 5.2v7.3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V5.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.5 3.5h3" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.8 7v4M9.2 7v4" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
data/icons/menu/dark/close.png
Normal file
|
After Width: | Height: | Size: 669 B |
17
data/icons/menu/dark/close.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2.5" y="2.5" width="11" height="11" rx="1.6" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.2 5.2l5.6 5.6M10.8 5.2 5.2 10.8" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 924 B |
BIN
data/icons/menu/dark/connect.png
Normal file
|
After Width: | Height: | Size: 682 B |
19
data/icons/menu/dark/connect.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#14b8a6" stroke="#0f766e" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4.5 10.5h7" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="1.1" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 969 B |
BIN
data/icons/menu/dark/copy.png
Normal file
|
After Width: | Height: | Size: 594 B |
17
data/icons/menu/dark/copy.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6 4.5h6.5v8H6z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3.5 2.5H10v1.8" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3.5 2.5v8.8H5.3" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
data/icons/menu/dark/delete.png
Normal file
|
After Width: | Height: | Size: 626 B |
18
data/icons/menu/dark/delete.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.2 5.3h5.6v7.2H5.2z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4 5.3h8" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.3 3.7h3.4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M7.1 6.6v4.6M8.9 6.6v4.6" stroke="#ffffff" stroke-width="1.1" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
data/icons/menu/dark/detach.png
Normal file
|
After Width: | Height: | Size: 661 B |
17
data/icons/menu/dark/detach.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6b7280" stroke="#4b5563" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2" y="4" width="8" height="8" rx="1.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 8h5M10.5 5.5 13 8l-2.5 2.5" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 949 B |
BIN
data/icons/menu/dark/disconnect.png
Normal file
|
After Width: | Height: | Size: 720 B |
19
data/icons/menu/dark/disconnect.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4.5 10.5h7" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5 5l6 6" stroke="#ffffff" stroke-width="1.4" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1002 B |
BIN
data/icons/menu/dark/emoji.png
Normal file
|
After Width: | Height: | Size: 625 B |
17
data/icons/menu/dark/emoji.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#f4b63b" stroke="#c98d0f" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="5.6" fill="#ffffff" stroke="#ffffff" stroke-width="1" />
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="6" cy="7" r="0.8" fill="#ffffff" />
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="10" cy="7" r="0.8" fill="#ffffff" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
data/icons/menu/dark/find.png
Normal file
|
After Width: | Height: | Size: 664 B |
19
data/icons/menu/dark/find.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="7" cy="7" r="3.5" fill="none" stroke="#ffffff" stroke-width="1.4" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M9.8 9.8 13 13" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M7 5.4v3.2M5.4 7h3.2" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1011 B |
BIN
data/icons/menu/dark/help.png
Normal file
|
After Width: | Height: | Size: 678 B |
19
data/icons/menu/dark/help.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="5.5" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.4 6.2a1.8 1.8 0 1 1 2.8 1.5c-.7.5-1.2.9-1.2 1.8" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="11.8" r=".8" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1016 B |
BIN
data/icons/menu/dark/join.png
Normal file
|
After Width: | Height: | Size: 664 B |
19
data/icons/menu/dark/join.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#22a05a" stroke="#157347" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M2.5 8h6" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6 5l3 3-3 3" fill="none" stroke="#ffffff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="10" y="3" width="3.5" height="10" rx="1" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
data/icons/menu/dark/load-plugin.png
Normal file
|
After Width: | Height: | Size: 636 B |
21
data/icons/menu/dark/load-plugin.svg
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#f59e0b" stroke="#c87500" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M2.5 8h6" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6 5l2.8 3L6 11" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="9" y="4" width="4.5" height="8" rx="1" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M11.25 6v1.8" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
data/icons/menu/dark/network-list.png
Normal file
|
After Width: | Height: | Size: 616 B |
19
data/icons/menu/dark/network-list.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6366f1" stroke="#4338ca" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="3.5" cy="5.5" r=".2" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1006 B |
BIN
data/icons/menu/dark/new.png
Normal file
|
After Width: | Height: | Size: 655 B |
19
data/icons/menu/dark/new.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#22a05a" stroke="#157347" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3 2.5h6l4 4V13.5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M9 2.5v4h4" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 8v4M6 10h4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1018 B |
BIN
data/icons/menu/dark/next.png
Normal file
|
After Width: | Height: | Size: 601 B |
15
data/icons/menu/dark/next.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.5 3.5 10.5 8l-5 4.5" fill="none" stroke="#ffffff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 805 B |
BIN
data/icons/menu/dark/ok.png
Normal file
|
After Width: | Height: | Size: 669 B |
12
data/icons/menu/dark/ok.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#37d67a" stroke="#1f9d57" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="rgba(255,255,255,0.25)" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<path d="M4.1 8.2l2.1 2.2L11.9 4.8" stroke="#ffffff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 691 B |
BIN
data/icons/menu/dark/preferences.png
Normal file
|
After Width: | Height: | Size: 659 B |
17
data/icons/menu/dark/preferences.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#8b5cf6" stroke="#6d28d9" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="2.1" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 2.8v1.4M8 11.8v1.4M13.2 8h-1.4M4.2 8H2.8M11.7 4.3l-1 1M5.3 10.7l-1 1M11.7 11.7l-1-1M5.3 5.3l-1-1" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 965 B |
BIN
data/icons/menu/dark/previous.png
Normal file
|
After Width: | Height: | Size: 598 B |
15
data/icons/menu/dark/previous.svg
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M10.5 3.5 5.5 8l5 4.5" fill="none" stroke="#ffffff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 804 B |
BIN
data/icons/menu/dark/quit.png
Normal file
|
After Width: | Height: | Size: 702 B |
17
data/icons/menu/dark/quit.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 2.5v5" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5 4.3a5 5 0 1 0 6 0" fill="none" stroke="#ffffff" stroke-width="1.4" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 898 B |
BIN
data/icons/menu/dark/refresh.png
Normal file
|
After Width: | Height: | Size: 660 B |
16
data/icons/menu/dark/refresh.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#06b6d4" stroke="#0e7490" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M12.8 7.4A4.8 4.8 0 1 0 8 12.8" fill="none" stroke="#ffffff" stroke-width="1.4" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M13 3.5v3.7H9.3" fill="none" stroke="#ffffff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 950 B |
BIN
data/icons/menu/dark/remove.png
Normal file
|
After Width: | Height: | Size: 694 B |
16
data/icons/menu/dark/remove.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="4.8" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.8 8h4.4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 875 B |
BIN
data/icons/menu/dark/save-as.png
Normal file
|
After Width: | Height: | Size: 643 B |
21
data/icons/menu/dark/save-as.svg
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3 2.5h8l2 2v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="5" y="3.5" width="4.5" height="2.5" fill="none" stroke="#ffffff" stroke-width="1.2" />
|
||||||
|
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="5" y="9" width="3.4" height="3" fill="none" stroke="#ffffff" stroke-width="1.2" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M9.8 8.9v3.6M8.1 10.7l1.7-1.8 1.8 1.8" fill="none" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
BIN
data/icons/menu/dark/save.png
Normal file
|
After Width: | Height: | Size: 633 B |
19
data/icons/menu/dark/save.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3 2.5h8l2 2v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="5" y="3.5" width="4.5" height="2.5" fill="none" stroke="#ffffff" stroke-width="1.2" />
|
||||||
|
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="5" y="9" width="6" height="3" fill="none" stroke="#ffffff" stroke-width="1.2" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
data/icons/menu/dark/search.png
Normal file
|
After Width: | Height: | Size: 666 B |
17
data/icons/menu/dark/search.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="7" cy="7" r="3.5" fill="none" stroke="#ffffff" stroke-width="1.4" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M9.8 9.8 13 13" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 880 B |
BIN
data/icons/menu/dark/spell-check.png
Normal file
|
After Width: | Height: | Size: 692 B |
16
data/icons/menu/dark/spell-check.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#14b8a6" stroke="#0f766e" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4 4.2h4M6 4.2v7.4M3.2 7.2h5.6" fill="none" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="m8.9 9.3 1.5 1.5 2.8-3" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 957 B |
BIN
data/icons/menu/dark/update.png
Normal file
|
After Width: | Height: | Size: 623 B |
14
data/icons/menu/dark/update.svg
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#06b6d4" stroke="#0e7490" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#ffffff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 5.8A5.5 5.5 0 1 0 5 13" fill="#ffffff" /><path d="M13 2.2v3h-3" fill="#ffffff" /><path d="M3 10.2A5.5 5.5 0 1 0 11 3" fill="#ffffff" /><path d="M3 13.8v-3h3" fill="#ffffff" /></g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 964 B |
BIN
data/icons/menu/light/about.png
Normal file
|
After Width: | Height: | Size: 646 B |
19
data/icons/menu/light/about.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="5.5" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 7v4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="4.8" r=".9" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 959 B |
BIN
data/icons/menu/light/add.png
Normal file
|
After Width: | Height: | Size: 708 B |
16
data/icons/menu/light/add.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#22a05a" stroke="#157347" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="4.8" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 5.8v4.4M5.8 8h4.4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 885 B |
BIN
data/icons/menu/light/cancel.png
Normal file
|
After Width: | Height: | Size: 639 B |
12
data/icons/menu/light/cancel.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="rgba(255,255,255,0.35)" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<path d="M5.0 5.0l6.0 6.0M11.0 5.0l-6.0 6.0" stroke="#ffffff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 700 B |
BIN
data/icons/menu/light/chanlist.png
Normal file
|
After Width: | Height: | Size: 616 B |
19
data/icons/menu/light/chanlist.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6366f1" stroke="#4338ca" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="3.5" cy="5.5" r=".2" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1006 B |
BIN
data/icons/menu/light/clear.png
Normal file
|
After Width: | Height: | Size: 685 B |
21
data/icons/menu/light/clear.svg
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6b7280" stroke="#4b5563" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3.2 5.2h9.6" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5 5.2v7.3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V5.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.5 3.5h3" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.8 7v4M9.2 7v4" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
data/icons/menu/light/close.png
Normal file
|
After Width: | Height: | Size: 669 B |
17
data/icons/menu/light/close.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2.5" y="2.5" width="11" height="11" rx="1.6" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.2 5.2l5.6 5.6M10.8 5.2 5.2 10.8" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 924 B |
BIN
data/icons/menu/light/connect.png
Normal file
|
After Width: | Height: | Size: 682 B |
19
data/icons/menu/light/connect.svg
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#14b8a6" stroke="#0f766e" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4.5 10.5h7" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
<circle xmlns="http://www.w3.org/2000/svg" cx="8" cy="8" r="1.1" fill="#ffffff" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 969 B |
BIN
data/icons/menu/light/copy.png
Normal file
|
After Width: | Height: | Size: 594 B |
17
data/icons/menu/light/copy.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#2d8cff" stroke="#1d63c6" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6 4.5h6.5v8H6z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3.5 2.5H10v1.8" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M3.5 2.5v8.8H5.3" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
data/icons/menu/light/delete.png
Normal file
|
After Width: | Height: | Size: 626 B |
18
data/icons/menu/light/delete.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#d9485f" stroke="#b02a37" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M5.2 5.3h5.6v7.2H5.2z" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M4 5.3h8" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M6.3 3.7h3.4" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" />
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M7.1 6.6v4.6M8.9 6.6v4.6" stroke="#ffffff" stroke-width="1.1" stroke-linecap="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
data/icons/menu/light/detach.png
Normal file
|
After Width: | Height: | Size: 661 B |
17
data/icons/menu/light/detach.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
||||||
|
<defs>
|
||||||
|
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
||||||
|
<feDropShadow dx="0" dy="0.5" stdDeviation="0.45" flood-color="#000000" flood-opacity="0.18"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g filter="url(#shadow)">
|
||||||
|
<circle cx="8" cy="8" r="6.5" fill="#6b7280" stroke="#4b5563" stroke-width="1"/>
|
||||||
|
<path d="M3.8 4.0A5.2 5.2 0 0 1 8 2.8c1.4 0 2.7 0.45 3.8 1.2" stroke="#ffffff" stroke-opacity="0.35" stroke-width="0.9" stroke-linecap="round"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(2.240 2.240) scale(0.720)">
|
||||||
|
<rect xmlns="http://www.w3.org/2000/svg" x="2" y="4" width="8" height="8" rx="1.2" fill="none" stroke="#ffffff" stroke-width="1.3" />
|
||||||
|
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M8 8h5M10.5 5.5 13 8l-2.5 2.5" fill="none" stroke="#ffffff" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" />
|
||||||
|
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 949 B |