/* * $Id: Atoms.h 1700 2006-07-22 18:51:10Z karijes $ * * Edewm, window manager * Part of Equinox Desktop Environment (EDE). * Copyright (c) 2000-2006 EDE Authors. * * This program is licenced under terms of the * GNU General Public Licence version 2 or newer. * See COPYING for details. */ #ifndef __ATOMS_H__ #define __ATOMS_H__ #ifdef _DEBUG #include #endif #include // Icccm atoms extern Atom _XA_WM_PROTOCOLS; extern Atom _XA_WM_DELETE_WINDOW; extern Atom _XA_WM_STATE; extern Atom _XA_WM_CHANGE_STATE; extern Atom _XA_WM_COLORMAP_WINDOWS; extern Atom _XA_WM_TAKE_FOCUS; extern Atom _XA_UTF8_STRING; // Motif atoms extern Atom _XA_MOTIF_HINTS; // Netwm atoms // root messages extern Atom _XA_NET_SUPPORTED; extern Atom _XA_NET_SUPPORTING_WM_CHECK; extern Atom _XA_NET_NUMBER_OF_DESKTOPS; extern Atom _XA_NET_DESKTOP_GEOMETRY; extern Atom _XA_NET_DESKTOP_VIEWPORT; extern Atom _XA_NET_CURRENT_DESKTOP; extern Atom _XA_NET_DESKTOP_NAMES; extern Atom _XA_NET_ACTIVE_WINDOW; extern Atom _XA_NET_WORKAREA; extern Atom _XA_NET_SHOWING_DESKTOP; // other root messages extern Atom _XA_NET_CLOSE_WINDOW; extern Atom _XA_NET_MOVERESIZE_WINDOW; extern Atom _XA_NET_RESTACK_WINDOW; extern Atom _XA_NET_REQUEST_FRAME_EXTENTS; // application messages extern Atom _XA_NET_WM_NAME; extern Atom _XA_NET_WM_WINDOW_TYPE; extern Atom _XA_NET_WM_WINDOW_TYPE_NORMAL; extern Atom _XA_NET_WM_WINDOW_TYPE_DOCK; extern Atom _XA_NET_WM_WINDOW_TYPE_TOOLBAR; extern Atom _XA_NET_WM_WINDOW_TYPE_MENU; extern Atom _XA_NET_WM_WINDOW_TYPE_UTIL; extern Atom _XA_NET_WM_WINDOW_TYPE_DIALOG; extern Atom _XA_NET_WM_WINDOW_TYPE_SPLASH; extern Atom _XA_NET_WM_WINDOW_TYPE_DESKTOP; extern Atom _XA_NET_WM_STATE_SHADED; extern Atom _XA_NET_WM_STATE_MAXIMIZED_VERT; extern Atom _XA_NET_WM_STATE_MAXIMIZED_HORZ; extern Atom _XA_NET_WM_STATE_ABOVE; extern Atom _XA_NET_WM_STATE_BELOW; // how to apply above states #define _NET_WM_STATE_REMOVE 0 // remove/unset property #define _NET_WM_STATE_ADD 1 // add/set property #define _NET_WM_STATE_TOGGLE 2 // toggle property // our messages extern Atom _XA_EDE_WM_STARTUP_NOTIFY; extern Atom _XA_EDE_WM_APP_STARTING; // atoms for debugging (not implemented) extern Atom _XA_NET_VIRTUAL_ROOTS; extern Atom _XA_NET_DESKTOP_LAYOUT; extern Atom _XA_NET_WM_MOVERESIZE; extern Atom _XA_NET_RESTACK_WINDOW; extern Atom _XA_NET_REQUEST_FRAME_EXTENTS; extern Atom _XA_NET_WM_NAME; extern Atom _XA_NET_WM_VISIBLE_NAME; extern Atom _XA_NET_WM_ICON_NAME; extern Atom _XA_NET_WM_ICON_VISIBLE_NAME; extern Atom _XA_NET_WM_DESKTOP; extern Atom _XA_NET_WM_STATE; extern Atom _XA_NET_WM_STATE_MODAL; //Needs transient for (root for whole group) extern Atom _XA_NET_WM_STATE_STICKY; //Pos fixed, even if virt. desk. scrolls extern Atom _XA_NET_WM_STATE_SKIP_TASKBAR; extern Atom _XA_NET_WM_STATE_SKIP_PAGER; extern Atom _XA_NET_WM_STATE_HIDDEN; extern Atom _XA_NET_WM_STATE_FULLSCREEN; extern Atom _XA_NET_WM_STATE_DEMANDS_ATTENTION; extern Atom _XA_NET_WM_ALLOWED_ACTIONS; extern Atom _XA_NET_WM_ACTION_MOVE; extern Atom _XA_NET_WM_ACTION_RESIZE; extern Atom _XA_NET_WM_ACTION_MINIMIZE; extern Atom _XA_NET_WM_ACTION_SHADE; extern Atom _XA_NET_WM_ACTION_STICK; extern Atom _XA_NET_WM_ACTION_MAXIMIZE_HORZ; extern Atom _XA_NET_WM_ACTION_MAXIMIZE_VERT; extern Atom _XA_NET_WM_ACTION_FULLSCREEN; extern Atom _XA_NET_WM_ACTION_CHANGE_DESKTOP; extern Atom _XA_NET_WM_ACTION_CLOSE; extern Atom _XA_NET_WM_STRUT; extern Atom _XA_NET_WM_STRUT_PARTIAL; extern Atom _XA_NET_WM_ICON_GEOMETRY; extern Atom _XA_NET_WM_ICON; extern Atom _XA_NET_WM_PID; extern Atom _XA_NET_WM_HANDLED_ICONS; extern Atom _XA_NET_WM_USER_TIME; extern Atom _XA_NET_FRAME_EXTENTS; extern Atom _XA_NET_WM_PING; extern Atom _XA_NET_WM_SYNC_REQUEST; extern Atom _XA_NET_WM_STATE_STAYS_ON_TOP; extern Atom _XA_KWM_WIN_ICON; #ifdef _DEBUG void InitAtoms(Display* display, std::map& atoms_map); #else void InitAtoms(Display* display); #endif void SetSupported(Window root); #endif // __ATOMS_H__