Skip to content

Commit

Permalink
KeyboardManager: get backend from context (#1605)
Browse files Browse the repository at this point in the history
  • Loading branch information
davidmhewitt authored Apr 1, 2023
1 parent de41984 commit 7eae3c1
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions src/KeyboardManager.vala
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ public class Gala.KeyboardManager : Object {
private static VariantType sources_variant_type;
private static GLib.Settings settings;

public unowned Meta.Display display { construct; private get; }

public static void init (Meta.Display display) {
if (instance != null) {
return;
}

instance = new KeyboardManager ();
instance = new KeyboardManager (display);

display.modifiers_accelerator_activated.connect ((display) => KeyboardManager.handle_modifiers_accelerator_activated (display, false));
}
Expand All @@ -36,6 +38,10 @@ public class Gala.KeyboardManager : Object {
set_keyboard_layout (settings, "sources"); // Update layouts
}

private KeyboardManager (Meta.Display display) {
Object (display: display);
}

[CCode (instance_pos = -1)]
public static bool handle_modifiers_accelerator_activated (Meta.Display display, bool backward) {
display.ungrab_keyboard (display.get_current_time ());
Expand Down Expand Up @@ -89,9 +95,9 @@ public class Gala.KeyboardManager : Object {
var variant = string.joinv (",", variants);
var options = string.joinv (",", xkb_options);

Meta.Backend.get_backend ().set_keymap (layout, variant, options);
display.get_context ().get_backend ().set_keymap (layout, variant, options);
} else if (key == "current") {
Meta.Backend.get_backend ().lock_layout_group (settings.get_uint ("current"));
display.get_context ().get_backend ().lock_layout_group (settings.get_uint ("current"));
}
}
}

0 comments on commit 7eae3c1

Please sign in to comment.