Thu, 07 Aug 2025 21:40:13 -0500
Add an avatar-for-display property to Purple.ContactInfo
Testing Done:
Ran the tests under valgrind and called in the turtles.
Reviewed at https://reviews.imfreedom.org/r/4086/
|
42232
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
1 | [](https://pidgin.im/) |
|
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
2 | |
| 42678 | 3 | # Purple and Pidgin |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
4 | |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
5 | libpurple is a library intended to be used by programmers seeking to write an |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
6 | IM client that connects to many IM networks. It comes with support for Bonjour, |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
7 | IRC, and XMPP, among others and there are many more networks supported via |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
8 | [third party plugins](https://pidgin.im/plugins/). |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
9 | |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
10 | Pidgin is a graphical IM client written in C, which uses the GTK toolkit. |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
11 | |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
12 | These programs are not endorsed by, nor affiliated with, any proprietary |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
13 | instant messaging company in any way. |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
14 | |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
15 | ## Contributors |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
16 | |
|
15998
294277e634fc
More gaim->whatever isms
Mark Doliner <markdoliner@pidgin.im>
parents:
15371
diff
changeset
|
17 | See AUTHORS and COPYRIGHT for the list of contributors. |
|
294277e634fc
More gaim->whatever isms
Mark Doliner <markdoliner@pidgin.im>
parents:
15371
diff
changeset
|
18 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
19 | ## Building |
| 0 | 20 | |
|
42904
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
21 | There are two main ways you can build Pidgin. If you are on Linux you may use |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
22 | [Flatpak](https://www.flatpak.org/) to get going quickly. The other option is |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
23 | to do a normal build. |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
24 | |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
25 | ### Flatpak |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
26 | |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
27 | Building with Flatpak is very straight forward. To get started you'll need to |
|
43138
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
28 | make sure that you have the `flatpak` and `flatpak-builder` packages installed. |
|
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
29 | You may find the official [Flatpak Setup page](https://flathub.org/setup) |
|
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
30 | useful here. |
|
42904
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
31 | |
|
43138
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
32 | Once Flatpak is setup, you can install the `flatpak-builder` flatpak to make |
|
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
33 | sure you have the most recent version. You can install it with the following |
|
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
34 | command: |
|
42904
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
35 | |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
36 | ``` |
|
43138
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
37 | flatpak install --user org.flatpak.Builder |
|
42904
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
38 | ``` |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
39 | |
|
43138
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
40 | Now that you have `flatpak` and `flatpak-builder` installed, you can build and |
|
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
41 | install Pidgin3 with this command: |
|
42904
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
42 | |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
43 | ``` |
|
43138
511e14c1caea
Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents:
42957
diff
changeset
|
44 | flatpak run org.flatpak.Builder --user --force-clean --sandbox --install-deps-from=flathub --repo=repo build-flatpak --install im.pidgin.Pidgin3.yml |
|
42904
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
45 | ``` |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
46 | |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
47 | Once that's successful, you can run it with `flatpak run im.pidgin.Pidgin3` |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
48 | |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
49 | ### Meson |
|
3b453638a532
Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
50 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
51 | Pidgin uses [Meson](https://mesonbuild.com) as its build system. There is a |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
52 | long list of dependencies that is not currently documented here due to |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
53 | differences in package names across operating systems. We plan to fix this |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
54 | soon, if you have any suggestions on how to handle this, please let us know. |
|
2608
af4b9ddb6365
[gaim-migrate @ 2621]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2536
diff
changeset
|
55 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
56 | You can quickly build Pidgin with the following commands: |
|
2862
962a6d4da169
[gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
57 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
58 | ``` |
|
41844
5181a1b3cf8d
Update the documentation to use meson setup instead of a bare meson
Gary Kramlich <grim@reaperworld.com>
parents:
40820
diff
changeset
|
59 | meson setup build |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
60 | cd build |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
61 | ninja |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
62 | ``` |
| 0 | 63 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
64 | There are quite a few options for the build that you can view by running |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
65 | `meson configure` in your build directory. You can specify the options when |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
66 | running meson like the following: |
| 0 | 67 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
68 | ``` |
|
41844
5181a1b3cf8d
Update the documentation to use meson setup instead of a bare meson
Gary Kramlich <grim@reaperworld.com>
parents:
40820
diff
changeset
|
69 | meson setup -Ddebug=true build |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
70 | ``` |
|
2862
962a6d4da169
[gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
71 | |
|
41844
5181a1b3cf8d
Update the documentation to use meson setup instead of a bare meson
Gary Kramlich <grim@reaperworld.com>
parents:
40820
diff
changeset
|
72 | If you have already run `meson setup` you can use `meson configure`: |
|
38769
404f31ce0254
Move most of the docs to just the readme and rewrite it as markdown
Gary Kramlich <grim@reaperworld.com>
parents:
38240
diff
changeset
|
73 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
74 | ``` |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
75 | cd build |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
76 | meson configure -Ddebug=true |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
77 | ``` |
|
2862
962a6d4da169
[gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
78 | |
|
42252
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
79 | Previously while developing in our code base you would need to install |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
80 | everything to be able to run or test anything. With meson this is no longer the |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
81 | case. You can compile via the steps above, and then run directly from the build |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
82 | directory with the following command to run Pidgin 3: |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
83 | |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
84 | ``` |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
85 | cd build |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
86 | meson devenv pidgin3 |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
87 | ``` |
| 0 | 88 | |
|
42252
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
89 | Obviously you're still free to install into your system directly, but then |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
90 | you'll most likely end up having orphaned files laying around that our build |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
91 | system doesn't know how to remove once they're removed from our code base. This |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
92 | is one of the primary reasons we recommend building and running from a devenv. |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
93 | Another benefit is that the devenv uses a configuration directory inside of |
|
d14dbdad20e8
Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42232
diff
changeset
|
94 | the build directory rather than in your home directory. |
|
1400
a12d24a021f6
[gaim-migrate @ 1410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1161
diff
changeset
|
95 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
96 | If you come across a bug, please report it at: |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
97 | [issues.imfreedom.org/issues/PIDGIN](https://issues.imfreedom.org/issues/PIDGIN) |
| 0 | 98 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
99 | ## Plugins |
|
2318
2e5108f70338
[gaim-migrate @ 2328]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2142
diff
changeset
|
100 | |
| 42678 | 101 | libpurple and Pidgin ship with a number of plugins, but you can find additional |
| 102 | third party plugins at [pidgin.im/plugins](https://pidgin.im/plugins). | |
|
38769
404f31ce0254
Move most of the docs to just the readme and rewrite it as markdown
Gary Kramlich <grim@reaperworld.com>
parents:
38240
diff
changeset
|
103 | |
|
404f31ce0254
Move most of the docs to just the readme and rewrite it as markdown
Gary Kramlich <grim@reaperworld.com>
parents:
38240
diff
changeset
|
104 | ## Developing |
|
2862
962a6d4da169
[gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
105 | |
|
40820
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
106 | You can find more information about Pidgin development in the |
|
b09ca0df70cb
Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents:
40201
diff
changeset
|
107 | [development section](https://pidgin.im/development/) of our website. |
|
42232
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
108 | |
|
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
109 | ## Sponsors |
|
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
110 | |
|
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
111 | Pidgin is supported by DigitalOcean who graciously sponsors all of our |
|
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
112 | infrastructure. |
|
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
113 | |
|
42565
c035e2eba80d
Fix several minor typos
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42252
diff
changeset
|
114 | [](https://www.digitalocean.com/?refcode=b69e5dddf595&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge) |
|
42232
998345e3b714
Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents:
41844
diff
changeset
|
115 |