e randr x - fix mouseto use new ecore x api to force screen bound limits

use ecore_x_root_screen_barriers_set() new in efl git, thus bumping to
1.23.99 as a requirement for e.
This commit is contained in:
Carsten Haitzler 2020-01-07 14:22:47 +00:00
parent 54afb369f8
commit 73e3911874
3 changed files with 62 additions and 49 deletions

2
TODO
View File

@ -1,4 +1,6 @@
TODO:
* pointer: bug: sometiems get sstuck in move/resize modfe if mouse
over move/resize area when desklock kicks in
* clipboard manager - monitor clipboard changes + history + select from it
* scriptlets: stdin/out module that provides gui services to some
back-end script or process where e just talks via stdin/out.

View File

@ -38,7 +38,7 @@ e_version_rev = '.'.join([ver, git_version])
release = 'dev-0.23.99'
####
efl_version = '>= 1.22.3'
efl_version = '>= 1.23.99'
add_global_arguments('-DHAVE_CONFIG_H=1', language: 'c')
dir_prefix = get_option('prefix')

View File

@ -560,6 +560,10 @@ e_comp_x_randr_config_apply(void)
}
if (numout)
{
Ecore_X_Rectangle *scrs = alloca(crtcs_num * sizeof(Ecore_X_Rectangle));
int scrs_num;
scrs_num = 0;
// set up a crtc to drive each output (or not)
for (i = 0; i < crtcs_num; i++)
{
@ -603,6 +607,11 @@ e_comp_x_randr_config_apply(void)
ecore_x_randr_primary_output_set(root, outconf[i]);
top_priority = -1;
}
scrs[scrs_num].x = screenconf[i]->config.geom.x;
scrs[scrs_num].y = screenconf[i]->config.geom.y;
scrs[scrs_num].width = screenconf[i]->config.geom.w;
scrs[scrs_num].height = screenconf[i]->config.geom.h;
scrs_num++;
}
else
{
@ -612,10 +621,12 @@ e_comp_x_randr_config_apply(void)
ECORE_X_RANDR_ORIENTATION_ROT_0);
}
}
ecore_x_root_screen_barriers_set(scrs, scrs_num);
}
else
{
printf("RRR: EERRRRRROOOORRRRRRR no outputs to configure!\n");
ecore_x_root_screen_barriers_set(NULL, 0);
}
}
free(outputs);