33 Commits

Author SHA1 Message Date
a459d0a086 fixed docs url, removed extra help menu. 2026-02-21 19:17:31 -07:00
deepend-tildeclub
e3fb5b27f5 Update contact email in plugin metadata 2026-02-21 18:38:29 -07:00
deepend-tildeclub
60ade26bda Change branch from 'stable' to 'master' 2026-02-21 18:32:09 -07:00
deepend-tildeclub
6cbbcf06b0 Update Flatpak build container image to GNOME 49 2026-02-21 17:47:15 -07:00
deepend-tildeclub
58394d555e Merge pull request #69 from ZoiteChat/update-shared-modules
Updated the flatpak/shared-modules submodule to the latest upstream c…
2026-02-21 16:39:51 -08:00
deepend-tildeclub
7e8a830fda Update CI to use Ubuntu and new Flatpak image 2026-02-21 17:33:34 -07:00
deepend-tildeclub
19a19b4237 Change branch triggers from update-shared-modules to master 2026-02-21 17:30:00 -07:00
fcaedd41ce Updated the Flatpak GitHub Actions workflow to fully disable Flatpak builder caching by setting cache: false and restore-cache: false in the flatpak-builder step (and removing the previous cache-key usage) 2026-02-21 17:21:25 -07:00
deepend-tildeclub
e4e5689bc5 Enable GTK3 support in Zoitechat build options 2026-02-21 17:08:07 -07:00
deepend-tildeclub
5080c3b1d2 Enable GTK3 support in Zoitechat build config 2026-02-21 17:03:47 -07:00
deepend-tildeclub
3d450a3b33 Remove release build type from Zoitechat config 2026-02-21 16:54:03 -07:00
deepend-tildeclub
faf55e0d06 Change branch for Flatpak build workflow 2026-02-21 16:36:58 -07:00
ee40f3842b Updated the Flatpak manifest’s lgi module pin from the old commit to c9b8e4473c6421f2a215d8c06c0d94b86eb0b26a, which matches the meson buildsystem expectation and avoids the Can't find meson.build failure for that module checkout path. 2026-02-21 16:27:11 -07:00
deepend-tildeclub
cc9b1e249a Update socket and Lua version in Zoitechat config 2026-02-21 16:19:22 -07:00
3c2b0a8986 Good catch on data/icons/menu — I updated the resource bundle to include the new SVG menu icons (for both light and dark variants), not just PNG entries. This ensures those assets are actually packaged and available at runtime (including Flatpak).
Kept existing PNG entries intact and added SVG entries alongside them so the current icon-loading fallback behavior continues to work while enabling the newer icon files.
2026-02-21 15:46:43 -07:00
724211362b fixed one clear Flatpak metadata mismatch: the plugin extension version was still 20.08 while the runtime is GNOME 49. I updated the extension version to 49 so Flatpak metadata is internally consistent. 2026-02-21 14:53:49 -07:00
e4b8c641b1 Updated the flatpak/shared-modules submodule to the latest upstream commit from the configured shared-modules repository link (https://github.com/flathub/shared-modules.git). 2026-02-21 14:38:59 -07:00
deepend-tildeclub
3f0b936694 replace icon 2026-02-19 12:07:24 -08:00
3ef7768696 Updated the Solus CI workflow to install pkgconf instead of pkgconfig during the eopkg bootstrap step, resolving the Repo item pkgconfig not found failure path you hit. 2026-02-18 16:08:39 -07:00
e2cb540ee9 Updated the Solus package release from 1 to 2 in packaging/solus/package.yml so the metadata reflects this dependency fix update.
Replaced the Solus build dependency pkgconfig with pkgconf to address the Repo item pkgconfig not found packaging failure.

Committed the change on the current branch
2026-02-18 15:32:11 -07:00
bcd2b15ee4 Updated the Solus eopkg CI workflow to install required Meson toolchain/build packages (meson, ninja, pkgconfig, gcc, gettext) together with ypkg/git before running ypkg build, which addresses the reported meson: command not found setup failure.
Added inline workflow comments documenting why these extra packages are needed in this containerized Solus build path.
2026-02-18 14:54:32 -07:00
f66a68b3fd Updated the Solus packaging source from a missing tag tarball URL to a valid GitHub commit archive URL, and updated the SHA256 to match that archive so source extraction succeeds. 2026-02-18 14:38:52 -07:00
e060d57bae Updated the Solus packaging source checksum for zoitechat-2.18.0-pre1.tar.gz to the hash reported by the failing build log (d5558cd419c8d46bdc958064cb97f963d1ea793866414c025906ec15033512ed). 2026-02-18 14:22:11 -07:00
0796b96908 Added a Win32 existing-instance fallback so --existing with no URL/command now sends a dedicated __WIN32_TASKBAR_TOGGLE__ command to the running ZoiteChat instance, instead of doing nothing. This gives taskbar/shortcut invocations an explicit toggle action.
Updated the Win32 WM_COPYDATA handler to recognize that toggle command and perform minimize/restore behavior:

visible window → iconify

hidden window → show/present
while preserving existing behavior for normal remote commands.
2026-02-18 13:28:17 -07:00
184bfd2f69 Updated Solus packaging metadata to use a numeric version (2.18.0) instead of prerelease-form strings that were reported as invalid by your validator.
Left the source tarball URL/checksum unchanged (zoitechat-2.18.0-pre1), so this only adjusts the package metadata version field to pass format checks.
2026-02-18 13:14:44 -07:00
e3f624d2bb Fixed the GTK3 window-state handler so minimizing via taskbar no longer immediately deiconifies the window again. Specifically, I removed the conflicting gtk_window_deiconify(wid) call from the iconify path in mg_windowstate_cb, while preserving the existing tray-hide behavior and window state bookkeeping. This restores expected toggle behavior when clicking the taskbar icon on a maximized window. 2026-02-18 13:11:04 -07:00
e2db0ec3e5 Updated the Solus package metadata version string in packaging/solus/package.yml from 2.18.0-pre1 to 2.18.0pre1 so it uses a ypkg-compatible prerelease format and avoids the Invalid version build failure you hit 2026-02-18 12:55:55 -07:00
7b0d574752 Updated the Solus CI workflow to install ypkg/git using eopkg install -y --ignore-file-conflicts ..., which prevents the openssl vs openssl-11 file-conflict failure from aborting the build early.
Added explanatory comments in the workflow about why file-conflict tolerance is necessary in some Solus base images.
2026-02-18 12:41:33 -07:00
9e42c0dcc4 Updated the Solus eopkg GitHub Actions workflow to stop removing openssl-11 during container setup, and added a comment explaining that this removal can trigger a broad dependency cascade (including python3/eopkg) that breaks the build before ypkg build starts. 2026-02-18 11:52:19 -07:00
a8f68e22dd Updated the Solus eopkg GitHub Actions workflow to detect and remove legacy openssl-11 before dependency installation, preventing the file-conflict failure shown in your CI log while keeping behavior no-op on images that don’t have openssl-11.
Kept the rest of the build flow unchanged (ypkg build, artifact collection/upload)
2026-02-18 11:40:37 -07:00
5d5219566f emoved the openssl-11 removal workaround from the Solus eopkg workflow, so the container build now goes directly from eopkg update-repo -y to installing ypkg/git, avoiding the package-removal cascade that can break eopkg 2026-02-18 11:21:07 -07:00
5e4f408235 Updated the Solus eopkg workflow to conditionally remove openssl-11 before installing build dependencies, preventing the file-conflict failure when openssl is upgraded/installed in older Solus container images.
Kept the fix minimal and safe by guarding removal behind a package-presence check (eopkg li | grep ...) so it only applies when needed.
2026-02-18 11:12:10 -07:00
3d6b2485d1 Updated the Solus workflow’s default container image from ghcr.io/getsolus/solus:latest to docker.io/silkeh/solus:latest in both workflow input defaults and job env fallback, so the workflow no longer depends on a missing GHCR tag by default.
Added explicit error handling around docker pull "$SOLUS_IMAGE" with a clearer remediation message telling users to override solus_image if pull fails.
2026-02-18 11:00:05 -07:00
13 changed files with 119 additions and 32 deletions

View File

@@ -31,7 +31,8 @@ jobs:
with:
bundle: zoitechat.flatpak
manifest-path: flatpak/net.zoite.Zoitechat.json
cache-key: flatpak-builder-${{ github.sha }}
cache: false
restore-cache: false
- name: Upload Flatpak Bundle
id: upload_flatpak

View File

@@ -10,7 +10,7 @@ on:
solus_image:
description: "Solus container image"
required: false
default: "ghcr.io/getsolus/solus:latest"
default: "docker.io/silkeh/solus:latest"
push:
branches:
- main
@@ -24,7 +24,7 @@ jobs:
build-eopkg:
runs-on: ubuntu-latest
env:
SOLUS_IMAGE: ${{ inputs.solus_image || 'ghcr.io/getsolus/solus:latest' }}
SOLUS_IMAGE: ${{ inputs.solus_image || 'docker.io/silkeh/solus:latest' }}
PACKAGE_YML: ${{ inputs.package_yml || 'packaging/solus/package.yml' }}
steps:
- name: Checkout
@@ -48,7 +48,11 @@ jobs:
exit 1
fi
docker pull "$SOLUS_IMAGE"
if ! docker pull "$SOLUS_IMAGE"; then
echo "Failed to pull SOLUS_IMAGE=$SOLUS_IMAGE" >&2
echo "Set workflow input 'solus_image' to a valid image that provides eopkg/ypkg." >&2
exit 1
fi
docker run --rm \
-v "$PWD":/workspace \
@@ -58,7 +62,19 @@ jobs:
sh -lc '
set -euo pipefail
eopkg update-repo -y
eopkg install -y ypkg git
# Do not remove openssl-11 here: it can trigger a very large
# dependency cascade (including python3/eopkg itself), which
# breaks the build environment before package build starts.
# Some Solus base images still contain openssl-11 files that
# conflict with openssl 3.x when the package set is refreshed.
# Allowing file-conflict resolution keeps the CI image usable
# long enough to install ypkg and complete the package build.
# The base image does not guarantee Meson toolchain packages,
# while our package.yml setup phase calls meson directly.
# Install the essential build tools up front to avoid
# `/tmp/ypkg-setup*: meson: command not found` failures.
eopkg install -y --ignore-file-conflicts \
ypkg git meson ninja pkgconf gcc gettext
ypkg build "$PACKAGE_YML"
mkdir -p /workspace/artifacts
find . -maxdepth 3 -name "*.eopkg" -type f -exec cp -v {} /workspace/artifacts/ \;

View File

@@ -7,5 +7,5 @@
<url type="homepage">https://zoitechat.zoite.net/</url>
<project_license>@LICENSE@</project_license>
<metadata_license>CC0-1.0</metadata_license>
<update_contact>tingping_AT_fedoraproject.org</update_contact>
</component>
<update_contact>deepend_AT_zoite.net</update_contact>
</component>

View File

@@ -14,7 +14,7 @@
</description>
<url type="homepage">http://zoitechat.zoite.net</url>
<url type="bugtracker">https://github.com/zoitechat/zoitechat</url>
<url type="help">https://zoitechat.zoite.net/docs</url>
<url type="help">https://docs.zoitechat.zoite.net/en/latest/</url>
<screenshots>
<screenshot type="default">
<image>https://zoitechat.zoite.net/assets/ZoiteChat.png</image>

View File

@@ -22,61 +22,117 @@
<file alias="tree_util.png" preprocess="to-pixdata">icons/tree_util.png</file>
<file alias="menu/light/new.png" preprocess="to-pixdata">icons/menu/light/new.png</file>
<file alias="menu/light/new.svg">icons/menu/light/new.svg</file>
<file alias="menu/light/network-list.png" preprocess="to-pixdata">icons/menu/light/network-list.png</file>
<file alias="menu/light/network-list.svg">icons/menu/light/network-list.svg</file>
<file alias="menu/light/load-plugin.png" preprocess="to-pixdata">icons/menu/light/load-plugin.png</file>
<file alias="menu/light/load-plugin.svg">icons/menu/light/load-plugin.svg</file>
<file alias="menu/light/detach.png" preprocess="to-pixdata">icons/menu/light/detach.png</file>
<file alias="menu/light/detach.svg">icons/menu/light/detach.svg</file>
<file alias="menu/light/close.png" preprocess="to-pixdata">icons/menu/light/close.png</file>
<file alias="menu/light/close.svg">icons/menu/light/close.svg</file>
<file alias="menu/light/quit.png" preprocess="to-pixdata">icons/menu/light/quit.png</file>
<file alias="menu/light/quit.svg">icons/menu/light/quit.svg</file>
<file alias="menu/light/disconnect.png" preprocess="to-pixdata">icons/menu/light/disconnect.png</file>
<file alias="menu/light/disconnect.svg">icons/menu/light/disconnect.svg</file>
<file alias="menu/light/connect.png" preprocess="to-pixdata">icons/menu/light/connect.png</file>
<file alias="menu/light/connect.svg">icons/menu/light/connect.svg</file>
<file alias="menu/light/join.png" preprocess="to-pixdata">icons/menu/light/join.png</file>
<file alias="menu/light/join.svg">icons/menu/light/join.svg</file>
<file alias="menu/light/chanlist.png" preprocess="to-pixdata">icons/menu/light/chanlist.png</file>
<file alias="menu/light/chanlist.svg">icons/menu/light/chanlist.svg</file>
<file alias="menu/light/preferences.png" preprocess="to-pixdata">icons/menu/light/preferences.png</file>
<file alias="menu/light/preferences.svg">icons/menu/light/preferences.svg</file>
<file alias="menu/light/clear.png" preprocess="to-pixdata">icons/menu/light/clear.png</file>
<file alias="menu/light/clear.svg">icons/menu/light/clear.svg</file>
<file alias="menu/light/copy.png" preprocess="to-pixdata">icons/menu/light/copy.png</file>
<file alias="menu/light/copy.svg">icons/menu/light/copy.svg</file>
<file alias="menu/light/delete.png" preprocess="to-pixdata">icons/menu/light/delete.png</file>
<file alias="menu/light/delete.svg">icons/menu/light/delete.svg</file>
<file alias="menu/light/add.png" preprocess="to-pixdata">icons/menu/light/add.png</file>
<file alias="menu/light/add.svg">icons/menu/light/add.svg</file>
<file alias="menu/light/remove.png" preprocess="to-pixdata">icons/menu/light/remove.png</file>
<file alias="menu/light/remove.svg">icons/menu/light/remove.svg</file>
<file alias="menu/light/spell-check.png" preprocess="to-pixdata">icons/menu/light/spell-check.png</file>
<file alias="menu/light/spell-check.svg">icons/menu/light/spell-check.svg</file>
<file alias="menu/light/save.png" preprocess="to-pixdata">icons/menu/light/save.png</file>
<file alias="menu/light/save.svg">icons/menu/light/save.svg</file>
<file alias="menu/light/save-as.png" preprocess="to-pixdata">icons/menu/light/save-as.png</file>
<file alias="menu/light/save-as.svg">icons/menu/light/save-as.svg</file>
<file alias="menu/light/refresh.png" preprocess="to-pixdata">icons/menu/light/refresh.png</file>
<file alias="menu/light/refresh.svg">icons/menu/light/refresh.svg</file>
<file alias="menu/light/search.png" preprocess="to-pixdata">icons/menu/light/search.png</file>
<file alias="menu/light/search.svg">icons/menu/light/search.svg</file>
<file alias="menu/light/find.png" preprocess="to-pixdata">icons/menu/light/find.png</file>
<file alias="menu/light/find.svg">icons/menu/light/find.svg</file>
<file alias="menu/light/previous.png" preprocess="to-pixdata">icons/menu/light/previous.png</file>
<file alias="menu/light/previous.svg">icons/menu/light/previous.svg</file>
<file alias="menu/light/next.png" preprocess="to-pixdata">icons/menu/light/next.png</file>
<file alias="menu/light/next.svg">icons/menu/light/next.svg</file>
<file alias="menu/light/help.png" preprocess="to-pixdata">icons/menu/light/help.png</file>
<file alias="menu/light/help.svg">icons/menu/light/help.svg</file>
<file alias="menu/light/about.png" preprocess="to-pixdata">icons/menu/light/about.png</file>
<file alias="menu/light/about.svg">icons/menu/light/about.svg</file>
<file alias="menu/light/update.png" preprocess="to-pixdata">icons/menu/light/update.png</file>
<file alias="menu/light/update.svg">icons/menu/light/update.svg</file>
<file alias="menu/light/emoji.png" preprocess="to-pixdata">icons/menu/light/emoji.png</file>
<file alias="menu/light/emoji.svg">icons/menu/light/emoji.svg</file>
<file alias="menu/dark/new.png" preprocess="to-pixdata">icons/menu/dark/new.png</file>
<file alias="menu/dark/new.svg">icons/menu/dark/new.svg</file>
<file alias="menu/dark/network-list.png" preprocess="to-pixdata">icons/menu/dark/network-list.png</file>
<file alias="menu/dark/network-list.svg">icons/menu/dark/network-list.svg</file>
<file alias="menu/dark/load-plugin.png" preprocess="to-pixdata">icons/menu/dark/load-plugin.png</file>
<file alias="menu/dark/load-plugin.svg">icons/menu/dark/load-plugin.svg</file>
<file alias="menu/dark/detach.png" preprocess="to-pixdata">icons/menu/dark/detach.png</file>
<file alias="menu/dark/detach.svg">icons/menu/dark/detach.svg</file>
<file alias="menu/dark/close.png" preprocess="to-pixdata">icons/menu/dark/close.png</file>
<file alias="menu/dark/close.svg">icons/menu/dark/close.svg</file>
<file alias="menu/dark/quit.png" preprocess="to-pixdata">icons/menu/dark/quit.png</file>
<file alias="menu/dark/quit.svg">icons/menu/dark/quit.svg</file>
<file alias="menu/dark/disconnect.png" preprocess="to-pixdata">icons/menu/dark/disconnect.png</file>
<file alias="menu/dark/disconnect.svg">icons/menu/dark/disconnect.svg</file>
<file alias="menu/dark/connect.png" preprocess="to-pixdata">icons/menu/dark/connect.png</file>
<file alias="menu/dark/connect.svg">icons/menu/dark/connect.svg</file>
<file alias="menu/dark/join.png" preprocess="to-pixdata">icons/menu/dark/join.png</file>
<file alias="menu/dark/join.svg">icons/menu/dark/join.svg</file>
<file alias="menu/dark/chanlist.png" preprocess="to-pixdata">icons/menu/dark/chanlist.png</file>
<file alias="menu/dark/chanlist.svg">icons/menu/dark/chanlist.svg</file>
<file alias="menu/dark/preferences.png" preprocess="to-pixdata">icons/menu/dark/preferences.png</file>
<file alias="menu/dark/preferences.svg">icons/menu/dark/preferences.svg</file>
<file alias="menu/dark/clear.png" preprocess="to-pixdata">icons/menu/dark/clear.png</file>
<file alias="menu/dark/clear.svg">icons/menu/dark/clear.svg</file>
<file alias="menu/dark/copy.png" preprocess="to-pixdata">icons/menu/dark/copy.png</file>
<file alias="menu/dark/copy.svg">icons/menu/dark/copy.svg</file>
<file alias="menu/dark/delete.png" preprocess="to-pixdata">icons/menu/dark/delete.png</file>
<file alias="menu/dark/delete.svg">icons/menu/dark/delete.svg</file>
<file alias="menu/dark/add.png" preprocess="to-pixdata">icons/menu/dark/add.png</file>
<file alias="menu/dark/add.svg">icons/menu/dark/add.svg</file>
<file alias="menu/dark/remove.png" preprocess="to-pixdata">icons/menu/dark/remove.png</file>
<file alias="menu/dark/remove.svg">icons/menu/dark/remove.svg</file>
<file alias="menu/dark/spell-check.png" preprocess="to-pixdata">icons/menu/dark/spell-check.png</file>
<file alias="menu/dark/spell-check.svg">icons/menu/dark/spell-check.svg</file>
<file alias="menu/dark/save.png" preprocess="to-pixdata">icons/menu/dark/save.png</file>
<file alias="menu/dark/save.svg">icons/menu/dark/save.svg</file>
<file alias="menu/dark/save-as.png" preprocess="to-pixdata">icons/menu/dark/save-as.png</file>
<file alias="menu/dark/save-as.svg">icons/menu/dark/save-as.svg</file>
<file alias="menu/dark/refresh.png" preprocess="to-pixdata">icons/menu/dark/refresh.png</file>
<file alias="menu/dark/refresh.svg">icons/menu/dark/refresh.svg</file>
<file alias="menu/dark/search.png" preprocess="to-pixdata">icons/menu/dark/search.png</file>
<file alias="menu/dark/search.svg">icons/menu/dark/search.svg</file>
<file alias="menu/dark/find.png" preprocess="to-pixdata">icons/menu/dark/find.png</file>
<file alias="menu/dark/find.svg">icons/menu/dark/find.svg</file>
<file alias="menu/dark/previous.png" preprocess="to-pixdata">icons/menu/dark/previous.png</file>
<file alias="menu/dark/previous.svg">icons/menu/dark/previous.svg</file>
<file alias="menu/dark/next.png" preprocess="to-pixdata">icons/menu/dark/next.png</file>
<file alias="menu/dark/next.svg">icons/menu/dark/next.svg</file>
<file alias="menu/dark/help.png" preprocess="to-pixdata">icons/menu/dark/help.png</file>
<file alias="menu/dark/help.svg">icons/menu/dark/help.svg</file>
<file alias="menu/dark/about.png" preprocess="to-pixdata">icons/menu/dark/about.png</file>
<file alias="menu/dark/about.svg">icons/menu/dark/about.svg</file>
<file alias="menu/dark/update.png" preprocess="to-pixdata">icons/menu/dark/update.png</file>
<file alias="menu/dark/update.svg">icons/menu/dark/update.svg</file>
<file alias="menu/dark/emoji.png" preprocess="to-pixdata">icons/menu/dark/emoji.png</file>
<file alias="menu/dark/emoji.svg">icons/menu/dark/emoji.svg</file>
</gresource>
</gresources>

View File

@@ -1,6 +1,6 @@
{
"app-id": "net.zoite.Zoitechat",
"branch": "stable",
"branch": "master",
"runtime": "org.gnome.Platform",
"runtime-version": "49",
"sdk": "org.gnome.Sdk",
@@ -11,6 +11,10 @@
"--share=network",
"--socket=pulseaudio",
"--filesystem=xdg-download",
"--filesystem=xdg-data/themes:ro",
"--filesystem=xdg-data/icons:ro",
"--filesystem=~/.themes:ro",
"--filesystem=~/.icons:ro",
"--talk-name=org.freedesktop.Notifications",
@@ -18,7 +22,7 @@
],
"add-extensions": {
"net.zoite.Zoitechat.Plugin": {
"version": "20.08",
"version": "49",
"directory": "extensions",
"add-ld-path": "lib",
"merge-dirs": "lib/zoitechat/plugins",
@@ -29,7 +33,7 @@
},
"modules": [
"shared-modules/dbus-glib/dbus-glib.json",
"shared-modules/lua5.3/lua-5.3.5.json",
"shared-modules/lua5.4/lua-5.4.json",
"shared-modules/libcanberra/libcanberra.json",
"shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json",
"python3-cffi.json",
@@ -40,7 +44,7 @@
{
"type": "git",
"url": "https://github.com/pavouk/lgi.git",
"commit": "95418635aa8151a516d43166227ea2b9d4c4403f"
"commit": "c9b8e4473c6421f2a215d8c06c0d94b86eb0b26a"
}
]
},
@@ -48,7 +52,6 @@
"name": "zoitechat",
"buildsystem": "meson",
"config-opts": [
"--buildtype=release",
"-Dgtk3=true",
"-Ddbus-service-use-appid=true",
"-Dwith-perl=false",
@@ -56,7 +59,7 @@
"-Dwith-lua=lua"
],
"build-options": {
"cflags": "-Wno-error=missing-include-dirs"
"cflags": "-Dgtk3=true -Wno-error=missing-include-dirs"
},
"cleanup": [
"/share/man"

Binary file not shown.

View File

@@ -1,8 +1,8 @@
name : zoitechat
version : 2.18.0-pre1
release : 1
version : 2.18.0
release : 2
source :
- https://github.com/ZoiteChat/zoitechat/archive/refs/tags/zoitechat-2.18.0-pre1.tar.gz : 77d787cf00abd533326440eab01ca077c21cdfd2eb56807fc21d6fb70f34ada6
- https://github.com/ZoiteChat/zoitechat/archive/e060d57baee1be22bee1f9c3b047be3fa71c6d35.tar.gz : ed315a0b1c46e798912fd830d3845427972857c43ccaa16284969c6f542add38
homepage : https://zoitechat.zoite.net/
license : GPL-2.0-only
component : network.irc
@@ -20,7 +20,7 @@ builddeps :
- pkgconfig(iso-codes)
- meson
- ninja
- pkgconfig
- pkgconf
- gcc
- gettext
setup : |

View File

@@ -4109,7 +4109,7 @@ const struct commands xc_cmds[] = {
{"ME", cmd_me, 0, 0, 1,
N_("ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)")},
{"MENU", cmd_menu, 0, 0, 1, "MENU [-eX] [-i<ICONFILE>] [-k<mod>,<key>] [-m] [-pX] [-r<X,group>] [-tX] {ADD|DEL} <path> [command] [unselect command]\n"
" See http://zoitechat.zoite.net/docs/en/latest/plugins.html#controlling-the-gui for more details."},
" See https://docs.zoitechat.zoite.net/en/latest/en/latest/plugins.html#controlling-the-gui for more details."},
{"MHOP", cmd_mhop, 1, 1, 1,
N_("MHOP, Mass hop's all users in the current channel (needs chanop)")},
{"MKICK", cmd_mkick, 1, 1, 1,

View File

@@ -229,6 +229,10 @@ zoitechat_remote_win32 (void)
{
sent = zoitechat_send_command_to_existing (hwnd, arg_command) || sent;
}
else if (arg_existing)
{
sent = zoitechat_send_command_to_existing (hwnd, "__WIN32_TASKBAR_TOGGLE__") || sent;
}
if (arg_urls)
{

View File

@@ -663,14 +663,13 @@ fe_set_title (session *sess)
static gboolean
mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata)
{
if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) &&
(event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) &&
prefs.hex_gui_tray_minimize && prefs.hex_gui_tray &&
gtkutil_tray_icon_supported (wid))
{
tray_toggle_visibility (TRUE);
gtk_window_deiconify (wid);
}
if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) &&
(event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) &&
prefs.hex_gui_tray_minimize && prefs.hex_gui_tray &&
gtkutil_tray_icon_supported (wid))
{
tray_toggle_visibility (TRUE);
}
prefs.hex_gui_win_state = 0;
if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
@@ -3893,7 +3892,17 @@ mg_win32_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data)
if (command)
{
handle_command (current_sess, command, FALSE);
if (strcmp (command, "__WIN32_TASKBAR_TOGGLE__") == 0)
{
if (gtk_widget_get_visible (current_sess->gui->window))
fe_ctrl_gui (current_sess, FE_GUI_ICONIFY, 0);
else
fe_ctrl_gui (current_sess, FE_GUI_SHOW, 0);
}
else
{
handle_command (current_sess, command, FALSE);
}
g_free (command);
return GDK_FILTER_REMOVE;
}

