cwmcc/atom.h (raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
#ifndef __cwmcc_atom_h #define __cwmcc_atom_h #include <X11/Xlib.h> /*! Atoms for basic data types for properties */ struct TypeAtoms { Atom cardinal; /*!< The atom which represents the Cardinal data type */ Atom window; /*!< The atom which represents window ids */ Atom pixmap; /*!< The atom which represents pixmap ids */ Atom atom; /*!< The atom which represents atom values */ Atom string; /*!< The atom which represents ascii strings */ Atom utf8; /*!< The atom which represents utf8-encoded strings */ }; /*! Atoms for client window properties */ struct ClientAtoms { Atom wm_protocols; Atom wm_state; Atom wm_name; Atom wm_icon_name; Atom wm_class; Atom wm_window_role; Atom motif_wm_hints; Atom net_wm_name; Atom net_wm_visible_name; Atom net_wm_icon_name; Atom net_wm_visible_icon_name; Atom net_wm_desktop; Atom net_wm_window_type; Atom net_wm_state; Atom net_wm_strut; Atom net_wm_icon; Atom net_wm_allowed_actions; Atom kwm_win_icon; Atom openbox_premax; }; /*! Atoms for root window properties */ struct RootAtoms { Atom net_supported; Atom net_client_list; Atom net_client_list_stacking; Atom net_number_of_desktops; Atom net_desktop_geometry; Atom net_desktop_viewport; Atom net_current_desktop; Atom net_desktop_names; Atom net_active_window; Atom net_workarea; Atom net_supporting_wm_check; Atom net_desktop_layout; Atom net_showing_desktop; Atom openbox_pid; }; /*! Atoms used for protocols or client messages, or for setting as values of properties */ struct DataAtoms { /* window hints */ Atom wm_delete_window; Atom wm_take_focus; Atom wm_change_state; Atom net_close_window; Atom net_wm_moveresize; Atom net_wm_window_type_desktop; Atom net_wm_window_type_dock; Atom net_wm_window_type_toolbar; Atom net_wm_window_type_menu; Atom net_wm_window_type_utility; Atom net_wm_window_type_splash; Atom net_wm_window_type_dialog; Atom net_wm_window_type_normal; Atom kde_net_wm_window_type_override; Atom net_wm_moveresize_size_topleft; Atom net_wm_moveresize_size_topright; Atom net_wm_moveresize_size_bottomleft; Atom net_wm_moveresize_size_bottomright; Atom net_wm_moveresize_move; Atom net_wm_action_move; Atom net_wm_action_resize; Atom net_wm_action_minimize; Atom net_wm_action_shade; Atom net_wm_action_stick; Atom net_wm_action_maximize_horz; Atom net_wm_action_maximize_vert; Atom net_wm_action_fullscreen; Atom net_wm_action_change_desktop; Atom net_wm_action_close; Atom net_wm_state_modal; Atom net_wm_state_sticky; Atom net_wm_state_maximized_vert; Atom net_wm_state_maximized_horz; Atom net_wm_state_shaded; Atom net_wm_state_skip_taskbar; Atom net_wm_state_skip_pager; Atom net_wm_state_hidden; Atom net_wm_state_fullscreen; Atom net_wm_state_above; Atom net_wm_state_below; Atom net_wm_state_add; Atom net_wm_state_remove; Atom net_wm_state_toggle; Atom net_wm_orientation_horz; Atom net_wm_orientation_vert; Atom net_wm_topleft; Atom net_wm_topright; Atom net_wm_bottomright; Atom net_wm_bottomleft; }; extern struct TypeAtoms cwmcc_atom_type; extern struct ClientAtoms cwmcc_atom_client; extern struct RootAtoms cwmcc_atom_root; extern struct DataAtoms cwmcc_atom_data; #define CWMCC_ATOM(type, name) (cwmcc_atom_##type.name) void atom_startup(); #endif |