diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/FbWinFrame.hh | 5 | ||||
-rw-r--r-- | src/Window.cc | 22 |
2 files changed, 9 insertions, 18 deletions
diff --git a/src/FbWinFrame.hh b/src/FbWinFrame.hh index 2379c24..5832924 100644 --- a/src/FbWinFrame.hh +++ b/src/FbWinFrame.hh | |||
@@ -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: FbWinFrame.hh,v 1.13 2003/08/19 16:13:25 fluxgen Exp $ | 22 | // $Id: FbWinFrame.hh,v 1.14 2003/08/24 15:18:09 fluxgen Exp $ |
23 | 23 | ||
24 | #ifndef FBWINFRAME_HH | 24 | #ifndef FBWINFRAME_HH |
25 | #define FBWINFRAME_HH | 25 | #define FBWINFRAME_HH |
@@ -134,7 +134,7 @@ public: | |||
134 | //@} | 134 | //@} |
135 | 135 | ||
136 | void reconfigure(); | 136 | void reconfigure(); |
137 | 137 | void setUseShape(bool value); | |
138 | /** | 138 | /** |
139 | @name accessors | 139 | @name accessors |
140 | */ | 140 | */ |
@@ -281,6 +281,7 @@ private: | |||
281 | }; | 281 | }; |
282 | ThemeListener m_themelistener; | 282 | ThemeListener m_themelistener; |
283 | std::auto_ptr<Shape> m_shape; | 283 | std::auto_ptr<Shape> m_shape; |
284 | bool m_disable_shape; | ||
284 | }; | 285 | }; |
285 | 286 | ||
286 | #endif // FBWINFRAME_HH | 287 | #endif // FBWINFRAME_HH |
diff --git a/src/Window.cc b/src/Window.cc index 3920367..1d2423d 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: Window.cc,v 1.220 2003/08/24 10:46:56 fluxgen Exp $ | 25 | // $Id: Window.cc,v 1.221 2003/08/24 15:14:41 fluxgen Exp $ |
26 | 26 | ||
27 | #include "Window.hh" | 27 | #include "Window.hh" |
28 | 28 | ||
@@ -339,23 +339,13 @@ void FluxboxWindow::init() { | |||
339 | 339 | ||
340 | // check for shape extension and whether the window is shaped | 340 | // check for shape extension and whether the window is shaped |
341 | m_shaped = false; | 341 | m_shaped = false; |
342 | #ifdef SHAPE | 342 | |
343 | if (Fluxbox::instance()->haveShape()) { | 343 | if (Fluxbox::instance()->haveShape()) { |
344 | Display *disp = FbTk::App::instance()->display(); | 344 | Shape::setShapeNotify(winClient()); |
345 | int not_used; | 345 | m_shaped = Shape::isShaped(winClient()); |
346 | unsigned int not_used2; | ||
347 | int shaped; | ||
348 | XShapeSelectInput(disp, m_client->window(), ShapeNotifyMask); | ||
349 | XShapeQueryExtents(disp, m_client->window(), | ||
350 | &shaped, /// bShaped | ||
351 | ¬_used, ¬_used, // xbs, ybs | ||
352 | ¬_used2, ¬_used2, // wbs, hbs | ||
353 | ¬_used, // cShaped | ||
354 | ¬_used, ¬_used, // xcs, ycs | ||
355 | ¬_used2, ¬_used2); // wcs, hcs | ||
356 | m_shaped = (shaped != 0 ? true : false); | ||
357 | } | 346 | } |
358 | #endif // SHAPE | 347 | |
348 | frame().setUseShape(!m_shaped); | ||
359 | 349 | ||
360 | //!! TODO init of client should be better | 350 | //!! TODO init of client should be better |
361 | // we don't want to duplicate code here and in attachClient | 351 | // we don't want to duplicate code here and in attachClient |