getCurrent method

  1. @override
Future<InputLanguage?> getCurrent()
override

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);
}