GNOME Software Jailbreak

As many users have noticed, you cannot install all the software you want on your computer via gnome-software. This restriction has been imposed by the developers and only allows the installation of software from selected Desktop Environments, which are termed as compatible projects. If you want to install software from MATE, you can do so by modifying the source code as shown in this merge request:

https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/307

Or from command line:

$ gsettings set org.gnome.software compatible-projects “[‘GNOME’, ‘KDE’, ‘XFCE’, ‘MATE’]”

glib2 will use native libs to print dates

glib2 will use native libs to print dates when this change occurred. After glibc update (AKA libc6), it will be a great improvement in GNOME, but also in other desktop environments like XFCE or MATE, because they also use glib2 to display dates.

Translators should update their translations where needed, and developers adapt their code (minor changes needed, or none).

glibc 2.27 & periphrastic genitive in date

glibc 2.27 adds the missing support to print dates using the periphrastic genitive form according to your locale, which is available in other libc implementations like BSD libc.

To add support to your locale you should fill a bug like this, and review the date modifiers in translations:

  • %O* – don’t use the periphrastic genitive form according to your locale.
    • %OB: “abril” in the example
    • %Ob: “abr.” in the example
  • %B – full month name according to your locale (it’s for use with a periphrastic genitive form).
    • “d’abril” in the example
  • %b – abbreviated month name according to your locale (it’s for use with a periphrastic genitive form).
    • “d’abr.” in the example
python3
Python 3.6.4 (default, Feb  1 2018, 11:03:59) 
[GCC 8.0.1 20180127 (Red Hat 8.0.1-0.6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from time import gmtime, strftime, mktime
>>> import locale
>>> locale.setlocale(locale.LC_TIME, "ca_ES.utf8")
'ca_ES.utf8'
>>> t = (2018, 4, 21, 20, 19, 18, 1, 48, 0)
>>> t = mktime(t)
>>> strftime("%A, %d %B de %Y a les %H:%M:%S", gmtime(t))
'dissabte, 21 d’abril de 2018 a les 19:19:18'
>>> strftime("%a %d %b de %Y", gmtime(t))
'ds. 21 d’abr. de 2018'
>>> strftime("%OB de %Y", gmtime(t))
'abril de 2018'
>>> strftime("%Ob de %Y", gmtime(t))
'abr. de 2018'
>>>