Sorry about the blank reply. What I had intended to send was the following.
I don't mean to start a flamewar about email etiquette, but please trim replies to the pertinent information. Large quoted sections make the thread difficult to follow (and reply to apparently), especially on handheld devices. Thanks, Nathan On 3/10/07, Nathan Ingersoll <[EMAIL PROTECTED]> wrote: > On 3/9/07, Christopher Michael <[EMAIL PROTECTED]> wrote: > > Ravenlock wrote: > > > Hello, > > > > > > Please find attached a patchset that will add a configuration panel that > > > will allow a user to control the mouse acceleration in X. > > > > > > > > > ------------------------------------------------------------------------ > > > > > > #include "e.h" > > > > > > static void *_create_data(E_Config_Dialog *cfd); > > > static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data > > *cfdata); > > > static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data > > *cfdata); > > > static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas > > *evas, > > > E_Config_Dialog_Data *cfdata); > > > > > > struct _E_Config_Dialog_Data > > > { > > > E_Config_Dialog *cfd; > > > > > > double numerator; > > > double denominator; > > > double threshold; > > > }; > > > > > > static E_Dialog *mouse_dialog = NULL; > > > > > > static void > > > _cb_mouse_dialog_ok(void *data, E_Dialog *dia) > > > { > > > e_object_del(E_OBJECT(mouse_dialog)); > > > mouse_dialog = NULL; > > > } > > > > > > EAPI E_Config_Dialog * > > > e_int_config_mouse(E_Container *con) > > > { > > > E_Config_Dialog *cfd; > > > E_Config_Dialog_View *v; > > > > > > if (e_config_dialog_find("E", "_config_mouse_dialog")) > > > return NULL; > > > > > > v = E_NEW(E_Config_Dialog_View, 1); > > > > > > v->create_cfdata = _create_data; > > > v->free_cfdata = _free_data; > > > v->basic.apply_cfdata = _basic_apply_data; > > > v->basic.create_widgets = _basic_create_widgets; > > > v->override_auto_apply = 1; > > > > > > cfd = e_config_dialog_new(con, _("Mouse Acceleration Settings"), "E", > > > "_config_mouse_dialog", "enlightenment/mouse", > > > 0, v, NULL); > > > return cfd; > > > } > > > > > > static void > > > _fill_data(E_Config_Dialog_Data *cfdata) > > > { > > > cfdata->numerator = e_config->mouse_accel_numerator; > > > cfdata->denominator = e_config->mouse_accel_denominator; > > > cfdata->threshold = e_config->mouse_accel_threshold; > > > } > > > > > > static void * > > > _create_data(E_Config_Dialog *cfd) > > > { > > > E_Config_Dialog_Data *cfdata; > > > > > > cfdata = E_NEW(E_Config_Dialog_Data, 1); > > > cfdata->cfd = cfd; > > > > > > _fill_data(cfdata); > > > return cfdata; > > > } > > > > > > static void > > > _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) > > > { > > > if (!cfdata) return; > > > > > > E_FREE(cfdata); > > > } > > > > > > /* advanced window */ > > > static int > > > _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) > > > { > > > e_config->mouse_accel_numerator = cfdata->numerator; > > > // Force denominator to 1 for simplicity. > > > e_config->mouse_accel_denominator = 1; //cfdata->denominator; > > > e_config->mouse_accel_threshold = cfdata->threshold; > > > > > > // Apply the above settings > > > e_mouse_init(); > > > > > > e_config_save_queue(); > > > return 1; > > > } > > > > > > static Evas_Object * > > > _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, > > E_Config_Dialog_Data *cfdata) > > > { > > > Evas_Object *o, *of, *ob; > > > E_Radio_Group *rg; > > > o = e_widget_list_add(evas, 0, 0); > > > > > > of = e_widget_framelist_add(evas, _("Mouse Acceleration"), 0); > > > > > > ob = e_widget_label_add(evas, _("Acceleration")); > > > e_widget_framelist_object_append(of, ob); > > > ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 1.0, 10.0, 1.0, 0, > > > &(cfdata->numerator), NULL, 200); > > > e_widget_framelist_object_append(of, ob); > > > > > > /*ob = e_widget_label_add(evas, _("Denominator")); > > > e_widget_framelist_object_append(of, ob); > > > ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 1.0, 10.0, 1.0, 0, > > > &(cfdata->denominator), NULL, 200); > > > e_widget_framelist_object_append(of, ob);*/ > > > > > > ob = e_widget_label_add(evas, _("Threshold")); > > > e_widget_framelist_object_append(of, ob); > > > ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 1.0, 10.0, 1.0, 0, > > > &(cfdata->threshold), NULL, 200); > > > e_widget_framelist_object_append(of, ob); > > > > > > e_widget_list_object_append(o, of, 1, 1, 0.5); > > > > > > e_dialog_resizable_set(cfd->dia, 0); > > > return o; > > > } > > > > > > > > > ------------------------------------------------------------------------ > > > > > > #ifdef E_TYPEDEFS > > > #else > > > #ifndef E_INT_CONFIG_MOUSE_H > > > #define E_INT_CONFIG_MOUSE_H > > > > > > EAPI E_Config_Dialog *e_int_config_mouse(E_Container *con); > > > > > > #endif > > > #endif > > > > > > > > > ------------------------------------------------------------------------ > > > > > > /* > > > * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 > > > */ > > > #include "e.h" > > > > > > EAPI int > > > e_mouse_init(void) > > > { > > > if (!ecore_x_pointer_control_set(e_config->mouse_accel_numerator, > > > e_config->mouse_accel_denominator, > > > e_config->mouse_accel_threshold)) > > > return 0; > > > > > > return 1; > > > } > > > > > > > > > ------------------------------------------------------------------------ > > > > > > #ifdef E_TYPEDEFS > > > #else > > > #ifndef E_MOUSE_H > > > #define E_MOUSE_H > > > > > > EAPI int e_mouse_init(void); > > > > > > #endif > > > #endif > > > > > > > > > ------------------------------------------------------------------------ > > > > > > Index: e17/apps/e/src/bin/Makefile.am > > > =================================================================== > > > RCS file: /var/cvs/e/e17/apps/e/src/bin/Makefile.am,v > > > retrieving revision 1.176 > > > diff -u -r1.176 Makefile.am > > > --- e17/apps/e/src/bin/Makefile.am 2 Mar 2007 17:00:20 -0000 > > > 1.176 > > > +++ e17/apps/e/src/bin/Makefile.am 10 Mar 2007 03:49:48 -0000 > > > @@ -187,7 +187,9 @@ > > > e_int_config_borders.h \ > > > e_int_config_desk.h \ > > > e_int_config_clientlist.h \ > > > -e_fm_prop.h > > > +e_fm_prop.h \ > > > +e_int_config_mouse.h \ > > > +e_mouse.h > > > > > > enlightenment_src = \ > > > e_user.c \ > > > @@ -350,6 +352,8 @@ > > > e_int_config_desk.c \ > > > e_fm_prop.c \ > > > e_int_config_clientlist.c \ > > > +e_int_config_mouse.c \ > > > +e_mouse.c \ > > > $(ENLIGHTENMENTHEADERS) > > > > > > enlightenment_SOURCES = \ > > > Index: e17/apps/e/src/bin/e_config.c > > > =================================================================== > > > RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.c,v > > > retrieving revision 1.228 > > > diff -u -r1.228 e_config.c > > > --- e17/apps/e/src/bin/e_config.c 2 Mar 2007 17:00:20 -0000 1.228 > > > +++ e17/apps/e/src/bin/e_config.c 10 Mar 2007 03:49:49 -0000 > > > @@ -511,6 +511,10 @@ > > > E_CONFIG_VAL(D, T, clientlist_separate_iconified_apps, INT); > > > E_CONFIG_VAL(D, T, clientlist_warp_to_iconified_desktop, INT); > > > > > > + E_CONFIG_VAL(D, T, mouse_accel_numerator, INT); > > > + E_CONFIG_VAL(D, T, mouse_accel_denominator, INT); > > > + E_CONFIG_VAL(D, T, mouse_accel_threshold, INT); > > > + > > > E_CONFIG_VAL(D, T, border_raise_on_mouse_action, INT); > > > E_CONFIG_VAL(D, T, border_raise_on_focus, INT); > > > E_CONFIG_VAL(D, T, desk_flip_wrap, INT); > > > @@ -1337,6 +1341,12 @@ > > > e_config->clientlist_warp_to_iconified_desktop = 0; > > > IFCFGEND; > > > > > > + IFCFG(0x0111); > > > + e_config->mouse_accel_numerator = 2; > > > + e_config->mouse_accel_denominator = 1; > > > + e_config->mouse_accel_threshold = 4; > > > + IFCFGEND; > > > + > > > e_config->config_version = E_CONFIG_FILE_VERSION; > > > > > > #if 0 /* example of new config */ > > > @@ -1455,6 +1465,10 @@ > > > E_CONFIG_LIMIT(e_config->clientlist_separate_iconified_apps, 0, 2); > > > E_CONFIG_LIMIT(e_config->clientlist_warp_to_iconified_desktop, 0, > 1); > > > > > > + E_CONFIG_LIMIT(e_config->mouse_accel_numerator, 1, 10); > > > + E_CONFIG_LIMIT(e_config->mouse_accel_denominator, 1, 10); > > > + E_CONFIG_LIMIT(e_config->mouse_accel_threshold, 1, 10); > > > + > > > /* FIXME: disabled auto apply because it causes problems */ > > > e_config->cfgdlg_auto_apply = 0; > > > /* FIXME: desklock personalized password id disabled for security > > reasons */ > > > Index: e17/apps/e/src/bin/e_config.h > > > =================================================================== > > > RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.h,v > > > retrieving revision 1.143 > > > diff -u -r1.143 e_config.h > > > --- e17/apps/e/src/bin/e_config.h 2 Mar 2007 17:00:20 -0000 1.143 > > > +++ e17/apps/e/src/bin/e_config.h 10 Mar 2007 03:49:50 -0000 > > > @@ -52,7 +52,7 @@ > > > /* increment this whenever a new set of config values are added but the > > users > > > * config doesn't need to be wiped - simply new values need to be put > in > > > */ > > > -#define E_CONFIG_FILE_GENERATION 0x0110 > > > +#define E_CONFIG_FILE_GENERATION 0x0111 > > > #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | > > E_CONFIG_FILE_GENERATION) > > > > > > #define E_EVAS_ENGINE_DEFAULT 0 > > > @@ -253,6 +253,10 @@ > > > int clientlist_separate_iconified_apps; > > > int clientlist_warp_to_iconified_desktop; > > > > > > + int mouse_accel_numerator; > > > + int mouse_accel_denominator; > > > + int mouse_accel_threshold; > > > + > > > int display_res_restore; // GUI > > > int display_res_width; // GUI > > > int display_res_height; // GUI > > > Index: e17/apps/e/src/bin/e_configure.c > > > =================================================================== > > > RCS file: /var/cvs/e/e17/apps/e/src/bin/e_configure.c,v > > > retrieving revision 1.90 > > > diff -u -r1.90 e_configure.c > > > --- e17/apps/e/src/bin/e_configure.c 21 Feb 2007 00:05:27 -0000 > > > 1.90 > > > +++ e17/apps/e/src/bin/e_configure.c 10 Mar 2007 03:49:50 -0000 > > > @@ -418,6 +418,7 @@ > > > cat = _e_configure_category_add(eco, _("Keyboard & Mouse"), > > "enlightenment/behavior"); > > > _e_configure_item_add(cat, _("Key Bindings"), "enlightenment/keys", > > e_int_config_keybindings); > > > _e_configure_item_add(cat, _("Mouse Bindings"), > > "enlightenment/mouse_clean", e_int_config_mousebindings); > > > + _e_configure_item_add(cat, _("Mouse Acceleration"), > > "enlightenment/mouse_clean", e_int_config_mouse); > > > > > > cat = _e_configure_category_add(eco, _("Windows"), > > "enlightenment/windows"); > > > _e_configure_item_add(cat, _("Window Display"), > > "enlightenment/windows", e_int_config_window_display); > > > Index: e17/apps/e/src/bin/e_includes.h > > > =================================================================== > > > RCS file: /var/cvs/e/e17/apps/e/src/bin/e_includes.h,v > > > retrieving revision 1.148 > > > diff -u -r1.148 e_includes.h > > > --- e17/apps/e/src/bin/e_includes.h 21 Feb 2007 00:05:27 -0000 > > > 1.148 > > > +++ e17/apps/e/src/bin/e_includes.h 10 Mar 2007 03:49:50 -0000 > > > @@ -163,3 +163,6 @@ > > > #include "e_int_config_desk.h" > > > #include "e_int_config_clientlist.h" > > > #include "e_fm_prop.h" > > > +#include "e_int_config_mouse.h" > > > +#include "e_int_config_mouse.h" > > > +#include "e_int_config_mouse.h" > > > Index: e17/apps/e/src/bin/e_main.c > > > =================================================================== > > > RCS file: /var/cvs/e/e17/apps/e/src/bin/e_main.c,v > > > retrieving revision 1.201 > > > diff -u -r1.201 e_main.c > > > --- e17/apps/e/src/bin/e_main.c 2 Mar 2007 17:00:20 -0000 1.201 > > > +++ e17/apps/e/src/bin/e_main.c 10 Mar 2007 03:49:51 -0000 > > > @@ -785,6 +785,14 @@ > > > _e_main_shutdown(-1); > > > } > > > > > > + TS("mouse"); > > > + /* setup mouse accel */ > > > + if (!e_mouse_init()) > > > + { > > > + e_error_message_show(_("Enlightenment cannot configure the mouse > > acceleration settings.")); > > > + _e_main_shutdown(-1); > > > + } > > > + > > > TS("desklock"); > > > /* setup desklock */ > > > if (!e_desklock_init()) > > > > > > > > > ------------------------------------------------------------------------ > > > > > > Index: e17/libs/ecore/src/lib/ecore_x/Ecore_X.h > > > =================================================================== > > > RCS file: /var/cvs/e/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v > > > retrieving revision 1.183 > > > diff -u -r1.183 Ecore_X.h > > > --- e17/libs/ecore/src/lib/ecore_x/Ecore_X.h 9 Mar 2007 01:11:09 > > -0000 1.183 > > > +++ e17/libs/ecore/src/lib/ecore_x/Ecore_X.h 10 Mar 2007 03:53:46 > > > -0000 > > > @@ -1417,7 +1417,8 @@ > > > EAPI void ecore_x_window_save_set_del(Ecore_X_Window win); > > > EAPI Ecore_X_Window *ecore_x_window_children_get(Ecore_X_Window win, > int > > *num); > > > > > > - > > > +EAPI int ecore_x_pointer_control_set(int accel_num, int accel_denom, > int > > threshold); > > > +EAPI int ecore_x_pointer_control_get(int *accel_num, int *accel_denom, > > int *threshold); > > > EAPI int ecore_x_pointer_grab(Ecore_X_Window win); > > > EAPI int ecore_x_pointer_confine_grab(Ecore_X_Window win); > > > EAPI void ecore_x_pointer_ungrab(void); > > > Index: e17/libs/ecore/src/lib/ecore_x/ecore_x.c > > > =================================================================== > > > RCS file: /var/cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v > > > retrieving revision 1.125 > > > diff -u -r1.125 ecore_x.c > > > --- e17/libs/ecore/src/lib/ecore_x/ecore_x.c 9 Mar 2007 01:11:09 > > -0000 1.125 > > > +++ e17/libs/ecore/src/lib/ecore_x/ecore_x.c 10 Mar 2007 03:53:47 > > > -0000 > > > @@ -1089,6 +1089,21 @@ > > > } > > > > > > EAPI int > > > +ecore_x_pointer_control_set(int accel_num, int accel_denom, int > > threshold) > > > +{ > > > + return XChangePointerControl(_ecore_x_disp, 1, 1, > > > + accel_num, accel_denom, threshold); > > > +} > > > + > > > + > > > +EAPI int > > > +ecore_x_pointer_control_get(int *accel_num, int *accel_denom, int > > *threshold) > > > +{ > > > + return XGetPointerControl(_ecore_x_disp, > > > + accel_num, accel_denom, threshold); > > > +} > > > + > > > +EAPI int > > > ecore_x_pointer_grab(Ecore_X_Window win) > > > { > > > if (XGrabPointer(_ecore_x_disp, win, False, > > > > > > > > Why not just add a new framelist to the Advanced section of the already > > existing mouse config dialog ? > > > > dh > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys-and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel