## Utility functions Utility functions — Miscellaneous utility functions |

## Functions

gboolean | meta_is_verbose ()
void | meta_set_verbose ()
gboolean | meta_is_debugging ()
void | meta_set_debugging ()
gboolean | meta_is_syncing ()
void | meta_set_syncing ()
void | meta_set_replace_current_wm ()
void | meta_debug_spew_real ()
void | meta_verbose_real ()
void | meta_bug ()
void | meta_warning ()
void | meta_fatal ()
void | meta_topic_real ()
void | meta_add_verbose_topic ()
void | meta_remove_verbose_topic ()
void | meta_push_no_msg_prefix ()
void | meta_pop_no_msg_prefix ()
gint | meta_unsigned_long_equal ()
guint | meta_unsigned_long_hash ()
void | meta_print_backtrace ()
const char * | meta_frame_type_to_string ()
const char * | meta_gravity_to_string ()
#define | _()
#define | N_()
char * | meta_g_utf8_strndup ()
void | meta_free_gslist_and_elements ()
GPid | meta_show_dialog ()
guint | meta_later_add ()
void | meta_later_remove ()

## Types and Values

enum | MetaDebugTopic
#define | meta_debug_spew
#define | meta_verbose
#define | meta_topic
enum | MetaLaterType

## Description

## Functions

### meta_is_verbose ()

    gboolean
    meta_is_verbose (void);

### meta_set_verbose ()

    void
    meta_set_verbose (gboolean setting);

### meta_is_debugging ()

    gboolean
    meta_is_debugging (void);

### meta_set_debugging ()

    void
    meta_set_debugging (gboolean setting);

### meta_is_syncing ()

    gboolean
    meta_is_syncing (void);

### meta_set_syncing ()

    void
    meta_set_syncing (gboolean setting);

### meta_set_replace_current_wm ()

    void
    meta_set_replace_current_wm (gboolean setting);

### meta_debug_spew_real ()

    void
    meta_debug_spew_real (const char *format,
                          ...);

### meta_verbose_real ()

    void
    meta_verbose_real (const char *format,
                       ...);

### meta_bug ()

    void
    meta_bug (const char *format,
              ...);

### meta_warning ()

    void
    meta_warning (const char *format,
                  ...);

### meta_fatal ()

    void
    meta_fatal (const char *format,
                ...);

### meta_topic_real ()

    void
    meta_topic_real (MetaDebugTopic topic,
                     const char *format,
                     ...);

### meta_add_verbose_topic ()

    void
    meta_add_verbose_topic (MetaDebugTopic topic);

Ensure log messages for the given topic `topic` will be printed.

#### Parameters

topic | Topic for which logging will be started |

### meta_remove_verbose_topic ()

    void
    meta_remove_verbose_topic (MetaDebugTopic topic);

Stop printing log messages for the given topic `topic` . Note that this method does not stack with `meta_add_verbose_topic()`; i.e. if two calls to `meta_add_verbose_topic()` for the same topic are made, one call to `meta_remove_verbose_topic()` will remove it.

#### Parameters

topic | Topic for which logging will be stopped |

### meta_push_no_msg_prefix ()

    void
    meta_push_no_msg_prefix (void);

### meta_pop_no_msg_prefix ()

    void
    meta_pop_no_msg_prefix (void);

### meta_unsigned_long_equal ()

    gint
    meta_unsigned_long_equal (gconstpointer v1,
                              gconstpointer v2);

### meta_unsigned_long_hash ()

    guint
    meta_unsigned_long_hash (gconstpointer v);

### meta_print_backtrace ()

    void
    meta_print_backtrace (void);

### meta_frame_type_to_string ()

    const char *
    meta_frame_type_to_string (MetaFrameType type);

Converts a frame type enum value to the name string that would appear in the theme definition file.

#### Returns

the string value

### meta_gravity_to_string ()

    const char *
    meta_gravity_to_string (int gravity);

### _()

    #define _(x) dgettext (GETTEXT_PACKAGE, x)

### N_()

    #define N_(x) x

### meta_g_utf8_strndup ()

    char *
    meta_g_utf8_strndup (const gchar *src,
                         gsize n);

### meta_free_gslist_and_elements ()

    void
    meta_free_gslist_and_elements (GSList *list_to_deep_free);

[skip]

### meta_show_dialog ()

    GPid
    meta_show_dialog (const char *type,
                      const char *message,
                      const char *timeout,
                      const char *display,
                      const char *ok_text,
                      const char *cancel_text,
                      const int transient_for,
                      GSList *columns,
                      GSList *entries);

[skip]

### meta_later_add ()

    guint
    meta_later_add (MetaLaterType when,
                    GSourceFunc func,
                    gpointer data,
                    GDestroyNotify notify);

Sets up a callback to be called at some later time. `when` determines the particular later occasion at which it is called. This is much like `g_idle_add()`, except that the functions interact properly with clutter event handling. If a "later" function is added from a clutter event handler, and is supposed to be run before the stage is redrawn, it will be run before that redraw of the stage, not the next one.

#### Parameters

when | enumeration value determining the phase at which to run the callback |
func | callback to run later |
data | data to pass to the callback |
notify | function to call to destroy `data` when it is no longer in use, or `NULL` |

#### Returns

an integer ID (guaranteed to be non-zero) that can be used to cancel the callback and prevent it from being run.

### meta_later_remove ()

    void
    meta_later_remove (guint later_id);

Removes a callback added with `meta_later_add()`

#### Parameters

later_id | the integer ID returned from `meta_later_add()` |

## Types and Values

### enum MetaDebugTopic

#### Members

META_DEBUG_VERBOSE |  |
META_DEBUG_FOCUS |  |
META_DEBUG_WORKAREA |  |
META_DEBUG_STACK |  |
META_DEBUG_THEMES |  |
META_DEBUG_SM |  |
META_DEBUG_EVENTS |  |
META_DEBUG_WINDOW_STATE |  |
META_DEBUG_WINDOW_OPS |  |
META_DEBUG_GEOMETRY |  |
META_DEBUG_PLACEMENT |  |
META_DEBUG_PING |  |
META_DEBUG_XINERAMA |  |
META_DEBUG_KEYBINDINGS |  |
META_DEBUG_SYNC |  |
META_DEBUG_ERRORS |  |
META_DEBUG_STARTUP |  |
META_DEBUG_PREFS |  |
META_DEBUG_GROUPS |  |
META_DEBUG_RESIZING |  |
META_DEBUG_SHAPES |  |
META_DEBUG_COMPOSITOR |  |
META_DEBUG_EDGE_RESISTANCE |  |

### meta_debug_spew

    #define meta_debug_spew meta_debug_spew_real

### meta_verbose

    #define meta_verbose    meta_verbose_real

### meta_topic

    #define meta_topic      meta_topic_real

### enum MetaLaterType

#### Members

META_LATER_RESIZE | call in a resize processing phase that is done before GTK+ repainting (including window borders) is done. |
META_LATER_CALC_SHOWING | used by Muffin to compute which windows should be mapped |
META_LATER_CHECK_FULLSCREEN | used by Muffin to see if there's a fullscreen window |
META_LATER_SYNC_STACK | used by Muffin to send it's idea of the stacking order to the server |
META_LATER_BEFORE_REDRAW | call before the stage is redrawn |
META_LATER_IDLE | call at a very low priority (can be blocked by running animations or redrawing applications) |