diff options
author | George Lebl <jirka@5z.com> | 2001-05-14 09:14:36 +0000 |
---|---|---|
committer | George Lebl <jirka@src.gnome.org> | 2001-05-14 09:14:36 +0000 |
commit | ed0f1ebeefe5af52a4d325e8099e6640a4a86c28 (patch) | |
tree | 348a72895a70e06617da0924b2565fc334421a73 /gui/gdmconfig.c | |
parent | 019f0ac6021fbe7b28eff1a21c2eab87240a95b5 (diff) | |
download | gdm-ed0f1ebeefe5af52a4d325e8099e6640a4a86c28.tar.gz |
define RUNNING_UNDER_GDM for gdmlogin and gdmconfig
Mon May 14 02:15:06 2001 George Lebl <jirka@5z.com>
* daemon/slave.c: define RUNNING_UNDER_GDM for gdmlogin and gdmconfig
* gui/gdmlogin.c, gui/gdmconfig.c: When RUNNING_UNDER_GDM is defined
we treat button click 3 like 1 since the user could be left
handed but has not yet logged in.
Diffstat (limited to 'gui/gdmconfig.c')
-rw-r--r-- | gui/gdmconfig.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gui/gdmconfig.c b/gui/gdmconfig.c index fbfc2918..3c6c43da 100644 --- a/gui/gdmconfig.c +++ b/gui/gdmconfig.c @@ -139,6 +139,29 @@ void gdm_radio_write (gchar *radio_base_name, } } +static gboolean +gdm_event (GtkObject *object, + guint signal_id, + guint n_params, + GtkArg *params, + gpointer data) +{ + /* HAAAAAAAAAAAAAAAAACK */ + /* Since the user has not logged in yet and may have left/right + * mouse buttons switched, we just translate every right mouse click + * to a left mouse click */ + GdkEvent *event = GTK_VALUE_POINTER(params[0]); + if ((event->type == GDK_BUTTON_PRESS || + event->type == GDK_2BUTTON_PRESS || + event->type == GDK_3BUTTON_PRESS || + event->type == GDK_BUTTON_RELEASE) + && event->button.button == 3) + event->button.button = 1; + + return TRUE; +} + + int main (int argc, char *argv[]) @@ -272,6 +295,16 @@ main (int argc, char *argv[]) gtk_widget_set_sensitive(GTK_WIDGET(get_widget("apply_button")), FALSE); gtk_widget_show (GDMconfigurator); + + /* If we are running under gdm and not in a normal session we want to + * treat the right mouse button like the first */ + if (g_getenv ("RUNNING_UNDER_GDM") != NULL) { + guint sid = gtk_signal_lookup ("event", + GTK_TYPE_WIDGET); + gtk_signal_add_emission_hook (sid, + gdm_event, + NULL); + } gtk_main (); return 0; |