Win
Elementary

## Topics

| Inwin

## Data Structures

struct | _Elm_Win_Trap

## Typedefs

typedef struct _Elm_Win_Trap | Elm_Win_Trap
| Trap can be set with elm_win_trap_set() and will intercept the calls to internal ecore_evas with the same name and parameters.

## Enumerations

enum | Elm_Win_Indicator_Mode { ELM_WIN_INDICATOR_UNKNOWN = 0 , ELM_WIN_INDICATOR_HIDE , ELM_WIN_INDICATOR_SHOW }
| In some environments, like phones, you may have an indicator that shows battery status, reception, time etc. More...
enum | Elm_Win_Indicator_Opacity_Mode { ELM_WIN_INDICATOR_OPACITY_UNKNOWN = 0 , ELM_WIN_INDICATOR_OPAQUE , ELM_WIN_INDICATOR_TRANSLUCENT , ELM_WIN_INDICATOR_TRANSPARENT }
| Defines the opacity modes of indicator that can be shown. More...
enum | Elm_Win_Type { ELM_WIN_UNKNOWN = -1 , ELM_WIN_BASIC , ELM_WIN_DIALOG_BASIC , ELM_WIN_DESKTOP , ELM_WIN_DOCK , ELM_WIN_TOOLBAR , ELM_WIN_MENU , ELM_WIN_UTILITY , ELM_WIN_SPLASH , ELM_WIN_DROPDOWN_MENU , ELM_WIN_POPUP_MENU , ELM_WIN_TOOLTIP , ELM_WIN_NOTIFICATION , ELM_WIN_COMBO , ELM_WIN_DND , ELM_WIN_INLINED_IMAGE , ELM_WIN_SOCKET_IMAGE , ELM_WIN_FAKE , ELM_WIN_NAVIFRAME_BASIC }
| Defines the types of window that can be created. More...

enum

Elm_Win_Keyboard_Mode {
ELM_WIN_KEYBOARD_UNKNOWN = 0 ,
ELM_WIN_KEYBOARD_OFF ,
ELM_WIN_KEYBOARD_ON ,
ELM_WIN_KEYBOARD_ALPHA ,
ELM_WIN_KEYBOARD_NUMERIC ,
ELM_WIN_KEYBOARD_PIN ,
ELM_WIN_KEYBOARD_PHONE_NUMBER ,
ELM_WIN_KEYBOARD_HEX ,
ELM_WIN_KEYBOARD_TERMINAL ,
ELM_WIN_KEYBOARD_PASSWORD ,
ELM_WIN_KEYBOARD_IP ,
ELM_WIN_KEYBOARD_HOST ,
ELM_WIN_KEYBOARD_FILE ,
ELM_WIN_KEYBOARD_URL ,
ELM_WIN_KEYBOARD_KEYPAD ,
ELM_WIN_KEYBOARD_J2ME
}

| The different layouts that can be requested for the virtual keyboard. More...
enum | Elm_Win_Keygrab_Mode { ELM_WIN_KEYGRAB_UNKNOWN = 0 , ELM_WIN_KEYGRAB_SHARED = 256 , ELM_WIN_KEYGRAB_TOPMOST = 512 , ELM_WIN_KEYGRAB_EXCLUSIVE = 1024 , ELM_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE = 2048 }
| Define the keygrab modes of window. More...
enum | Elm_Win_Move_Resize_Mode { ELM_WIN_MOVE_RESIZE_MOVE = 1 , ELM_WIN_MOVE_RESIZE_TOP = 2 , ELM_WIN_MOVE_RESIZE_BOTTOM = 4 , ELM_WIN_MOVE_RESIZE_LEFT = 8 , ELM_WIN_MOVE_RESIZE_RIGHT = 16 }
| Define the move or resize mode of window. More...

## Functions

