Namespace

Pidgin – 3.0

Pidgin Universal Chat Client

Version3.0.0-devel
AuthorsPidgin Developers
LicenseGPL-2.0-or-later
Websitehttps://keep.imfreedom.org/pidgin/pidgin/
Sourcehttps://keep.imfreedom.org/pidgin/pidgin/

Build

C headerspidgin.h
pkg-config filespidgin-3

Dependencies

GLib—2.0 General-purpose, portable utility library.
Browse documentation
GObject—2.0 The base type system library
Browse documentation
Gtk—3.0 The GTK toolkit
Browse documentation
GPlugin—1.0 GPlugin Plugin Library
Browse documentation
Purple—3.0 Purple Universal Chat Library
Browse documentation
Talkatu—0.0 Talkatu Gtk3 Chat Widgets
Browse documentation

Classes

AboutDialog
AccountActionsMenu

A GtkMenu that provides an interface for users to edit accounts and activate the account’s actions.

AccountChooser
AccountFilterConnected

PidginAccountFilterConnected is a GtkTreeModelFilter that will only show accounts that are connected. It’s intended to be used with PidginAccountStore.

AccountFilterProtocol

PidginAccountFilterProtocol is a GtkTreeModelFilter that will only show accounts for the given protocol. It’s intended to be used with PidginAccountStore.

AccountManager

A singleton dialog for managing accounts.

AccountsMenu

PidginAccountsMenu is a GtkMenu that provides an interface to users to open the account manager as well as activate account actions.

AccountStore

PidginAccountStore is a GtkListStore that automatically keeps track of what accounts are currently available in libpurple. It’s intended to be used any time that you need to present an account selection to the user.

ActionGroup

A GSimpleActionGroup containing most of our actions. A lot of this will need to be added to the GtkApplication, but I didn’t want to do that part quite yet, so I created this instead.

Application

PidginApplication is a subclass of GtkApplication that holds all of the application wide actions.

Attachment
Avatar

PidginAvatar is a widget that displays avatars for contacts or conversations.

AwayPrefs

PidginAwayPrefs is a widget for the preferences window to let users choose and configure their away and idle settings.

BuddyList

Like, everything you need to know about the gtk buddy list.

CellRendererExpander

A GtkCellRenderer that can hide its children.

CloseButton

PidginCloseButton is a transitional widget as we slowly migrate the conversation window to glade.

ContactList

PidginContactList is a transitional widget as we slowly migrate it into the conversation window to make a single window application.

ConversationPrefs

PidginConversationPrefs is a widget for the preferences window to let users choose and configure their conversation settings.

ConversationWindow

PidginConversationWindow is a widget that contains PidginConversations.

CredentialPrefs

PidginCredentialPrefs is a widget for the preferences window to let users choose and configure their credential provider.

CredentialProviderRow

PidginCredentialProviderRow is a widget for the preferences window to let users configure their credential provider.

DebugWindow
Dialog

PidginDialog is a transitional widget as we slowly migrate everything to glade.

Idle

An implementation of PurpleIdleUi for Pidgin.

InactiveAccountsMenu
InfoPane

PidginInfoPane is a widget that displays information above PidginConversations.

InviteDialog

PidginInviteDialog is a simple GtkDialog that presents the user with an interface to invite another user to a conversation. Name completion is automatically setup as well.

Message

PidginMessage maps a PurpleMessage to a TalkatuMessage.

MiniDialog

A widget resembling a diminutive dialog box, designed to be embedded in the PidginBuddyList. Mini-dialogs have titles, optional descriptions, and a row of buttons at the bottom; above the buttons is a GtkBox into which you can pack any random widgets you want to add to the dialog. When any of the dialog’s buttons is clicked, the dialog will be destroyed.

NetworkPrefs

PidginNetworkPrefs is a widget for the preferences window to let users choose and configure their network settings.

PluginInfo

A GPluginPluginInfo subclass that adds some Pidgin specific properties.

