X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.cc;h=8f6549085f772e2bf43f85bf01a9e70b3de781d4;hb=f92804ec20cb51d8656887ea9a78d68a06b1f02a;hp=8e00198a117dfb397bdf576a7195bd92e8d77489;hpb=496c185f997fddf052c230b156f551da770e78ca;p=chaz%2Fopenbox diff --git a/src/client.cc b/src/client.cc index 8e00198a..8f654908 100644 --- a/src/client.cc +++ b/src/client.cc @@ -232,6 +232,7 @@ void Client::setupDecorAndFunctions() // normal windows retain all of the possible decorations and // functionality, and are the only windows that you can fullscreen _functions |= Func_Fullscreen; + break; case Type_Dialog: // dialogs cannot be maximized @@ -893,6 +894,7 @@ void Client::setState(StateAction action, long data1, long data2) if (shadestate != _shaded) shade(shadestate); calcLayer(); + changeState(); // change the hint to relect these changes } @@ -903,7 +905,8 @@ void Client::toggleClientBorder(bool addborder) // different position. // when re-adding the border to the client, the same operation needs to be // reversed. - int x = _area.x(), y = _area.y(); + int oldx = _area.x(), oldy = _area.y(); + int x = oldx, y = oldy; switch(_gravity) { default: case NorthWestGravity: @@ -952,7 +955,8 @@ void Client::toggleClientBorder(bool addborder) XSetWindowBorderWidth(**otk::display, _window, _border_width); // move the client so it is back it the right spot _with_ its border! - XMoveWindow(**otk::display, _window, x, y); + if (x != oldx || y != oldy) + XMoveWindow(**otk::display, _window, x, y); } else XSetWindowBorderWidth(**otk::display, _window, 0); } @@ -1200,7 +1204,7 @@ void Client::changeState() state[1] = None; otk::Property::set(_window, otk::Property::atoms.wm_state, otk::Property::atoms.wm_state, state, 2); - + Atom netstate[10]; int num = 0; if (_modal)