Eina_Bool | elm_win_trap_set (const Elm_Win_Trap *trap)
| Sets the trap to be used for internal `Ecore_Evas` management.
Evas_Object * | elm_win_add (Evas_Object *parent, const char *name, Elm_Win_Type type)
| Adds a window object.
Evas_Object * | elm_win_fake_add (Ecore_Evas *ee)
| Creates a fake window object using a pre-existing canvas.
Evas_Object * | elm_win_util_standard_add (const char *name, const char *title)
| Adds a window object with standard setup.
Evas_Object * | elm_win_util_dialog_add (Evas_Object *parent, const char *name, const char *title)
| Adds a window object with dialog setup.
Eina_Bool | elm_win_autodel_get (const Evas_Object *obj)
| Get the window's autodel state.
void | elm_win_floating_mode_set (Evas_Object *obj, Eina_Bool floating)
| Set the floating mode of a window.
Eina_Bool | elm_win_floating_mode_get (const Evas_Object *obj)
| Get the floating mode of a window.
void | elm_win_norender_push (Evas_Object *obj)
| This pushes (increments) the norender counter on the window.
void | elm_win_norender_pop (Evas_Object *obj)
| This pops (decrements) the norender counter on the window.
int | elm_win_norender_get (const Evas_Object *obj)
| The returns how many times norender has been pushed on the window.
void | elm_win_render (Evas_Object *obj)
| This manually asks evas to render the window now.
Ecore_Wl2_Window * | elm_win_wl_window_get (const Evas_Object *obj)
| Get the Ecore_Wl_Window of an Evas_Object.
Ecore_Win32_Window * | elm_win_win32_window_get (const Evas_Object *obj)
| Get the Ecore_Win32_Window of an Evas_Object.
void | elm_win_wm_rotation_preferred_rotation_set (Evas_Object *obj, int rotation)
| Set the preferred rotation value.
void | elm_win_resize_object_add (Evas_Object *obj, Evas_Object *subobj)
| Add `subobj` as a resize object of window `obj`.
void | elm_win_resize_object_del (Evas_Object *obj, Evas_Object *subobj)
| Delete `subobj` as a resize object of window `obj`.
Ecore_X_Window | elm_win_xwindow_get (const Evas_Object *obj)
| Get the Ecore_X_Window of an Evas_Object.
Ecore_Cocoa_Window * | elm_win_cocoa_window_get (const Evas_Object *obj)
| Get the Ecore_Cocoa_Window of an Efl.Canvas.Object.
void * | elm_win_trap_data_get (const Evas_Object *obj)
| Get the trap data associated with a window.
void | elm_win_override_set (Evas_Object *obj, Eina_Bool override)
| Set the override state of a window.
Eina_Bool | elm_win_override_get (const Evas_Object *obj)
| Get the override state of a window.
void | elm_win_lower (Evas_Object *obj)
| Lower a window object.
void | elm_win_quickpanel_set (Evas_Object *obj, Eina_Bool quickpanel)
| Set a window to be an illume quickpanel window.
Eina_Bool | elm_win_quickpanel_get (const Evas_Object *obj)
| Get if this window is a quickpanel or not.
void | elm_win_quickpanel_zone_set (Evas_Object *obj, int zone)
| Set which zone this quickpanel should appear in.
int | elm_win_quickpanel_zone_get (const Evas_Object *obj)
| Get which zone this quickpanel should appear in.
void | elm_win_quickpanel_priority_major_set (Evas_Object *obj, int priority)
| Set the major priority of a quickpanel window.
int | elm_win_quickpanel_priority_major_get (const Evas_Object *obj)
| Get the major priority of a quickpanel window.
void | elm_win_quickpanel_priority_minor_set (Evas_Object *obj, int priority)
| Set the minor priority of a quickpanel window.
int | elm_win_quickpanel_priority_minor_get (const Evas_Object *obj)
| Get the minor priority of a quickpanel window.
void | elm_win_indicator_mode_set (Evas_Object *obj, Elm_Win_Indicator_Mode mode)
| Sets the indicator mode of the window.
Elm_Win_Indicator_Mode | elm_win_indicator_mode_get (const Evas_Object *obj)
| Get the indicator mode of the window.
void | elm_win_indicator_opacity_set (Evas_Object *obj, Elm_Win_Indicator_Opacity_Mode mode)
| Sets the indicator opacity mode of the window.
Elm_Win_Indicator_Opacity_Mode | elm_win_indicator_opacity_get (const Evas_Object *obj)
| Get the indicator opacity mode of the window.
void | elm_win_keyboard_win_set (Evas_Object *obj, Eina_Bool is_keyboard)
| Sets whether the window is a keyboard.
Eina_Bool | elm_win_keyboard_win_get (const Evas_Object *obj)
| Get whether the window is a keyboard.
void | elm_win_conformant_set (Evas_Object *obj, Eina_Bool conformant)
| Set if this window is an illume conformant window.
Eina_Bool | elm_win_conformant_get (const Evas_Object *obj)
| Get if this window is an illume conformant window.
void | elm_win_wm_rotation_manual_rotation_done_set (Evas_Object *obj, Eina_Bool set)
| Set the manual rotation done mode.
Eina_Bool | elm_win_wm_rotation_manual_rotation_done_get (const Evas_Object *obj)
| Get the state of manual rotation done mode.
void | elm_win_wm_rotation_manual_rotation_done (Evas_Object *obj)
| To notify the rotation done to WM manually.
void | elm_win_rotation_set (Evas_Object *obj, int rotation)
| Set the rotation of the window.
int | elm_win_rotation_get (const Evas_Object *obj)
| Get the rotation of the window.
void | elm_win_rotation_with_resize_set (Evas_Object *obj, int rotation)
| Rotates the window and resizes it.
Eina_Bool | elm_win_wm_rotation_supported_get (const Evas_Object *obj)
| Query whether window manager supports window rotation or not.
int | elm_win_wm_rotation_preferred_rotation_get (const Evas_Object *obj)
| Get the preferred rotation value.
void | elm_win_screen_position_get (const Evas_Object *obj, int *x, int *y)
| Get the screen position of a window.
void | elm_win_screen_size_get (const Evas_Object *obj, int *x, int *y, int *w, int *h)
| Get screen geometry details for the screen that a window is on.
void | elm_win_screen_dpi_get (const Evas_Object *obj, int *xdpi, int *ydpi)
| Get screen dpi for the screen that a window is on.
void | elm_win_icon_name_set (Evas_Object *obj, const char *icon_name)
| Set the icon name of the window.
const char * | elm_win_icon_name_get (const Evas_Object *obj)
| Get the icon name of the window.
void | elm_win_withdrawn_set (Evas_Object *obj, Eina_Bool withdrawn)
| Set the withdrawn state of a window.
Eina_Bool | elm_win_withdrawn_get (const Evas_Object *obj)
| Get the withdrawn state of a window.
void | elm_win_urgent_set (Evas_Object *obj, Eina_Bool urgent)
| Set the urgent state of a window.
Eina_Bool | elm_win_urgent_get (const Evas_Object *obj)
| Get the urgent state of a window.
void | elm_win_demand_attention_set (Evas_Object *obj, Eina_Bool demand_attention)
| Set the demand_attention state of a window.
Eina_Bool | elm_win_demand_attention_get (const Evas_Object *obj)
| Get the demand_attention state of a window.
void | elm_win_modal_set (Evas_Object *obj, Eina_Bool modal)
| Set the modal state of a window.
Eina_Bool | elm_win_modal_get (const Evas_Object *obj)
| Get the modal state of a window.
void | elm_win_shaped_set (Evas_Object *obj, Eina_Bool shaped)
| Set the shaped state of a window.
Eina_Bool | elm_win_shaped_get (const Evas_Object *obj)
| Get the shaped state of a window.
void | elm_win_title_set (Evas_Object *obj, const char *title)
| Set the title of the window.
const char * | elm_win_title_get (const Evas_Object *obj)
| Get the title of the window.
void | elm_win_size_base_set (Evas_Object *obj, int w, int h)
| Set the base window size used with stepping calculation.
void | elm_win_size_base_get (const Evas_Object *obj, int *w, int *h)
| Get the base size of a window.
void | elm_win_size_step_set (Evas_Object *obj, int w, int h)
| Set the window stepping used with sizing calculation.
void | elm_win_size_step_get (const Evas_Object *obj, int *w, int *h)
| Get the stepping of a window.
void | elm_win_illume_command_send (Evas_Object *obj, Elm_Illume_Command command, void *params)
| Send a command to the windowing environment.
void | elm_win_profile_set (Evas_Object *obj, const char *profile)
| Set the profile of a window.
const char * | elm_win_profile_get (const Evas_Object *obj)
| Get the profile of a window.
void | elm_win_layer_set (Evas_Object *obj, int layer)
| Set the layer of the window.
int | elm_win_layer_get (const Evas_Object *obj)
| Get the layer of the window.
Evas_Object * | elm_win_inlined_image_object_get (const Evas_Object *obj)
| Get the inlined image object handle.
void | elm_win_fake_canvas_set (Evas_Object *obj, Ecore_Evas *oee) EINA_DEPRECATED
| Internal.
Ecore_Window | elm_win_window_id_get (const Evas_Object *obj)
| Get the Ecore_Window of an Evas_Object.
Evas_Object * | elm_win_main_menu_get (Evas_Object *obj)
| Get the Main Menu of a window.
void | elm_win_keyboard_mode_set (Elm_Win *obj, Elm_Win_Keyboard_Mode mode)
| Sets the keyboard mode of the window.
Elm_Win_Keyboard_Mode | elm_win_keyboard_mode_get (const Elm_Win *obj)
| Get the keyboard mode of the window.
Eina_Bool | elm_win_socket_listen (Elm_Win *obj, const char *svcname, int svcnum, Eina_Bool svcsys)
| Create a socket to provide the service for Plug widget.
Eina_Bool | elm_win_focus_get (const Elm_Win *obj)
| Get whether a window has focus.
void | elm_win_raise (Elm_Win *obj)
| Raise a window object.
void | elm_win_available_profiles_set (Elm_Win *obj, const char **profiles, unsigned int count)
| Set the array of available profiles to a window.
Eina_Bool | elm_win_available_profiles_get (const Elm_Win *obj, char ***profiles, unsigned int *count)
| Get the array of available profiles of a window.
void | elm_win_wm_rotation_available_rotations_set (Elm_Win *obj, const int *rotations, unsigned int count)
| Set the array of available window rotations.
Eina_Bool | elm_win_wm_rotation_available_rotations_get (const Elm_Win *obj, int **rotations, unsigned int *count)
| Get the array of available window rotations.
void | elm_win_screen_constrain_set (Evas_Object *obj, Eina_Bool constrain)
| Constrain the maximum width and height of a window to the width and height of the screen.
Eina_Bool | elm_win_screen_constrain_get (const Evas_Object *obj)
| Get the constraints on the maximum width and height of a window relative to the width and height of the screen.
void | elm_win_prop_focus_skip_set (Evas_Object *obj, Eina_Bool skip)
| Set the window to be skipped by keyboard focus.
void | elm_win_autohide_set (Evas_Object *obj, Eina_Bool autohide)
| Window's autohide state.
Eina_Bool | elm_win_autohide_get (const Evas_Object *obj)
| Window's autohide state.
void | elm_win_icon_object_set (Evas_Object *obj, Evas_Object *icon)
| Set a window object's icon.
const Evas_Object * | elm_win_icon_object_get (const Evas_Object *obj)
| Get the icon object used for the window.
void | elm_win_iconified_set (Evas_Object *obj, Eina_Bool iconified)
| Set the iconified state of a window.
Eina_Bool | elm_win_iconified_get (const Evas_Object *obj)
| Get the iconified state of a window.
void | elm_win_maximized_set (Evas_Object *obj, Eina_Bool maximized)
| Set the maximized state of a window.
Eina_Bool | elm_win_maximized_get (const Evas_Object *obj)
| Get the maximized state of a window.
void | elm_win_fullscreen_set (Evas_Object *obj, Eina_Bool fullscreen)
| Set the fullscreen state of a window.
Eina_Bool | elm_win_fullscreen_get (const Evas_Object *obj)
| Get the fullscreen state of a window.
void | elm_win_sticky_set (Evas_Object *obj, Eina_Bool sticky)
| Set the sticky state of the window.
Eina_Bool | elm_win_sticky_get (const Evas_Object *obj)
| Get the sticky state of the window.
void | elm_win_noblank_set (Evas_Object *obj, Eina_Bool noblank)
| Set the noblank property of a window.
Eina_Bool | elm_win_noblank_get (const Evas_Object *obj)
| Get the noblank property of a window.
void | elm_win_borderless_set (Evas_Object *obj, Eina_Bool borderless)
| Set the borderless state of a window.
Eina_Bool | elm_win_borderless_get (const Evas_Object *obj)
| Get the borderless state of a window.
void | elm_win_role_set (Evas_Object *obj, const char *role)
| The role of the window.
const char * | elm_win_role_get (const Evas_Object *obj)
| The role of the window.
const char * | elm_win_name_get (const Evas_Object *obj)
| The window name.
Elm_Win_Type | elm_win_type_get (const Evas_Object *obj)
| The type of the window.
const char * | elm_win_accel_preference_get (const Evas_Object *obj)
| The hardware acceleration preference for this window.
void | elm_win_alpha_set (Evas_Object *obj, Eina_Bool alpha)
| Set the alpha channel state of a window.
Eina_Bool | elm_win_alpha_get (const Evas_Object *obj)
| Get the alpha channel state of a window.
void | elm_win_activate (Evas_Object *obj)
| Activate a window object.
void | elm_win_center (Evas_Object *obj, Eina_Bool h, Eina_Bool v)
| Center a window on the screen.
Eina_Bool | elm_win_move_resize_start (Evas_Object *obj, Elm_Win_Move_Resize_Mode mode)
| Start moving or resizing the window.
void | elm_win_focus_highlight_animate_set (Elm_Win *obj, Eina_Bool animate)
| Set the animate status for the focus highlight for this window.
Eina_Bool | elm_win_focus_highlight_animate_get (const Elm_Win *obj)
| Get the animate value of the focus highlight for this window.
void | elm_win_focus_highlight_enabled_set (Elm_Win *obj, Eina_Bool enabled)
| Set the enabled status for the focus highlight in a window.
Eina_Bool | elm_win_focus_highlight_enabled_get (const Elm_Win *obj)
| Get the enabled value of the focus highlight for this window.
Eina_Bool | elm_win_focus_highlight_style_set (Elm_Win *obj, const char *style)
| Set the style for the focus highlight on this window.
const char * | elm_win_focus_highlight_style_get (const Elm_Win *obj)
| Get the style set for the focus highlight object.
void | elm_win_autodel_set (Evas_Object *obj, Eina_Bool autodel)
| Set the window's autodel state.

## Detailed Description

