PyGObject and Gjs API Reference

PyGObject の API Reference を見つけた。
GLib, Gtk だけでなく GObject introspection 全部。

Python GI API Reference

正直かなり見難いけど。
使い道がイマイチ解からなかったライブラリもコレでバッチリ。

実は Gjs も同じライブラリなのでそのまんま適用できます。
とりあえず Xkl で試してみましょう。

#!/usr/bin/env python3

from gi.repository import Xkl

s = Xkl.get_country_name("DE")
print(s)
#=> Germany

s = Xkl.get_language_name("jpn")
print(s)
#=> Japanese

Gjs

#!/usr/bin/gjs

const Xkl = imports.gi.Xkl;

let s = Xkl.get_country_name("DE");
print(s);
//=> ドイツ

s = Xkl.get_language_name("jpn");
print(s);
//=> 日本語

コメントに解答してますが、動かしてみます。

python_setlocale

忘れていた、3.18 から require_version 必須だった!
Gjs は不要なのに、今後は解らないけど。
それより Gjs だと日本語になるんだが何が違うのだ?

#!/usr/bin/env python3

import locale
locale.setlocale(locale.LC_ALL, '')

import gi
gi.require_version('Xkl', '1.0')

from gi.repository import Xkl

s = Xkl.get_country_name("DE")
print(s)
#=> ドイツ

s = Xkl.get_language_name("jpn")
print(s)
#=> 日本語

これで Gjs と同じ結果になった。
Gjs は locale 設定を自動的にやっているってことなのね。
PyGObject しかやっていなかったら英語でしか取得できないと勘違いしていたかも。
やっててよかった JavaScript!

それより、Gjs のほうが簡単になる場合なんてあったのか。
そろそろ本格的に移行かな、Y901x を作り替えするだけだが。