PluginsDialog

A dialog that allows the user to configure their plugins.

PluginsMenu

PidginPluginsMenu is a GtkMenu that provides an interface to users to open the plugin manager as well as activate plugin actions.

PrefsWindow
PresenceIcon

A GtkImage subclass that will automatically update when the given presence changes.

ProtocolChooser
ProtocolStore

PidginProtocolStore is a GtkListStore that automatically keeps track of what protocols are currently available in libpurple. It’s intended to be used any time that you need to present a protocol selection to the user.

ProxyOptions

A widget for the proxy options in the account editor.

ProxyPrefs

PidginProxyPrefs is a widget for the preferences window to let users choose and configure their proxy settings.

ScrollBook

This widget is used to show error messages in the buddy list window.

StatusBox
StatusEditor

A dialog for editing statuses.

StatusManager

A dialog for managing statuses.

StatusPrimitiveChooser

A GtkComboBox for presenting PurpleStatusPrimitives to a user.

StatusPrimitiveStore

A GtkListStore for use with PidginStatusPrimitiveChooser.

VVPrefs

PidginVVPrefs is a widget for the preferences window to let users choose and configure their voice and video settings.

XferDialog

A file transfer dialog.

Structs

Enumerations

AccountDialogType
AccountStoreColumn

Constants for accessing columns in a PidginAccountStore.

ButtonOrientation
ProtocolIconSize
ProtocolStoreColumn

Constants for accessing columns in a PidginProtocolStore.

StatusIconSize

Callbacks

blist_sort_function
FilterBuddyCompletionEntryFunc
MiniDialogCallback

The type of a callback triggered by a button in a mini-dialog being pressed.

PluginInfoGetConfigFrameFunc

Gets the GtkWidget for configruing plugin.

Functions

account_dialog_show

Shows an add/modify account dialog.

accounts_enabled_menu_new

Creates a GMenu that will automatically update itself to include accounts that are enabled in libpurple.

accounts_get_handle

Returns the gtkaccounts handle.

accounts_get_ui_ops

Returns the GTK account UI ops.

accounts_init

Initializes the GTK account system.

accounts_uninit

Uninitializes the GTK account system.

add_widget_to_vbox

Add a labelled widget to a GtkBox.

append_blist_node_extended_menu

Appends the extended menu items for a PurpleBlistNode.

append_blist_node_privacy_menu

Appends the privacy menu items for a PurpleBlistNode.

append_blist_node_proto_menu

Appends the protocol specific menu items for a PurpleBlistNode.

append_menu_action

Append a PurpleActionMenu to a menu.

auto_parent_window

Automatically make a window transient to a suitable parent window.

blist_add_alert

Adds a mini-alert to the blist scrollbook.

blist_get_default_gtk_blist

Returns the default gtk buddy list.

blist_get_emblem

Returns the blist emblem.

blist_get_handle

Get the handle for the GTK blist system.

blist_get_name_markup

Returns a buddy’s Pango markup appropriate for setting in a GtkCellRenderer.

blist_get_sort_methods

Gets the current list of sort methods.

blist_get_status_icon

Useful for the buddy ticker.

blist_init

Initializes the GTK blist system.

blist_joinchat_is_showable

Determines if showing the join chat dialog is a valid action.

blist_joinchat_show

Shows the join chat dialog.

blist_make_buddy_menu

Populates a menu with the items shown on the buddy list for a buddy.

blist_node_is_contact_expanded

Returns a boolean indicating if node is part of an expanded contact.

blist_query_tooltip_for_node

Queries and creates a custom tooltip for a buddy list node.

blist_refresh

Refreshes all the nodes of the buddy list. This should only be called when something changes to affect most of the nodes (such as a ui preference changing)

blist_setup_sort_methods

Sets up the programs default sort methods.

blist_uninit

Uninitializes the GTK blist system.

blist_update_sort_methods

Updates the Sorting menu on the GTK buddy list window.

