3 #include "e_mod_main.h"
6 #define STR_XRR_LVDS_FUNCTION "XRR_PROPERTY_LVDS_FUNCTION"
12 #define _MAKE_ATOM(a, s) \
14 a = ecore_x_atom_get (s); \
16 SLOG(LOG_DEBUG, "DEVICEMGR", \
17 "[E-devmgr] ##s creation failed.\n"); \
23 XRR_OUTPUT_LVDS_FUNC_NULL, /* null */
24 XRR_OUTPUT_LVDS_FUNC_INIT_VIRTUAL, /* virutal output connect/disconnect */
25 XRR_OUTPUT_LVDS_FUNC_HIBERNATION, /* hibernation on / off */
26 XRR_OUTPUT_LVDS_FUNC_ACCESSIBLILITY, /* accessibility */
27 } XRROutputPropLvdsFunc;
31 e_mod_drv_virt_mon_set (int cmd)
33 SLOG(LOG_DEBUG, "DEVICEMGR", "[DeviceMgr]: set the virtual output connect/disconnect\n");
35 E_Randr_Output_Info *output_info = NULL;
37 Eina_Bool found_output = EINA_FALSE;
38 Ecore_X_Randr_Output output_xid[1] = {0};
39 Ecore_X_Atom lvds_func;
42 EINA_LIST_FOREACH (e_randr_screen_info.rrvd_info.randr_info_12->outputs, l_output, output_info)
44 if (output_info == NULL)
47 if (!strcmp (output_info->name, "LVDS1"))
49 output_xid[0] = output_info->xid;
50 found_output = EINA_TRUE;
56 SLOG(LOG_DEBUG, "DEVICEMGR", "[DeviceMgr]: fail to initialize the virtual output\n");
62 _MAKE_ATOM (lvds_func, STR_XRR_LVDS_FUNCTION);
64 value[0] = XRR_OUTPUT_LVDS_FUNC_INIT_VIRTUAL;
67 /* no ecore x API for XRRChangeOutputProperty */
68 XRRChangeOutputProperty (ecore_x_display_get (), output_xid[0], lvds_func, XA_INTEGER, 32,
69 PropModeReplace, (unsigned char *)&value, 2);
71 /* replay through XSendMessage */
82 e_mod_drv_hib_set (int cmd)
84 SLOG(LOG_DEBUG, "DEVICEMGR", "[DeviceMgr]: set the hibernation on/off\n");
86 E_Randr_Output_Info *output_info = NULL;
88 Eina_Bool found_output = EINA_FALSE;
89 Ecore_X_Randr_Output output_xid[1] = {0};
90 Ecore_X_Atom lvds_func;
93 EINA_LIST_FOREACH (e_randr_screen_info.rrvd_info.randr_info_12->outputs, l_output, output_info)
95 if (output_info == NULL)
98 if (!strcmp (output_info->name, "LVDS1"))
100 output_xid[0] = output_info->xid;
101 found_output = EINA_TRUE;
107 SLOG(LOG_DEBUG, "DEVICEMGR", "[DeviceMgr]: fail to initialize the virtual output\n");
113 _MAKE_ATOM (lvds_func, STR_XRR_LVDS_FUNCTION);
115 value[0] = XRR_OUTPUT_LVDS_FUNC_HIBERNATION;
118 /* no ecore x API for XRRChangeOutputProperty */
119 XRRChangeOutputProperty (ecore_x_display_get (), output_xid[0], lvds_func, XA_INTEGER, 32,
120 PropModeReplace, (unsigned char *)&value, 2);
122 /* replay through XSendMessage */