all repos — fluxbox @ d1b14ad0840b7a8976f43b66f2257a13b0c70618

custom fork of the fluxbox windowmanager

remove round corners for already shaped windows, i.e xmms
fluxgen fluxgen
commit

d1b14ad0840b7a8976f43b66f2257a13b0c70618

parent

9160cf2e9635f4b1e961d372dc52a0de39ac772d

2 files changed, 9 insertions(+), 18 deletions(-)

jump to
M src/FbWinFrame.hhsrc/FbWinFrame.hh

@@ -19,7 +19,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: FbWinFrame.hh,v 1.13 2003/08/19 16:13:25 fluxgen Exp $ +// $Id: FbWinFrame.hh,v 1.14 2003/08/24 15:18:09 fluxgen Exp $ #ifndef FBWINFRAME_HH #define FBWINFRAME_HH

@@ -134,7 +134,7 @@ void handleEvent(XEvent &event);

//@} void reconfigure(); - + void setUseShape(bool value); /** @name accessors */

@@ -281,6 +281,7 @@ FbWinFrame &m_frame;

}; ThemeListener m_themelistener; std::auto_ptr<Shape> m_shape; + bool m_disable_shape; }; #endif // FBWINFRAME_HH
M src/Window.ccsrc/Window.cc

@@ -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.220 2003/08/24 10:46:56 fluxgen Exp $ +// $Id: Window.cc,v 1.221 2003/08/24 15:14:41 fluxgen Exp $ #include "Window.hh"

@@ -339,23 +339,13 @@ m_client->setGroupLeftWindow(None); // nothing to the left.

// check for shape extension and whether the window is shaped m_shaped = false; -#ifdef SHAPE + if (Fluxbox::instance()->haveShape()) { - Display *disp = FbTk::App::instance()->display(); - int not_used; - unsigned int not_used2; - int shaped; - XShapeSelectInput(disp, m_client->window(), ShapeNotifyMask); - XShapeQueryExtents(disp, m_client->window(), - &shaped, /// bShaped - &not_used, &not_used, // xbs, ybs - &not_used2, &not_used2, // wbs, hbs - &not_used, // cShaped - &not_used, &not_used, // xcs, ycs - &not_used2, &not_used2); // wcs, hcs - m_shaped = (shaped != 0 ? true : false); + Shape::setShapeNotify(winClient()); + m_shaped = Shape::isShaped(winClient()); } -#endif // SHAPE + + frame().setUseShape(!m_shaped); //!! TODO init of client should be better // we don't want to duplicate code here and in attachClient