buddy_icon_chooser_new

Creates a File Selection widget for choosing a buddy icon.

buddy_icon_get_scale_size

Convenience wrapper for purple_buddy_icon_spec_get_scaled_size.

color_calculate_for_text

This function is based heavily on the implementation that gajim uses from python-nbxmpp in nbxmpp.util.text_to_color. However, we don’t have an implementation of HSL let alone HSLuv, so we’re using HSV which is why the value is 1.0 instead of a luminance of 0.5.

connection_get_handle

Returns the GTK connection handle.

connection_init

Initializes the GTK connection system.

connection_uninit

Uninitializes the GTK connection system.

connections_get_ui_ops

Gets GTK Connection UI ops.

conv_attach_to_conversation

Reattach Pidgin UI to a conversation.

conv_switch_active_conversation

Sets the active conversation within a GTK-conversation.

conversations_get_conv_ui_ops

Returns the UI operations structure for GTK conversations.

conversations_get_handle

Returns the gtk conversations subsystem handle.

conversations_init

Initializes the GTK conversations subsystem.

conversations_uninit

Uninitialized the GTK conversation subsystem.

convert_buddy_icon

Converts a buddy icon to the required size and format.

core_get_ui_ops

Gets the PurpleCoreUiOps that Pidgin sets up. You probably don’t want to call this.

create_icon_from_protocol

Returns the base image to represent protocol based on the currently selected theme. If account is not NULL then the returned icon will represent the account.

create_protocol_icon

Returns the base image to represent the account, based on the currently selected theme.

debug_get_handle

Get the handle for the GTK debug system.

debug_init

Perform necessary initializations.

debug_init_handler

Initialize handler for GLib logging system.

debug_set_print_enabled

Set whether the debug logging messages are sent the default GLib logging handler.

debug_uninit

Perform necessary uninitializations.

dialogs_alias_buddy
dialogs_alias_chat
dialogs_destroy_all
dialogs_im
dialogs_im_with_user
dialogs_info
dialogs_merge_groups
dialogs_remove_buddy
dialogs_remove_chat
dialogs_remove_contact
dialogs_remove_group
get_xfer_dialog

Returns pirgin’s main file transfer dialog.

icon_name_from_presence

Gets the icon name that should be used to represent presence falling back to fallback if presence is invalid.

icon_name_from_status

Gets the icon name to use for status if found, otherwise returns fallback.

icon_name_from_status_primitive

Gets the icon name to use for primitive if found, otherwise returns fallback.

icon_name_from_status_type

Gets the icon name to use for type if found, otherwise returns fallback.

make_frame

Creates a HIG preferences frame.

make_scrollable

Add scrollbars to a widget.

medias_init
menu_popup_at_treeview_selection

Open a menu popup at the position determined by the selection of a given treeview. This function is similar to gtk_menu_popup_at_pointer, but should be used when the menu is activated via a keyboard shortcut.

mood_dialog_show

Presents a dialog to select the mood for account or the global mood if account is NULL.

mood_get_icon_path

Gets the path to the icon for mood.

new_check_item

Creates a check menu item.

new_menu_item

Creates a menu item.

notify_get_ui_ops

Returns the UI operations structure for GTK notification functions.

notify_init

Initializes the GTK notifications subsystem.

notify_uninit

Uninitialized the GTK notifications subsystem.

plugin_pref_create_frame

Creates a Gtk Preference frame for a PurplePluginPrefFrame.

prefs_checkbox

Add a new checkbox for a boolean preference.

prefs_dropdown

Add a new dropdown representing a preference of the specified type.

prefs_dropdown_from_list

Add a new dropdown representing a preference of the specified type.

prefs_init

Initializes all UI-specific preferences.

prefs_labeled_entry

Add a new entry representing a string preference.

prefs_labeled_password

Add a new entry representing a password (string) preference The entry will use a password-style text entry (the text is substituted)

prefs_labeled_spin_button

Add a new spin button representing an int preference.

