applied changes from 1f57ebe4e6d16159c74db823ecff2ec0f4c46936
through ff5b50d410a4c5d305fbbaacab5465581332c254
applied changes from c92bfd23eea356d86913789cfa3f66ad6f156bce
through 645aa07330425e8ec239e478449e818df8061bdf
applied changes from 023bbf40f2ace632a36775360d2101e19370b4e5
through eb14385d2f3d84e0bdd1b158200baa76f86da3a2
applied changes from 18bfb4a38162cf6920d87b437ceb20124a26e028
through 2a7b93b8c57bc86dafb9f1d9af64676de420ef0a
applied changes from 2a7b93b8c57bc86dafb9f1d9af64676de420ef0a
through b2523913e5ed5b4237eedbf8ed4999736dc78137
--- a/doc/pidgin.1.in Fri Nov 09 16:46:42 2007 +0000
+++ b/doc/pidgin.1.in Fri Nov 09 16:56:52 2007 +0000
@@ -227,17 +227,28 @@
-\fIAutodetect IP Address\fR: Pidgin will attempt to automatically determine
-your IP address for use in file transfers and Direct IMs.
-\fIPublic IP\fR: What IP address to use for file transfer and Direct IMs. This
-is mainly useful for users with multiple network interfaces or behind NAT.
+This allows specifying a server which uses the STUN protocol to determine +a host's public IP address. This can be particularly useful for some
-\fIManually specify range of ports to listen on\fR: Specify specific ports to
-listen on, overriding any defaults.
+.B Autodetect IP address +When checked, causes Pidign to attempt to determine the public IP address +of the host on which Pidgin is running and disables the \fBPublic IP\fR +text field listed below. +If \fBAutodetect IP address\fR is disabled, this field allows manually +specifying the public IP address for the host on which Pidgin is running. +This is mainly useful for users with multiple network interfaces or behind +.B Manually specify range of ports to listen on +Specify a range ports to listen on, overriding any defaults. This is +sometimes useful for file transfers and Direct IM. @@ -246,56 +257,82 @@
Allows the user to select Pidgin's default web browser. Firefox, Galeon,
Konqueror, Mozilla, Netscape and Opera are supported natively. The user
can also manually enter a command to be executed when a link is clicked
(\fI%s\fR expands to the URL). For example, \fIxterm -e lynx "%s"\fR will
-open the link with lynx. \fIOpen new window by default\fR makes the
-browser use a new window instead of using the current window (or spawning a
+open the link with lynx. +Allows the user to specify whether to use an existing window, a new tab, a +new window, or to let the browser to decide what to do when calling the +browser to open a link. Which options are available will depend on which -\fIMessage Logs\fR lets the user choose whether \fBConversations\fR and/or
-\fBBuddy Chats\fR will be logged as well as whether logs will be in HTML or
-plain text format. \fISystem Logs\fR describes the types of events to be
+Specifies how to log. Pidgin supports HTML and plain text, but plugins can +provide other logging methods.
-\fIQueue new messages when away\fR: Messages received since going Away will
-not be shown until away status is removed.
+.B Log all instant messages +When enabled, all IM conversations are logged. This can be overridden on a +per-conversation basis in the conversation window. -\fISend auto-response\fR: If someone messages you while away, your
-auto-response will be sent.
+When enabled, all chat conversations are logged. This can be overridden on a +per-conversation basis in the conversation window. -\fIOnly send auto-response when idle\fR: If someone messages you while
-away, your auto-response will only be sent if Pidgin decides that the
+.B Log all status changes to system log +When enabled, status changes are logged. -\fIIdle time reporting\fR: If \fINone\fR is selected, account idle time
-will not be reported. \fIPidgin usage\fR infers your idle time from your
-usage of Pidgin. \fIX usage\fR infers your idle time from \fBX\fR
-(this option may not be universally available).
-\fIAuto-away\fR: Determines if and under what conditions Pidgin will
-automatically turn on the Away status.
+Determines under which conditions to report idle time. \fBBased on keyboard +and mouse use\fR uses keyboard and mouse activity to determine idle time. +\fBFrom last sent message\fR uses the time at which you last sent a message +in Pidgin to determine idle. \fBNever\fR disables idle reporting.
-Lets the user add/edit/remove available \fBAway Messages\fR.
+Determines when to send an auto-reply on protocols which support it
+.B Change status when idle +When enabled, this uses the \fBMinutes before becoming idle\fR and \fBChange +status to\fR preferences described below to set status on idle. +.B Minutes before becoming idle +Specifies how many minutes of inactivity are required before considering the -Allows the user to enable add-on plugins for Pidgin. Several of these
-come with Pidgin, while others must be downloaded separately. The
-\fIDescription\fR field gives the plugin author's description of the
-plugin, while the \fIDetails\fR field gives the plugin's authorship, URL,
-and file name/location information.
+Specifies which "primitive" or "saved" status to use when setting status on -Some plugins can be configured. If you load such a plugin, its
-configuration preferences will appear as a submenu to \fBPlugins\fR, with
-the submenu title determined by the plugin's name.
+.B Use status from last exit at startup +If this is checked, Pidgin will remember what status was active when the +user closed Pidgin and restore it at the next run. When disabled, Pidgin +will always set the status selected in \fBStatus to apply at startup\fR +.B Status to apply at startup +When \fBUse status from last exit at startup\fR is disabled, this specifies +which "primitive" or "saved" status to use at startup. When starting a new conversation, the user is presented with the
@@ -530,4 +567,8 @@
-This manpage was originally written by Dennis Ristuccia <\fIdennis@dennisr.net\fR>. It has been updated and largely rewritten by Sean Egan <\fIseanegan@gmail.com\fR> and Ben Tegarden <\fItegarden@uclink.berkeley.edu\fR>.
+This manpage was originally written by Dennis Ristuccia +<\fIdennis@dennisr.net\fR>. It has been updated and largely rewritten by +Sean Egan <\fIseanegan@gmail.com\fR>, +Ben Tegarden <\fItegarden@uclink.berkeley.edu\fR>, +and John Bailey <\fIrekkanoryo@pidgin.im\fR>. --- a/finch/libgnt/gnt.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gnt.h Fri Nov 09 16:56:52 2007 +0000
@@ -46,123 +46,150 @@
+ * Start running the mainloop for gnt.
+ * Check whether the terminal is capable of UTF8 display.
+ * @return @c FALSE if the terminal is capable of drawing UTF-8, @c TRUE otherwise. gboolean gnt_ascii_only(void);
void gnt_window_present(GntWidget *window);
+ * Use #gnt_widget_show instead. void gnt_screen_occupy(GntWidget *widget);
+ * Use #gnt_widget_hide instead. void gnt_screen_release(GntWidget *widget);
+ * Use #gnt_widget_draw instead. void gnt_screen_update(GntWidget *widget);
+ * @param widget The widget to resize. + * @param width The desired width. + * @param height The desired height. void gnt_screen_resize_widget(GntWidget *widget, int width, int height);
+ * @param widget The widget to move. + * @param x The desired x-coordinate. + * @param y The desired y-coordinate. void gnt_screen_move_widget(GntWidget *widget, int x, int y);
+ * @param widget The widget to rename. + * @param text The new name for the widget. void gnt_screen_rename_widget(GntWidget *widget, const char *text);
+ * Check whether a widget has focus.
+ * @param widget The widget. + * @return @c TRUE if the widget has the current focus, @c FALSE otherwise. gboolean gnt_widget_has_focus(GntWidget *widget);
+ * Set the URGENT hint for a widget. + * @param widget The widget to set the URGENT hint for. void gnt_widget_set_urgent(GntWidget *widget);
+ * Register a global action. + * @param label The user-visible label for the action. + * @param callback The callback function for the action. void gnt_register_action(const char *label, void (*callback)());
+ * @param menu The menu to display. + * @return @c TRUE if the menu is displayed, @c FALSE otherwise (e.g., if another menu is currently displayed). gboolean gnt_screen_menu_show(gpointer menu);
+ * Terminate the mainloop of gnt.
+ * Get the global clipboard.
+ * @return The clipboard. GntClipboard * gnt_get_clipboard(void);
+ * Get the string in the clipboard.
+ * @return A copy of the string in the clipboard. The caller must @c g_free the string. gchar * gnt_get_clipboard_string(void);
+ * Set the contents of the global clipboard. + * @param string The new content of the new clipboard. -void gnt_set_clipboard_string(gchar *string);
+void gnt_set_clipboard_string(const gchar *string); * Spawn a different application that will consume the console.
+ * @param wd The working directory for the new application. + * @param argv The argument vector. + * @param envp The environment, or @c NULL. + * @param stin Location to store the child's stdin, or @c NULL. + * @param stout Location to store the child's stdout, or @c NULL. + * @param sterr Location to store the child's stderr, or @c NULL. + * @param callback The callback to call after the child exits. + * @param data The data to pass to the callback. + * @return @c TRUE if the child was successfully spawned, @c FALSE otherwise. gboolean gnt_giveup_console(const char *wd, char **argv, char **envp,
gint *stin, gint *stout, gint *sterr,
void (*callback)(int status, gpointer data), gpointer data);
+ * Check whether a child process is in control of the current terminal. + * @return @c TRUE if a child process (eg., PAGER) is occupying the current + * terminal, @c FALSE otherwise. gboolean gnt_is_refugee(void);
--- a/finch/libgnt/gntbindable.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntbindable.h Fri Nov 09 16:56:52 2007 +0000
@@ -160,8 +160,8 @@
* Returns a GntTree populated with "key" -> "binding" for the widget.
- * @param widget The object to list the bindings for.
+ * @param bind The object to list the bindings for. @@ -170,9 +170,9 @@
* Builds a window that list the key bindings for a GntBindable object.
* From this window a user can select a listing to rebind a new key for the given action.
* @param bindable The object to list the bindings for.
--- a/finch/libgnt/gntfilesel.c Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntfilesel.c Fri Nov 09 16:56:52 2007 +0000
@@ -719,6 +719,7 @@
void gnt_file_sel_set_suggested_filename(GntFileSel *sel, const char *suggest)
sel->suggest = g_strdup(suggest);
--- a/finch/libgnt/gntfilesel.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntfilesel.h Fri Nov 09 16:56:52 2007 +0000
@@ -98,113 +98,123 @@
+ * @return GType for GntFileSel. GType gnt_file_sel_get_gtype(void);
+ * Create a new file selector.
+ * @return The newly created file selector. GntWidget * gnt_file_sel_new(void);
+ * Set the current location of the file selector.
+ * @param sel The file selector. + * @param path The current path of the selector. + * @return @c TRUE if the current location was successfully changed, @c FALSE otherwise. gboolean gnt_file_sel_set_current_location(GntFileSel *sel, const char *path);
+ * Set wheter to only allow selecting directories. + * @param sel The file selector. + * @param dirs @c TRUE if only directories can be selected, @c FALSE if files + * can also be selected. void gnt_file_sel_set_dirs_only(GntFileSel *sel, gboolean dirs);
+ * Check whether the file selector allows only selecting directories.
+ * @param sel The file selector. + * @return @c TRUE if only directories can be selected. gboolean gnt_file_sel_get_dirs_only(GntFileSel *sel);
+ * Set whether a selected file must exist. + * @param sel The file selector. + * @param must @c TRUE if the selected file must exist. void gnt_file_sel_set_must_exist(GntFileSel *sel, gboolean must);
+ * Check whether the selector allows selecting non-existent files.
+ * @param sel The file selector. + * @return @c TRUE if the selected file must exist, @c FALSE if a non-existent + * file can be selected. gboolean gnt_file_sel_get_must_exist(GntFileSel *sel);
+ * Get the selected file in the selector.
+ * @param sel The file selector. + * @return The path of the selected file. The caller should g_free the returned char * gnt_file_sel_get_selected_file(GntFileSel *sel);
- /* The returned value should be free'd */
+ * Get the list of selected files in the selector.
+ * @param sel The file selector. + * @return A list of paths for the selected files. The caller must g_free the + * contents of the list, and g_list_free the list. GList * gnt_file_sel_get_selected_multi_files(GntFileSel *sel);
+ * Allow selecting multiple files. + * @param sel The file selector. + * @param set @c TRUE if selecting multiple files should be allowed. void gnt_file_sel_set_multi_select(GntFileSel *sel, gboolean set);
+ * Set the suggested file to have selected at startup. + * @param sel The file selector. + * @param suggest The suggested filename. void gnt_file_sel_set_suggested_filename(GntFileSel *sel, const char *suggest);
+ * Set custom functions to read the names of files. + * @param sel The file selector. + * @param read_fn The custom read function. void gnt_file_sel_set_read_fn(GntFileSel *sel, gboolean (*read_fn)(const char *path, GList **files, GError **error));
+ * Create a new GntFile.
+ * @param name The name of the file. + * @param size The size of the file. + * @return The newly created GntFile. GntFile* gnt_file_new(const char *name, unsigned long size);
+ * Create a new GntFile for a directory.
+ * @param name The name of the directory. + * @return The newly created GntFile. GntFile* gnt_file_new_dir(const char *name);
--- a/finch/libgnt/gntkeys.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntkeys.h Fri Nov 09 16:56:52 2007 +0000
@@ -104,41 +104,59 @@
#define GNT_KEY_F12 SAFE(key_f12)
- * This will do stuff with the terminal settings and stuff.
void gnt_init_keys(void);
+ * Refine input text. This usually looks at what the terminal claims it is, + * and tries to change the text to work around some oft-broken terminfo entries. + * @param text The input text to refine. void gnt_keys_refine(char *text);
+ * Translate a user-readable representation of an input to a machine-readable representation. + * @param name The user-readable representation of an input (eg.: c-t) + * @return A machine-readable representation of the input. const char *gnt_key_translate(const char *name);
+ * Translate a machine-readable representation of an input to a user-readable representation. + * @param key The machine-readable representation of an input. + * @return A user-readable representation of the input (eg.: c-t). const char *gnt_key_lookup(const char *key);
+ * Add a key combination to the internal key-tree. + * @param key The key to add -void gnt_keys_add_combination(const char *path);
+void gnt_keys_add_combination(const char *key);
+ * Remove a key combination from the internal key-tree. + * @param key The key to remove. -void gnt_keys_del_combination(const char *path);
+void gnt_keys_del_combination(const char *key);
+ * Find a combination from the given string. + * @param key The input string.
+ * @return The number of bytes in the combination that starts at the beginning -int gnt_keys_find_combination(const char *path);
+int gnt_keys_find_combination(const char *key); /* A lot of commonly used variable names are defined in <term.h>.
* #undef them to make life easier for everyone. */
--- a/finch/libgnt/gntlabel.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntlabel.h Fri Nov 09 16:56:52 2007 +0000
@@ -67,33 +67,34 @@
+ * @return GType for GntLabel. GType gnt_label_get_gtype(void);
+ * Create a new GntLabel.
+ * @param text The text of the label. + * @return The newly created label. GntWidget * gnt_label_new(const char *text);
+ * Create a new label with specified text attributes.
+ * @param text The text. + * @param flags Text attributes for the text. + * @return The newly created label. GntWidget * gnt_label_new_with_format(const char *text, GntTextFormatFlags flags);
+ * Change the text of a label. + * @param label The label. + * @param text The new text to set in the label. void gnt_label_set_text(GntLabel *label, const char *text);
--- a/finch/libgnt/gntline.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntline.h Fri Nov 09 16:56:52 2007 +0000
@@ -67,9 +67,7 @@
+ * @return GType for GntLine. GType gnt_line_get_gtype(void);
@@ -77,10 +75,11 @@
#define gnt_vline_new() gnt_line_new(TRUE)
+ * @param vertical @c TRUE if the line should be vertical, @c FALSE for a horizontal line. + * @return The newly created line. GntWidget * gnt_line_new(gboolean vertical);
--- a/finch/libgnt/gntmain.c Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntmain.c Fri Nov 09 16:56:52 2007 +0000
@@ -646,7 +646,7 @@
-void gnt_set_clipboard_string(gchar *string)
+void gnt_set_clipboard_string(const gchar *string) gnt_clipboard_set_string(clipboard, string);
--- a/finch/libgnt/gntmenu.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntmenu.h Fri Nov 09 16:56:52 2007 +0000
@@ -86,24 +86,24 @@
+ * @return The GType for GntMenu. GType gnt_menu_get_gtype(void);
+ * @param type The type of the menu, whether it's a toplevel menu or a popup menu. + * @return The newly created menu. GntWidget * gnt_menu_new(GntMenuType type);
+ * Add an item to the menu. + * @param menu The menu. + * @param item The item to add to the menu. void gnt_menu_add_item(GntMenu *menu, GntMenuItem *item);
--- a/finch/libgnt/gntmenuitem.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntmenuitem.h Fri Nov 09 16:56:52 2007 +0000
@@ -86,32 +86,33 @@
+ * @return GType for GntMenuItem. GType gnt_menuitem_get_gtype(void);
+ * Create a new menuitem.
+ * @param text Label for the menuitem. + * @return The newly created menuitem. GntMenuItem * gnt_menuitem_new(const char *text);
+ * Set a callback function for a menuitem. + * @param item The menuitem. + * @param callback The callback function. + * @param data Data to send to the callback function. void gnt_menuitem_set_callback(GntMenuItem *item, GntMenuItemCallback callback, gpointer data);
+ * Set a submenu for a menuitem. A menuitem with a submenu cannot have a callback. + * @param item The menuitem. + * @param menu The submenu. void gnt_menuitem_set_submenu(GntMenuItem *item, GntMenu *menu);
--- a/finch/libgnt/gntmenuitemcheck.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntmenuitemcheck.h Fri Nov 09 16:56:52 2007 +0000
@@ -66,32 +66,33 @@
+ * @return GType for GntMenuItemCheck. GType gnt_menuitem_check_get_gtype(void);
+ * Create a new menuitem.
+ * @param text The text for the menuitem. + * @return The newly created menuitem. GntMenuItem * gnt_menuitem_check_new(const char *text);
+ * Check whether the menuitem is checked or not.
+ * @param item The menuitem. + * @return @c TRUE if the item is checked, @c FALSE otherwise. gboolean gnt_menuitem_check_get_checked(GntMenuItemCheck *item);
+ * Set whether the menuitem is checked or not. + * @param item The menuitem. + * @param set @c TRUE if the item should be checked, @c FALSE otherwise. void gnt_menuitem_check_set_checked(GntMenuItemCheck *item, gboolean set);
--- a/finch/libgnt/gntstyle.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntstyle.h Fri Nov 09 16:56:52 2007 +0000
@@ -38,11 +38,17 @@
+ * Read configuration from a file. + * @param filename The filename to read configuration from. void gnt_style_read_configure_file(const char *filename);
+ * Get the user-setting for a style. + * @param style The style. + * @return The user-setting, or @c NULL. const char *gnt_style_get(GntStyle style);
@@ -66,38 +72,40 @@
gboolean gnt_style_parse_bool(const char *value);
+ * Get the boolean value for a user-setting.
+ * @param style The style. + * @param def The default value (i.e, the value if the user didn't define + * @return The value of the setting. gboolean gnt_style_get_bool(GntStyle style, gboolean def);
-/* This should be called only once for the each type */
void gnt_styles_get_keyremaps(GType type, GHashTable *hash);
void gnt_style_read_actions(GType type, GntBindableClass *klass);
+ * Read workspace information. void gnt_style_read_workspaces(GntWM *wm);
+ * Initialize style settings. void gnt_init_styles(void);
+ * Uninitialize style settings. void gnt_uninit_styles(void);
--- a/finch/libgnt/gnttextview.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gnttextview.h Fri Nov 09 16:56:52 2007 +0000
@@ -88,116 +88,144 @@
+ * @return GType for GntTextView. GType gnt_text_view_get_gtype(void);
-/* XXX: For now, don't set a textview to have any border.
- * If you want borders real bad, put it in a box. */
+ * Create a new textview.
+ * @return The newly created textview. GntWidget * gnt_text_view_new(void);
-/* scroll > 0 means scroll up, < 0 means scroll down, == 0 means scroll to the end */
+ * @param view The textview to scroll. + * @param scroll scroll > 0 means scroll up, < 0 means scroll down, == 0 means scroll to the end. void gnt_text_view_scroll(GntTextView *view, int scroll);
+ * Append new text in a textview. + * @param view The textview. + * @param text The text to append to the textview. + * @param flags The text-flags to apply to the new text. void gnt_text_view_append_text_with_flags(GntTextView *view, const char *text, GntTextFormatFlags flags);
+ * Append text in the textview, with some identifier (tag) for the added text. + * @param view The textview. + * @param text The text to append. + * @param flags The text-flags to apply to the new text. + * @param tag The tag for the appended text, so it can be changed later (@see gnt_text_view_tag_change) void gnt_text_view_append_text_with_tag(GntTextView *view, const char *text, GntTextFormatFlags flags, const char *tag);
-/* Move the cursor to the beginning of the next line and resets text-attributes.
- * It first completes the current line with the current text-attributes. */
+ * Move the cursor to the beginning of the next line and resets text-attributes. + * It first completes the current line with the current text-attributes. + * @param view The textview. void gnt_text_view_next_line(GntTextView *view);
+ * Convert GNT-text formats to ncurses-text attributes.
+ * @param flags The GNT text format. + * @return Nucrses text attribute. chtype gnt_text_format_flag_to_chtype(GntTextFormatFlags flags);
+ * Clear the contents of the textview. + * @param view The textview. void gnt_text_view_clear(GntTextView *view);
+ * The number of lines below the bottom-most visible line.
+ * @param view The textview. + * @return Number of lines below the bottom-most visible line. int gnt_text_view_get_lines_below(GntTextView *view);
+ * The number of lines above the topmost visible line.
+ * @param view The textview. + * @return Number of lines above the topmost visible line. int gnt_text_view_get_lines_above(GntTextView *view);
-/* If text is NULL, then the tag is removed. */
+ * Change the text of a tag.
+ * @param view The textview. + * @param name The name of the tag. + * @param text The new text for the text. If 'text' is @c NULL, the tag is removed. + * @param all @c TRUE if all of the instancess of the tag should be changed, @c FALSE if + * only the first instance should be changed. + * @return The number of instances changed. int gnt_text_view_tag_change(GntTextView *view, const char *name, const char *text, gboolean all);
+ * Setup hooks so that pressing up/down/page-up/page-down keys when 'widget' is + * in focus scrolls the textview. + * @param view The textview. + * @param widget The trigger widget. void gnt_text_view_attach_scroll_widget(GntTextView *view, GntWidget *widget);
+ * Setup appropriate hooks so that pressing some keys when the 'pager' widget + * is in focus triggers the PAGER to popup with the contents of the textview + * The default key-combination to trigger the pager is a-v, and the default + * PAGER application is $PAGER. Both can be changed in ~/.gntrc like this: + * path = /path/to/pager + * @param view The textview. + * @param pager The widget to trigger the PAGER. void gnt_text_view_attach_pager_widget(GntTextView *view, GntWidget *pager);
+ * Setup appropriate hooks so that pressing some keys when 'widget' + * is in focus triggers the EDITOR to popup with the contents of the textview + * The default key-combination to trigger the pager is a-e, and the default + * EDITOR application is $EDITOR. Both can be changed in ~/.gntrc like this: + * path = /path/to/editor + * @param view The textview. + * @param widget The widget to trigger the EDITOR. -void gnt_text_view_attach_editor_widget(GntTextView *view, GntWidget *pager);
+void gnt_text_view_attach_editor_widget(GntTextView *view, GntWidget *widget); * Set a GntTextViewFlag for the textview widget.
--- a/finch/libgnt/gntutils.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntutils.h Fri Nov 09 16:56:52 2007 +0000
@@ -149,5 +149,5 @@
* @param key The key to trigger the button
* @param button The button to trigger
-void gnt_util_set_trigger_widget(GntWidget *wid, const char *text, GntWidget *button);
+void gnt_util_set_trigger_widget(GntWidget *widget, const char *key, GntWidget *button); --- a/finch/libgnt/gntwidget.c Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntwidget.c Fri Nov 09 16:56:52 2007 +0000
@@ -617,7 +617,7 @@
if (!g_object_get_data(G_OBJECT(widget), "gnt:queue_update"))
int id = g_timeout_add(0, update_queue_callback, widget);
--- a/finch/libgnt/gntwidget.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntwidget.h Fri Nov 09 16:56:52 2007 +0000
@@ -140,167 +140,176 @@
+ * @return GType for GntWidget. GType gnt_widget_get_gtype(void);
+ * @param widget The widget to destroy. void gnt_widget_destroy(GntWidget *widget);
+ * Show a widget. This should only be used for toplevel widgets. For the rest + * of the widgets, use #gnt_widget_draw instead. + * @param widget The widget to show. void gnt_widget_show(GntWidget *widget);
+ * @param widget The widget to draw. void gnt_widget_draw(GntWidget *widget);
+ * Expose part of a widget. void gnt_widget_expose(GntWidget *widget, int x, int y, int width, int height);
+ * @param widget The widget to hide. void gnt_widget_hide(GntWidget *widget);
+ * Get the position of a widget. + * @param widget The widget. + * @param x Location to store the x-coordinate of the widget. + * @param y Location to store the y-coordinate of the widget. void gnt_widget_get_position(GntWidget *widget, int *x, int *y);
+ * Set the position of a widget. + * @param widget The widget to reposition. + * @param x The x-coordinate of the widget. + * @param y The x-coordinate of the widget. void gnt_widget_set_position(GntWidget *widget, int x, int y);
+ * Request a widget to calculate its desired size. + * @param widget The widget. void gnt_widget_size_request(GntWidget *widget);
+ * Get the size of a widget. + * @param widget The widget. + * @param width Location to store the width of the widget. + * @param height Location to store the height of the widget. void gnt_widget_get_size(GntWidget *widget, int *width, int *height);
+ * Set the size of a widget.
+ * @param widget The widget to resize. + * @param width The width of the widget. + * @param height The height of the widget. + * @return If the widget was resized to the new size. gboolean gnt_widget_set_size(GntWidget *widget, int width, int height);
+ * Confirm a requested a size for a widget.
+ * @param widget The widget. + * @param width The requested width. + * @param height The requested height. + * @return @c TRUE if the new size was confirmed, @c FALSE otherwise. gboolean gnt_widget_confirm_size(GntWidget *widget, int width, int height);
+ * Trigger the key-press callbacks for a widget.
+ * @param widget The widget. + * @param keys The keypress on the widget. + * @return @c TRUE if the key-press was handled, @c FALSE otherwise. gboolean gnt_widget_key_pressed(GntWidget *widget, const char *keys);
+ * Trigger the 'click' callback of a widget.
+ * @param widget The widget. + * @param event The mouseevent. + * @param x The x-coordinate of the mouse. + * @param y The y-coordinate of the mouse. + * @return @c TRUE if the event was handled, @c FALSE otherwise. gboolean gnt_widget_clicked(GntWidget *widget, GntMouseEvent event, int x, int y);
+ * Give or remove focus to a widget. + * @param widget The widget. + * @param set @c TRUE of focus should be given to the widget, @c FALSE if + * focus should be removed.
+ * @return @c TRUE if the focus has been changed, @c FALSE otherwise. gboolean gnt_widget_set_focus(GntWidget *widget, gboolean set);
+ * Activate a widget. This only applies to widgets that can be activated (eg. GntButton) + * @param widget The widget to activate. void gnt_widget_activate(GntWidget *widget);
+ * Set the name of a widget. + * @param widget The widget. + * @param name A new name for the widget. void gnt_widget_set_name(GntWidget *widget, const char *name);
+ * Get the name of a widget. + * @param widget The widget. + * @return The name of the widget. const char *gnt_widget_get_name(GntWidget *widget);
-/* Widget-subclasses should call this from the draw-callback.
- * Applications should just call gnt_widget_draw instead of this. */
+ * Use #gnt_widget_draw instead. void gnt_widget_queue_update(GntWidget *widget);
+ * Set whether a widget can take focus or not. + * @param widget The widget. + * @param set @c TRUE if the widget can take focus. void gnt_widget_set_take_focus(GntWidget *widget, gboolean set);
+ * Set the visibility of a widget. + * @param widget The widget. + * @param set Whether the widget is visible or not. void gnt_widget_set_visible(GntWidget *widget, gboolean set);
+ * Check whether the widget has shadows.
+ * @param widget The widget. + * @return @c TRUE if the widget has shadows. This checks both the user-setting + * and whether the widget can have shadows at all. gboolean gnt_widget_has_shadow(GntWidget *widget);
--- a/finch/libgnt/gntwindow.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntwindow.h Fri Nov 09 16:56:52 2007 +0000
@@ -77,25 +77,27 @@
#define gnt_hwindow_new(homo) gnt_window_box_new(homo, FALSE)
+ * @return The newly created window. GntWidget * gnt_window_new(void);
+ * @param homo @c TRUE if the widgets inside the window should have the same dimensions. + * @param vert @c TRUE if the widgets inside the window should be stacked vertically. + * @return The newly created window. GntWidget * gnt_window_box_new(gboolean homo, gboolean vert);
+ * Set the menu for a window. + * @param window The window. + * @param menu The menu for the window. void gnt_window_set_menu(GntWindow *window, GntMenu *menu);
--- a/finch/libgnt/gntwm.c Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntwm.c Fri Nov 09 16:56:52 2007 +0000
@@ -1675,7 +1675,7 @@
if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_INVISIBLE) ||
g_hash_table_lookup(wm->nodes, widget)) {
--- a/finch/libgnt/gntwm.h Fri Nov 09 16:46:42 2007 +0000
+++ b/finch/libgnt/gntwm.h Fri Nov 09 16:56:52 2007 +0000
@@ -113,7 +113,7 @@
* whether to give focus to a new window.
@@ -184,108 +184,149 @@
+ * @return GType for GntWM. GType gnt_wm_get_gtype(void);
+ * @param wm The window-manager. + * @param ws The workspace to add. void gnt_wm_add_workspace(GntWM *wm, GntWS *ws);
+ * Switch to a workspace. + * @param wm The window-manager. + * @param n Index of the workspace to switch to. + * @return @c TRUE if the switch was successful. gboolean gnt_wm_switch_workspace(GntWM *wm, gint n);
+ * Switch to the previous workspace from the current one. + * @param wm The window-manager. gboolean gnt_wm_switch_workspace_prev(GntWM *wm);
+ * Switch to the next workspace from the current one. + * @param wm The window-manager. gboolean gnt_wm_switch_workspace_next(GntWM *wm);
+ * Move a window to a specific workspace. + * @param wm The window manager. + * @param neww The new workspace. + * @param widget The widget to move. void gnt_wm_widget_move_workspace(GntWM *wm, GntWS *neww, GntWidget *widget);
+ * Set the list of workspaces . + * @param wm The window manager. + * @param workspaces The list of workspaces. void gnt_wm_set_workspaces(GntWM *wm, GList *workspaces);
+ * Find the workspace that contains a specific widget. + * @param wm The window-manager. + * @param widget The widget to find. + * @return The workspace that has the widget. GntWS *gnt_wm_widget_find_workspace(GntWM *wm, GntWidget *widget);
+ * Process a new window. + * @param wm The window-manager. + * @param widget The new window. void gnt_wm_new_window(GntWM *wm, GntWidget *widget);
+ * @param wm The window-manager. + * @param widget The widget to decorate. void gnt_wm_window_decorate(GntWM *wm, GntWidget *widget);
+ * @param wm The window-manager. + * @param widget The window to close. void gnt_wm_window_close(GntWM *wm, GntWidget *widget);
+ * @param wm The window-manager. + * @param string The input string to process. + * @return @c TRUE of the string was processed, @c FALSE otherwise. gboolean gnt_wm_process_input(GntWM *wm, const char *string);
+ * Process a click event. + * @param wm The window manager. + * @param event The mouse event. + * @param x The x-coordinate of the mouse. + * @param y The y-coordinate of the mouse. + * @param widget The widget under the mouse.
+ * @return @c TRUE if the event was handled, @c FALSE otherwise. gboolean gnt_wm_process_click(GntWM *wm, GntMouseEvent event, int x, int y, GntWidget *widget);
+ * @param wm The window manager. + * @param widget The window to resize. + * @param width The desired width of the window. + * @param height The desired height of the window. void gnt_wm_resize_window(GntWM *wm, GntWidget *widget, int width, int height);
+ * @param wm The window manager. + * @param widget The window to move. + * @param x The desired x-coordinate of the window. + * @param y The desired y-coordinate of the window. void gnt_wm_move_window(GntWM *wm, GntWidget *widget, int x, int y);
+ * @param wm The window-manager. + * @param widget The window to update. void gnt_wm_update_window(GntWM *wm, GntWidget *widget);
+ * @param wm The window-manager. + * @param widget The window to raise. void gnt_wm_raise_window(GntWM *wm, GntWidget *widget);
void gnt_wm_set_event_stack(GntWM *wm, gboolean set);
void gnt_wm_copy_win(GntWidget *widget, GntNode *node);
+ * @return The idle time of the user. time_t gnt_wm_get_idle_time(void);
--- a/libpurple/tests/test_util.c Fri Nov 09 16:46:42 2007 +0000
+++ b/libpurple/tests/test_util.c Fri Nov 09 16:56:52 2007 +0000
@@ -81,6 +81,18 @@
+START_TEST(test_markup_html_to_xhtml) + gchar *plaintext = NULL; + purple_markup_html_to_xhtml("<a>", &xhtml, &plaintext); + fail_unless(strcmp("<a href=''></a>", xhtml) == 0, NULL); + fail_unless(strcmp("", plaintext) == 0, NULL); @@ -113,5 +125,9 @@
tcase_add_test(tc, test_util_str_to_time);
+ tc = tcase_create("Markup"); + tcase_add_test(tc, test_markup_html_to_xhtml); + suite_add_tcase(s, tc); --- a/pidgin/gtkprefs.c Fri Nov 09 16:46:42 2007 +0000
+++ b/pidgin/gtkprefs.c Fri Nov 09 16:56:52 2007 +0000
@@ -895,8 +895,8 @@
label = pidgin_prefs_dropdown(vbox, _("_Show system tray icon:"), PURPLE_PREF_STRING,
PIDGIN_PREFS_ROOT "/docklet/show",
+ _("On unread messages"), "pending", - _("On unread messages"), "pending",
gtk_size_group_add_widget(sg, label);
gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
--- a/pidgin/gtkstatusbox.c Fri Nov 09 16:46:42 2007 +0000
+++ b/pidgin/gtkstatusbox.c Fri Nov 09 16:56:52 2007 +0000
@@ -1069,8 +1069,8 @@
add_popular_statuses(status_box);
pidgin_status_box_add_separator(PIDGIN_STATUS_BOX(status_box));
- pidgin_status_box_add(PIDGIN_STATUS_BOX(status_box), PIDGIN_STATUS_BOX_TYPE_CUSTOM, NULL, _("New..."), NULL, NULL);
- pidgin_status_box_add(PIDGIN_STATUS_BOX(status_box), PIDGIN_STATUS_BOX_TYPE_SAVED, NULL, _("Saved..."), NULL, NULL);
+ pidgin_status_box_add(PIDGIN_STATUS_BOX(status_box), PIDGIN_STATUS_BOX_TYPE_CUSTOM, NULL, _("New status..."), NULL, NULL); + pidgin_status_box_add(PIDGIN_STATUS_BOX(status_box), PIDGIN_STATUS_BOX_TYPE_SAVED, NULL, _("Saved statuses..."), NULL, NULL); if (pixbuf) g_object_unref(G_OBJECT(pixbuf));
status_menu_refresh_iter(status_box);