diff --git a/netwm.txt b/netwm.txt index 1652e8c2d..0bf77e7e9 100644 --- a/netwm.txt +++ b/netwm.txt @@ -52,7 +52,7 @@ _NET_WM_WINDOW_TYPE_SPLASH [X] _NET_WM_WINDOW_TYPE_DIALOG [X] _NET_WM_WINDOW_TYPE_NORMAL [X] _NET_WM_STATE [X] -_NET_WM_STATE_MODAL [ ] +_NET_WM_STATE_MODAL [X] /* _NET_WM_STATE_STICKY indicates that the * Window Manager SHOULD keep the window's * position fixed on the screen, even when @@ -61,8 +61,8 @@ _NET_WM_STATE_STICKY [?] _NET_WM_STATE_MAXIMIZED_VERT [X] _NET_WM_STATE_MAXIMIZED_HORZ [X] _NET_WM_STATE_SHADED [X] -_NET_WM_STATE_SKIP_TASKBAR [ ] -_NET_WM_STATE_SKIP_PAGER [ ] +_NET_WM_STATE_SKIP_TASKBAR [X] +_NET_WM_STATE_SKIP_PAGER [X] _NET_WM_STATE_HIDDEN [X] _NET_WM_STATE_FULLSCREEN [X] _NET_WM_STATE_ABOVE [X] @@ -87,6 +87,6 @@ _NET_WM_PID [X] _NET_WM_HANDLED_ICONS [T] _NET_WM_USER_TIME [X] _NET_FRAME_EXTENTS [X] -_NET_WM_PING [X] /* Still need to do action if no ping return */ +_NET_WM_PING [X] _NET_WM_SYNC_REQUEST [X] _NET_WM_SYNC_REQUEST_COUNTER [X] diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index 5ce31eb16..5344ed0e0 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -13,14 +13,88 @@ e_hints_init(void) roots = ecore_x_window_root_list(&num); if (roots) { - int i; - + Ecore_X_Atom supported[41]; + int supported_num, i; + + supported_num = 0; + /* Set what hints we support */ + /* Root Window Properties (and Related Messages) */ + supported[supported_num++] = ECORE_X_ATOM_NET_CLIENT_LIST; + supported[supported_num++] = ECORE_X_ATOM_NET_CLIENT_LIST_STACKING; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_DESKTOP_GEOMETRY, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_DESKTOP_VIEWPORT, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_CURRENT_DESKTOP, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_DESKTOP_NAMES, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_ACTIVE_WINDOW; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WORKAREA, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK; + supported[supported_num++] = ECORE_X_ATOM_NET_VIRTUAL_ROOTS; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_DESKTOP_LAYOUT, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_SHOWING_DESKTOP, 1);*/ + + /* Other Root Wsupported_numndow Messages */ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_CLOSE_WINDOW, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_MOVERESIZE_WINDOW, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_WM_MOVERESIZE; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_RESTACK_WINDOW, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS; + + /* Applsupported_numcatsupported_numon Wsupported_numndow Propertsupported_numes */ + supported[supported_num++] = ECORE_X_ATOM_NET_WM_NAME; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_VISIBLE_NAME; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_ICON_NAME; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_DESKTOP, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_MODAL; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_STICKY; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_SHADED; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_HIDDEN; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_ABOVE; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STATE_BELOW; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_MOVE, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_RESIZE, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_SHADE, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_STICK, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP, 1);*/ + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ACTION_CLOSE, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STRUT; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_STRUT_PARTIAL; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_ICON_GEOMETRY, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_WM_ICON; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_PID; + /*ecore_x_netwm_supported(roots[supported_num], ECORE_X_ATOM_NET_WM_HANDLED_ICONS, 1);*/ + supported[supported_num++] = ECORE_X_ATOM_NET_WM_USER_TIME; + supported[supported_num++] = ECORE_X_ATOM_NET_FRAME_EXTENTS; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_PING; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_SYNC_REQUEST; + supported[supported_num++] = ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER; + for (i = 0; i < num; i++) { Ecore_X_Window win; - Ecore_X_Atom supported[38]; - int num; - + win = ecore_x_window_new(roots[i], -200, -200, 5, 5); /* * I don't FUCKING believe it. if we PRETENT we are Kwin - java is happy. @@ -41,82 +115,7 @@ e_hints_init(void) /* ecore_x_netwm_wm_identify(roots[i], win, "KWin");*/ ecore_x_netwm_wm_identify(roots[i], win, "Enlightenment"); - num = 0; - /* Set what hints we support */ - /* Root Window Properties (and Related Messages) */ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_SUPPORTED, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_CLIENT_LIST; - supported[num++] = ECORE_X_ATOM_NET_CLIENT_LIST_STACKING; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_DESKTOP_GEOMETRY, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_DESKTOP_VIEWPORT, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_CURRENT_DESKTOP, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_DESKTOP_NAMES, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_ACTIVE_WINDOW; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WORKAREA, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK; - supported[num++] = ECORE_X_ATOM_NET_VIRTUAL_ROOTS; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_DESKTOP_LAYOUT, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_SHOWING_DESKTOP, 1);*/ - - /* Other Root Window Messages */ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_CLOSE_WINDOW, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_MOVERESIZE_WINDOW, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_MOVERESIZE; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_RESTACK_WINDOW, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS; - - /* Application Window Properties */ - supported[num++] = ECORE_X_ATOM_NET_WM_NAME; - supported[num++] = ECORE_X_ATOM_NET_WM_VISIBLE_NAME; - supported[num++] = ECORE_X_ATOM_NET_WM_ICON_NAME; - supported[num++] = ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_DESKTOP, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG; - supported[num++] = ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_MODAL, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_STICKY; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_SHADED; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_HIDDEN; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_ABOVE; - supported[num++] = ECORE_X_ATOM_NET_WM_STATE_BELOW; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_MOVE, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_RESIZE, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_SHADE, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_STICK, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP, 1);*/ - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ACTION_CLOSE, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_STRUT; - supported[num++] = ECORE_X_ATOM_NET_WM_STRUT_PARTIAL; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ICON_GEOMETRY, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_ICON; - supported[num++] = ECORE_X_ATOM_NET_WM_PID; - /*ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_HANDLED_ICONS, 1);*/ - supported[num++] = ECORE_X_ATOM_NET_WM_USER_TIME; - supported[num++] = ECORE_X_ATOM_NET_FRAME_EXTENTS; - supported[num++] = ECORE_X_ATOM_NET_WM_PING; - supported[num++] = ECORE_X_ATOM_NET_WM_SYNC_REQUEST; - supported[num++] = ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER; - ecore_x_netwm_supported_set(roots[i], supported, num); + ecore_x_netwm_supported_set(roots[i], supported, supported_num); } free(roots); } diff --git a/src/modules/pager/e_mod_main.h b/src/modules/pager/e_mod_main.h index a57fc1704..9ac8ff7db 100644 --- a/src/modules/pager/e_mod_main.h +++ b/src/modules/pager/e_mod_main.h @@ -88,6 +88,9 @@ struct _Pager_Face struct { Evas_Coord l, r, t, b; } inset; + struct { + Evas_Coord l, r, t, b; + } desk_inset; /* Current nr. of desktops */ int xnum, ynum;