make dnd resistance a config value

SVN revision: 14879
This commit is contained in:
Carsten Haitzler 2005-05-21 02:49:47 +00:00
parent 9fd4cc15e7
commit 3f3a9f2c75
5 changed files with 23 additions and 14 deletions

7
TODO
View File

@ -55,17 +55,18 @@ Also look at all the .c files - they have their own localized TODO lists
These are in no particular order: These are in no particular order:
* double check edje and evas image caches are working
* breaking out config via ipc / e_remote is too much work. this needs to get * breaking out config via ipc / e_remote is too much work. this needs to get
easier. easier.
* for click to focus - grab the mouse on all new windows, ungrab on focus, grab again on unfocus
* move all ipc codecs to use eet * move all ipc codecs to use eet
* make raise_timer a on/off flag and add a double for delay
* on restart e always goes back to desktop 0,0 - it shoudl go to the desktop * on restart e always goes back to desktop 0,0 - it shoudl go to the desktop
it was last on (per zone, per container, per manager). it was last on (per zone, per container, per manager).
* start module needs to have an way to alert users to "click here" and back * start module needs to have an way to alert users to "click here" and back
off alerting users as they learn what it is (over time) off alerting users as they learn what it is (over time)
* sometiems windows that get shut down/closed get unparented but the whole * sometiems windows that get shut down/closed get unparented but the whole
border stays around - something is keeping extra references maybe? border stays around - something is keeping extra references maybe? it is
hidden, until you flip desktops then it appears again - but with no client
around.
* fix action delete (can segv if action is stored for "long runing actions" * fix action delete (can segv if action is stored for "long runing actions"
like move/resize) like move/resize)
* drop on ibar for re-ordering, removal seems broken (drop location is the * drop on ibar for re-ordering, removal seems broken (drop location is the

View File

@ -2612,13 +2612,12 @@ _e_border_cb_mouse_move(void *data, int type, void *event)
} }
else else
{ {
int x, y; int dx, dy;
double dist;
dx = bd->drag.x - ev->root.x;
x = bd->drag.x - ev->root.x; dy = bd->drag.y - ev->root.y;
y = bd->drag.y - ev->root.y; if (((dx * dx) + (dy * dy)) >
dist = sqrt(pow(x, 2) + pow(y, 2)); (e_config->drag_resist * e_config->drag_resist))
if (dist > 4)
{ {
/* start drag! */ /* start drag! */
if (bd->icon_object) if (bd->icon_object)

View File

@ -144,6 +144,7 @@ e_config_init(void)
E_CONFIG_VAL(D, T, always_click_to_raise, INT); E_CONFIG_VAL(D, T, always_click_to_raise, INT);
E_CONFIG_VAL(D, T, use_auto_raise, INT); E_CONFIG_VAL(D, T, use_auto_raise, INT);
E_CONFIG_VAL(D, T, auto_raise_delay, DOUBLE); E_CONFIG_VAL(D, T, auto_raise_delay, DOUBLE);
E_CONFIG_VAL(D, T, drag_resist, INT);
e_config = e_config_domain_load("e", _e_config_edd); e_config = e_config_domain_load("e", _e_config_edd);
if (e_config) if (e_config)
@ -210,6 +211,7 @@ e_config_init(void)
e_config->always_click_to_raise = 0; e_config->always_click_to_raise = 0;
e_config->use_auto_raise = 0; e_config->use_auto_raise = 0;
e_config->auto_raise_delay = 0.5; e_config->auto_raise_delay = 0.5;
e_config->drag_resist = 8;
{ {
E_Config_Module *em; E_Config_Module *em;
@ -684,8 +686,12 @@ e_config_init(void)
E_CONFIG_LIMIT(e_config->zone_desks_y_count, 1, 64); E_CONFIG_LIMIT(e_config->zone_desks_y_count, 1, 64);
E_CONFIG_LIMIT(e_config->use_edge_flip, 0, 1); E_CONFIG_LIMIT(e_config->use_edge_flip, 0, 1);
E_CONFIG_LIMIT(e_config->edge_flip_timeout, 0.0, 2.0); E_CONFIG_LIMIT(e_config->edge_flip_timeout, 0.0, 2.0);
E_CONFIG_LIMIT(e_config->focus_policy, 0, 2);
E_CONFIG_LIMIT(e_config->pass_click_on, 0, 1);
E_CONFIG_LIMIT(e_config->always_click_to_raise, 0, 1);
E_CONFIG_LIMIT(e_config->use_auto_raise, 0, 1); E_CONFIG_LIMIT(e_config->use_auto_raise, 0, 1);
E_CONFIG_LIMIT(e_config->auto_raise_delay, 0.0, 5.0); E_CONFIG_LIMIT(e_config->auto_raise_delay, 0.0, 5.0);
E_CONFIG_LIMIT(e_config->drag_resist, 0, 100);
/* apply lang config - exception because config is loaded after intl setup */ /* apply lang config - exception because config is loaded after intl setup */

View File

@ -46,7 +46,7 @@ typedef Eet_Data_Descriptor E_Config_DD;
* defaults for e to work - started at 100 when we introduced this config * defaults for e to work - started at 100 when we introduced this config
* versioning feature * versioning feature
*/ */
#define E_CONFIG_FILE_VERSION 105 #define E_CONFIG_FILE_VERSION 106
#define E_EVAS_ENGINE_DEFAULT 0 #define E_EVAS_ENGINE_DEFAULT 0
#define E_EVAS_ENGINE_SOFTWARE_X11 1 #define E_EVAS_ENGINE_SOFTWARE_X11 1
@ -98,6 +98,7 @@ struct _E_Config
int always_click_to_raise; int always_click_to_raise;
int use_auto_raise; int use_auto_raise;
double auto_raise_delay; double auto_raise_delay;
int drag_resist;
}; };
/* FIXME: all of thsie needs to become eet lumps for enmcode/decode */ /* FIXME: all of thsie needs to become eet lumps for enmcode/decode */

View File

@ -1237,10 +1237,12 @@ _ibar_icon_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info
if (drag_start) if (drag_start)
{ {
double dist; int dx, dy;
dist = sqrt(pow((ev->cur.output.x - drag_x), 2) + pow((ev->cur.output.y - drag_y), 2)); dx = ev->cur.output.x - drag_x;
if (dist > 4) dy = ev->cur.output.y - drag_y;
if (((dx * dx) + (dy * dy)) >
(e_config->drag_resist * e_config->drag_resist))
{ {
E_Drag *d; E_Drag *d;
Evas_Object *o; Evas_Object *o;