This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch devs/devilhorns/apos
in repository efl.

View the commit online.

commit 698f085a79afe18d3dfbcdd2352e85a19d7d28c9
Author: Christopher Michael <[email protected]>
AuthorDate: Fri Feb 20 10:21:54 2026 -0600

    ecore_drm2: Add APIs to get/set if a display is focused
---
 src/lib/ecore_drm2/Ecore_Drm2.h          |  2 ++
 src/lib/ecore_drm2/ecore_drm2_displays.c | 26 ++++++++++++++++++++++++++
 src/lib/ecore_drm2/ecore_drm2_private.h  |  1 +
 3 files changed, 29 insertions(+)

diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index 7448f06f2e..670af1773f 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -174,6 +174,8 @@ EAPI Eina_Bool ecore_drm2_display_blanktime_get(Ecore_Drm2_Display *disp, int se
 EAPI Eina_Bool ecore_drm2_display_changes_apply(Ecore_Drm2_Display *disp);
 EAPI void ecore_drm2_display_gamma_set(Ecore_Drm2_Display *disp, uint16_t size, uint16_t *red, uint16_t *greeen, uint16_t *blue);
 EAPI void ecore_drm2_display_position_set(Ecore_Drm2_Display *disp, int x, int y);
+EAPI void ecore_drm2_display_focused_set(Ecore_Drm2_Display *disp, Eina_Bool focused);
+EAPI Eina_Bool ecore_drm2_display_focused_get(Ecore_Drm2_Display *disp);
 
 /* Crtc API functions */
 EAPI void ecore_drm2_crtc_geometry_get(Ecore_Drm2_Crtc *crtc, int *x, int *y, int *w, int *h);
diff --git a/src/lib/ecore_drm2/ecore_drm2_displays.c b/src/lib/ecore_drm2/ecore_drm2_displays.c
index 18b1fdfba9..a5025beee5 100644
--- a/src/lib/ecore_drm2/ecore_drm2_displays.c
+++ b/src/lib/ecore_drm2/ecore_drm2_displays.c
@@ -1608,3 +1608,29 @@ ecore_drm2_display_position_set(Ecore_Drm2_Display *disp, int x, int y)
    pstate->y = y;
    pstate->changes |= ECORE_DRM2_DISPLAY_STATE_POSITION;
 }
+
+EAPI void
+ecore_drm2_display_focused_set(Ecore_Drm2_Display *disp, Eina_Bool focused)
+{
+   Ecore_Drm2_Device *dev;
+   Ecore_Drm2_Display *tmp;
+   Eina_List *l;
+
+   EINA_SAFETY_ON_NULL_RETURN(disp);
+
+   if (disp->focused == focused) return;
+
+   /* reset all other displays to not focused */
+   dev = disp->dev;
+   EINA_LIST_FOREACH(dev->displays, l, tmp)
+     tmp->focused = EINA_FALSE;
+
+   disp->focused = focused;
+}
+
+EAPI Eina_Bool
+ecore_drm2_display_focused_get(Ecore_Drm2_Display *disp)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(disp, EINA_FALSE);
+   return disp->focused;
+}
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h
index 74d5a7a443..c98926c0cb 100644
--- a/src/lib/ecore_drm2/ecore_drm2_private.h
+++ b/src/lib/ecore_drm2/ecore_drm2_private.h
@@ -325,6 +325,7 @@ struct _Ecore_Drm2_Display
    void *user_data;
 
    Eina_Bool connected : 1;
+   Eina_Bool focused : 1;
 };
 
 struct _Ecore_Drm2_Connector

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to