diff options
Diffstat (limited to 'src/Gnome.cc')
-rw-r--r-- | src/Gnome.cc | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/Gnome.cc b/src/Gnome.cc index 6eef315..2b12b7f 100644 --- a/src/Gnome.cc +++ b/src/Gnome.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: Gnome.cc,v 1.26 2003/06/12 14:28:00 fluxgen Exp $ | 22 | // $Id: Gnome.cc,v 1.27 2003/06/23 14:16:04 rathnor Exp $ |
23 | 23 | ||
24 | #include "Gnome.hh" | 24 | #include "Gnome.hh" |
25 | 25 | ||
@@ -223,9 +223,13 @@ void Gnome::updateWorkspace(FluxboxWindow &win) { | |||
223 | cerr<<__FILE__<<"("<<__LINE__<<"): setting workspace("<<val<< | 223 | cerr<<__FILE__<<"("<<__LINE__<<"): setting workspace("<<val<< |
224 | ") for window("<<&win<<")"<<endl; | 224 | ") for window("<<&win<<")"<<endl; |
225 | #endif // DEBUG | 225 | #endif // DEBUG |
226 | win.winClient().changeProperty(m_gnome_wm_win_workspace, | 226 | |
227 | XA_CARDINAL, 32, PropModeReplace, | 227 | FluxboxWindow::ClientList::iterator client_it = win.clientList().begin(); |
228 | (unsigned char *)&val, 1); | 228 | FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end(); |
229 | for (; client_it != client_it_end; ++client_it) | ||
230 | (*client_it)->changeProperty(m_gnome_wm_win_workspace, | ||
231 | XA_CARDINAL, 32, PropModeReplace, | ||
232 | (unsigned char *)&val, 1); | ||
229 | } | 233 | } |
230 | 234 | ||
231 | void Gnome::updateState(FluxboxWindow &win) { | 235 | void Gnome::updateState(FluxboxWindow &win) { |
@@ -238,18 +242,25 @@ void Gnome::updateState(FluxboxWindow &win) { | |||
238 | if (win.isShaded()) | 242 | if (win.isShaded()) |
239 | state |= WIN_STATE_SHADED; | 243 | state |= WIN_STATE_SHADED; |
240 | 244 | ||
241 | win.winClient().changeProperty(m_gnome_wm_win_state, | 245 | FluxboxWindow::ClientList::iterator client_it = win.clientList().begin(); |
242 | XA_CARDINAL, 32, | 246 | FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end(); |
243 | PropModeReplace, (unsigned char *)&state, 1); | 247 | for (; client_it != client_it_end; ++client_it) |
248 | (*client_it)->changeProperty(m_gnome_wm_win_state, | ||
249 | XA_CARDINAL, 32, | ||
250 | PropModeReplace, (unsigned char *)&state, 1); | ||
244 | } | 251 | } |
245 | 252 | ||
246 | void Gnome::updateLayer(FluxboxWindow &win) { | 253 | void Gnome::updateLayer(FluxboxWindow &win) { |
247 | //TODO - map from flux layers to gnome ones | 254 | //TODO - map from flux layers to gnome ones |
248 | // our layers are in the opposite direction to GNOME | 255 | // our layers are in the opposite direction to GNOME |
249 | int layernum = Fluxbox::instance()->getDesktopLayer() - win.layerNum(); | 256 | int layernum = Fluxbox::instance()->getDesktopLayer() - win.layerNum(); |
250 | win.winClient().changeProperty(m_gnome_wm_win_layer, | 257 | |
251 | XA_CARDINAL, 32, PropModeReplace, | 258 | FluxboxWindow::ClientList::iterator client_it = win.clientList().begin(); |
252 | (unsigned char *)&layernum, 1); | 259 | FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end(); |
260 | for (; client_it != client_it_end; ++client_it) | ||
261 | (*client_it)->changeProperty(m_gnome_wm_win_layer, | ||
262 | XA_CARDINAL, 32, PropModeReplace, | ||
263 | (unsigned char *)&layernum, 1); | ||
253 | 264 | ||
254 | } | 265 | } |
255 | 266 | ||