View File

@@ -1815,7 +1815,7 @@ menu_ctcpguiopen (void)
static void
menu_docs (GtkWidget *wid, gpointer none)
{
fe_open_url ("http://zoitechat.zoite.net/docs");
fe_open_url ("https://docs.zoitechat.zoite.net/en/latest/");
}
/*static void
@@ -2014,7 +2014,6 @@ menu_about (GtkWidget *wid, gpointer sess)
#define ICON_FIND "zc-menu-find"
#define ICON_HELP "zc-menu-help"
#define ICON_ABOUT "zc-menu-about"
#define ICON_UPDATE "zc-menu-update"
static struct mymenu mymenu[] = {
{N_("_ZoiteChat"), 0, 0, M_NEWMENU, MENU_ID_ZOITECHAT, 0, 1},
@@ -2110,7 +2109,6 @@ static struct mymenu mymenu[] = {
{N_("_Help"), 0, 0, M_NEWMENU, 0, 0, 1}, /* 74 */
{N_("_Contents"), menu_docs, ICON_HELP, M_MENUSTOCK, 0, 0, 1, GDK_KEY_F1},
{N_("_Update"), menu_docs, ICON_UPDATE, M_MENUSTOCK, 0, 0, 1},
{N_("_About"), menu_about, ICON_ABOUT, M_MENUSTOCK, 0, 0, 1},
{0, 0, 0, M_END, 0, 0, 0},