changed (void) to () and fixed if-statements in getMWMHints
jump to
@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: Window.cc,v 1.54 2002/05/21 21:22:05 fluxgen Exp $ +// $Id: Window.cc,v 1.55 2002/05/30 00:46:22 fluxgen Exp $ #include "Window.hh"@@ -340,7 +340,7 @@
} -FluxboxWindow::~FluxboxWindow(void) { +FluxboxWindow::~FluxboxWindow() { if (screen==0) //the window wasn't created return;@@ -513,7 +513,7 @@ create_mask, &attrib_create));
} -void FluxboxWindow::associateClientWindow(void) { +void FluxboxWindow::associateClientWindow() { XSetWindowBorderWidth(display, client.window, 0); getWMName(); getWMIconName();@@ -601,7 +601,7 @@ }
} -void FluxboxWindow::decorate(void) { +void FluxboxWindow::decorate() { if (tab) tab->decorate();@@ -727,7 +727,7 @@ screen->getBorderColor()->getPixel());
} -void FluxboxWindow::decorateLabel(void) { +void FluxboxWindow::decorateLabel() { Pixmap tmp = frame.flabel; BTexture *texture = &(screen->getWindowStyle()->l_focus); if (texture->getTexture() == (BImage::FLAT | BImage::SOLID)) {@@ -1251,7 +1251,7 @@ redrawAllButtons();
} -void FluxboxWindow::reconfigure(void) { +void FluxboxWindow::reconfigure() { upsize(); if (Fluxbox::instance()->useTabs()) {@@ -1314,7 +1314,7 @@
} -void FluxboxWindow::positionWindows(void) { +void FluxboxWindow::positionWindows() { XResizeWindow(display, frame.window, frame.width, ((shaded) ? frame.title_h : frame.height)); XSetWindowBorderWidth(display, frame.window, screen->getBorderWidth());@@ -1354,7 +1354,7 @@ tab->setPosition();
} -void FluxboxWindow::getWMName(void) { +void FluxboxWindow::getWMName() { XTextProperty text_prop; char **list;@@ -1403,7 +1403,7 @@
} -void FluxboxWindow::getWMIconName(void) { +void FluxboxWindow::getWMIconName() { XTextProperty text_prop; char **list;@@ -1433,7 +1433,7 @@
} -void FluxboxWindow::getWMProtocols(void) { +void FluxboxWindow::getWMProtocols() { Atom *proto; int num_return = 0; Fluxbox *fluxbox = Fluxbox::instance();@@ -1453,7 +1453,7 @@ }
} -void FluxboxWindow::getWMHints(void) { +void FluxboxWindow::getWMHints() { XWMHints *wmhint = XGetWMHints(display, client.window); if (! wmhint) { visible = true;@@ -1496,7 +1496,7 @@ }
} -void FluxboxWindow::getWMNormalHints(void) { +void FluxboxWindow::getWMNormalHints() { long icccm_mask; XSizeHints sizehint; if (! XGetWMNormalHints(display, client.window, &sizehint, &icccm_mask)) {@@ -1554,67 +1554,74 @@ }
} -void FluxboxWindow::getMWMHints(void) { +void FluxboxWindow::getMWMHints() { int format; Atom atom_return; unsigned long num, len; Fluxbox *fluxbox = Fluxbox::instance(); - if (XGetWindowProperty(display, client.window, + if (!XGetWindowProperty(display, client.window, fluxbox->getMotifWMHintsAtom(), 0, PropMwmHintsElements, false, fluxbox->getMotifWMHintsAtom(), &atom_return, &format, &num, &len, (unsigned char **) &client.mwm_hint) == Success && - client.mwm_hint) - if (num == PropMwmHintsElements) { - if (client.mwm_hint->flags & MwmHintsDecorations) - if (client.mwm_hint->decorations & MwmDecorAll) - decorations.titlebar = decorations.handle = decorations.border = - decorations.iconify = decorations.maximize = - decorations.close = decorations.menu = true; - else { - decorations.titlebar = decorations.handle = decorations.border = - decorations.iconify = decorations.maximize = - decorations.close = decorations.menu = decorations.tab = false; + client.mwm_hint) { + return; + } + if (num != PropMwmHintsElements) + return; + + if (client.mwm_hint->flags & MwmHintsDecorations) { + if (client.mwm_hint->decorations & MwmDecorAll) { + decorations.titlebar = decorations.handle = decorations.border = + decorations.iconify = decorations.maximize = + decorations.close = decorations.menu = true; + } else { + decorations.titlebar = decorations.handle = decorations.border = + decorations.iconify = decorations.maximize = + decorations.close = decorations.menu = decorations.tab = false; - if (client.mwm_hint->decorations & MwmDecorBorder) - decorations.border = true; - if (client.mwm_hint->decorations & MwmDecorHandle) - decorations.handle = true; - if (client.mwm_hint->decorations & MwmDecorTitle) - decorations.titlebar = decorations.tab = true; //only tab on windows with titlebar - if (client.mwm_hint->decorations & MwmDecorMenu) - decorations.menu = true; - if (client.mwm_hint->decorations & MwmDecorIconify) - decorations.iconify = true; - if (client.mwm_hint->decorations & MwmDecorMaximize) - decorations.maximize = true; - } + if (client.mwm_hint->decorations & MwmDecorBorder) + decorations.border = true; + if (client.mwm_hint->decorations & MwmDecorHandle) + decorations.handle = true; + if (client.mwm_hint->decorations & MwmDecorTitle) + decorations.titlebar = decorations.tab = true; //only tab on windows with titlebar + if (client.mwm_hint->decorations & MwmDecorMenu) + decorations.menu = true; + if (client.mwm_hint->decorations & MwmDecorIconify) + decorations.iconify = true; + if (client.mwm_hint->decorations & MwmDecorMaximize) + decorations.maximize = true; + } + } + + if (client.mwm_hint->flags & MwmHintsFunctions) { + if (client.mwm_hint->functions & MwmFuncAll) { + functions.resize = functions.move = functions.iconify = + functions.maximize = functions.close = true; + } else { + functions.resize = functions.move = functions.iconify = + functions.maximize = functions.close = false; - if (client.mwm_hint->flags & MwmHintsFunctions) - if (client.mwm_hint->functions & MwmFuncAll) { - functions.resize = functions.move = functions.iconify = - functions.maximize = functions.close = true; - } else { - functions.resize = functions.move = functions.iconify = - functions.maximize = functions.close = false; - - if (client.mwm_hint->functions & MwmFuncResize) - functions.resize = true; - if (client.mwm_hint->functions & MwmFuncMove) - functions.move = true; - if (client.mwm_hint->functions & MwmFuncIconify) - functions.iconify = true; - if (client.mwm_hint->functions & MwmFuncMaximize) - functions.maximize = true; - if (client.mwm_hint->functions & MwmFuncClose) - functions.close = true; - } + if (client.mwm_hint->functions & MwmFuncResize) + functions.resize = true; + if (client.mwm_hint->functions & MwmFuncMove) + functions.move = true; + if (client.mwm_hint->functions & MwmFuncIconify) + functions.iconify = true; + if (client.mwm_hint->functions & MwmFuncMaximize) + functions.maximize = true; + if (client.mwm_hint->functions & MwmFuncClose) + functions.close = true; } + } + + } -void FluxboxWindow::getBlackboxHints(void) { +void FluxboxWindow::getBlackboxHints() { int format; Atom atom_return; unsigned long num, len;@@ -1746,7 +1753,7 @@ }
} -bool FluxboxWindow::setInputFocus(void) { +bool FluxboxWindow::setInputFocus() { #ifdef GNOME if (gnome_hints & WIN_HINTS_SKIP_FOCUS) return false;@@ -1841,7 +1848,7 @@
//------------- iconify ---------------- // Unmaps the window and removes it from workspace list //-------------------------------------- -void FluxboxWindow::iconify(void) { +void FluxboxWindow::iconify() { if (iconic) return;@@ -1912,7 +1919,7 @@ }
} -void FluxboxWindow::close(void) { +void FluxboxWindow::close() { Fluxbox *fluxbox = Fluxbox::instance(); XEvent ce; ce.xclient.type = ClientMessage;@@ -1929,7 +1936,7 @@ XSendEvent(display, client.window, false, NoEventMask, &ce);
} -void FluxboxWindow::withdraw(void) { +void FluxboxWindow::withdraw() { visible = false; iconic = false; if (isMoving())@@ -2269,7 +2276,7 @@ #endif
} -void FluxboxWindow::shade(void) { +void FluxboxWindow::shade() { if (decorations.titlebar) { if (shaded) { XResizeWindow(display, frame.window, frame.width, frame.height);@@ -2293,7 +2300,7 @@ }
} -void FluxboxWindow::stick(void) { +void FluxboxWindow::stick() { if (tab) //if it got a tab then do tab's stick on all of the objects in the list tab->stick(); //this window will stick too.@@ -2450,7 +2457,7 @@ (unsigned char *) &blackbox_attrib, PropBlackboxAttributesElements);
} //TODO: why ungrab in if-statement? -bool FluxboxWindow::getState(void) { +bool FluxboxWindow::getState() { current_state = 0; Atom atom_return;@@ -2478,7 +2485,7 @@ return ret;
} -void FluxboxWindow::setGravityOffsets(void) { +void FluxboxWindow::setGravityOffsets() { // translate x coordinate switch (client.win_gravity) { // handle Westward gravity@@ -2531,7 +2538,7 @@ }
} -void FluxboxWindow::restoreAttributes(void) { +void FluxboxWindow::restoreAttributes() { if (!getState()) current_state = NormalState;@@ -2619,7 +2626,7 @@ setState(current_state);
} -void FluxboxWindow::restoreGravity(void) { +void FluxboxWindow::restoreGravity() { // restore x coordinate switch (client.win_gravity) { // handle Westward gravity@@ -2657,7 +2664,7 @@ break;
} } -bool FluxboxWindow::isLowerTab(void) const { +bool FluxboxWindow::isLowerTab() const { Tab* chkTab = (tab ? tab->first() : 0); while (chkTab) { const FluxboxWindow* chkWin = chkTab->getWindow();@@ -2669,7 +2676,7 @@ }
return false; } -void FluxboxWindow::redrawLabel(void) { +void FluxboxWindow::redrawLabel() { if (focused) { if (frame.flabel) XSetWindowBackgroundPixmap(display, frame.label, frame.flabel);@@ -2695,7 +2702,7 @@ }
} -void FluxboxWindow::redrawAllButtons(void) { +void FluxboxWindow::redrawAllButtons() { for (unsigned int i=0; i<buttonlist.size(); i++) if (buttonlist[i].draw) buttonlist[i].draw(this, buttonlist[i].win, false);@@ -3429,7 +3436,7 @@ decor = false;
} } -bool FluxboxWindow::validateClient(void) { +bool FluxboxWindow::validateClient() { XSync(display, false); XEvent e;@@ -3715,7 +3722,7 @@ modal = true;
} -void FluxboxWindow::restore(void) { +void FluxboxWindow::restore() { XChangeSaveSet(display, client.window, SetModeDelete); XSelectInput(display, client.window, NoEventMask);@@ -3733,7 +3740,7 @@ XFlush(display);
} -void FluxboxWindow::timeout(void) { +void FluxboxWindow::timeout() { if (tab) tab->raise(); screen->getWorkspace(workspace_number)->raiseWindow(this);@@ -3788,7 +3795,7 @@
} -void FluxboxWindow::upsize(void) { +void FluxboxWindow::upsize() { // convert client.width/height into frame sizes frame.bevel_w = screen->getBevelWidth();@@ -3824,7 +3831,7 @@ frame.snap_h = frame.height + screen->getBorderWidth2x();
} -void FluxboxWindow::downsize(void) { +void FluxboxWindow::downsize() { // convert frame.width/height into client sizes frame.y_handle = frame.height - frame.handle_h;