pidgin/pidgin

Parents 35d53c7ca722
Children e33e939378cb
Use the id property of PurpleUiInfo as the directory name to use with XDG_CONFIG_HOME

Testing Done:
Ran both finch and pidgin.
Verified that they created `build/config/finch3` and `build/config/pidgin3` when run from a devenv environment.
Also verified that `gtk-gaim.ini` in `build/config/pidgin3` was no named `build/config/pidgin3/pidgin3.ini`.

Reviewed at https://reviews.imfreedom.org/r/1824/
--- a/ChangeLog.API Wed Sep 21 03:21:41 2022 -0500
+++ b/ChangeLog.API Wed Sep 21 03:22:51 2022 -0500
@@ -1121,6 +1121,7 @@
* pidgin_tooltip_setup_for_widget
* pidgin_tooltip_show
* PidginThemeFont
+ * PIDGIN_UI
* PidginUnseenState enum and all values.
* PidginUtilMiniDialogCallback; use PidginMiniDialogCallback
instead
--- a/finch/libfinch.c Wed Sep 21 03:21:41 2022 -0500
+++ b/finch/libfinch.c Wed Sep 21 03:22:51 2022 -0500
@@ -182,7 +182,7 @@
purple_core_set_ui_ops(gnt_core_get_ui_ops());
purple_idle_set_ui(finch_idle_new());
- ui_info = purple_ui_info_new("finch", _("Finch"), VERSION,
+ ui_info = purple_ui_info_new("finch3", _("Finch"), VERSION,
"https://pidgin.im",
"https://developer.pidgin.im", "console");
--- a/libpurple/purplepath.c Wed Sep 21 03:21:41 2022 -0500
+++ b/libpurple/purplepath.c Wed Sep 21 03:22:51 2022 -0500
@@ -18,6 +18,9 @@
#include <libpurple/purplepath.h>
+#include <libpurple/core.h>
+#include <libpurple/purpleuiinfo.h>
+
#ifdef _WIN32
# include "win32/win32dep.h"
#endif
@@ -40,7 +43,15 @@
{
if (!*xdg_dir) {
if (!custom_user_dir) {
- *xdg_dir = g_build_filename(xdg_base_dir, "purple", NULL);
+ PurpleUiInfo *info = purple_core_get_ui_info();
+ const gchar *id = NULL;
+
+ id = purple_ui_info_get_id(info);
+ if(id == NULL) {
+ id = "purple";
+ }
+
+ *xdg_dir = g_build_filename(xdg_base_dir, id, NULL);
} else {
*xdg_dir = g_build_filename(custom_user_dir, xdg_type, NULL);
}
@@ -79,12 +90,7 @@
void
purple_util_set_user_dir(const gchar *dir) {
g_free(custom_user_dir);
-
- if(dir != NULL && *dir) {
- custom_user_dir = g_strdup(dir);
- } else {
- custom_user_dir = NULL;
- }
+ custom_user_dir = g_strdup(dir);
g_clear_pointer(&user_dir, g_free);
g_clear_pointer(&cache_dir, g_free);
--- a/pidgin/pidginapplication.c Wed Sep 21 03:21:41 2022 -0500
+++ b/pidgin/pidginapplication.c Wed Sep 21 03:22:51 2022 -0500
@@ -799,7 +799,7 @@
purple_core_set_ui_ops(pidgin_core_get_ui_ops());
- ui_info = purple_ui_info_new(PIDGIN_UI, PIDGIN_NAME, VERSION,
+ ui_info = purple_ui_info_new("pidgin3", PIDGIN_NAME, VERSION,
"https://pidgin.im",
"https://developer.pidgin.im", "pc");
--- a/pidgin/pidgincore.h Wed Sep 21 03:21:41 2022 -0500
+++ b/pidgin/pidgincore.h Wed Sep 21 03:22:51 2022 -0500
@@ -34,14 +34,6 @@
# include "win32/gtkwin32dep.h"
#endif
-/**
- * PIDGIN_UI:
- *
- * Our UI's identifier.
- */
-/* leave this as gtk-gaim until we have a decent way to migrate UI-prefs */
-#define PIDGIN_UI "gtk-gaim"
-
/* change this only when we have a sane upgrade path for old prefs */
#define PIDGIN_PREFS_ROOT "/pidgin"