00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef FBATOMS_HH
00024 #define FBATOMS_HH
00025
00026 #include <X11/Xlib.h>
00027 #include <X11/Xatom.h>
00028
00030 class FbAtoms {
00031 public:
00032 FbAtoms();
00033 ~FbAtoms();
00034
00035 static FbAtoms *instance();
00036
00037 inline Atom getWMChangeStateAtom() const { return xa_wm_change_state; }
00038 inline Atom getWMStateAtom() const { return xa_wm_state; }
00039 inline Atom getWMDeleteAtom() const { return xa_wm_delete_window; }
00040 inline Atom getWMProtocolsAtom() const { return xa_wm_protocols; }
00041 inline Atom getWMTakeFocusAtom() const { return xa_wm_take_focus; }
00042
00043
00044
00045 inline Atom getFluxboxHintsAtom() const { return blackbox_hints;}
00046 inline Atom getMWMHintsAtom() const { return motif_wm_hints; }
00047
00048
00049
00050 inline Atom getFluxboxAttributesAtom() const { return blackbox_attributes; }
00051 inline Atom getFluxboxChangeAttributesAtom() const { return blackbox_change_attributes; }
00052
00053
00054
00055
00056
00057 inline Atom getFluxboxStructureMessagesAtom() const{ return blackbox_structure_messages; }
00058
00059
00060 inline Atom getFluxboxNotifyStartupAtom() const { return blackbox_notify_startup; }
00061 inline Atom getFluxboxNotifyWindowAddAtom() const { return blackbox_notify_window_add; }
00062 inline Atom getFluxboxNotifyWindowDelAtom() const { return blackbox_notify_window_del; }
00063 inline Atom getFluxboxNotifyWindowFocusAtom() const { return blackbox_notify_window_focus; }
00064 inline Atom getFluxboxNotifyCurrentWorkspaceAtom() const { return blackbox_notify_current_workspace; }
00065 inline Atom getFluxboxNotifyWorkspaceCountAtom() const { return blackbox_notify_workspace_count; }
00066 inline Atom getFluxboxNotifyWindowRaiseAtom() const { return blackbox_notify_window_raise; }
00067 inline Atom getFluxboxNotifyWindowLowerAtom() const { return blackbox_notify_window_lower; }
00068
00069
00070
00071
00072 inline Atom getFluxboxChangeWorkspaceAtom() const { return blackbox_change_workspace; }
00073 inline Atom getFluxboxChangeWindowFocusAtom() const { return blackbox_change_window_focus; }
00074 inline Atom getFluxboxCycleWindowFocusAtom() const { return blackbox_cycle_window_focus; }
00075
00076 private:
00077 void initAtoms();
00078
00079 Atom blackbox_attributes, blackbox_change_attributes, blackbox_hints;
00080
00081 Atom motif_wm_hints;
00082
00083
00084 Atom blackbox_structure_messages, blackbox_notify_startup,
00085 blackbox_notify_window_add, blackbox_notify_window_del,
00086 blackbox_notify_window_focus, blackbox_notify_current_workspace,
00087 blackbox_notify_workspace_count, blackbox_notify_window_raise,
00088 blackbox_notify_window_lower;
00089
00090
00091 Atom blackbox_change_workspace, blackbox_change_window_focus,
00092 blackbox_cycle_window_focus;
00093
00094 Atom xa_wm_protocols, xa_wm_state,
00095 xa_wm_delete_window, xa_wm_take_focus, xa_wm_change_state;
00096
00097 bool m_init;
00098 static FbAtoms *s_singleton;
00099 };
00100
00101 #endif //FBATOMS_HH