123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- X-Git-Url: https://git.lxde.org/gitweb/?p=lxde%2Flxdm.git;a=blobdiff_plain;f=src%2Fgreeter.c;h=0e26b6d42e9ddb1d0d9069d3ae034f8485086668;hp=65c74550b88488f1ad2cabca273cabca0fd0376d;hb=cee37e0d27c07023cb08925330ae2db691e2429c;hpb=7ed5f86780a2de415b590b6ec5136e15b1fd888d
- diff --git a/src/greeter.c b/src/greeter.c
- index 65c7455..0e26b6d 100644
- --- a/src/greeter.c
- +++ b/src/greeter.c
- @@ -70,6 +70,7 @@ static GtkWidget* user_list;
- static GtkWidget* sessions;
- static GtkWidget* lang;
-
- +static GtkWidget* onscreenkeyboard_btn;
- static GtkWidget* exit_btn;
-
- static GtkWidget* exit_menu;
- @@ -81,6 +82,8 @@ static char* pass = NULL;
- static char* ui_file = NULL;
- static char *ui_nobody = NULL;
-
- +static char* onscreenkeyboard_cmd = NULL;
- +
- static GIOChannel *greeter_io;
-
- static int auto_login;
- @@ -720,6 +723,15 @@ static void on_exit_clicked(GtkButton* exit_btn, gpointer user_data)
- 0, gtk_get_current_event_time() );
- }
-
- +static void on_screenkeyboard_clicked(GtkButton* screenkeyboard_btn,
- + gpointer user_data)
- +{
- + gboolean res;
- + /* set the current xkb */
- + res=g_spawn_command_line_async(onscreenkeyboard_cmd, NULL);
- + printf("spawn onscreenkeyboard: %s %d\n", onscreenkeyboard_cmd, res);
- +}
- +
- static void load_exit()
- {
- GtkWidget* item;
- @@ -1248,6 +1260,21 @@ static void create_win()
- load_exit();
- }
-
- + onscreenkeyboard_btn = (GtkWidget*)gtk_builder_get_object(builder, "onscreenkeyboard");
- + onscreenkeyboard_cmd = g_key_file_get_string(config, "display", "onscreenkeyboard",NULL);
- +
- + if(onscreenkeyboard_cmd && onscreenkeyboard_cmd[0])
- + {
- + gtk_widget_show(onscreenkeyboard_btn);
- + g_signal_connect(onscreenkeyboard_btn, "clicked", G_CALLBACK(on_screenkeyboard_clicked), NULL);
- + }
- + else
- + {
- + if (onscreenkeyboard_btn != NULL) {
- + gtk_widget_hide(onscreenkeyboard_btn);
- + }
- + }
- +
- ui_get_geometry(window,&rc);
- gtk_window_move(GTK_WINDOW(win),rc.x,rc.y);
- gtk_window_set_default_size(GTK_WINDOW(win),rc.width,rc.height);
|