aboutsummaryrefslogtreecommitdiff
path: root/src/Ewmh.hh
diff options
context:
space:
mode:
authorMathias Gumz <akira at fluxbox dot org>2008-01-02 21:41:50 (GMT)
committerMathias Gumz <akira at fluxbox dot org>2008-01-02 21:41:50 (GMT)
commitd24e2aae6ed435d045990b6e3ce95de2df629be7 (patch)
treeee1a248796f45c4b8212c76e627ab8fdda40c55b /src/Ewmh.hh
parent222128c236db06267d0cc225a9e7bbdd017bce77 (diff)
downloadfluxbox-d24e2aae6ed435d045990b6e3ce95de2df629be7.zip
fluxbox-d24e2aae6ed435d045990b6e3ce95de2df629be7.tar.bz2
more encapsulation for Ewmh
Diffstat (limited to 'src/Ewmh.hh')
-rw-r--r--src/Ewmh.hh74
1 files changed, 5 insertions, 69 deletions
diff --git a/src/Ewmh.hh b/src/Ewmh.hh
index 2744406..bb70b142 100644
--- a/src/Ewmh.hh
+++ b/src/Ewmh.hh
@@ -29,6 +29,8 @@ class Ewmh:public AtomHandler {
29public: 29public:
30 30
31 Ewmh(); 31 Ewmh();
32 ~Ewmh();
33
32 void initForScreen(BScreen &screen); 34 void initForScreen(BScreen &screen);
33 void setupFrame(FluxboxWindow &win); 35 void setupFrame(FluxboxWindow &win);
34 void setupClient(WinClient &winclient); 36 void setupClient(WinClient &winclient);
@@ -65,79 +67,13 @@ private:
65 WinClient &client); 67 WinClient &client);
66 void toggleState(FluxboxWindow &win, Atom state); 68 void toggleState(FluxboxWindow &win, Atom state);
67 void toggleState(FluxboxWindow &win, Atom state, WinClient &client); 69 void toggleState(FluxboxWindow &win, Atom state, WinClient &client);
68 void createAtoms();
69 void updateStrut(WinClient &winclient); 70 void updateStrut(WinClient &winclient);
70 void updateActions(FluxboxWindow &win); 71 void updateActions(FluxboxWindow &win);
71 72
72 void setupState(FluxboxWindow &win); 73 void setupState(FluxboxWindow &win);
73 74
74
75 // root window properties
76 Atom m_net_supported,
77 m_net_client_list,
78 m_net_client_list_stacking,
79 m_net_number_of_desktops,
80 m_net_desktop_geometry,
81 m_net_desktop_viewport,
82 m_net_current_desktop,
83 m_net_desktop_names,
84 m_net_active_window,
85 m_net_workarea,
86 m_net_supporting_wm_check,
87 m_net_virtual_roots,
88 m_net_moveresize_window,
89 m_net_restack_window,
90 m_net_request_frame_extents;
91
92 // root window messages
93 Atom m_net_close_window, m_net_wm_moveresize;
94
95 // application window properties
96 Atom m_net_properties, m_net_wm_name, m_net_wm_icon_name,
97 m_net_wm_desktop,
98 // types
99 m_net_wm_window_type,
100 m_net_wm_window_type_dock,
101 m_net_wm_window_type_desktop,
102 m_net_wm_window_type_splash,
103 m_net_wm_window_type_dialog,
104 m_net_wm_window_type_menu,
105 m_net_wm_window_type_toolbar,
106 m_net_wm_window_type_normal,
107
108 // states
109 m_net_wm_state, m_net_wm_state_sticky, m_net_wm_state_shaded,
110 m_net_wm_state_maximized_horz, m_net_wm_state_maximized_vert,
111 m_net_wm_state_fullscreen,
112 m_net_wm_state_hidden,
113 m_net_wm_state_skip_taskbar,
114 m_net_wm_state_skip_pager,
115 m_net_wm_state_below,
116 m_net_wm_state_above,
117 m_net_wm_state_modal,
118 m_net_wm_state_demands_attention,
119
120 // allowed actions
121 m_net_wm_allowed_actions,
122 m_net_wm_action_move,
123 m_net_wm_action_resize,
124 m_net_wm_action_minimize,
125 m_net_wm_action_shade,
126 m_net_wm_action_stick,
127 m_net_wm_action_maximize_horz, m_net_wm_action_maximize_vert,
128 m_net_wm_action_fullscreen,
129 m_net_wm_action_change_desktop,
130 m_net_wm_action_close,
131
132 m_net_wm_strut, m_net_wm_icon_geometry, m_net_wm_icon, m_net_wm_pid,
133 m_net_wm_handled_icons,
134
135 m_net_frame_extents;
136
137 // application protocols
138 Atom m_net_wm_ping;
139
140 Atom utf8_string;
141
142 FbTk::FbString getUTF8Property(Atom property); 75 FbTk::FbString getUTF8Property(Atom property);
76
77 class EwmhAtoms;
78 EwmhAtoms* m_net;
143}; 79};