some support for launch id in netwm.

SVN revision: 16706
This commit is contained in:
Carsten Haitzler 2005-09-14 03:26:23 +00:00
parent 3ac48d63ae
commit 7a6f87f198
3 changed files with 40 additions and 21 deletions

View File

@ -1612,7 +1612,12 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
ee->engine.x.win_root = parent;
ee->engine.x.win_container = ecore_x_window_new(parent, x, y, w, h);
ee->engine.x.win = ecore_x_window_override_new(ee->engine.x.win_container, 0, 0, w, h);
if (getenv("DESKTOP_STARTUP_ID"))
{
ecore_x_netwm_startup_id_set(ee->engine.x.win_container,
getenv("DESKTOP_STARTUP_ID"));
putenv("DESKTOP_STARTUP_ID");
}
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
@ -1799,6 +1804,12 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
ee->engine.x.win_root = parent;
ee->engine.x.win_container = ecore_x_window_new(parent, x, y, w, h);
if (getenv("DESKTOP_STARTUP_ID"))
{
ecore_x_netwm_startup_id_set(ee->engine.x.win_container,
getenv("DESKTOP_STARTUP_ID"));
putenv("DESKTOP_STARTUP_ID");
}
einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{

View File

@ -1203,6 +1203,8 @@ EAPI void ecore_x_netwm_client_list_stacking_set(Ecore_X_Window r
EAPI void ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win);
EAPI void ecore_x_netwm_name_set(Ecore_X_Window win, const char *name);
EAPI int ecore_x_netwm_name_get(Ecore_X_Window win, char **name);
EAPI void ecore_x_netwm_startup_id_set(Ecore_X_Window win, const char *id);
EAPI int ecore_x_netwm_startup_id_get(Ecore_X_Window win, char **id);
EAPI void ecore_x_netwm_visible_name_set(Ecore_X_Window win, const char *name);
EAPI int ecore_x_netwm_visible_name_get(Ecore_X_Window win, char **name);
EAPI void ecore_x_netwm_icon_name_set(Ecore_X_Window win, const char *name);

View File

@ -111,6 +111,7 @@ Ecore_X_Atom ECORE_X_ATOM_NET_RESTACK_WINDOW = 0;
* Application window specific NetWM hints.
*/
Ecore_X_Atom ECORE_X_ATOM_NET_WM_NAME = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_ID = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_WM_VISIBLE_NAME = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON_NAME = 0;
Ecore_X_Atom ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME = 0;
@ -197,10 +198,10 @@ ecore_x_netwm_init(void)
ECORE_X_ATOM_NET_RESTACK_WINDOW = _ATOM_GET("_NET_RESTACK_WINDOW");
ECORE_X_ATOM_NET_WM_NAME = _ATOM_GET("_NET_WM_NAME");
ECORE_X_ATOM_NET_STARTUP_ID = _ATOM_GET("_NET_STARTUP_ID");
ECORE_X_ATOM_NET_WM_VISIBLE_NAME = _ATOM_GET("_NET_WM_VISIBLE_NAME");
ECORE_X_ATOM_NET_WM_ICON_NAME = _ATOM_GET("_NET_WM_ICON_NAME");
ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME =
_ATOM_GET("_NET_WM_VISIBLE_ICON_NAME");
ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME = _ATOM_GET("_NET_WM_VISIBLE_ICON_NAME");
ECORE_X_ATOM_NET_WM_DESKTOP = _ATOM_GET("_NET_WM_DESKTOP");
ECORE_X_ATOM_NET_WM_STRUT = _ATOM_GET("_NET_WM_STRUT");
ECORE_X_ATOM_NET_WM_STRUT_PARTIAL = _ATOM_GET("_NET_WM_STRUT_PARTIAL");
@ -223,31 +224,22 @@ ecore_x_netwm_init(void)
ECORE_X_ATOM_NET_WM_ACTION_CLOSE = _ATOM_GET("_NET_WM_ACTION_CLOSE");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE = _ATOM_GET("_NET_WM_WINDOW_TYPE");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP =
_ATOM_GET("_NET_WM_WINDOW_TYPE_DESKTOP");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP = _ATOM_GET("_NET_WM_WINDOW_TYPE_DESKTOP");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK = _ATOM_GET("_NET_WM_WINDOW_TYPE_DOCK");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR =
_ATOM_GET("_NET_WM_WINDOW_TYPE_TOOLBAR");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR = _ATOM_GET("_NET_WM_WINDOW_TYPE_TOOLBAR");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU = _ATOM_GET("_NET_WM_WINDOW_TYPE_MENU");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY =
_ATOM_GET("_NET_WM_WINDOW_TYPE_UTILITY");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH =
_ATOM_GET("_NET_WM_WINDOW_TYPE_SPLASH");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG =
_ATOM_GET("_NET_WM_WINDOW_TYPE_DIALOG");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL =
_ATOM_GET("_NET_WM_WINDOW_TYPE_NORMAL");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY = _ATOM_GET("_NET_WM_WINDOW_TYPE_UTILITY");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH = _ATOM_GET("_NET_WM_WINDOW_TYPE_SPLASH");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG = _ATOM_GET("_NET_WM_WINDOW_TYPE_DIALOG");
ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL = _ATOM_GET("_NET_WM_WINDOW_TYPE_NORMAL");
ECORE_X_ATOM_NET_WM_STATE = _ATOM_GET("_NET_WM_STATE");
ECORE_X_ATOM_NET_WM_STATE_MODAL = _ATOM_GET("_NET_WM_STATE_MODAL");
ECORE_X_ATOM_NET_WM_STATE_STICKY = _ATOM_GET("_NET_WM_STATE_STICKY");
ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT =
_ATOM_GET("_NET_WM_STATE_MAXIMIZED_VERT");
ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ =
_ATOM_GET("_NET_WM_STATE_MAXIMIZED_HORZ");
ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT = _ATOM_GET("_NET_WM_STATE_MAXIMIZED_VERT");
ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ = _ATOM_GET("_NET_WM_STATE_MAXIMIZED_HORZ");
ECORE_X_ATOM_NET_WM_STATE_SHADED = _ATOM_GET("_NET_WM_STATE_SHADED");
ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR =
_ATOM_GET("_NET_WM_STATE_SKIP_TASKBAR");
ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR = _ATOM_GET("_NET_WM_STATE_SKIP_TASKBAR");
ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER = _ATOM_GET("_NET_WM_STATE_SKIP_PAGER");
ECORE_X_ATOM_NET_WM_STATE_HIDDEN = _ATOM_GET("_NET_WM_STATE_HIDDEN");
ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN = _ATOM_GET("_NET_WM_STATE_FULLSCREEN");
@ -460,6 +452,20 @@ ecore_x_netwm_name_get(Ecore_X_Window win, char **name)
return 1;
}
void
ecore_x_netwm_startup_id_set(Ecore_X_Window win, const char *id)
{
_ecore_x_window_prop_string_utf8_set(win, ECORE_X_ATOM_NET_STARTUP_ID, id);
}
int
ecore_x_netwm_startup_id_get(Ecore_X_Window win, char **id)
{
if (id)
*id = _ecore_x_window_prop_string_utf8_get(win, ECORE_X_ATOM_NET_STARTUP_ID);
return 1;
}
void
ecore_x_netwm_visible_name_set(Ecore_X_Window win, const char *name)
{