Beginning of WM hints abstraction, NetWM hints

SVN revision: 12644
This commit is contained in:
xcomputerman 2004-12-30 05:37:53 +00:00 committed by xcomputerman
parent 2a9e555216
commit bafe43ebaf
4 changed files with 23 additions and 3 deletions

View File

@ -36,7 +36,8 @@ e_focus.h \
e_place.h \ e_place.h \
e_resist.h \ e_resist.h \
e_startup.h \ e_startup.h \
e_iconify.h e_iconify.h \
e_hints.h
enlightenment_SOURCES = \ enlightenment_SOURCES = \
@ -68,6 +69,7 @@ e_place.c \
e_resist.c \ e_resist.c \
e_startup.c \ e_startup.c \
e_iconify.c \ e_iconify.c \
e_hints.c \
$(ENLIGHTENMENTHEADERS) $(ENLIGHTENMENTHEADERS)
enlightenment_LDFLAGS = -export-dynamic @e_libs@ @dlopen_libs@ enlightenment_LDFLAGS = -export-dynamic @e_libs@ @dlopen_libs@

View File

@ -385,7 +385,9 @@ e_border_focus_set(E_Border *bd, int focus, int set)
if (bd->client.icccm.take_focus) if (bd->client.icccm.take_focus)
{ {
printf("take focus!\n"); printf("take focus!\n");
ecore_x_icccm_take_focus_send(bd->client.win, ECORE_X_CURRENT_TIME); /*
ecore_x_icccm_take_focus_send(bd->client.win, ECORE_X_CURRENT_TIME);*/
e_hints_active_window_set(bd->client.win);
ecore_x_window_focus(bd->client.win); ecore_x_window_focus(bd->client.win);
} }
else else

View File

@ -120,6 +120,18 @@ struct _E_Border
unsigned int pid : 1; unsigned int pid : 1;
unsigned int desktop : 1; unsigned int desktop : 1;
} fetch; } fetch;
/* NetWM Window state */
struct {
unsigned char modal : 1;
unsigned char maximized_v : 1;
unsigned char maximized_h : 1;
unsigned char skip_taskbar : 1;
unsigned char skip_pager : 1;
unsigned char fullscreen : 1;
unsigned char stacking : 2; /* 0 = None, 1 = Above, 2 = Below */
} state;
} netwm; } netwm;
Ecore_X_Window_Attributes initial_attributes; Ecore_X_Window_Attributes initial_attributes;
} client; } client;
@ -133,6 +145,7 @@ struct _E_Border
unsigned char re_manage : 1; unsigned char re_manage : 1;
unsigned char shading : 1; unsigned char shading : 1;
unsigned char shaded : 1; unsigned char shaded : 1;
unsigned char sticky : 1;
unsigned char maximized : 1; unsigned char maximized : 1;
unsigned char iconic : 1; unsigned char iconic : 1;

View File

@ -112,7 +112,7 @@ main(int argc, char **argv)
_e_main_shutdown(-1); _e_main_shutdown(-1);
} }
/* an intle enterer to be called before all others */ /* an idle enterer to be called before all others */
_e_main_idle_enterer_before = ecore_idle_enterer_add(_e_main_cb_idler_before, NULL); _e_main_idle_enterer_before = ecore_idle_enterer_add(_e_main_cb_idler_before, NULL);
/* init x */ /* init x */
@ -127,6 +127,9 @@ main(int argc, char **argv)
ecore_x_grab(); ecore_x_grab();
ecore_x_io_error_handler_set(_e_main_cb_x_fatal, NULL); ecore_x_io_error_handler_set(_e_main_cb_x_fatal, NULL);
/* Init window manager hints */
e_hints_init();
/* setup menu handlers etc. FIXME: check return value */ /* setup menu handlers etc. FIXME: check return value */
e_menu_init(); e_menu_init();