5959#define SOUND_SETTINGS_SCHEMA "org.cinnamon.desktop.sound"
6060#define PRIVACY_SETTINGS_SCHEMA "org.cinnamon.desktop.privacy"
6161#define KEYBOARD_A11Y_SCHEMA "org.cinnamon.desktop.a11y.keyboard"
62- #define A11Y_APPLICATIONS_SCHEMA "org.gnome.desktop.a11y.applications"
63- #define INPUT_SOURCES_SCHEMA "org.gnome.desktop.input-sources"
6462
6563#define XSETTINGS_PLUGIN_SCHEMA "org.cinnamon.settings-daemon.plugins.xsettings"
6664#define XSETTINGS_OVERRIDE_KEY "overrides"
7775#define FONT_HINTING_KEY "hinting"
7876#define FONT_RGBA_ORDER_KEY "rgba-order"
7977
80- #define INPUT_SOURCES_KEY "sources"
81- #define OSK_ENABLED_KEY "screen-keyboard-enabled"
8278#define GTK_IM_MODULE_KEY "gtk-im-module"
83-
84- #define INPUT_SOURCE_TYPE_IBUS "ibus"
85- #define GTK_IM_MODULE_SIMPLE "gtk-im-context-simple"
8679#define GTK_IM_MODULE_IBUS "ibus"
8780
8881/* As we cannot rely on the X server giving us good DPI information, and
@@ -262,8 +255,6 @@ struct CinnamonSettingsXSettingsManagerPrivate
262255 fontconfig_monitor_handle_t * fontconfig_handle ;
263256
264257 GSettings * interface_settings ;
265- GSettings * input_sources_settings ;
266- GSettings * a11y_settings ;
267258 GdkSeat * user_seat ;
268259
269260 CsdXSettingsGtk * gtk ;
@@ -1173,51 +1164,6 @@ on_cinnamon_name_appeared_handler (GDBusConnection *connection,
11731164 animations_enabled_changed (manager );
11741165}
11751166
1176- static gboolean
1177- need_ibus (CinnamonSettingsXSettingsManager * manager )
1178- {
1179- GVariant * sources ;
1180- GVariantIter iter ;
1181- const gchar * type ;
1182- gboolean needs_ibus = FALSE;
1183-
1184- sources = g_settings_get_value (manager -> priv -> input_sources_settings ,
1185- INPUT_SOURCES_KEY );
1186-
1187- g_variant_iter_init (& iter , sources );
1188- while (g_variant_iter_next (& iter , "(&s&s)" , & type , NULL )) {
1189- if (g_str_equal (type , INPUT_SOURCE_TYPE_IBUS )) {
1190- needs_ibus = TRUE;
1191- break ;
1192- }
1193- }
1194-
1195- g_variant_unref (sources );
1196-
1197- return needs_ibus ;
1198- }
1199-
1200- static gboolean
1201- need_osk (CinnamonSettingsXSettingsManager * manager )
1202- {
1203- gboolean has_touchscreen = FALSE;
1204- GList * devices ;
1205- GdkSeat * seat ;
1206-
1207- if (g_settings_get_boolean (manager -> priv -> a11y_settings ,
1208- OSK_ENABLED_KEY ))
1209- return TRUE;
1210-
1211- seat = gdk_display_get_default_seat (gdk_display_get_default ());
1212- devices = gdk_seat_get_slaves (seat , GDK_SEAT_CAPABILITY_TOUCH );
1213-
1214- has_touchscreen = devices != NULL ;
1215-
1216- g_list_free (devices );
1217-
1218- return has_touchscreen ;
1219- }
1220-
12211167static void
12221168update_gtk_im_module (CinnamonSettingsXSettingsManager * manager )
12231169{
@@ -1229,10 +1175,8 @@ update_gtk_im_module (CinnamonSettingsXSettingsManager *manager)
12291175 GTK_IM_MODULE_KEY );
12301176 if (setting && * setting )
12311177 module = setting ;
1232- else if (need_ibus (manager ) || need_osk (manager ))
1233- module = GTK_IM_MODULE_IBUS ;
12341178 else
1235- module = GTK_IM_MODULE_SIMPLE ;
1179+ module = GTK_IM_MODULE_IBUS ;
12361180
12371181 for (i = 0 ; manager -> priv -> managers [i ]; i ++ ) {
12381182 xsettings_manager_set_string (manager -> priv -> managers [i ], "Gtk/IMModule" , module );
@@ -1306,15 +1250,6 @@ cinnamon_xsettings_manager_start (CinnamonSettingsXSettingsManager *manager,
13061250 "changed::" GTK_IM_MODULE_KEY ,
13071251 G_CALLBACK (update_gtk_im_module ), manager );
13081252
1309- manager -> priv -> input_sources_settings = g_settings_new (INPUT_SOURCES_SCHEMA );
1310- g_signal_connect_swapped (manager -> priv -> input_sources_settings ,
1311- "changed::" INPUT_SOURCES_KEY ,
1312- G_CALLBACK (update_gtk_im_module ), manager );
1313-
1314- manager -> priv -> a11y_settings = g_settings_new (A11Y_APPLICATIONS_SCHEMA );
1315- g_signal_connect_swapped (manager -> priv -> a11y_settings ,
1316- "changed::" OSK_ENABLED_KEY ,
1317- G_CALLBACK (update_gtk_im_module ), manager );
13181253 update_gtk_im_module (manager );
13191254
13201255 manager -> priv -> monitors_changed_id =
@@ -1492,6 +1427,14 @@ cinnamon_xsettings_manager_stop (CinnamonSettingsXSettingsManager *manager)
14921427 g_object_unref (p -> gtk );
14931428 p -> gtk = NULL ;
14941429 }
1430+
1431+ if (manager -> priv -> user_seat != NULL ) {
1432+ g_signal_handler_disconnect (manager -> priv -> user_seat , manager -> priv -> device_added_id );
1433+ g_signal_handler_disconnect (manager -> priv -> user_seat , manager -> priv -> device_removed_id );
1434+ manager -> priv -> user_seat = NULL ;
1435+ }
1436+
1437+ g_clear_object (& manager -> priv -> interface_settings );
14951438}
14961439
14971440static GObject *
@@ -1531,16 +1474,6 @@ cinnamon_xsettings_manager_init (CinnamonSettingsXSettingsManager *manager)
15311474 if (!manager -> priv -> dbus_connection ) {
15321475 g_error ("Failed to get session bus: %s" , error -> message );
15331476 }
1534-
1535- if (manager -> priv -> user_seat != NULL ) {
1536- g_signal_handler_disconnect (manager -> priv -> user_seat , manager -> priv -> device_added_id );
1537- g_signal_handler_disconnect (manager -> priv -> user_seat , manager -> priv -> device_removed_id );
1538- manager -> priv -> user_seat = NULL ;
1539- }
1540-
1541- g_clear_object (& manager -> priv -> a11y_settings );
1542- g_clear_object (& manager -> priv -> input_sources_settings );
1543- g_clear_object (& manager -> priv -> interface_settings );
15441477}
15451478
15461479static void
0 commit comments