Christian Hergert f597a0a11c util: cache local GTimeZone
This ensures that we do not create a new GTimeZone with
g_time_zone_new_local() repeatedly. Currently, that will cause GTimeZone
to open(), mmap() and parse /etc/localtime while on the main thread.

We already track timezone changes, so we can cache this value and reuse
it if we:

 1) Clear the cache when timezone changes
 2) Use the only GDateTime API available to us here, which means we
    imply the current time. But this is how environment.js uses the
    date and time anyway, so no loss.

We maintain the old form for plugin compatibility.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2279
2020-02-26 23:12:22 -08:00
2019-06-14 16:47:59 +00:00
2020-02-26 23:12:22 -08:00
2018-01-07 21:39:18 +01:00
2019-10-04 15:29:47 +00:00
2020-02-26 23:12:22 -08:00
2008-10-31 04:22:44 +00:00
2014-01-08 04:35:14 +07:00
2018-02-21 13:55:02 +00:00
2011-05-23 09:15:58 -04:00
2019-05-14 17:28:08 +00:00
2019-05-14 17:28:08 +00:00
2014-04-04 19:32:09 +02:00

GNOME Shell provides core user interface functions for the GNOME 3 desktop,
like switching to windows and launching applications. GNOME Shell takes
advantage of the capabilities of modern graphics hardware and introduces
innovative user interface concepts to provide a visually attractive and
easy to use experience.

For more information about GNOME Shell, including instructions on how
to build GNOME Shell from source and how to get involved with the project,
see:

 https://wiki.gnome.org/Projects/GnomeShell

Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
product.

License
=======
GNOME Shell is distributed under the terms of the GNU General Public License,
version 2 or later. See the COPYING file for details.

Description
Languages
C 49.2%
JavaScript 47.4%
SCSS 1.4%
Meson 0.8%
Python 0.6%
Other 0.4%