diff options
author | okan | 2012-07-03 13:49:03 +0000 |
---|---|---|
committer | okan | 2012-07-03 13:49:03 +0000 |
commit | ddc2baea991a9aee4b138ed29436fe423d1c4d3e (patch) | |
tree | 490e677d510550663ec475c0c1ce96a49c78538a /calmwm.h | |
parent | d9b285478d95868143d2231edca6375c0137aba5 (diff) | |
download | cwm-ddc2baea991a9aee4b138ed29436fe423d1c4d3e.tar.gz |
re-implement atom handing; makes for a normalized and more consistent
separation between cwm and ewmh. seen by a few.
Diffstat (limited to 'calmwm.h')
-rw-r--r-- | calmwm.h | 76 |
1 files changed, 46 insertions, 30 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: calmwm.h,v 1.146 2012/05/16 01:17:14 okan Exp $ + * $OpenBSD: calmwm.h,v 1.147 2012/07/03 13:49:03 okan Exp $ */ #ifndef _CALMWM_H_ @@ -466,6 +466,19 @@ void xu_setstate(struct client_ctx *, int); void xu_ewmh_net_supported(struct screen_ctx *); void xu_ewmh_net_supported_wm_check(struct screen_ctx *); +void xu_ewmh_net_desktop_geometry(struct screen_ctx *); +void xu_ewmh_net_workarea(struct screen_ctx *); +void xu_ewmh_net_client_list(struct screen_ctx *); +void xu_ewmh_net_active_window(struct screen_ctx *, Window); +void xu_ewmh_net_wm_desktop_viewport(struct screen_ctx *); +void xu_ewmh_net_wm_number_of_desktops(struct screen_ctx *); +void xu_ewmh_net_showing_desktop(struct screen_ctx *); +void xu_ewmh_net_virtual_roots(struct screen_ctx *); +void xu_ewmh_net_current_desktop(struct screen_ctx *, long); +void xu_ewmh_net_desktop_names(struct screen_ctx *, unsigned char *, int); + +void xu_ewmh_net_wm_desktop(struct client_ctx *); + void u_exec(char *); void u_spawn(char *); @@ -490,34 +503,37 @@ extern struct conf Conf; extern int HasXinerama, HasRandr, Randr_ev; -#define WM_STATE cwm_atoms[0] -#define WM_DELETE_WINDOW cwm_atoms[1] -#define WM_TAKE_FOCUS cwm_atoms[2] -#define WM_PROTOCOLS cwm_atoms[3] -#define _MOTIF_WM_HINTS cwm_atoms[4] -#define UTF8_STRING cwm_atoms[5] -/* - * please make all hints below this point netwm hints, starting with - * _NET_SUPPORTED. If you change other hints make sure you update - * CWM_NETWM_START - */ -#define _NET_SUPPORTED cwm_atoms[6] -#define _NET_SUPPORTING_WM_CHECK cwm_atoms[7] -#define _NET_WM_NAME cwm_atoms[8] -#define _NET_ACTIVE_WINDOW cwm_atoms[9] -#define _NET_CLIENT_LIST cwm_atoms[10] -#define _NET_NUMBER_OF_DESKTOPS cwm_atoms[11] -#define _NET_CURRENT_DESKTOP cwm_atoms[12] -#define _NET_DESKTOP_VIEWPORT cwm_atoms[13] -#define _NET_DESKTOP_GEOMETRY cwm_atoms[14] -#define _NET_VIRTUAL_ROOTS cwm_atoms[15] -#define _NET_SHOWING_DESKTOP cwm_atoms[16] -#define _NET_DESKTOP_NAMES cwm_atoms[17] -#define _NET_WM_DESKTOP cwm_atoms[18] -#define _NET_WORKAREA cwm_atoms[19] -#define CWM_NO_ATOMS 20 -#define CWM_NETWM_START 6 - -extern Atom cwm_atoms[CWM_NO_ATOMS]; +enum { + WM_STATE, + WM_DELETE_WINDOW, + WM_TAKE_FOCUS, + WM_PROTOCOLS, + _MOTIF_WM_HINTS, + UTF8_STRING, + CWMH_NITEMS +}; +enum { + _NET_SUPPORTED, + _NET_SUPPORTING_WM_CHECK, + _NET_ACTIVE_WINDOW, + _NET_CLIENT_LIST, + _NET_NUMBER_OF_DESKTOPS, + _NET_CURRENT_DESKTOP, + _NET_DESKTOP_VIEWPORT, + _NET_DESKTOP_GEOMETRY, + _NET_VIRTUAL_ROOTS, + _NET_SHOWING_DESKTOP, + _NET_DESKTOP_NAMES, + _NET_WORKAREA, + _NET_WM_NAME, + _NET_WM_DESKTOP, + EWMH_NITEMS +}; +struct atom_ctx { + char *name; + Atom atom; +}; +extern struct atom_ctx cwmh[CWMH_NITEMS]; +extern struct atom_ctx ewmh[EWMH_NITEMS]; #endif /* _CALMWM_H_ */ |