prefs_show

Shows the preferences dialog.

prefs_update_old

Rename legacy prefs and delete some that no longer exist.

privacy_dialog_hide

Hides the privacy dialog.

privacy_dialog_show

Shows the privacy dialog.

privacy_init

Initializes the GTK privacy subsystem.

request_add_block

Requests confirmation to add a user to the block list for an account, and then adds it.

request_add_permit

Requests confirmation to add a user to the allow list for an account, and then adds it.

request_get_dialog_window

Gets dialog window for specified libpurple request.

request_get_handle

Returns the gtk requests subsystem handle.

request_get_ui_ops

Returns the UI operations structure for GTK request functions.

request_init

Initializes the GTK requests subsystem.

request_uninit

Uninitializes the GTK requests subsystem.

retrieve_user_info

Get information about a user. Show immediate feedback.

retrieve_user_info_in_chat

Get information about a user in a chat. Show immediate feedback.

roomlist_dialog_show

Shows a new roomlist dialog.

roomlist_dialog_show_with_account

Shows a new room list dialog and fetches the list for the specified account.

roomlist_init

Initializes the room list subsystem.

roomlist_is_showable

Determines if showing the room list dialog is a valid action.

screenname_autocomplete_default_filter

The default filter function for username autocomplete.

separator

Adds a separator to a menu.

set_accessible_label

Sets an ATK name for a given widget. Also sets the labelled-by and label-for ATK relationships.

set_accessible_relations

Sets the labelled-by and label-for ATK relationships.

set_xfer_dialog

Sets pidgin’s main file transfer dialog.

setup_screenname_autocomplete

Add autocompletion of screenames to an entry, supporting a filtering function.

start

Start pidgin with the given command line arguments.

status_get_handle

Returns the GTK status handle.

status_init

Initializes the GTK status system.

status_menu

Creates a dropdown menu of saved statuses and calls a callback when one is selected.

status_uninit

Uninitializes the GTK status system.

status_window_hide

Hides the status window.

status_window_show

Shows the status window.

style_context_get_background_color

Gets the background color for GtkWindow in the currently selected theme and sets color to that value.

style_context_is_dark

Gets whether or not dark mode is enabled.

talkatu_buffer_new_for_connection

Creates a new TalkatuBuffer. Depending on pcs PurpleConnectionFlags, it will create a plain, HTML, or markdown buffer.

talkatu_editor_new_for_connection

Creates a new TalkatuEditor appropriate for use with pc.

text_combo_box_entry_get_text

Retrieve the text from the entry of the simple text GtkComboBoxEntry equivalent.

text_combo_box_entry_new

Create a simple text GtkComboBoxEntry equivalent.

tree_view_search_equal_func

This is a callback function to be used for Ctrl+F searching in treeviews. Sample Use: gtk_tree_view_set_search_equal_func(treeview, pidgin_tree_view_search_equal_func, search_data, search_data_destroy_cb);

whiteboard_get_ui_ops

Gets the GtkWhiteboard UI Operations.

xfers_get_ui_ops

Returns the UI operations structure for the GTK file transfer UI.

xfers_init

Initializes the GTK file transfer system.

xfers_uninit

Uninitializes the GTK file transfer system.

Constants

ACTION_SHOW_BUDDY_ICONS

A constant that represents the show-buddy-icons action.

ACTION_SHOW_EMPTY_GROUPS

A constant that represents the show-empty-groups action.

ACTION_SHOW_IDLE_TIMES

A constant that represents the show-idle-times action.

ACTION_SHOW_OFFLINE_BUDDIES

A constant that represents the show-offline-buddies action.

ACTION_SHOW_PROTOCOL_ICONS

A constant that represents the show-protocol-icons action.

ACTION_SORT_METHOD

A constant that represents the sort-method action to change the sorting method of the buddy list.

ALERT_TITLE

The title that should be used for alert dialogs.

PREFS_ROOT
UI

Our UI’s identifier.