ecore_x: add API to request selection changed events for diff. wins

we need that in order to get seleciton per window events, which is
required to get a nice mapping onto the ecore_evas object.

Differential Revision: https://phab.enlightenment.org/D11193
This commit is contained in:
Marcel Hollerbach 2020-01-12 17:36:48 +01:00
parent 15cc69232c
commit a8cb23a21a
2 changed files with 28 additions and 0 deletions

View File

@ -2444,6 +2444,14 @@ EAPI void ecore_x_root_screen_barriers_set(Ecore_X_Rectangle *scre
*/
EAPI Eina_Bool ecore_x_fixes_selection_notification_request(Ecore_X_Atom selection);
/**
* xfixes selection notification request.
*
* In addition to ecore_x_fixes_selection_notification_request you can also specify for which window you want to get them
*/
EAPI Eina_Bool ecore_x_fixes_window_selection_notification_request(Ecore_X_Window window, Ecore_X_Atom selection);
/* XComposite Extension Support */
EAPI Eina_Bool ecore_x_composite_query(void);
EAPI void ecore_x_composite_redirect_window(Ecore_X_Window win, Ecore_X_Composite_Update_Type type);

View File

@ -112,6 +112,26 @@ ecore_x_fixes_selection_notification_request(Ecore_X_Atom selection)
return EINA_FALSE;
}
EAPI Eina_Bool
ecore_x_fixes_window_selection_notification_request(Ecore_X_Window window, Ecore_X_Atom selection)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, EINA_FALSE);
#ifdef ECORE_XFIXES
if (_fixes_available)
{
XFixesSelectSelectionInput (_ecore_x_disp,
window,
selection,
XFixesSetSelectionOwnerNotifyMask |
XFixesSelectionWindowDestroyNotifyMask |
XFixesSelectionClientCloseNotifyMask);
return EINA_TRUE;
}
#endif
return EINA_FALSE;
}
EAPI Ecore_X_Region
ecore_x_region_new(Ecore_X_Rectangle *rects,
int num)