getCurrent method
Reads the active keyboard language, or null when unknown.
Implementation
@override
Future<InputLanguage?> getCurrent() async {
final mru = await _gnomeSources('mru-sources');
if (mru != null && mru.isNotEmpty) {
return languageFromGnomeSource(mru.first);
}
final configured = await _gnomeSources('sources');
if (configured != null && configured.isNotEmpty) {
return languageFromGnomeSource(configured.first);
}
final engine = await _output('ibus', <String>['engine']);
if (engine == null || engine.isEmpty) return null;
return languageFromIbusEngine(engine);
}