forked from enlightenment/enlightenment
Disable e_randr refresh on startup, because runtime settings get lost
SVN revision: 68169
This commit is contained in:
parent
147659280f
commit
f4820b562e
|
@ -121,7 +121,7 @@ create_data(E_Config_Dialog *cfd)
|
||||||
|
|
||||||
// Prove we got all things to get going
|
// Prove we got all things to get going
|
||||||
EINA_SAFETY_ON_TRUE_RETURN_VAL(!E_RANDR_12, NULL);
|
EINA_SAFETY_ON_TRUE_RETURN_VAL(!E_RANDR_12, NULL);
|
||||||
e_randr_screen_info_refresh();
|
//e_randr_screen_info_refresh();
|
||||||
e_config_runtime_info = E_NEW(E_Config_Dialog_Data, 1);
|
e_config_runtime_info = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
|
|
||||||
e_config_runtime_info->cfd = cfd;
|
e_config_runtime_info->cfd = cfd;
|
||||||
|
|
|
@ -220,15 +220,14 @@ _dialog_subdialog_arrangement_rep_add(Evas *canvas, E_Config_Randr_Dialog_Output
|
||||||
//Try to get the name of the monitor connected to the output's last output via edid
|
//Try to get the name of the monitor connected to the output's last output via edid
|
||||||
//else use the output's name
|
//else use the output's name
|
||||||
if (output_dialog_data->crtc)
|
if (output_dialog_data->crtc)
|
||||||
output_info = (E_Randr_Output_Info *)eina_list_data_get(eina_list_last(output_dialog_data->crtc->outputs));
|
output_info = (E_Randr_Output_Info *)eina_list_data_get(output_dialog_data->crtc->outputs);
|
||||||
else
|
else
|
||||||
output_info = output_dialog_data->output;
|
output_info = output_dialog_data->output;
|
||||||
if (output_info)
|
if (output_info)
|
||||||
{
|
{
|
||||||
if (output_info->monitor &&
|
if (output_info->monitor)
|
||||||
ecore_x_randr_edid_has_valid_header(output_info->monitor->edid, output_info->monitor->edid_length))
|
|
||||||
output_name = ecore_x_randr_edid_display_name_get(output_info->monitor->edid, output_info->monitor->edid_length);
|
output_name = ecore_x_randr_edid_display_name_get(output_info->monitor->edid, output_info->monitor->edid_length);
|
||||||
else if (output_info->name)
|
if (!output_name && output_info->name)
|
||||||
output_name = output_info->name;
|
output_name = output_info->name;
|
||||||
}
|
}
|
||||||
if (output_name)
|
if (output_name)
|
||||||
|
|
|
@ -15,7 +15,7 @@ Eina_Bool dialog_subdialog_orientation_basic_apply_data(E_Config_Dialog *cfd,
|
||||||
void dialog_subdialog_orientation_update_radio_buttons(Evas_Object *crtc);
|
void dialog_subdialog_orientation_update_radio_buttons(Evas_Object *crtc);
|
||||||
void dialog_subdialog_orientation_update_edje(Evas_Object *crtc);
|
void dialog_subdialog_orientation_update_edje(Evas_Object *crtc);
|
||||||
|
|
||||||
//static void _dialog_subdialog_orientation_policy_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
//static void _dialog_subdialog_orientation_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
extern E_Config_Dialog_Data *e_config_runtime_info;
|
extern E_Config_Dialog_Data *e_config_runtime_info;
|
||||||
extern char _theme_file_path[];
|
extern char _theme_file_path[];
|
||||||
|
|
||||||
|
@ -23,12 +23,12 @@ extern char _theme_file_path[];
|
||||||
static void
|
static void
|
||||||
_dialog_subdialog_orientation_radio_add_callbacks(void)
|
_dialog_subdialog_orientation_radio_add_callbacks(void)
|
||||||
{
|
{
|
||||||
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_reflect_vertical, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_policy_mouse_up_cb, NULL);
|
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_reflect_vertical, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_mouse_up_cb, NULL);
|
||||||
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_reflect_horizontal, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_policy_mouse_up_cb, NULL);
|
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_reflect_horizontal, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_mouse_up_cb, NULL);
|
||||||
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_rot270, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_policy_mouse_up_cb, NULL);
|
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_rot270, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_mouse_up_cb, NULL);
|
||||||
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_rot180, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_policy_mouse_up_cb, NULL);
|
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_rot180, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_mouse_up_cb, NULL);
|
||||||
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_rot90, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_policy_mouse_up_cb, NULL);
|
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_rot90, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_mouse_up_cb, NULL);
|
||||||
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_normal, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_policy_mouse_up_cb, NULL);
|
evas_object_event_callback_add (e_config_runtime_info->gui.subdialogs.orientation.radio_normal, EVAS_CALLBACK_MOUSE_UP, _dialog_subdialog_orientation_mouse_up_cb, NULL);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ _dialog_subdialog_orientation_radio_add_fail:
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static void
|
static void
|
||||||
_dialog_subdialog_orientation_policy_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
_dialog_subdialog_orientation_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
{
|
{
|
||||||
char signal[40];
|
char signal[40];
|
||||||
int orientation = ECORE_X_RANDR_ORIENTATION_ROT_0;
|
int orientation = ECORE_X_RANDR_ORIENTATION_ROT_0;
|
||||||
|
|
|
@ -19,19 +19,19 @@ Eina_Bool dialog_subdialog_policies_create_data(E_Config_Dialog_Data *e_confi
|
||||||
Eina_Bool dialog_subdialog_policies_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
Eina_Bool dialog_subdialog_policies_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
Eina_Bool dialog_subdialog_policies_basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
Eina_Bool dialog_subdialog_policies_basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
Eina_Bool dialog_subdialog_policies_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
Eina_Bool dialog_subdialog_policies_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
void dialog_subdialog_policies_update_radio_buttons(Evas_Object *crtc);
|
void dialog_subdialog_policies_update_radio_buttons(Evas_Object *rep);
|
||||||
|
|
||||||
//static void _dialog_subdialog_policies_policy_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
//static void _dialog_subdialog_policies_policy_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
extern E_Config_Dialog_Data *e_config_runtime_info;
|
extern E_Config_Dialog_Data *e_config_runtime_info;
|
||||||
extern char _theme_file_path[];
|
extern char _theme_file_path[];
|
||||||
|
|
||||||
static const char *_ECORE_X_RANDR_POLICIES_STRINGS[] = {
|
static const char *_POLICIES_STRINGS[] = {
|
||||||
"ECORE_X_RANDR_OUTPUT_POLICY_ABOVE",
|
"ABOVE",
|
||||||
"ECORE_X_RANDR_OUTPUT_POLICY_RIGHT",
|
"RIGHT",
|
||||||
"ECORE_X_RANDR_OUTPUT_POLICY_BELOW",
|
"BELOW",
|
||||||
"ECORE_X_RANDR_OUTPUT_POLICY_LEFT",
|
"LEFT",
|
||||||
"ECORE_X_RANDR_OUTPUT_POLICY_CLONE",
|
"CLONE",
|
||||||
"ECORE_X_RANDR_OUTPUT_POLICY_NONE"};
|
"NONE"};
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -51,20 +51,21 @@ Eina_Bool
|
||||||
dialog_subdialog_policies_create_data(E_Config_Dialog_Data *e_config_runtime_info)
|
dialog_subdialog_policies_create_data(E_Config_Dialog_Data *e_config_runtime_info)
|
||||||
{
|
{
|
||||||
E_Config_Randr_Dialog_Output_Dialog_Data *odd;
|
E_Config_Randr_Dialog_Output_Dialog_Data *odd;
|
||||||
|
E_Randr_Output_Info *oi;
|
||||||
Eina_List *iter;
|
Eina_List *iter;
|
||||||
|
|
||||||
if (!e_config_runtime_info || !e_config_runtime_info->output_dialog_data_list) return EINA_FALSE;
|
if (!e_config_runtime_info || !e_config_runtime_info->output_dialog_data_list) return EINA_FALSE;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(e_config_runtime_info->output_dialog_data_list, iter, odd)
|
EINA_LIST_FOREACH(e_config_runtime_info->output_dialog_data_list, iter, odd)
|
||||||
{
|
{
|
||||||
E_Randr_Output_Info *oi;
|
|
||||||
if (odd->crtc)
|
if (odd->crtc)
|
||||||
oi = eina_list_data_get(eina_list_last(odd->crtc->outputs));
|
oi = eina_list_data_get(odd->crtc->outputs);
|
||||||
else if (odd->output)
|
else if (odd->output)
|
||||||
oi = odd->output;
|
oi = odd->output;
|
||||||
else continue;
|
else continue;
|
||||||
odd->previous_policy = oi->policy;
|
odd->previous_policy = oi->policy;
|
||||||
odd->new_policy = oi->policy;
|
odd->new_policy = oi->policy;
|
||||||
|
fprintf(stderr, "CONF_RANDR: Read in policy of %d as %s.\n", oi->xid, _POLICIES_STRINGS[odd->new_policy - 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
|
@ -205,7 +206,7 @@ dialog_subdialog_policies_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Co
|
||||||
//policy update
|
//policy update
|
||||||
e_config_runtime_info->gui.selected_output_dd->previous_policy = e_config_runtime_info->gui.selected_output_dd->new_policy;
|
e_config_runtime_info->gui.selected_output_dd->previous_policy = e_config_runtime_info->gui.selected_output_dd->new_policy;
|
||||||
e_config_runtime_info->gui.selected_output_dd->new_policy = e_config_runtime_info->gui.subdialogs.policies.radio_val;
|
e_config_runtime_info->gui.selected_output_dd->new_policy = e_config_runtime_info->gui.subdialogs.policies.radio_val;
|
||||||
fprintf(stderr, "CONF_RANDR: 'New display attached'-policy set to %s.\n", _ECORE_X_RANDR_POLICIES_STRINGS[e_config_runtime_info->gui.selected_output_dd->new_policy - 1]);
|
fprintf(stderr, "CONF_RANDR: 'New display attached'-policy set to %s.\n", _POLICIES_STRINGS[e_config_runtime_info->gui.selected_output_dd->new_policy - 1]);
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -219,14 +220,13 @@ dialog_subdialog_policies_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
dialog_subdialog_policies_update_radio_buttons(Evas_Object *crtc)
|
dialog_subdialog_policies_update_radio_buttons(Evas_Object *rep)
|
||||||
{
|
{
|
||||||
E_Config_Randr_Dialog_Output_Dialog_Data *output_dialog_data;
|
E_Config_Randr_Dialog_Output_Dialog_Data *output_dialog_data;
|
||||||
E_Randr_Output_Info *output = NULL;
|
|
||||||
Ecore_X_Randr_Output_Policy policy;
|
Ecore_X_Randr_Output_Policy policy;
|
||||||
|
|
||||||
//disable widgets, if no crtc is selected
|
//disable widgets, if no rep is selected
|
||||||
if (!crtc || !(output_dialog_data = evas_object_data_get(crtc, "rep_info")))
|
if (!rep || !(output_dialog_data = evas_object_data_get(rep, "rep_info")))
|
||||||
{
|
{
|
||||||
//Evas_Object *radio_above, *radio_right, *radio_below, *radio_left, *radio_clone, *radio_none;
|
//Evas_Object *radio_above, *radio_right, *radio_below, *radio_left, *radio_clone, *radio_none;
|
||||||
e_widget_disabled_set(e_config_runtime_info->gui.subdialogs.policies.radio_above, EINA_TRUE);
|
e_widget_disabled_set(e_config_runtime_info->gui.subdialogs.policies.radio_above, EINA_TRUE);
|
||||||
|
@ -247,17 +247,7 @@ dialog_subdialog_policies_update_radio_buttons(Evas_Object *crtc)
|
||||||
e_widget_disabled_set(e_config_runtime_info->gui.subdialogs.policies.radio_none, EINA_FALSE);
|
e_widget_disabled_set(e_config_runtime_info->gui.subdialogs.policies.radio_none, EINA_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (output_dialog_data->crtc && output_dialog_data->crtc->outputs)
|
policy = output_dialog_data->new_policy;
|
||||||
{
|
|
||||||
output = (E_Randr_Output_Info *)eina_list_data_get(eina_list_last(output_dialog_data->crtc->outputs));
|
|
||||||
}
|
|
||||||
else if (output_dialog_data->output)
|
|
||||||
{
|
|
||||||
output = output_dialog_data->output;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!output) return;
|
|
||||||
policy = output->policy;
|
|
||||||
e_config_runtime_info->gui.selected_output_dd = output_dialog_data;
|
e_config_runtime_info->gui.selected_output_dd = output_dialog_data;
|
||||||
//toggle the switch of the currently used policies
|
//toggle the switch of the currently used policies
|
||||||
switch (policy)
|
switch (policy)
|
||||||
|
@ -291,11 +281,26 @@ void
|
||||||
dialog_subdialog_policies_keep_changes(E_Config_Dialog_Data *cfdata)
|
dialog_subdialog_policies_keep_changes(E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
E_Config_Randr_Dialog_Output_Dialog_Data *odd;
|
E_Config_Randr_Dialog_Output_Dialog_Data *odd;
|
||||||
|
E_Randr_Output_Info *oi;
|
||||||
|
Eina_List *iter;
|
||||||
|
|
||||||
if (!cfdata || !cfdata->gui.selected_output_dd || !cfdata->gui.selected_output_dd->output) return;
|
if (!cfdata || !cfdata->gui.selected_output_dd || !cfdata->gui.selected_output_dd->output) return;
|
||||||
|
|
||||||
odd = cfdata->gui.selected_output_dd;
|
odd = cfdata->gui.selected_output_dd;
|
||||||
odd->previous_policy = odd->new_policy;
|
odd->previous_policy = odd->new_policy;
|
||||||
odd->output->policy = odd->new_policy;
|
if (odd->crtc)
|
||||||
|
{
|
||||||
|
EINA_LIST_FOREACH(odd->crtc->outputs, iter, oi)
|
||||||
|
{
|
||||||
|
oi->policy = odd->new_policy;
|
||||||
|
fprintf(stderr, "CONF_RANDR: Policy change to %s kept for output %d.\n", _POLICIES_STRINGS[odd->new_policy - 1], oi->xid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (odd->output)
|
||||||
|
{
|
||||||
|
odd->output->policy = odd->new_policy;
|
||||||
|
fprintf(stderr, "CONF_RANDR: Policy change to %s kept for output %d.\n", _POLICIES_STRINGS[odd->new_policy - 1], odd->output->xid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in New Issue