The window class of Elementary. Contains functions to manipulate windows. The Evas engine used to render the window contents is specified in the system or user elementary config files (whichever is found last), and can be overridden with the ELM_ENGINE environment variable for testing. Engines that may be supported (depending on Evas and Ecore-Evas compilation setup and modules actually installed at runtime) are (listed in order of best supported and most likely to be complete and work to lowest quality). Note that ELM_ENGINE is really only needed for special cases and debugging. you should normally use ELM_DISPLAY and ELM_ACCEL environment variables, or core elementary config. ELM_DISPLAY can be set to "x11" or "wl" to indicate the target display system (as on Linux systems you may have both display systems available, so this selects which to use). ELM_ACCEL may also be set to indicate if you want accelerations and which kind to use. see elm_config_accel_preference_set(0 for details on this environment variable values.

- "x11", "x", "software-x11", "software_x11" (Software rendering in X11)
- "gl", "opengl", "opengl-x11", "opengl_x11" (OpenGL or OpenGL-ES2 rendering in X11)
- "shot:..." (Virtual screenshot renderer - renders to output file and exits)
- "fb", "software-fb", "software_fb" (Linux framebuffer direct software rendering)
- "sdl", "software-sdl", "software_sdl" (SDL software rendering to SDL buffer)
- "gl-sdl", "gl_sdl", "opengl-sdl", "opengl_sdl" (OpenGL or OpenGL-ES2 rendering using SDL as the buffer)
- "gdi", "software-gdi", "software_gdi" (Windows WIN32 rendering via GDI with software)
- "ddraw", "software-ddraw", "software_ddraw" (Windows WIN32 rendering via DirectDraw with software)
- "gl-win32", "gl_win32", "opengl-win32", "opengl_win32" (OpenGL-ES2 rendering in Windows, using Angle)
- "gl-cocoa", "gl_cocoa", "opengl-cocoa", "opengl_cocoa" (OpenGL rendering in Cocoa)
- "wayland_shm" (Wayland client SHM rendering)
- "wayland_egl" (Wayland client OpenGL/EGL rendering)
- "drm" (Linux drm/kms etc. direct display)

All engines use a simple string to select the engine to render, EXCEPT the "shot" engine. This actually encodes the output of the virtual screenshot and how long to delay in the engine string. The engine string is encoded in the following way:

"shot:[delay=XX][:][repeat=DDD][:][file=XX]"

Where options are separated by a ":" char if more than one option is given, with delay, if provided being the first option and file the last (order is important). The delay specifies how long to wait after the window is shown before doing the virtual "in memory" rendering and then save the output to the file specified by the file option (and then exit). If no delay is given, the default is 0.5 seconds. If no file is given the default output file is "out.png". Repeat option is for continuous capturing screenshots. Repeat range is from 1 to 999 and filename is fixed to "out001.png" Some examples of using the shot engine:

ELM_ENGINE="shot:delay=1.0:repeat=5:file=elm_test.png" elementary_test ELM_ENGINE="shot:delay=1.0:file=elm_test.png" elementary_test ELM_ENGINE="shot:file=elm_test2.png" elementary_test ELM_ENGINE="shot:delay=2.0" elementary_test ELM_ENGINE="shot:" elementary_test

Signals that you can add callbacks for are:

- "delete,request": the user requested to close the window. See elm_win_autodel_set() and elm_win_autohide_set().
- "focus,in": window got focus (deprecated. use "focused" instead.)
- "focus,out": window lost focus (deprecated. use "unfocused" instead.)
- "moved": window that holds the canvas was moved
- "withdrawn": window is still managed normally but removed from view
- "iconified": window is minimized (perhaps into an icon or taskbar)
- "normal": window is in a normal state (not withdrawn or iconified)
- "stick": window has become sticky (shows on all desktops)
- "unstick": window has stopped being sticky
- "fullscreen": window has become fullscreen
- "unfullscreen": window has stopped being fullscreen
- "maximized": window has been maximized
- "unmaximized": window has stopped being maximized
- "ioerr": there has been a low-level I/O error with the display system
- "indicator,prop,changed": an indicator's property has been changed
- "rotation,changed": window rotation has been changed
- "profile,changed": profile of the window has been changed
- "focused" : When the win has received focus. (since 1.8)
- "unfocused" : When the win has lost focus. (since 1.8)
- "theme,changed" - The theme was changed. (since 1.13)

Note that calling evas_object_show() after window contents creation is recommended. It will trigger evas_smart_objects_calculate() and some backend calls directly. For example, XMapWindow is called directly during evas_object_show() in X11 engine.

Examples:

- Win - General API overview

## Typedef Documentation

## Elm_Win_Trap

typedef struct _Elm_Win_Trap Elm_Win_Trap

Trap can be set with elm_win_trap_set() and will intercept the calls to internal ecore_evas with the same name and parameters.

If there is a trap and it returns `EINA_TRUE` then the call will be allowed, otherwise it will be ignored.

Since
  1.7

## Enumeration Type Documentation

## Elm_Win_Indicator_Mode

enum Elm_Win_Indicator_Mode

In some environments, like phones, you may have an indicator that shows battery status, reception, time etc.

This is the indicator.

Sometimes you don't want it because you provide the same functionality inside your app, so this will request that the indicator is hidden in this circumstance. The default is depend on the environments. For example, like phones, default is to have the indicator shown. But like TV, default is to have the indicator hidden.

Enumerator
ELM_WIN_INDICATOR_HIDE | Unknown indicator state.
ELM_WIN_INDICATOR_SHOW | Hides the indicator. Shows the indicator

## Elm_Win_Indicator_Opacity_Mode

enum Elm_Win_Indicator_Opacity_Mode

Defines the opacity modes of indicator that can be shown.

Enumerator
ELM_WIN_INDICATOR_OPAQUE | Unknown indicator opacity mode.
ELM_WIN_INDICATOR_TRANSLUCENT | Opacifies the indicator.
ELM_WIN_INDICATOR_TRANSPARENT | Be translucent the indicator. Transparentizes the indicator

## Elm_Win_Type

enum Elm_Win_Type

Defines the types of window that can be created.

These are hints set on a window so that a running Window Manager knows how the window should be handled and/or what kind of decorations it should have.

Currently, only the X11 backed engines use them.

Enumerator
ELM_WIN_UNKNOWN | Default, unknown, type.
ELM_WIN_BASIC | A normal window. Indicates a normal, top-level window. Almost every window will be created with this type.
ELM_WIN_DIALOG_BASIC | Used for simple dialog windows.
ELM_WIN_DESKTOP | For special desktop windows, like a background window holding desktop icons.
ELM_WIN_DOCK | The window is used as a dock or panel. Usually would be kept on top of any other window by the Window Manager.
ELM_WIN_TOOLBAR | The window is used to hold a floating toolbar, or similar.
ELM_WIN_MENU | Similar to .toolbar.
ELM_WIN_UTILITY | A persistent utility window, like a toolbox or palette.
ELM_WIN_SPLASH | Splash window for a starting up application.
ELM_WIN_DROPDOWN_MENU | The window is a dropdown menu, as when an entry in a menubar is clicked. This hint exists for completion only, as the EFL way of implementing a menu would not normally use a separate window for its contents.
ELM_WIN_POPUP_MENU | Like .dropdown_menu, but for the menu triggered by right-clicking an object.
ELM_WIN_TOOLTIP | The window is a tooltip. A short piece of explanatory text that typically appear after the mouse cursor hovers over an object for a while. Typically not very commonly used in the EFL.
ELM_WIN_NOTIFICATION | A notification window, like a warning about battery life or a new E-Mail received.
ELM_WIN_COMBO | A window holding the contents of a combo box. Not usually used in the EFL.
ELM_WIN_DND | Used to indicate the window is a representation of an object being dragged across different windows, or even applications. Typically used with elm_win_override_set().
ELM_WIN_INLINED_IMAGE | The window is an image.
ELM_WIN_SOCKET_IMAGE | The window is an image received through a socket.

ELM_WIN_FAKE

See elm_win_fake_add().

Since
  1.13

ELM_WIN_NAVIFRAME_BASIC

Used for naviframe style replacement with a back button instead of a close button.

Since
  1.19

## Elm_Win_Keyboard_Mode

enum Elm_Win_Keyboard_Mode

The different layouts that can be requested for the virtual keyboard.

When the application window is being managed by Illume it may request any of the following layouts for the virtual keyboard.

Enumerator
ELM_WIN_KEYBOARD_UNKNOWN | Unknown keyboard state.
ELM_WIN_KEYBOARD_OFF | Request to deactivate the keyboard.
ELM_WIN_KEYBOARD_ON | Enable keyboard with default layout.
ELM_WIN_KEYBOARD_ALPHA | Alpha (a-z) keyboard layout.
ELM_WIN_KEYBOARD_NUMERIC | Numeric keyboard layout.
ELM_WIN_KEYBOARD_PIN | PIN keyboard layout.
ELM_WIN_KEYBOARD_PHONE_NUMBER | Phone keyboard layout.
ELM_WIN_KEYBOARD_HEX | Hexadecimal numeric keyboard layout.
ELM_WIN_KEYBOARD_TERMINAL | Full (QWERTY) keyboard layout.
ELM_WIN_KEYBOARD_PASSWORD | Password keyboard layout.
ELM_WIN_KEYBOARD_IP | IP keyboard layout.
ELM_WIN_KEYBOARD_HOST | Host keyboard layout.
ELM_WIN_KEYBOARD_FILE | File keyboard layout.
ELM_WIN_KEYBOARD_URL | URL keyboard layout.
ELM_WIN_KEYBOARD_KEYPAD | Keypad layout.
ELM_WIN_KEYBOARD_J2ME | J2ME keyboard layout.

## Elm_Win_Keygrab_Mode

enum Elm_Win_Keygrab_Mode

Define the keygrab modes of window.

A window may send commands to the Keyrouter according this mode, and perform different actions.

Enumerator
ELM_WIN_KEYGRAB_UNKNOWN | Unknown keygrab mode.
ELM_WIN_KEYGRAB_SHARED | Get the grabbed-key together with the other client windows.
ELM_WIN_KEYGRAB_TOPMOST | Get the grabbed-key only when window is top of the stack.
ELM_WIN_KEYGRAB_EXCLUSIVE | Get the grabbed-key exclusively regardless of window's position.
ELM_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE | Get the grabbed-key exclusively regardless of window's position. This is overrided by grabs from the other client window

## Elm_Win_Move_Resize_Mode

enum Elm_Win_Move_Resize_Mode

Define the move or resize mode of window.

The user can request the display server to start moving or resizing the window by combining these modes. However only limited combinations are allowed.

Currently, only the following 9 combinations are permitted. More combinations may be added in future: 1. move, 2. top, 3. bottom, 4. left, 5. right, 6. top | left, 7. top | right, 8. bottom | left, 9. bottom | right.

Since
  1.19

Enumerator
ELM_WIN_MOVE_RESIZE_MOVE | Start moving window.
ELM_WIN_MOVE_RESIZE_TOP | Start resizing window to the top.
ELM_WIN_MOVE_RESIZE_BOTTOM | Start resizing window to the bottom.
ELM_WIN_MOVE_RESIZE_LEFT | Start resizing window to the left.
ELM_WIN_MOVE_RESIZE_RIGHT | Start resizing window to the right.

## Function Documentation

## elm_win_trap_set()

Eina_Bool elm_win_trap_set | ( | const Elm_Win_Trap * | trap | ) |

Sets the trap to be used for internal `Ecore_Evas` management.

Parameters

  trap | the trap to be used or `NULL` to remove traps. Pointer is not modified or copied, keep it alive.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` if there was a problem, such as invalid version number.

Warning
  this is an advanced feature that you should avoid using.

Since
  1.7

References DBG, EINA_FALSE, and EINA_TRUE.

## elm_win_autodel_set()

void elm_win_autodel_set | ( | Evas_Object * | obj,
|  | Eina_Bool | autodel )

Set the window's autodel state.

When closing the window in any way outside of the program control, like pressing the X button in the titlebar or using a command from the Window Manager, a "delete,request" signal is emitted to indicate that this event occurred and the developer can take any action, which may include, or not, destroying the window object.

When the `autodel` parameter is set, the window will be automatically destroyed when this event occurs, after the signal is emitted. If `autodel` is `false`, then the window will not be destroyed and is up to the program to do so when it's required.

Parameters

  [in] | obj | The object.
  [in] | autodel | If `true`, the window will automatically delete itself when closed.

## elm_win_add()

Evas_Object * elm_win_add | ( | Evas_Object * | parent,
|  | const char * | name,
|  | Elm_Win_Type | type )

Adds a window object.

If this is the first window created, pass NULL as `parent`.

Parameters

  parent | Parent object to add the window to, or NULL
  name | The name of the window
  type | The window type, one of Elm_Win_Type.

The `parent` parameter can be `NULL` for every window `type` except ELM_WIN_INLINED_IMAGE, which needs a parent to retrieve the canvas on which the image object will be created.

Returns
  The created object, or `NULL` on failure

References ELM_WIN_INLINED_IMAGE, and ELM_WIN_SOCKET_IMAGE.

Referenced by elm_quicklaunch_seed().

## elm_win_fake_add()

Evas_Object * elm_win_fake_add | ( | Ecore_Evas * | ee | ) |

Creates a fake window object using a pre-existing canvas.

Parameters

  ee | The Ecore_Evas to use

The returned window widget will not manage or modify the canvas; this canvas must continue to be managed externally.

Do not use this function if you are not writing a window manager.

Warning
  Exact behaviors of this function are not guaranteed.

Returns
  The created object, or `NULL` on failure

Since
  1.13

## elm_win_util_standard_add()

Evas_Object * elm_win_util_standard_add | ( | const char * | name,
|  | const char * | title )

Adds a window object with standard setup.

Parameters

  name | The name of the window
  title | The title for the window

This creates a window like elm_win_add() but also puts in a standard background with elm_bg_add(), as well as setting the window title to `title`. The window type created is of type ELM_WIN_BASIC, with `NULL` as the parent widget.

Returns
  The created object, or `NULL` on failure

See also
  elm_win_add()

## elm_win_util_dialog_add()

Evas_Object * elm_win_util_dialog_add | ( | Evas_Object * | parent,
|  | const char * | name,
|  | const char * | title )

Adds a window object with dialog setup.

Parameters

  parent | The parent window
  name | The name of the window
  title | The title for the window

This creates a window like elm_win_add() but also puts in a standard background with elm_bg_add(), as well as setting the window title to `title`. The window type created is of type ELM_WIN_DIALOG_BASIC. This type of window will be handled in special mode by window managers with regards of it's `parent` window.

Returns
  The created object, or `NULL` on failure

See also
  elm_win_add()

Since
  1.13

## elm_win_autodel_get()

Eina_Bool elm_win_autodel_get | ( | const Evas_Object * | obj | ) |

Get the window's autodel state.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window will automatically delete itself when closed.

References EINA_FALSE.

## elm_win_floating_mode_set()

void elm_win_floating_mode_set | ( | Evas_Object * | obj,
|  | Eina_Bool | floating )

Set the floating mode of a window.

Parameters

  obj | The window object
  floating | If true, the window is floating mode

The floating mode can be used on mobile environment. For example, if the video-player window sets the floating mode, then e (enlightenment window manager) changes its geometry and handles it like a popup. This is similar to a multi window concept in a mobile phone. The way of handling floating mode window is decided by enlightenment window manager.

See also
  elm_win_floating_mode_get()

Since
  1.8

## elm_win_floating_mode_get()

Eina_Bool elm_win_floating_mode_get | ( | const Evas_Object * | obj | ) |

Get the floating mode of a window.

Parameters

  obj | The window object

Returns
  If true, the window is floating mode

See also
  elm_win_floating_mode_set()

Since
  1.8

References EINA_FALSE.

## elm_win_norender_push()

void elm_win_norender_push | ( | Evas_Object * | obj | ) |

This pushes (increments) the norender counter on the window.

Parameters

  obj | The window object

There are some occasions where you wish to suspend rendering on a window. You may be "sleeping" and have nothing to update and do not want animations or other theme side-effects causing rendering to the window while "asleep". You can push (and pop) the norender mode to have this work.

If combined with evas_render_dump(), evas_image_cache_flush() and evas_font_cache_flush() (and maybe edje_file_cache_flush() and edje_collection_cache_flush()), you can minimize memory footprint significantly while "asleep", and the pausing of rendering ensures evas does not re-load data into memory until needed. When rendering is resumed, data will be re-loaded as needed, which may result in some lag, but does save memory.

See also
  elm_win_norender_pop()
  elm_win_norender_get()
  elm_win_render()

Since
  1.7

References ecore_evas_manual_render_set(), and EINA_TRUE.

## elm_win_norender_pop()

void elm_win_norender_pop | ( | Evas_Object * | obj | ) |

This pops (decrements) the norender counter on the window.

Parameters

  obj | The window object

Once norender has gone back to 0, then automatic rendering will continue in the given window. If it is already at 0, this will have no effect.

See also
  elm_win_norender_push()
  elm_win_norender_get()
  elm_win_render()

Since
  1.7

References ecore_evas_manual_render_set(), and EINA_FALSE.

## elm_win_norender_get()

int elm_win_norender_get | ( | const Evas_Object * | obj | ) |

The returns how many times norender has been pushed on the window.

Parameters

  obj | The window object

Returns
  The number of times norender has been pushed

See also
  elm_win_norender_push()
  elm_win_norender_pop()
  elm_win_render()

Since
  1.7

## elm_win_render()

void elm_win_render | ( | Evas_Object * | obj | ) |

This manually asks evas to render the window now.

Parameters

  obj | The window object

You should NEVER call this unless you really know what you are doing and why. Never call this unless you are asking for performance degradation and possibly weird behavior. Windows get automatically rendered when the application goes into the idle enter state so there is never a need to call this UNLESS you have enabled "norender" mode.

See also
  elm_win_norender_push()
  elm_win_norender_pop()
  elm_win_norender_get()

Since
  1.7

References ecore_evas_manual_render().

## elm_win_wl_window_get()

Ecore_Wl2_Window * elm_win_wl_window_get | ( | const Evas_Object * | obj | ) |

Get the Ecore_Wl_Window of an Evas_Object.

Get the Ecore_Wl2_Window of an Evas_Object.

Do not use this function if you'd like your application/library be portable. You have been warned.

Parameters

  obj | the object

Returns
  The Ecore_Wl_Window of `obj`
  The Ecore_Wl2_Window of `obj`.

Get the Ecore_Wl_Window of an Evas_Object.

Returns
  The Ecore_Wl2_Window of `obj`.

References ecore_evas_ecore_evas_get(), elm_win_wl_window_get(), evas_object_evas_get(), and evas_object_smart_type_check_ptr().

Referenced by elm_win_wl_window_get().

## elm_win_win32_window_get()

Ecore_Win32_Window * elm_win_win32_window_get | ( | const Evas_Object * | obj | ) |

Get the Ecore_Win32_Window of an Evas_Object.

Do not use this function if you'd like your application/library be portable. You have been warned.

Parameters

  obj | the object

Returns
  The Ecore_Win32_Window of `obj`

Since
  1.16

Returns
  The Ecore_Win32_Window of `obj`.

Since
  1.17

References ecore_evas_ecore_evas_get(), ecore_evas_engine_name_get(), elm_win_win32_window_get(), evas_object_evas_get(), and evas_object_smart_type_check_ptr().

Referenced by elm_win_win32_window_get().

## elm_win_wm_rotation_preferred_rotation_set()

void elm_win_wm_rotation_preferred_rotation_set | ( | Evas_Object * | obj,
|  | int | rotation )

Set the preferred rotation value.

This function is used to set the orientation of window `obj` to specific angle fixed.

Parameters

  obj | The window object
  rotation | The preferred rotation of the window in degrees (0-360), counter-clockwise.

See also
  elm_win_wm_rotation_preferred_rotation_get()

Since
  1.9

References ecore_evas_wm_rotation_preferred_rotation_set(), and EINA_TRUE.

## elm_win_resize_object_add()

void elm_win_resize_object_add | ( | Evas_Object * | obj,
|  | Evas_Object * | subobj )

Add `subobj` as a resize object of window `obj`.

Setting an object as a resize object of the window means that the `subobj` child's size and position will be controlled by the window directly. That is, the object will be resized to match the window size and should never be moved or resized manually by the developer.

In addition, resize objects of the window control what the minimum size of it will be, as well as whether it can or not be resized by the user.

For the end user to be able to resize a window by dragging the handles or borders provided by the Window Manager, or using any other similar mechanism, all of the resize objects in the window should have their evas_object_size_hint_weight_set set to EVAS_HINT_EXPAND.

Also notice that the window can get resized to the current size of the object if the EVAS_HINT_EXPAND is set after the call to this. So if the object should get resized to the size of the window, set this hint before adding it as a resize object (this happens because the size of the window and the object are evaluated as soon as the object is added to the window).

Parameters

  [in] | subobj | The resize object to add.

References ERR, and evas_object_box_append().

Referenced by elm_quicklaunch_seed().

## elm_win_resize_object_del()

void elm_win_resize_object_del | ( | Evas_Object * | obj,
|  | Evas_Object * | subobj )

Delete `subobj` as a resize object of window `obj`.

This function removes the object `subobj` from the resize objects of the window `obj`. It will not delete the object itself, which will be left unmanaged and should be deleted by the developer, manually handled or set as child of some other container.

Parameters

  [in] | subobj | The resize object to add.

References ERR, and evas_object_box_remove().

## elm_win_cocoa_window_get()

Ecore_Cocoa_Window * elm_win_cocoa_window_get | ( | const Evas_Object * | obj | ) |

Get the Ecore_Cocoa_Window of an Efl.Canvas.Object.

Returns
  The Ecore_Cocoa_Window of `obj`.

Since
  1.17

References ecore_evas_ecore_evas_get(), elm_win_cocoa_window_get(), and evas_object_evas_get().

Referenced by elm_win_cocoa_window_get().

## elm_win_trap_data_get()

void * elm_win_trap_data_get | ( | const Evas_Object * | obj | ) |

Get the trap data associated with a window.

Returns
  The trap data of the window.

Since
  1.12

## elm_win_override_set()

void elm_win_override_set | ( | Evas_Object * | obj,
|  | Eina_Bool | override )

Set the override state of a window.

A window with `override` set to true will not be managed by the Window Manager. This means that no decorations of any kind will be shown for it, moving and resizing must be handled by the application, as well as the window visibility.

This should not be used for normal windows, and even for not so normal ones, it should only be used when there's a good reason and with a lot of care. Mishandling override windows may result situations that disrupt the normal workflow of the end user.

Parameters

  [in] | override | If true, the window is overridden.

## elm_win_override_get()

Eina_Bool elm_win_override_get | ( | const Evas_Object * | obj | ) |

Get the override state of a window.

Returns
  If true, the window is overridden.

References ecore_evas_override_get(), and EINA_FALSE.

## elm_win_lower()

void elm_win_lower | ( | Evas_Object * | obj | ) |

Lower a window object.

Places the window pointed by `obj` at the bottom of the stack, so that no other window is covered by it.

If elm_win_override_set is not set, the Window Manager may ignore this request.

## elm_win_quickpanel_set()

void elm_win_quickpanel_set | ( | Evas_Object * | obj,
|  | Eina_Bool | quickpanel )

Set a window to be an illume quickpanel window.

By default window objects are not quickpanel windows.

Parameters

  [in] | quickpanel | The quickpanel flag.

References ECORE_X_WINDOW_STATE_SKIP_PAGER, and ECORE_X_WINDOW_STATE_SKIP_TASKBAR.

## elm_win_quickpanel_get()

Eina_Bool elm_win_quickpanel_get | ( | const Evas_Object * | obj | ) |

Get if this window is a quickpanel or not.

Returns
  The quickpanel flag.

References EINA_FALSE.

## elm_win_quickpanel_zone_set()

void elm_win_quickpanel_zone_set | ( | Evas_Object * | obj,
|  | int | zone )

Set which zone this quickpanel should appear in.

Parameters

  [in] | zone | The requested zone for this quickpanel.

## elm_win_quickpanel_zone_get()

int elm_win_quickpanel_zone_get | ( | const Evas_Object * | obj | ) |

Get which zone this quickpanel should appear in.

Returns
  The requested zone for this quickpanel.

## elm_win_quickpanel_priority_major_set()

void elm_win_quickpanel_priority_major_set | ( | Evas_Object * | obj,
|  | int | priority )

Set the major priority of a quickpanel window.

Parameters

  [in] | priority | The major priority for this quickpanel or -1.

## elm_win_quickpanel_priority_major_get()

int elm_win_quickpanel_priority_major_get | ( | const Evas_Object * | obj | ) |

Get the major priority of a quickpanel window.

Returns
  The major priority for this quickpanel or -1.

## elm_win_quickpanel_priority_minor_set()

void elm_win_quickpanel_priority_minor_set | ( | Evas_Object * | obj,
|  | int | priority )

Set the minor priority of a quickpanel window.

Parameters

  [in] | priority | The minor priority for this quickpanel.

## elm_win_quickpanel_priority_minor_get()

int elm_win_quickpanel_priority_minor_get | ( | const Evas_Object * | obj | ) |

Get the minor priority of a quickpanel window.

Returns
  The minor priority for this quickpanel.

## elm_win_indicator_mode_set()

void elm_win_indicator_mode_set | ( | Evas_Object * | obj,
|  | Elm_Win_Indicator_Mode | mode )

Sets the indicator mode of the window.

Parameters

  [in] | mode | The mode, one of Elm_Win_Indicator_Mode.

References ELM_WIN_INDICATOR_HIDE, and ELM_WIN_INDICATOR_SHOW.

## elm_win_indicator_mode_get()

Elm_Win_Indicator_Mode elm_win_indicator_mode_get | ( | const Evas_Object * | obj | ) |

Get the indicator mode of the window.

Returns
  The mode, one of Elm_Win_Indicator_Mode.

## elm_win_indicator_opacity_set()

void elm_win_indicator_opacity_set | ( | Evas_Object * | obj,
|  | Elm_Win_Indicator_Opacity_Mode | mode )

Sets the indicator opacity mode of the window.

Parameters

  [in] | mode | The mode, one of Elm_Win_Indicator_Opacity_Mode.

References ELM_WIN_INDICATOR_OPAQUE, ELM_WIN_INDICATOR_TRANSLUCENT, and ELM_WIN_INDICATOR_TRANSPARENT.

## elm_win_indicator_opacity_get()

Elm_Win_Indicator_Opacity_Mode elm_win_indicator_opacity_get | ( | const Evas_Object * | obj | ) |

Get the indicator opacity mode of the window.

Returns
  The mode, one of Elm_Win_Indicator_Opacity_Mode.

## elm_win_keyboard_win_set()

void elm_win_keyboard_win_set | ( | Evas_Object * | obj,
|  | Eina_Bool | is_keyboard )

Sets whether the window is a keyboard.

Parameters

  [in] | is_keyboard | If true, the window is a virtual keyboard..

## elm_win_keyboard_win_get()

Eina_Bool elm_win_keyboard_win_get | ( | const Evas_Object * | obj | ) |

Get whether the window is a keyboard.

Returns
  The mode, If true, the window is a virtual keyboard..

References EINA_FALSE.

## elm_win_conformant_set()

void elm_win_conformant_set | ( | Evas_Object * | obj,
|  | Eina_Bool | conformant )

Set if this window is an illume conformant window.

Parameters

  [in] | conformant | The conformant flag.

## elm_win_conformant_get()

Eina_Bool elm_win_conformant_get | ( | const Evas_Object * | obj | ) |

Get if this window is an illume conformant window.

Returns
  The conformant flag.

References EINA_FALSE.

## elm_win_wm_rotation_manual_rotation_done_set()

void elm_win_wm_rotation_manual_rotation_done_set | ( | Evas_Object * | obj,
|  | Eina_Bool | set )

Set the manual rotation done mode.

This function is used to set or reset the manual rotation done mode. the message of rotation done is sent to WM after rendering its canvas in Ecore_Evas. but if set the manual rotation done mode, it's disabled and user should call this explicitly to sends the message.

Parameters

  [in] | set | `true` to set manual rotation done mode, `false` otherwise.

Since
  1.9

References ecore_evas_wm_rotation_manual_rotation_done_set().

## elm_win_wm_rotation_manual_rotation_done_get()

Eina_Bool elm_win_wm_rotation_manual_rotation_done_get | ( | const Evas_Object * | obj | ) |

Get the state of manual rotation done mode.

This function is used to get the state of manual rotation done mode.

Returns
  `true` to set manual rotation done mode, `false` otherwise.

Since
  1.9

References ecore_evas_wm_rotation_manual_rotation_done_get(), and EINA_FALSE.

## elm_win_wm_rotation_manual_rotation_done()

void elm_win_wm_rotation_manual_rotation_done | ( | Evas_Object * | obj | ) |

To notify the rotation done to WM manually.

This function is used to notify the rotation done to WM manually.

Since
  1.9

References ecore_evas_wm_rotation_manual_rotation_done().

## elm_win_rotation_set()

void elm_win_rotation_set | ( | Evas_Object * | obj,
|  | int | rotation )

Set the rotation of the window.

Most engines only work with multiples of 90.

This function is used to set the orientation of the window `obj` to match that of the screen. The window itself will be resized to adjust to the new geometry of its contents. If you want to keep the window size, see elm_win_rotation_with_resize_set.

Parameters

  [in] | rotation | The rotation of the window, in degrees (0-360), counter-clockwise.

## elm_win_rotation_get()

int elm_win_rotation_get | ( | const Evas_Object * | obj | ) |

Get the rotation of the window.

Returns
  The rotation of the window, in degrees (0-360), counter-clockwise.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_win_rotation_with_resize_set()

void elm_win_rotation_with_resize_set | ( | Evas_Object * | obj,
|  | int | rotation )

Rotates the window and resizes it.

Like elm_win_rotation_set, but it also resizes the window's contents so that they fit inside the current window geometry.

Parameters

  [in] | rotation | The rotation of the window in degrees (0-360), counter-clockwise.

References EINA_TRUE.

## elm_win_wm_rotation_supported_get()

Eina_Bool elm_win_wm_rotation_supported_get | ( | const Evas_Object * | obj | ) |

Query whether window manager supports window rotation or not.

The window manager rotation allows the WM to controls the rotation of application windows. It is designed to support synchronized rotation for the multiple application windows at same time.

See also elm_win_wm_rotation_preferred_rotation_get, elm_win_wm_rotation_available_rotations_get.

Since
  1.9

References EINA_FALSE.

## elm_win_wm_rotation_preferred_rotation_get()

int elm_win_wm_rotation_preferred_rotation_get | ( | const Evas_Object * | obj | ) |

Get the preferred rotation value.

This function is used to get the preferred rotation value.

Returns
  The preferred rotation of the window in degrees (0-360), counter-clockwise.

Since
  1.9

## elm_win_screen_position_get()

void elm_win_screen_position_get | ( | const Evas_Object * | obj,
|  | int * | x,
|  | int * | y )

Get the screen position of a window.

Parameters

  [out] | x | The int to store the x coordinate to.
  [out] | y | The int to store the y coordinate to.

## elm_win_screen_size_get()

void elm_win_screen_size_get | ( | const Evas_Object * | obj,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h )

Get screen geometry details for the screen that a window is on.

Parameters

  [out] | x | Where to return the horizontal offset value. May be `null`.
  [out] | y | Where to return the vertical offset value. May be `null`.
  [out] | w | Where to return the width value. May be `null`.
  [out] | h | Where to return the height value. May be `null`.

References ecore_evas_screen_geometry_get().

## elm_win_screen_dpi_get()

void elm_win_screen_dpi_get | ( | const Evas_Object * | obj,
|  | int * | xdpi,
|  | int * | ydpi )

Get screen dpi for the screen that a window is on.

Parameters

  [out] | xdpi | Pointer to value to store return horizontal dpi. May be `null`.
  [out] | ydpi | Pointer to value to store return vertical dpi. May be `null`.

Since
  1.7

References ecore_evas_screen_dpi_get().

## elm_win_icon_name_set()

void elm_win_icon_name_set | ( | Evas_Object * | obj,
|  | const char * | icon_name )

Set the icon name of the window.

Parameters

  [in] | icon_name | The icon name to set.

References eina_stringshare_replace().

## elm_win_icon_name_get()

const char * elm_win_icon_name_get | ( | const Evas_Object * | obj | ) |

Get the icon name of the window.

The returned string is an internal one and should not be freed or modified. It will also be invalid if a new icon name is set or if the window is destroyed.

Returns
  The icon name to set.

## elm_win_withdrawn_set()

void elm_win_withdrawn_set | ( | Evas_Object * | obj,
|  | Eina_Bool | withdrawn )

Set the withdrawn state of a window.

Parameters

  [in] | withdrawn | If true, the window is withdrawn.

## elm_win_withdrawn_get()

Eina_Bool elm_win_withdrawn_get | ( | const Evas_Object * | obj | ) |

Get the withdrawn state of a window.

Returns
  If true, the window is withdrawn.

References ecore_evas_override_get(), EINA_FALSE, and evas_object_visible_get().

## elm_win_urgent_set()

void elm_win_urgent_set | ( | Evas_Object * | obj,
|  | Eina_Bool | urgent )

Set the urgent state of a window.

Parameters

  [in] | urgent | If true, the window is urgent.

## elm_win_urgent_get()

Eina_Bool elm_win_urgent_get | ( | const Evas_Object * | obj | ) |

Get the urgent state of a window.

Returns
  If true, the window is urgent.

References EINA_FALSE.

## elm_win_demand_attention_set()

void elm_win_demand_attention_set | ( | Evas_Object * | obj,
|  | Eina_Bool | demand_attention )

Set the demand_attention state of a window.

Parameters

  [in] | demand_attention | If true, the window is demand_attention.

## elm_win_demand_attention_get()

Eina_Bool elm_win_demand_attention_get | ( | const Evas_Object * | obj | ) |

Get the demand_attention state of a window.

Returns
  If true, the window is demand_attention.

References EINA_FALSE.

## elm_win_modal_set()

void elm_win_modal_set | ( | Evas_Object * | obj,
|  | Eina_Bool | modal )

Set the modal state of a window.

Parameters

  [in] | modal | If true, the window is modal.

## elm_win_modal_get()

Eina_Bool elm_win_modal_get | ( | const Evas_Object * | obj | ) |

Get the modal state of a window.

Returns
  If true, the window is modal.

## elm_win_shaped_set()

void elm_win_shaped_set | ( | Evas_Object * | obj,
|  | Eina_Bool | shaped )

Set the shaped state of a window.

Shaped windows, when supported, will render the parts of the window that has no content, transparent.

If `shaped` is false, then it is strongly advised to have some background object or cover the entire window in any other way, or the parts of the canvas that have no data will show framebuffer artifacts.

Parameters

  [in] | shaped | If `true`, the window is shaped.

## elm_win_shaped_get()

Eina_Bool elm_win_shaped_get | ( | const Evas_Object * | obj | ) |

Get the shaped state of a window.

Returns
  If `true`, the window is shaped.

References ecore_evas_shaped_get(), and EINA_FALSE.

## elm_win_title_set()

void elm_win_title_set | ( | Evas_Object * | obj,
|  | const char * | title )

Set the title of the window.

Parameters

  [in] | title | The title.

## elm_win_title_get()

const char * elm_win_title_get | ( | const Evas_Object * | obj | ) |

Get the title of the window.

The returned string is an internal one and should not be freed or modified. It will also be invalid if a new title is set or if the window is destroyed.

Returns
  The title.

## elm_win_size_base_set()

void elm_win_size_base_set | ( | Evas_Object * | obj,
|  | int | w,
|  | int | h )

Set the base window size used with stepping calculation.

Base size + stepping is what is calculated for window sizing restrictions.

Parameters

  [in] | w | The base width.
  [in] | h | The base height.

Since
  1.7

References EINA_SIZE2D.

## elm_win_size_base_get()

void elm_win_size_base_get | ( | const Evas_Object * | obj,
|  | int * | w,
|  | int * | h )

Get the base size of a window.

Parameters

  [out] | w | The base width.
  [out] | h | The base height.

Since
  1.7

## elm_win_size_step_set()

void elm_win_size_step_set | ( | Evas_Object * | obj,
|  | int | w,
|  | int | h )

Set the window stepping used with sizing calculation.

Base size + stepping is what is calculated for window sizing restrictions.

Parameters

  [in] | w | The stepping width (0 disables).
  [in] | h | The stepping height (0 disables).

Since
  1.7

References EINA_SIZE2D.

## elm_win_size_step_get()

void elm_win_size_step_get | ( | const Evas_Object * | obj,
|  | int * | w,
|  | int * | h )

Get the stepping of a window.

Parameters

  [out] | w | The stepping width (0 disables).
  [out] | h | The stepping height (0 disables).

Since
  1.7

## elm_win_illume_command_send()

void elm_win_illume_command_send | ( | Evas_Object * | obj,
|  | Elm_Illume_Command | command,
|  | void * | params )

Send a command to the windowing environment.

This is intended to work in touchscreen or small screen device environments where there is a more simplistic window management policy in place. This uses the window object indicated to select which part of the environment to control (the part that this window lives in), and provides a command and an optional parameter structure (use NULL for this if not needed).

Parameters

  [in] | params | Optional parameters for the command.

References EINA_UNUSED.

## elm_win_profile_set()

void elm_win_profile_set | ( | Evas_Object * | obj,
|  | const char * | profile )

Set the profile of a window.

Parameters

  [in] | profile | The string value of a window profile.

Since
  1.8

References ecore_evas_window_profile_set(), ecore_evas_window_profile_supported_get(), and eina_array_count().

## elm_win_profile_get()

const char * elm_win_profile_get | ( | const Evas_Object * | obj | ) |

Get the profile of a window.

Returns
  The string value of a window profile.

Since
  1.8

## elm_win_layer_set()

void elm_win_layer_set | ( | Evas_Object * | obj,
|  | int | layer )

Set the layer of the window.

What this means exactly will depend on the underlying engine used.

In the case of X11 backed engines, the value in `layer` has the following meanings - less than 3 means that the window will be placed below all others, more than 5 means that the window will be placed above all others, and anything else means that the window will be placed in the default layer.

Parameters

  [in] | layer | The layer of the window.

## elm_win_layer_get()

int elm_win_layer_get | ( | const Evas_Object * | obj | ) |

Get the layer of the window.

Returns
  The layer of the window.

References ecore_evas_layer_get().

## elm_win_inlined_image_object_get()

Evas_Object * elm_win_inlined_image_object_get | ( | const Evas_Object * | obj | ) |

Get the inlined image object handle.

When you create a window with elm_win_add() of type ELM_WIN_INLINED_IMAGE, then the window is in fact an evas image object inlined in the parent canvas. You can get this object (be careful to not manipulate it as it is under control of elementary), and use it to do things like get pixel data, save the image to a file, etc.

Returns
  The inlined image object or `null` if none exists.

Referenced by elm_object_focus_set().

## elm_win_fake_canvas_set()

void elm_win_fake_canvas_set | ( | Evas_Object * | obj,
|  | Ecore_Evas * | oee )

Internal.

Used to complete the fake window type.

Parameters

  [in] | oee |

Deprecated

References EINA_UNUSED, and ERR.

## elm_win_window_id_get()

Ecore_Window elm_win_window_id_get | ( | const Evas_Object * | obj | ) |

Get the Ecore_Window of an Evas_Object.

When Elementary is using a Wayland engine, this function will return the surface id of the elm window's surface.

Parameters

  obj | The window object

Returns
  The Ecore_Window of an Evas_Object

Since
  1.8

Note
  Unless you are getting the window id for the purpose of communicating between client<->compositor over dbus, this is definitely not the function you are looking for.

References ecore_evas_ecore_evas_get(), ecore_evas_window_get(), evas_object_evas_get(), and evas_object_smart_type_check_ptr().

## elm_win_main_menu_get()

Evas_Object * elm_win_main_menu_get | ( | Evas_Object * | obj | ) |

Get the Main Menu of a window.

Returns
  The Main Menu of the window ($null on error).

References EINA_FALSE, EINA_TRUE, and elm_menu_add().

## elm_win_keyboard_mode_set()

void elm_win_keyboard_mode_set | ( | Elm_Win * | obj,
|  | Elm_Win_Keyboard_Mode | mode )

Sets the keyboard mode of the window.

Parameters

  [in] | mode | The mode, one of Elm_Win_Keyboard_Mode.

## elm_win_keyboard_mode_get()

Elm_Win_Keyboard_Mode elm_win_keyboard_mode_get | ( | const Elm_Win * | obj | ) |

Get the keyboard mode of the window.

Returns
  The mode, one of Elm_Win_Keyboard_Mode.

## elm_win_socket_listen()

Eina_Bool elm_win_socket_listen | ( | Elm_Win * | obj,
|  | const char * | svcname,
|  | int | svcnum,
|  | Eina_Bool | svcsys )

Create a socket to provide the service for Plug widget.

Parameters

  [in] | svcname | The name of the service to be advertised. Eensure that it is unique (when combined with `svcnum`) otherwise creation may fail.
  [in] | svcnum | A number (any value, 0 being the common default) to differentiate multiple instances of services with the same name.
  [in] | svcsys | A boolean that if true, specifies to create a system-wide service all users can connect to, otherwise the service is private to the user id that created the service.

Returns
  `true` on success, `false` otherwise

## elm_win_focus_get()

Eina_Bool elm_win_focus_get | ( | const Elm_Win * | obj | ) |

Get whether a window has focus.

Returns
  `true` if window has focus, `false` otherwise

## elm_win_raise()

void elm_win_raise | ( | Elm_Win * | obj | ) |

Raise a window object.

Places the window pointed by `obj` at the top of the stack, so that it's not covered by any other window.

## elm_win_available_profiles_set()

void elm_win_available_profiles_set | ( | Elm_Win * | obj,
|  | const char ** | profiles,
|  | unsigned int | count )

Set the array of available profiles to a window.

Parameters

  [in] | profiles | The string array of available profiles.
  [in] | count | The number of members in profiles.

Since
  1.8

References eina_array_free(), eina_array_new(), and eina_array_push().

## elm_win_available_profiles_get()

Eina_Bool elm_win_available_profiles_get | ( | const Elm_Win * | obj,
|  | char *** | profiles,
|  | unsigned int * | count )

Get the array of available profiles of a window.

Parameters

  [out] | profiles | The string array of available profiles.
  [out] | count | The number of members in profiles.

Returns
  `true` on success, `false` otherwise

Since
  1.8

References _Eina_Array::count, _Eina_Array::data, EINA_FALSE, and EINA_TRUE.

## elm_win_wm_rotation_available_rotations_set()

void elm_win_wm_rotation_available_rotations_set | ( | Elm_Win * | obj,
|  | const int * | rotations,
|  | unsigned int | count )

Set the array of available window rotations.

This function is used to set the available rotations to give the hints to WM. WM will refer this hints and set the orientation window properly.

Parameters

  [in] | obj | The object.
  [in] | rotations | The array of rotation value.
  [in] | count | The size of the rotations array.

Since
  1.9

References EINA_TRUE.

## elm_win_wm_rotation_available_rotations_get()

Eina_Bool elm_win_wm_rotation_available_rotations_get | ( | const Elm_Win * | obj,
|  | int ** | rotations,
|  | unsigned int * | count )

Get the array of available window rotations.

This function is used to get the available rotations.

Parameters

  [in] | obj | The object.
  [out] | rotations | The array of rotation value.
  [out] | count | The size of the rotations array.

Returns
  `true` on success, `false` otherwise

Since
  1.9

References EINA_FALSE, and EINA_TRUE.

## elm_win_screen_constrain_set()

void elm_win_screen_constrain_set | ( | Evas_Object * | obj,
|  | Eina_Bool | constrain )

Constrain the maximum width and height of a window to the width and height of the screen.

When `constrain` is `true`, `obj` will never resize larger than the screen.

Parameters

  [in] | obj | The object.
  [in] | constrain | `true` to restrict the window's maximum size.

## elm_win_screen_constrain_get()

Eina_Bool elm_win_screen_constrain_get | ( | const Evas_Object * | obj | ) |

Get the constraints on the maximum width and height of a window relative to the width and height of the screen.

When this function returns `true`, `obj` will never resize larger than the screen.

Parameters

  [in] | obj | The object.

Returns
  `true` to restrict the window's maximum size.

## elm_win_prop_focus_skip_set()

void elm_win_prop_focus_skip_set | ( | Evas_Object * | obj,
|  | Eina_Bool | skip )

Set the window to be skipped by keyboard focus.

This sets the window to be skipped by normal keyboard input. This means a window manager will be asked not to focus this window as well as omit it from things like the taskbar, pager, "alt-tab" list etc. etc.

Call this and enable it on a window BEFORE you show it for the first time, otherwise it may have no effect.

Use this for windows that have only output information or might only be interacted with by the mouse or touchscreen, never for typing. This may have side-effects like making the window non-accessible in some cases unless the window is specially handled. Use this with care.

Parameters

  [in] | obj | The object.
  [in] | skip | The skip flag state ($true if it is to be skipped).

## elm_win_autohide_set()

void elm_win_autohide_set | ( | Evas_Object * | obj,
|  | Eina_Bool | autohide )

Window's autohide state.

When closing the window in any way outside of the program control, like pressing the X button in the titlebar or using a command from the Window Manager, a "delete,request" signal is emitted to indicate that this event occurred and the developer can take any action, which may include, or not, destroying the window object.

When this property is set to `true`, the window will be automatically hidden when this event occurs, after the signal is emitted. If this property is `false` nothing will happen, beyond the event emission.

C applications can use this option along with the quit policy `ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN` which allows exiting EFL's main loop when all the windows are hidden.

Note
  `autodel` and `autohide` are not mutually exclusive. The window will be deleted if both are set to `true`.

Parameters

  [in] | obj | The object.
  [in] | autohide | If `true`, the window will automatically hide itself when closed.

## elm_win_autohide_get()

Eina_Bool elm_win_autohide_get | ( | const Evas_Object * | obj | ) |

Window's autohide state.

When closing the window in any way outside of the program control, like pressing the X button in the titlebar or using a command from the Window Manager, a "delete,request" signal is emitted to indicate that this event occurred and the developer can take any action, which may include, or not, destroying the window object.

When this property is set to `true`, the window will be automatically hidden when this event occurs, after the signal is emitted. If this property is `false` nothing will happen, beyond the event emission.

C applications can use this option along with the quit policy `ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN` which allows exiting EFL's main loop when all the windows are hidden.

Note
  `autodel` and `autohide` are not mutually exclusive. The window will be deleted if both are set to `true`.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window will automatically hide itself when closed.

## elm_win_icon_object_set()

void elm_win_icon_object_set | ( | Evas_Object * | obj,
|  | Evas_Object * | icon )

Set a window object's icon.

This sets an image to be used as the icon for the given window, in the window manager decoration part. The exact pixel dimensions of the object (not object size) will be used and the image pixels will be used as-is when this function is called. If the image object has been updated, then call this function again to source the image pixels and place them in the window's icon. Note that only objects of type Efl_Canvas_Image or Efl_Ui_Image are allowed.

Parameters

  [in] | obj | The object.
  [in] | icon | The image object to use for an icon.

## elm_win_icon_object_get()

const Evas_Object * elm_win_icon_object_get | ( | const Evas_Object * | obj | ) |

Get the icon object used for the window.

The object returns is the one marked by elm_win_icon_object_set as the object to use for the window icon.

Parameters

  [in] | obj | The object.

Returns
  The Evas image object to use for an icon.

## elm_win_iconified_set()

void elm_win_iconified_set | ( | Evas_Object * | obj,
|  | Eina_Bool | iconified )

Set the iconified state of a window.

Parameters

  [in] | obj | The object.
  [in] | iconified | If `true`, the window is iconified.

## elm_win_iconified_get()

Eina_Bool elm_win_iconified_get | ( | const Evas_Object * | obj | ) |

Get the iconified state of a window.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window is iconified.

## elm_win_maximized_set()

void elm_win_maximized_set | ( | Evas_Object * | obj,
|  | Eina_Bool | maximized )

Set the maximized state of a window.

Parameters

  [in] | obj | The object.
  [in] | maximized | If `true`, the window is maximized.

## elm_win_maximized_get()

Eina_Bool elm_win_maximized_get | ( | const Evas_Object * | obj | ) |

Get the maximized state of a window.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window is maximized.

## elm_win_fullscreen_set()

void elm_win_fullscreen_set | ( | Evas_Object * | obj,
|  | Eina_Bool | fullscreen )

Set the fullscreen state of a window.

Parameters

  [in] | obj | The object.
  [in] | fullscreen | If `true`, the window is fullscreen.

## elm_win_fullscreen_get()

Eina_Bool elm_win_fullscreen_get | ( | const Evas_Object * | obj | ) |

Get the fullscreen state of a window.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window is fullscreen.

## elm_win_sticky_set()

void elm_win_sticky_set | ( | Evas_Object * | obj,
|  | Eina_Bool | sticky )

Set the sticky state of the window.

Hints the Window Manager that the window in `obj` should be left fixed at its position even when the virtual desktop it's on moves or changes.

Parameters

  [in] | obj | The object.
  [in] | sticky | If `true`, the window's sticky state is enabled.

## elm_win_sticky_get()

Eina_Bool elm_win_sticky_get | ( | const Evas_Object * | obj | ) |

Get the sticky state of the window.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window's sticky state is enabled.

## elm_win_noblank_set()

void elm_win_noblank_set | ( | Evas_Object * | obj,
|  | Eina_Bool | noblank )

Set the noblank property of a window.

The "noblank" property is a way to request the display on which the window is shown does not blank, go to screensaver or otherwise hide or obscure the window. It is intended for uses such as media playback on a television where a user may not want to be interrupted by an idle screen. The noblank property may have no effect if the window is iconified/minimized or hidden.

Parameters

  [in] | obj | The object.
  [in] | noblank | If `true`, the window is set to noblank.

Since
  1.11

References EINA_SAFETY_ON_NULL_RETURN.

## elm_win_noblank_get()

Eina_Bool elm_win_noblank_get | ( | const Evas_Object * | obj | ) |

Get the noblank property of a window.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window is set to noblank.

Since
  1.11

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_win_borderless_set()

void elm_win_borderless_set | ( | Evas_Object * | obj,
|  | Eina_Bool | borderless )

Set the borderless state of a window.

This function requests the Window Manager not to draw any decoration around the window.

Parameters

  [in] | obj | The object.
  [in] | borderless | If `true`, the window is borderless.

## elm_win_borderless_get()

Eina_Bool elm_win_borderless_get | ( | const Evas_Object * | obj | ) |

Get the borderless state of a window.

Parameters

  [in] | obj | The object.

Returns
  If `true`, the window is borderless.

## elm_win_role_set()

void elm_win_role_set | ( | Evas_Object * | obj,
|  | const char * | role )

The role of the window.

It is a hint of how the Window Manager should handle it. Unlike elm_win_type_get and elm_win_name_get this can be changed at runtime.

Set the role of the window.

Parameters

  [in] | obj | The object.
  [in] | role | The role to set.

## elm_win_role_get()

const char * elm_win_role_get | ( | const Evas_Object * | obj | ) |

The role of the window.

It is a hint of how the Window Manager should handle it. Unlike elm_win_type_get and elm_win_name_get this can be changed at runtime.

Get the role of the window.

The returned string is an internal one and should not be freed or modified. It will also be invalid if a new role is set or if the window is destroyed.

Parameters

  [in] | obj | The object.

Returns
  The role to set.

## elm_win_name_get()

const char * elm_win_name_get | ( | const Evas_Object * | obj | ) |

The window name.

The meaning of name depends on the underlying windowing system.

The window name is a construction property that can only be set at creation time, before finalize. In C this means inside `efl_add()`.

Note
  Once set, it cannot be modified afterwards.

No description supplied.

Parameters

  [in] | obj | The object.

Returns
  Window name

Since
  1.18

## elm_win_type_get()

Elm_Win_Type elm_win_type_get | ( | const Evas_Object * | obj | ) |

The type of the window.

It is a hint of how the Window Manager should handle it.

The window type is a construction property that can only be set at creation time, before finalize. In C this means inside `efl_add()`.

Note
  Once set, it cannot be modified afterward.

If the object is not window object, returns `unknown`.

Parameters

  [in] | obj | The object.

Returns
  Window type

References ELM_WIN_UNKNOWN.

## elm_win_accel_preference_get()

const char * elm_win_accel_preference_get | ( | const Evas_Object * | obj | ) |

The hardware acceleration preference for this window.

This is a constructor function and can only be called before Efl.Object.finalize.

This property overrides the global EFL configuration option "accel_preference" for this single window, and accepts the same syntax.

The `accel` string is a freeform C string that indicates what kind of acceleration is preferred. Here "acceleration" generally refers to rendering and the hardware with which the unit application renders GUIs. This may or may not be honored but a best attempt will be made. Known strings are as follows:

"gl", "opengl" - try use OpenGL. "3d" - try to use a 3d acceleration unit. "hw", "hardware", "accel" - try any acceleration unit (best possible) "none"

- use no acceleration but software instead (since 1.16)

Since 1.14, it is also possible to specify some GL properties for the GL window surface. This allows applications to use GLView with depth, stencil and MSAA buffers with direct rendering. The new accel preference string format is thus "{HW Accel}[:depth{value}[:stencil{value}[:msaa{str}$]$]$]".

Accepted values for depth are for instance "depth", "depth16", "depth24". Accepted values for stencil are "stencil", "stencil1", "stencil8". For MSAA, only predefined strings are accepted: "msaa", "msaa_low", "msaa_mid" and "msaa_high". The selected configuration is not guaranteed and is only valid in case of GL acceleration. Only the base acceleration string will be saved (e.g. "gl" or "hw").

Full examples include:

"gl", - try to use OpenGL "hw:depth:stencil", - use HW acceleration with default depth and stencil buffers "opengl:depth24:stencil8:msaa_mid" - use OpenGL with 24-bit depth, 8-bit stencil and a medium number of MSAA samples in the backbuffer.

Note that this option may be overriden by environment variables or the configuration option "accel_preference_override".

This will return the value of "accel_preference" when the window was created.

Parameters

  [in] | obj | The object.

Returns
  Acceleration

Since
  1.18

## elm_win_alpha_set()

void elm_win_alpha_set | ( | Evas_Object * | obj,
|  | Eina_Bool | alpha )

Set the alpha channel state of a window.

If `alpha` is true, the alpha channel of the canvas will be enabled possibly making parts of the window completely or partially transparent. This is also subject to the underlying system supporting it, for example a system using a compositing manager.

Note
  Alpha window can be enabled automatically by window theme style's property. If "alpha" data.item is "1" or "true" in window style(eg. elm/win/base/default), the window is switched to alpha automatically without the explicit api call.

Parameters

  [in] | obj | The object.
  [in] | alpha | `true` if the window alpha channel is enabled, `false` otherwise.

## elm_win_alpha_get()

Eina_Bool elm_win_alpha_get | ( | const Evas_Object * | obj | ) |

Get the alpha channel state of a window.

Parameters

  [in] | obj | The object.

Returns
  `true` if the window alpha channel is enabled, `false` otherwise.

## elm_win_activate()

void elm_win_activate | ( | Evas_Object * | obj | ) |

Activate a window object.

This function sends a request to the Window Manager to activate the window pointed by `obj`. If honored by the WM, the window will receive the keyboard focus.

Note
  This is just a request that a Window Manager may ignore, so calling this function does not ensure in any way that the window will be the active one afterwards.

Parameters

  [in] | obj | The object.

## elm_win_center()

void elm_win_center | ( | Evas_Object * | obj,
|  | Eina_Bool | h,
|  | Eina_Bool | v )

Center a window on the screen.

This function centers window `obj` horizontally and/or vertically based on the values of `h` and `v`.

Note
  This is just a request that a Window Manager may ignore, so calling this function does not ensure in any way that the window will be centered afterwards.

Parameters

  [in] | obj | The object.
  [in] | h | If `true`, center horizontally. If `false`, do not change horizontal location.
  [in] | v | If `true`, center vertically. If `false`, do not change vertical location.

## elm_win_move_resize_start()

Eina_Bool elm_win_move_resize_start | ( | Evas_Object * | obj,
|  | Elm_Win_Move_Resize_Mode | mode )

Start moving or resizing the window.

The user can request the display server to start moving or resizing the window by combining modes from Efl_Ui_Win_Move_Resize_Mode. This API can only be called if none of the following conditions is true:

1. Called in the absence of a pointer down event, 2. Called more than once before a pointer up event, 3. Called when the window is already being resized or moved, 4. Called with an unsupported combination of modes.

Right usage: 1. Pointer (mouse or touch) down event, 2. elm_win_move_resize_start called only once with a supported mode, 3. Pointer (mouse or touch) up event.

If a pointer up event occurs after calling the function, it automatically ends the window move and resize operation.

Currently, only the following 9 combinations are allowed, and possibly more combinations may be added in the future: 1. ELM_WIN_MOVE_RESIZE_MOVE

1. ELM_WIN_MOVE_RESIZE_TOP 3. ELM_WIN_MOVE_RESIZE_BOTTOM 4. ELM_WIN_MOVE_RESIZE_LEFT 5. ELM_WIN_MOVE_RESIZE_RIGHT 6. ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_LEFT 7. ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_RIGHT 8. ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_LEFT 9. ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_RIGHT

In particular move and resize cannot happen simultaneously.

Note
  the result of this API can only guarantee that the request has been forwarded to the server, but there is no guarantee that the request can be processed by the display server.

Parameters

  [in] | obj | The object.
  [in] | mode | The requested move or resize mode.

Returns
  `true` if the request was successfully sent to the display server, `false` in case of error.

Since
  1.19

## elm_win_focus_highlight_animate_set()

void elm_win_focus_highlight_animate_set | ( | Elm_Win * | obj,
|  | Eina_Bool | animate )

Set the animate status for the focus highlight for this window.

This function will enable or disable the animation of focus highlight only for the given window, regardless of the global setting for it.

Parameters

  [in] | animate | The enabled value for the highlight animation.

## elm_win_focus_highlight_animate_get()

Eina_Bool elm_win_focus_highlight_animate_get | ( | const Elm_Win * | obj | ) |

Get the animate value of the focus highlight for this window.

Returns
  The enabled value for the highlight animation.

## elm_win_focus_highlight_enabled_set()

void elm_win_focus_highlight_enabled_set | ( | Elm_Win * | obj,
|  | Eina_Bool | enabled )

Set the enabled status for the focus highlight in a window.

This function will enable or disable the focus highlight only for the given window, regardless of the global setting for it.

Parameters

  [in] | enabled | The enabled value for the highlight.

## elm_win_focus_highlight_enabled_get()

Eina_Bool elm_win_focus_highlight_enabled_get | ( | const Elm_Win * | obj | ) |

Get the enabled value of the focus highlight for this window.

Returns
  The enabled value for the highlight.

## elm_win_focus_highlight_style_set()

Eina_Bool elm_win_focus_highlight_style_set | ( | Elm_Win * | obj,
|  | const char * | style )

Set the style for the focus highlight on this window.

Sets the style to use for theming the highlight of focused objects on the given window. If `style` is NULL, the default will be used.

Parameters

  [in] | style | The style or `null` if none.

## elm_win_focus_highlight_style_get()

const char * elm_win_focus_highlight_style_get | ( | const Elm_Win * | obj | ) |

Get the style set for the focus highlight object.

Returns
  The style or `null` if none.