qulogic/pidgin

f00a798a38a6
Parents 6aaf9a66f9d9
Children 55b30ce86f17
Stub out our new modern XMPP implementation

This doesn't do anything except show up in the protocol list.

Testing Done:
Verified the protocol showed up in the protocol list.

Reviewed at https://reviews.imfreedom.org/r/2856/
--- a/meson.build Thu Nov 30 21:40:52 2023 -0600
+++ b/meson.build Thu Nov 30 22:18:04 2023 -0600
@@ -288,9 +288,14 @@
endif
endif
+#######################################################################
+# Check for Xeme XMPP Library
+#######################################################################
+xeme = dependency('xeme')
+
dependency('shoes', required : false)
-DEFAULT_PRPLS = ['bonjour', 'demo', 'gg', 'ircv3', 'jabber']
+DEFAULT_PRPLS = ['bonjour', 'demo', 'gg', 'ircv3', 'jabber', 'xmpp']
dynamic_list = get_option('dynamic-prpls').split(',')
if dynamic_list == ['all']
@@ -300,10 +305,12 @@
foreach prpl : dynamic_list
if prpl == ''
# The list was empty; do nothing.
- elif prpl == 'bonjour' and not enable_avahi
+ elif prpl == 'bonjour' and not enable_avahi and not xeme.found()
# Do nothing.
elif prpl == 'gg' and not libgadu.found()
# Do nothing.
+ elif prpl == 'xmpp' and not xeme.found()
+ # Do nothing.
else
DYNAMIC_PRPLS += [prpl]
endif
@@ -314,7 +321,7 @@
DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg')
DYNAMIC_IRCV3 = DYNAMIC_PRPLS.contains('ircv3')
DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber')
-
+DYNAMIC_XMPP = DYNAMIC_PRPLS.contains('xmpp')
add_project_arguments(
'-DPURPLE_DISABLE_DEPRECATED',
@@ -462,6 +469,7 @@
subdir('purple-history')
subdir('finch')
subdir('pidgin')
+subdir('protocols')
subdir('doc')
subdir('po')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/meson.build Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,1 @@
+subdir('xmpp')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/meson.build Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,29 @@
+XMPP_SOURCES = [
+ 'purplexmppcore.c',
+ 'purplexmppprotocol.c',
+]
+
+XMPP_HEADERS = [
+ 'purplexmppcore.h',
+ 'purplexmppprotocol.h',
+]
+
+if not DYNAMIC_XMPP
+ subdir_done()
+endif
+
+xmpp_resources = gnome.compile_resources('xmppresource',
+ 'resources/xmpp.gresource.xml',
+ source_dir : 'resources',
+ c_name : 'purple_xmpp')
+XMPP_SOURCES += xmpp_resources
+
+xmpp_prpl = library('xmpp',
+ XMPP_SOURCES + XMPP_HEADERS,
+ c_args : ['-DPURPLE_XMPP_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-XMPP"'],
+ gnu_symbol_visibility : 'hidden',
+ dependencies : [libpurple_dep, glib, gio, hasl, xeme],
+ install : true,
+ install_dir : PURPLE_PLUGINDIR)
+
+devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/purplexmppcore.c Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,117 @@
+/*
+ * Purple - Internet Messaging Library
+ * Copyright (C) Pidgin Developers <devel@pidgin.im>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <glib.h>
+#include <glib/gi18n-lib.h>
+
+#include <gplugin.h>
+#include <gplugin-native.h>
+
+#include <purple.h>
+
+#include "purplexmppcore.h"
+
+#include "purplexmppprotocol.h"
+
+/******************************************************************************
+ * Globals
+ *****************************************************************************/
+static PurpleProtocol *xmpp_protocol = NULL;
+
+/******************************************************************************
+ * GPlugin Exports
+ *****************************************************************************/
+static GPluginPluginInfo *
+purple_xmpp_query(G_GNUC_UNUSED GError **error) {
+ PurplePluginInfoFlags flags = PURPLE_PLUGIN_INFO_FLAGS_INTERNAL |
+ PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD;
+ const gchar * const authors[] = {
+ "Pidgin Developers <devel@pidgin.im>",
+ NULL
+ };
+
+ return purple_plugin_info_new(
+ "id", "prpl-xmpp",
+ "name", "XMPP Protocol",
+ "authors", authors,
+ "version", DISPLAY_VERSION,
+ "category", N_("Protocol"),
+ "summary", N_("XMPP Protocol Plugin"),
+ "description", N_("Modern XMPP Support"),
+ "website", PURPLE_WEBSITE,
+ "abi-version", PURPLE_ABI_VERSION,
+ "flags", flags,
+ NULL);
+}
+
+static gboolean
+purple_xmpp_load(GPluginPlugin *plugin, GError **error) {
+ PurpleProtocolManager *manager = NULL;
+
+ if(PURPLE_IS_PROTOCOL(xmpp_protocol)) {
+ g_set_error_literal(error, PURPLE_XMPP_DOMAIN, 0,
+ "plugin was not cleaned up properly");
+
+ return FALSE;
+ }
+
+ purple_xmpp_protocol_register(GPLUGIN_NATIVE_PLUGIN(plugin));
+
+ xmpp_protocol = purple_xmpp_protocol_new();
+
+ manager = purple_protocol_manager_get_default();
+ if(PURPLE_IS_PROTOCOL_MANAGER(manager)) {
+ if(!purple_protocol_manager_register(manager, xmpp_protocol, error)) {
+ g_clear_object(&xmpp_protocol);
+
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+static gboolean
+purple_xmpp_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
+ G_GNUC_UNUSED gboolean shutdown,
+ GError **error)
+{
+ PurpleProtocolManager *manager = NULL;
+
+ if(!PURPLE_IS_PROTOCOL(xmpp_protocol)) {
+ g_set_error_literal(error, PURPLE_XMPP_DOMAIN, 0,
+ "plugin was not setup properly");
+
+ return FALSE;
+ }
+
+ manager = purple_protocol_manager_get_default();
+ if(PURPLE_IS_PROTOCOL_MANAGER(manager)) {
+ if(!purple_protocol_manager_unregister(manager, xmpp_protocol,
+ error))
+ {
+ return FALSE;
+ }
+ }
+
+ g_clear_object(&xmpp_protocol);
+
+ return TRUE;
+}
+
+GPLUGIN_NATIVE_PLUGIN_DECLARE(purple_xmpp)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/purplexmppcore.h Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,25 @@
+/*
+ * Purple - Internet Messaging Library
+ * Copyright (C) Pidgin Developers <devel@pidgin.im>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+#ifndef PURPLE_XMPP_CORE_H
+#define PURPLE_XMPP_CORE_H
+
+#include <glib.h>
+
+#define PURPLE_XMPP_DOMAIN (g_quark_from_static_string("xmpp-plugin"))
+
+#endif /* PURPLE_XMPP_CORE_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/purplexmppprotocol.c Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,102 @@
+/*
+ * Purple - Internet Messaging Library
+ * Copyright (C) Pidgin Developers <devel@pidgin.im>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <glib/gi18n-lib.h>
+
+#include "purplexmppprotocol.h"
+
+struct _PurpleXmppProtocol {
+ PurpleProtocol parent;
+};
+
+/******************************************************************************
+ * PurpleProtocol Implementation
+ *****************************************************************************/
+static GList *
+purple_xmpp_protocol_get_user_splits(G_GNUC_UNUSED PurpleProtocol *protocol) {
+ PurpleAccountUserSplit *split = NULL;
+ GList *splits = NULL;
+
+ split = purple_account_user_split_new(_("Server"), NULL, '@');
+ splits = g_list_append(splits, split);
+
+ return splits;
+}
+
+static GList *
+purple_xmpp_protocol_status_types(G_GNUC_UNUSED PurpleProtocol *protocol,
+ G_GNUC_UNUSED PurpleAccount *account)
+{
+ PurpleStatusType *type = NULL;
+ GList *types = NULL;
+
+ type = purple_status_type_new(PURPLE_STATUS_AVAILABLE, NULL, NULL, TRUE);
+ types = g_list_append(types, type);
+
+ type = purple_status_type_new(PURPLE_STATUS_OFFLINE, NULL, NULL, TRUE);
+ types = g_list_append(types, type);
+
+ return types;
+}
+
+/******************************************************************************
+ * GObject Implementation
+ *****************************************************************************/
+G_DEFINE_DYNAMIC_TYPE_EXTENDED(
+ PurpleXmppProtocol,
+ purple_xmpp_protocol,
+ PURPLE_TYPE_PROTOCOL,
+ 0,
+ )
+
+static void
+purple_xmpp_protocol_init(G_GNUC_UNUSED PurpleXmppProtocol *protocol) {
+}
+
+static void
+purple_xmpp_protocol_class_finalize(G_GNUC_UNUSED PurpleXmppProtocolClass *klass) {
+}
+
+static void
+purple_xmpp_protocol_class_init(PurpleXmppProtocolClass *klass) {
+ PurpleProtocolClass *protocol_class = PURPLE_PROTOCOL_CLASS(klass);
+
+ protocol_class->get_user_splits = purple_xmpp_protocol_get_user_splits;
+ protocol_class->status_types = purple_xmpp_protocol_status_types;
+}
+
+/******************************************************************************
+ * Internal API
+ *****************************************************************************/
+void
+purple_xmpp_protocol_register(GPluginNativePlugin *plugin) {
+ purple_xmpp_protocol_register_type(G_TYPE_MODULE(plugin));
+}
+
+PurpleProtocol *
+purple_xmpp_protocol_new(void) {
+ return g_object_new(
+ PURPLE_XMPP_TYPE_PROTOCOL,
+ "id", "prpl-xmpp",
+ "name", "XMPP",
+ "description", _("Modern Extensible Messaging and Presence Protocol."),
+ "icon-name", "im-xmpp",
+ "icon-resource-path", "/im/pidgin/libpurple/protocols/xmpp/icons",
+ "options", OPT_PROTO_PASSWORD_OPTIONAL,
+ NULL);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/purplexmppprotocol.h Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,50 @@
+/*
+ * Purple - Internet Messaging Library
+ * Copyright (C) Pidgin Developers <devel@pidgin.im>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+#ifndef PURPLE_XMPP_PROTOCOL_H
+#define PURPLE_XMPP_PROTOCOL_H
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include <gplugin.h>
+#include <gplugin-native.h>
+
+#include <purple.h>
+
+G_BEGIN_DECLS
+
+#define PURPLE_XMPP_TYPE_PROTOCOL (purple_xmpp_protocol_get_type())
+
+G_DECLARE_FINAL_TYPE(PurpleXmppProtocol, purple_xmpp_protocol, PURPLE_XMPP,
+ PROTOCOL, PurpleProtocol)
+
+/**
+ * purple_xmpp_protocol_register: (skip)
+ * @plugin: The GTypeModule
+ *
+ * Registers the dynamic type using @plugin.
+ *
+ * Since: 3.0.0
+ */
+G_GNUC_INTERNAL void purple_xmpp_protocol_register(GPluginNativePlugin *plugin);
+
+G_GNUC_INTERNAL PurpleProtocol *purple_xmpp_protocol_new(void);
+
+G_END_DECLS
+
+#endif /* PURPLE_XMPP_PROTOCOL_H */
Binary file protocols/xmpp/resources/icons/16x16/apps/im-xmpp.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/resources/icons/16x16/apps/scalable/im-xmpp.svg Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ id="svg3302"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/hbons/Desktop"
+ sodipodi:docname="jabber.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/hbons/Desktop/xmpp16.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ version="1.0">
+ <defs
+ id="defs3304">
+ <linearGradient
+ id="linearGradient2234"
+ inkscape:collect="always">
+ <stop
+ id="stop2236"
+ offset="0"
+ style="stop-color:#d9541e;stop-opacity:1" />
+ <stop
+ id="stop2238"
+ offset="1"
+ style="stop-color:#717311;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2218"
+ inkscape:collect="always">
+ <stop
+ id="stop2220"
+ offset="0"
+ style="stop-color:#033e6f;stop-opacity:1" />
+ <stop
+ id="stop2222"
+ offset="1"
+ style="stop-color:#0f97cb;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2209"
+ inkscape:collect="always">
+ <stop
+ id="stop2211"
+ offset="0"
+ style="stop-color:#439638;stop-opacity:1" />
+ <stop
+ id="stop2213"
+ offset="1"
+ style="stop-color:#05757c;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3334">
+ <stop
+ style="stop-color:#f0a530;stop-opacity:1;"
+ offset="0"
+ id="stop3336" />
+ <stop
+ style="stop-color:#f0a530;stop-opacity:0;"
+ offset="1"
+ id="stop3338" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ x="-0.49491513"
+ width="1.9898303"
+ y="-1.0582331"
+ height="3.1164663"
+ id="filter3871">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="5.4785069"
+ id="feGaussianBlur3873" />
+ </filter>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2218"
+ id="linearGradient2244"
+ gradientUnits="userSpaceOnUse"
+ x1="5.0133924"
+ y1="12.455358"
+ x2="15.638392"
+ y2="30.098215"
+ gradientTransform="matrix(0.3406067,0,0,0.3698986,2.395e-3,-0.5863818)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3334"
+ id="linearGradient2252"
+ gradientUnits="userSpaceOnUse"
+ x1="5.0133924"
+ y1="12.455358"
+ x2="15.638392"
+ y2="30.098215"
+ gradientTransform="matrix(-0.3406067,0,0,0.3698986,15.999925,-0.5863818)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2209"
+ id="linearGradient2216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.3406067,0,0,0.3754611,0.1185465,-0.6525396)"
+ x1="18.734463"
+ y1="21.519651"
+ x2="15.642859"
+ y2="23.876795" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2234"
+ id="linearGradient2231"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.3406067,0,0,0.3698986,2.025084e-2,-0.6190852)"
+ x1="30.893675"
+ y1="21.130915"
+ x2="37.48666"
+ y2="23.216526" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="28"
+ inkscape:cx="21.256159"
+ inkscape:cy="8.9295837"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1434"
+ inkscape:window-height="823"
+ inkscape:window-x="3"
+ inkscape:window-y="43"
+ width="16px"
+ height="16px" />
+ <metadata
+ id="metadata3307">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="fill:#0a6fa2;fill-opacity:1;stroke:#02396a;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 15.5,2.5000001 L 10.454106,2.5327029 C 10.454106,4.6682012 8.4691474,12.778185 3.1541859,14.341671 C 9.641668,14.341671 15.5,7.1171759 15.5,2.5000001 z "
+ id="path2228"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient2231);stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 15.5,2.5062012 L 9.5791052,2.5000001 C 9.5791052,8.214349 8.5048611,12.745482 3.1899,14.308968 C 9.6773816,14.308968 15.5,7.123377 15.5,2.5062012 z "
+ id="path3388"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.29670332;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3871)"
+ id="path3425"
+ sodipodi:cx="22.273863"
+ sodipodi:cy="36.736797"
+ sodipodi:rx="13.283506"
+ sodipodi:ry="6.2124381"
+ d="M 35.557369 36.736797 A 13.283506 6.2124381 0 1 1 8.9903564,36.736797 A 13.283506 6.2124381 0 1 1 35.557369 36.736797 z"
+ transform="matrix(0.3743374,0,0,0.1458475,-0.1571981,8.780618)" />
+ <path
+ style="fill:url(#linearGradient2252);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 14.997635,3.0728311 C 14.887455,4.1217876 13.42731,7.8391015 11.614614,10.013526 C 9.8225375,12.167186 7.1757566,13.602216 4.4938048,14.013055 C 6.5159292,13.016029 7.9668293,11.287886 8.900404,9.5049152 C 9.4616251,8.4330773 9.8347045,7.3512888 10.049952,6.3954548 C 10.244853,5.5299708 10.748164,3.6076606 10.677327,3.0472855 L 14.997635,3.0728311 z "
+ id="path3382"
+ sodipodi:nodetypes="cscsscc" />
+ <path
+ style="fill:#e96d1f;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 11.998273,3.0857646 L 9.853875,3.0746296 C 10.052724,5.704186 9.8431306,10.840842 5,13.99819 C 10.262132,13.127062 12.135446,6.14782 11.998273,3.0857646 z "
+ id="path3384"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 14.328472,3.5879657 C 13.402352,7.5116178 11.050991,9.896006 7.9932059,11.841578 C 9.4009194,9.3771388 10.613796,8.3204791 10.426187,3.617359 L 14.328472,3.5879657 z "
+ id="path3390"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#0a6fa2;fill-opacity:1;stroke:#02396a;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 0.50232,2.5000001 L 5.548214,2.5327029 C 5.548214,4.6682012 7.5331725,12.778185 12.848134,14.341671 C 6.3606519,14.341671 0.50232,7.1171759 0.50232,2.5000001 z "
+ id="path2230"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:url(#linearGradient2244);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.0046854,3.0728311 C 1.025579,4.1606915 2.5750102,7.8391015 4.3877063,10.013526 C 6.1797822,12.167186 8.8265635,13.602216 11.508516,14.013055 C 9.4863905,13.01603 8.0354905,11.287886 7.1019159,9.5049152 C 6.5406948,8.4330773 6.1676154,7.3512888 5.9523683,6.3954548 C 5.7574673,5.5299709 5.2541559,3.6076606 5.3249925,3.0472854 L 1.0046854,3.0728311 z "
+ id="path2236"
+ sodipodi:nodetypes="cscsscc" />
+ <path
+ style="fill:#a0ce67;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 3.7118046,3.055775 L 6.0094407,3.1813771 C 5.9820727,4.0797021 5.9514165,10.838935 12,13.996284 C 5.4281278,13.125156 3.6296973,5.1178307 3.7118046,3.055775 z "
+ id="rect3326"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.6738483,3.5879662 C 2.5999681,7.5116186 4.9513289,9.8960072 8.0091145,11.841579 C 6.6014005,9.3771399 5.3885239,8.3204801 5.5761331,3.6173594 L 1.6738483,3.5879662 z "
+ id="path2240"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient2216);stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 0.63632979,2.5000002 L 6.7242835,2.6127543 C 6.3286085,4.7177198 7.6493245,12.913003 12.964286,14.500001 C 6.4768045,14.500001 0.63632979,7.1866089 0.63632979,2.5000002 z "
+ id="path3352"
+ sodipodi:nodetypes="cccc" />
+ </g>
+</svg>
Binary file protocols/xmpp/resources/icons/22x22/apps/im-xmpp.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/resources/icons/22x22/apps/scalable/im-xmpp.svg Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="24"
+ height="24"
+ id="svg3302"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/hbons/Desktop"
+ sodipodi:docname="jabber.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/hbons/Desktop/xmpp22.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ version="1.0">
+ <defs
+ id="defs3304">
+ <linearGradient
+ id="linearGradient2222"
+ inkscape:collect="always">
+ <stop
+ id="stop2224"
+ offset="0"
+ style="stop-color:#429538;stop-opacity:1" />
+ <stop
+ id="stop2226"
+ offset="1"
+ style="stop-color:#033e6f;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214"
+ inkscape:collect="always">
+ <stop
+ id="stop2216"
+ offset="0"
+ style="stop-color:#033e6f;stop-opacity:1" />
+ <stop
+ id="stop2218"
+ offset="1"
+ style="stop-color:#14a9de;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3417">
+ <stop
+ style="stop-color:#df5219;stop-opacity:1"
+ offset="0"
+ id="stop3419" />
+ <stop
+ style="stop-color:#034072;stop-opacity:1"
+ offset="1"
+ id="stop3421" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3334">
+ <stop
+ style="stop-color:#034072;stop-opacity:1"
+ offset="0"
+ id="stop3336" />
+ <stop
+ style="stop-color:#109cd3;stop-opacity:1"
+ offset="1"
+ id="stop3338" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3417"
+ id="linearGradient3423"
+ x1="31.736355"
+ y1="20.841261"
+ x2="35.292381"
+ y2="22.255474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.4696897,0,0,0.4693264,1.1291183,0.5593256)" />
+ <filter
+ inkscape:collect="always"
+ x="-0.49491513"
+ width="1.9898303"
+ y="-1.0582331"
+ height="3.1164663"
+ id="filter3871">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="5.4785069"
+ id="feGaussianBlur3873" />
+ </filter>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222"
+ id="linearGradient2206"
+ gradientUnits="userSpaceOnUse"
+ x1="18.734463"
+ y1="21.519651"
+ x2="15.642859"
+ y2="23.876795"
+ gradientTransform="matrix(0.4696897,0,0,0.4693264,0.7859883,0.5593256)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3334"
+ id="linearGradient2427"
+ gradientUnits="userSpaceOnUse"
+ x1="5.0133924"
+ y1="12.455358"
+ x2="15.638392"
+ y2="30.098215"
+ gradientTransform="matrix(-0.4731084,0,0,0.4693403,23.025142,0.6736289)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2214"
+ id="linearGradient2429"
+ gradientUnits="userSpaceOnUse"
+ x1="5.0133924"
+ y1="12.455358"
+ x2="15.638392"
+ y2="30.098215"
+ gradientTransform="matrix(0.4731084,0,0,0.4693403,0.7795066,0.6736289)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="14"
+ inkscape:cx="11.10389"
+ inkscape:cy="13.373032"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1434"
+ inkscape:window-height="823"
+ inkscape:window-x="3"
+ inkscape:window-y="43"
+ inkscape:snap-bbox="true"
+ inkscape:snap-nodes="false"
+ objecttolerance="9"
+ gridtolerance="12">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2421"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3307">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.29670332;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3871)"
+ id="path3425"
+ sodipodi:cx="22.273863"
+ sodipodi:cy="36.736797"
+ sodipodi:rx="13.283506"
+ sodipodi:ry="6.2124381"
+ d="M 35.557369,36.736797 A 13.283506,6.2124381 0 1 1 8.9903564,36.736797 A 13.283506,6.2124381 0 1 1 35.557369,36.736797 z"
+ transform="matrix(0.5199608,0,0,0.1850564,0.5826339,12.558808)" />
+ <path
+ style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 22.499999,4.5000001 L 14.975448,6.4912682 C 15.521075,9.1224749 12.829223,17.516252 5.5000001,19.499999 C 14.446104,19.499999 22.499999,10.35826 22.499999,4.5000001 z"
+ id="path3380"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:url(#linearGradient2427);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 22.005002,4.971026 C 21.851961,7.7335015 19.92301,11.265451 16.933871,14.123162 C 14.261115,16.678402 10.768225,18.676617 7.0429489,19.197904 C 9.8517135,17.932843 11.867038,15.740114 13.163789,13.477819 C 13.943334,12.117834 14.259517,10.820984 14.558499,9.6081884 C 14.82922,8.5100321 14.983993,6.7178749 14.8856,6.0068516 L 22.005002,4.971026 z"
+ id="path3382"
+ sodipodi:nodetypes="cscsscc" />
+ <path
+ style="fill:#abbb25;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 18.868549,5.7525618 L 15.016096,6.7750535 C 15.049889,7.9148799 14.627471,15.172893 7.1591181,19.179048 C 15.27359,18.073731 18.969928,8.3689705 18.868549,5.7525618 z"
+ id="path3384"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient3423);stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 22.499999,4.5000003 L 14.317055,5.5583642 C 14.862682,8.1895711 12.829223,17.516254 5.4999998,19.500001 C 14.446104,19.500001 22.499999,10.358261 22.499999,4.5000003 z"
+ id="path3388"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#df5219;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 19.203087,5.4052024 L 15.293888,5.9416777 C 15.327681,7.0815041 14.627471,15.172893 7.1591181,19.179048 C 15.27359,18.073731 19.304466,8.0216111 19.203087,5.4052024 z"
+ id="path3386"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#e96d1f;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 17.202112,5.6933762 L 14.951055,6.0174391 C 14.984849,7.1572655 14.688699,15.172893 7.2203467,19.179048 C 15.706546,17.068001 18.393936,6.9484519 17.202112,5.6933762 z"
+ id="path2228"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 21.5,5.5000001 C 21.259562,7.8476013 19.283758,10.890908 16.721197,13.322762 C 14.636171,15.301438 12.341463,16.82458 9.4999988,17.5 C 11.488026,16.319811 12.990581,14.640432 13.991693,12.906761 C 14.701922,11.676826 14.851876,10.636782 15.125188,9.5362725 C 15.351957,8.6231762 15.486367,7.0468868 15.426863,6.3988159 L 21.5,5.5000001 z"
+ id="path3390"
+ sodipodi:nodetypes="cscsscc" />
+ <path
+ style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.5,4.5000001 L 9.0245518,6.4912682 C 8.4789251,9.1224749 11.170778,17.516252 18.499999,19.499999 C 9.5538954,19.499999 1.5,10.35826 1.5,4.5000001 z"
+ id="rect3321"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:url(#linearGradient2429);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.7996466,4.971026 C 1.9526876,7.7335015 3.8816385,11.265451 6.8707772,14.123162 C 9.5435341,16.678402 13.036424,18.676617 16.7617,19.197904 C 13.952935,17.932843 11.937611,15.740114 10.64086,13.477819 C 9.8613144,12.117834 9.3431008,10.745223 9.044119,9.532427 C 8.7733983,8.4342707 8.9721786,6.8188901 9.0705719,6.1078667 L 1.7996466,4.971026 z"
+ id="path3332"
+ sodipodi:nodetypes="cscsscc" />
+ <path
+ style="fill:#08aec5;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 4.936101,5.7525618 L 8.7885541,6.7750535 C 8.7547609,7.9148799 9.1771789,15.172893 16.645531,19.179048 C 8.5310592,18.073731 4.8347205,8.3689705 4.936101,5.7525618 z"
+ id="rect3326"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#429538;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 4.6746077,5.4242622 L 8.9905846,5.9416777 C 8.9567914,7.0815041 9.1771789,15.172893 16.645531,19.179048 C 8.5310592,18.073731 4.4776451,8.3725446 4.6746077,5.4242622 z"
+ id="path3342"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#a0ce67;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 6.8152887,5.6933762 L 8.9905846,6.0679467 C 8.9567914,7.2077731 9.1771789,15.172893 16.645531,19.179048 C 8.1593314,17.068001 5.6948939,7.1270234 6.8152887,5.6933762 z"
+ id="path2220"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient2206);stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.5000001,4.5000003 L 9.5252953,5.6445861 C 8.9796685,8.275793 11.170777,17.516254 18.5,19.500001 C 9.5538955,19.500001 1.5000001,10.358261 1.5000001,4.5000003 z"
+ id="path3352"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 2.6528401,5.6995163 C 3.1155917,8.0886161 4.8685432,11.14436 7.4405852,13.603314 C 9.0643917,15.155725 10.886287,16.515122 12.976833,17.423211 C 11.790214,16.318736 11.187637,15.199935 10.457851,13.926759 C 9.6473369,12.512747 9.1262733,11.255179 8.8124406,9.9821414 C 8.5924509,9.0897701 8.4306975,7.2046934 8.4453019,6.4949387 L 2.6528401,5.6995163 z"
+ id="path3366"
+ sodipodi:nodetypes="cscsscc" />
+ </g>
+</svg>
Binary file protocols/xmpp/resources/icons/48x48/apps/im-xmpp.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/resources/icons/scalable/apps/im-xmpp.svg Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3302"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/hbons/Desktop"
+ sodipodi:docname="jabber.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/hbons/Desktop/xmpp.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3304">
+ <linearGradient
+ id="linearGradient2222"
+ inkscape:collect="always">
+ <stop
+ id="stop2224"
+ offset="0"
+ style="stop-color:#429538;stop-opacity:1" />
+ <stop
+ id="stop2226"
+ offset="1"
+ style="stop-color:#033e6f;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214"
+ inkscape:collect="always">
+ <stop
+ id="stop2216"
+ offset="0"
+ style="stop-color:#033e6f;stop-opacity:1" />
+ <stop
+ id="stop2218"
+ offset="1"
+ style="stop-color:#14a9de;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3417">
+ <stop
+ style="stop-color:#df5219;stop-opacity:1"
+ offset="0"
+ id="stop3419" />
+ <stop
+ style="stop-color:#034072;stop-opacity:1"
+ offset="1"
+ id="stop3421" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3334">
+ <stop
+ style="stop-color:#034072;stop-opacity:1"
+ offset="0"
+ id="stop3336" />
+ <stop
+ style="stop-color:#109cd3;stop-opacity:1"
+ offset="1"
+ id="stop3338" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2214"
+ id="linearGradient3340"
+ x1="5.0133924"
+ y1="12.455358"
+ x2="15.638392"
+ y2="30.098215"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3334"
+ id="linearGradient3392"
+ gradientUnits="userSpaceOnUse"
+ x1="5.0133924"
+ y1="12.455358"
+ x2="15.638392"
+ y2="30.098215" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3417"
+ id="linearGradient3423"
+ x1="31.736355"
+ y1="20.841261"
+ x2="35.292381"
+ y2="22.255474"
+ gradientUnits="userSpaceOnUse" />
+ <filter
+ inkscape:collect="always"
+ x="-0.49491513"
+ width="1.9898303"
+ y="-1.0582332"
+ height="3.1164664"
+ id="filter3871">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="5.4785069"
+ id="feGaussianBlur3873" />
+ </filter>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222"
+ id="linearGradient2206"
+ gradientUnits="userSpaceOnUse"
+ x1="18.734463"
+ y1="21.519651"
+ x2="15.642859"
+ y2="23.876795" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4.9497475"
+ inkscape:cx="81.961371"
+ inkscape:cy="4.928944"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1434"
+ inkscape:window-height="823"
+ inkscape:window-x="3"
+ inkscape:window-y="43" />
+ <metadata
+ id="metadata3307">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.2967033;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3871)"
+ id="path3425"
+ sodipodi:cx="22.273863"
+ sodipodi:cy="36.736797"
+ sodipodi:rx="13.283506"
+ sodipodi:ry="6.2124381"
+ d="M 35.557369 36.736797 A 13.283506 6.2124381 0 1 1 8.9903564,36.736797 A 13.283506 6.2124381 0 1 1 35.557369 36.736797 z"
+ transform="matrix(1.0990312,0,0,0.3942904,-0.4161261,25.323157)" />
+ <path
+ style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 45.5,8.3964466 L 29.479739,12.639268 C 30.641414,18.245615 24.910285,36.130347 9.305892,40.357143 C 28.352732,40.357143 45.5,20.878719 45.5,8.3964466 z "
+ id="path3380"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-0.56227452"
+ inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+ style="fill:url(#linearGradient3392);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ id="path3382"
+ d="M 2.15625,9.15625 C 2.4797298,15.042119 6.5569158,22.567467 12.875,28.65625 C 18.524354,34.100573 25.907207,38.35807 33.78125,39.46875 C 27.844419,36.773348 23.584667,32.10141 20.84375,27.28125 C 19.19604,24.383597 18.100702,21.459043 17.46875,18.875 C 16.896533,16.535213 16.729528,14.546192 16.9375,13.03125 L 2.15625,9.15625 z "
+ transform="matrix(-1,0,0,1,47.020178,0)" />
+ <path
+ style="fill:#abbb25;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 38.234464,10.821428 L 30.091607,13 C 30.163035,15.428571 29.270178,30.892857 13.484463,39.428571 C 30.635869,37.073525 38.448749,16.396079 38.234464,10.821428 z "
+ id="path3384"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient3423);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 45.5,8.3964466 L 29.479739,12.639268 C 30.641414,18.245615 24.910285,36.130347 9.305892,40.357143 C 28.352732,40.357143 45.5,20.878719 45.5,8.3964466 z "
+ id="path3388"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#df5219;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 38.941571,10.619397 L 30.091607,13 C 30.163035,15.428571 29.270178,30.892857 13.484463,39.428571 C 30.635869,37.073525 39.155856,16.194048 38.941571,10.619397 z "
+ id="path3386"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#e96d1f;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 34.3385,11.986693 L 30.221025,13 C 30.292453,15.428571 29.399596,30.892857 13.613881,39.428571 C 31.551001,34.930668 35.951771,13.823779 34.3385,11.986693 z "
+ id="path2228"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-1.0305283"
+ inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ id="path3390"
+ d="M 2.78125,9.8125 C 3.3466531,15.418621 7.1614784,22.50518 13.1875,28.3125 C 18.090567,33.03762 24.31812,36.855835 31,38.46875 C 26.325029,35.650434 22.791678,31.640043 20.4375,27.5 C 18.767353,24.562889 17.642711,21.596789 17,18.96875 C 16.46674,16.788257 16.328823,14.953857 16.46875,13.40625 L 2.78125,9.8125 z "
+ transform="matrix(-1,0,0,1,47.020178,0)" />
+ <path
+ style="fill:#da6812;fill-opacity:1;stroke:#a24900;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.5201775,8.3964466 L 17.540439,12.639268 C 16.378764,18.245615 22.109893,36.130347 37.714286,40.357143 C 18.667446,40.357143 1.5201775,20.878719 1.5201775,8.3964466 z "
+ id="rect3321"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-0.56227452"
+ inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+ style="fill:url(#linearGradient3340);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ id="path3332"
+ d="M 2.15625,9.15625 C 2.4797298,15.042119 6.5569158,22.567467 12.875,28.65625 C 18.524354,34.100573 25.907207,38.35807 33.78125,39.46875 C 27.844419,36.773348 23.584667,32.10141 20.84375,27.28125 C 19.19604,24.383597 18.100702,21.459043 17.46875,18.875 C 16.896533,16.535213 16.729528,14.546192 16.9375,13.03125 L 2.15625,9.15625 z " />
+ <path
+ style="fill:#08aec5;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 8.7857143,10.821428 L 16.928571,13 C 16.857143,15.428571 17.75,30.892857 33.535715,39.428571 C 16.384309,37.073525 8.5714286,16.396079 8.7857143,10.821428 z "
+ id="rect3326"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#429538;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 8.1796228,10.821428 L 16.928571,13 C 16.857143,15.428571 17.75,30.892857 33.535715,39.428571 C 16.384309,37.073525 7.7633066,17.103186 8.1796228,10.821428 z "
+ id="path3342"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:#a0ce67;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 12.811096,11.986693 L 16.928571,13 C 16.857143,15.428571 17.75,30.892857 33.535715,39.428571 C 15.598595,34.930668 11.197825,13.823779 12.811096,11.986693 z "
+ id="path2220"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:url(#linearGradient2206);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 1.5201775,8.3964466 L 17.540439,12.639268 C 16.378764,18.245615 22.109893,36.130347 37.714286,40.357143 C 18.667446,40.357143 1.5201775,20.878719 1.5201775,8.3964466 z "
+ id="path3352"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-1.0305283"
+ inkscape:original="M 1.53125 8.40625 C 1.53125 20.888522 18.671909 40.34375 37.71875 40.34375 C 22.114357 36.116954 16.369574 18.231347 17.53125 12.625 L 1.53125 8.40625 z "
+ style="opacity:0.4;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ id="path3366"
+ d="M 2.78125,9.8125 C 3.3466531,15.418621 7.1614784,22.50518 13.1875,28.3125 C 18.090567,33.03762 24.31812,36.855835 31,38.46875 C 26.325029,35.650434 22.791678,31.640043 20.4375,27.5 C 18.767353,24.562889 17.642711,21.596789 17,18.96875 C 16.46674,16.788257 16.328823,14.953857 16.46875,13.40625 L 2.78125,9.8125 z " />
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/protocols/xmpp/resources/xmpp.gresource.xml Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/im/pidgin/libpurple/protocols/xmpp">
+ <file>icons/16x16/apps/im-xmpp.png</file>
+ <file compressed="true" preprocess="xml-stripblanks">icons/16x16/apps/scalable/im-xmpp.svg</file>
+ <file>icons/22x22/apps/im-xmpp.png</file>
+ <file compressed="true" preprocess="xml-stripblanks">icons/22x22/apps/scalable/im-xmpp.svg</file>
+ <file>icons/48x48/apps/im-xmpp.png</file>
+ <file compressed="true" preprocess="xml-stripblanks">icons/scalable/apps/im-xmpp.svg</file>
+ </gresource>
+</gresources>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/subprojects/xeme.wrap Thu Nov 30 22:18:04 2023 -0600
@@ -0,0 +1,4 @@
+[wrap-hg]
+directory = xeme
+url = https://keep.imfreedom.org/xeme/xeme/
+revision = 29f9d1d3dc73