shell-util

shell-util

Synopsis

void                shell_util_set_hidden_from_pick     (ClutterActor *actor,
                                                         gboolean hidden);
void                shell_util_get_transformed_allocation
                                                        (ClutterActor *actor,
                                                         ClutterActorBox *box);
int                 shell_util_get_week_start           (void);
char *              shell_util_normalize_and_casefold   (const char *str);
char *              shell_util_normalize_casefold_and_unaccent
                                                        (const char *str);
char *              shell_util_format_date              (const char *format,
                                                         gint64 time_ms);
gboolean            shell_write_string_to_stream        (GOutputStream *stream,
                                                         const char *str,
                                                         GError **error);
char *              shell_get_file_contents_utf8_sync   (const char *path,
                                                         GError **error);
gboolean            shell_util_wifexited                (int status,
                                                         int *exit);
GdkPixbuf *         shell_util_create_pixbuf_from_data  (const guchar *data,
                                                         gsize len,
                                                         GdkColorspace colorspace,
                                                         gboolean has_alpha,
                                                         int bits_per_sample,
                                                         int width,
                                                         int height,
                                                         int rowstride);

Description

Details

shell_util_set_hidden_from_pick ()

void                shell_util_set_hidden_from_pick     (ClutterActor *actor,
                                                         gboolean hidden);

If hidden is TRUE, hide actor from pick even with a mode of CLUTTER_PICK_ALL; if hidden is FALSE, unhide actor.

actor :

A ClutterActor

hidden :

Whether actor should be hidden from pick

shell_util_get_transformed_allocation ()

void                shell_util_get_transformed_allocation
                                                        (ClutterActor *actor,
                                                         ClutterActorBox *box);

This function is similar to a combination of clutter_actor_get_transformed_position(), and clutter_actor_get_transformed_size(), but unlike clutter_actor_get_transformed_size(), it always returns a transform of the current allocation, while clutter_actor_get_transformed_size() returns bad values (the transform of the requested size) if a relayout has been queued.

This function is more convenient to use than clutter_actor_get_abs_allocation_vertices() if no transformation is in effect and also works around limitations in the GJS binding of arrays.

actor :

a ClutterActor

box :

location to store returned box in stage coordinates. [out]

shell_util_get_week_start ()

int                 shell_util_get_week_start           (void);

Gets the first week day for the current locale, expressed as a number in the range 0..6, representing week days from Sunday to Saturday.

Returns :

A number representing the first week day for the current locale

shell_util_normalize_and_casefold ()

char *              shell_util_normalize_and_casefold   (const char *str);


shell_util_normalize_casefold_and_unaccent ()

char *              shell_util_normalize_casefold_and_unaccent
                                                        (const char *str);


shell_util_format_date ()

char *              shell_util_format_date              (const char *format,
                                                         gint64 time_ms);

Formats a date for the current locale. This should be used instead of the Spidermonkey Date.toLocaleFormat() extension because Date.toLocaleFormat() is buggy for Unicode format strings: https://bugzilla.mozilla.org/show_bug.cgi?id=508783

format :

a strftime-style string format, as parsed by g_date_time_format()

time_ms :

milliseconds since 1970-01-01 00:00:00 UTC; the value returned by Date.getTime()

Returns :

the formatted date. If the date is outside of the range of a GDateTime (which contains any plausible dates we actually care about), will return an empty string.

shell_write_string_to_stream ()

gboolean            shell_write_string_to_stream        (GOutputStream *stream,
                                                         const char *str,
                                                         GError **error);

Write a string to a GOutputStream as UTF-8. This is a workaround for not having binary buffers in GJS.

stream :

a GOutputStream

str :

a UTF-8 string to write to stream

error :

location to store GError

Returns :

TRUE if write succeeded

shell_get_file_contents_utf8_sync ()

char *              shell_get_file_contents_utf8_sync   (const char *path,
                                                         GError **error);

Synchronously load the contents of a file as a NUL terminated string, validating it as UTF-8. Embedded NUL characters count as invalid content.

path :

UTF-8 encoded filename path

error :

a GError

Returns :

File contents. [transfer full]

shell_util_wifexited ()

gboolean            shell_util_wifexited                (int status,
                                                         int *exit);

Implements libc standard WIFEXITED, that cannot be used JS code.

status :

the status returned by wait() or waitpid()

exit :

the actual exit status of the process. [out]

Returns :

TRUE if the process exited normally, FALSE otherwise

shell_util_create_pixbuf_from_data ()

GdkPixbuf *         shell_util_create_pixbuf_from_data  (const guchar *data,
                                                         gsize len,
                                                         GdkColorspace colorspace,
                                                         gboolean has_alpha,
                                                         int bits_per_sample,
                                                         int width,
                                                         int height,
                                                         int rowstride);

Workaround for non-introspectability of gdk_pixbuf_from_data().

data :

. [array length=len][element-type guint8][transfer full]

Returns :

. [transfer full]