diff options
author | rathnor <rathnor> | 2004-05-17 15:01:32 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2004-05-17 15:01:32 (GMT) |
commit | c1fb3b3e1a08ef8ad479cf76ba2520bc72591c6c (patch) | |
tree | bea96a100cf871864bc93e5ae9c9d1dd695bef96 /src/FbTk/FbWindow.cc | |
parent | 949a932036354d9b7ce8cc31b2c153c9acfaf4be (diff) | |
download | fluxbox_pavel-c1fb3b3e1a08ef8ad479cf76ba2520bc72591c6c.zip fluxbox_pavel-c1fb3b3e1a08ef8ad479cf76ba2520bc72591c6c.tar.bz2 |
fix menu transparency rendering bug, and add save_under to menu windows
Diffstat (limited to 'src/FbTk/FbWindow.cc')
-rw-r--r-- | src/FbTk/FbWindow.cc | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc index 47e1399..5ebd9f2 100644 --- a/src/FbTk/FbWindow.cc +++ b/src/FbTk/FbWindow.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: FbWindow.cc,v 1.32 2004/04/28 13:04:06 rathnor Exp $ | 22 | // $Id: FbWindow.cc,v 1.33 2004/05/17 15:01:32 rathnor Exp $ |
23 | 23 | ||
24 | #include "FbWindow.hh" | 24 | #include "FbWindow.hh" |
25 | 25 | ||
@@ -92,6 +92,7 @@ FbWindow::FbWindow(int screen_num, | |||
92 | unsigned int width, unsigned int height, | 92 | unsigned int width, unsigned int height, |
93 | long eventmask, | 93 | long eventmask, |
94 | bool override_redirect, | 94 | bool override_redirect, |
95 | bool save_unders, | ||
95 | int depth, | 96 | int depth, |
96 | int class_type): | 97 | int class_type): |
97 | m_parent(0), | 98 | m_parent(0), |
@@ -101,13 +102,14 @@ FbWindow::FbWindow(int screen_num, | |||
101 | 102 | ||
102 | create(RootWindow(FbTk::App::instance()->display(), screen_num), | 103 | create(RootWindow(FbTk::App::instance()->display(), screen_num), |
103 | x, y, width, height, eventmask, | 104 | x, y, width, height, eventmask, |
104 | override_redirect, depth, class_type); | 105 | override_redirect, save_unders, depth, class_type); |
105 | }; | 106 | }; |
106 | 107 | ||
107 | FbWindow::FbWindow(const FbWindow &parent, | 108 | FbWindow::FbWindow(const FbWindow &parent, |
108 | int x, int y, unsigned int width, unsigned int height, | 109 | int x, int y, unsigned int width, unsigned int height, |
109 | long eventmask, | 110 | long eventmask, |
110 | bool override_redirect, | 111 | bool override_redirect, |
112 | bool save_unders, | ||
111 | int depth, int class_type): | 113 | int depth, int class_type): |
112 | m_parent(&parent), | 114 | m_parent(&parent), |
113 | m_screen_num(parent.screenNumber()), | 115 | m_screen_num(parent.screenNumber()), |
@@ -115,7 +117,7 @@ FbWindow::FbWindow(const FbWindow &parent, | |||
115 | m_buffer_pm(0) { | 117 | m_buffer_pm(0) { |
116 | 118 | ||
117 | create(parent.window(), x, y, width, height, eventmask, | 119 | create(parent.window(), x, y, width, height, eventmask, |
118 | override_redirect, depth, class_type); | 120 | override_redirect, save_unders, depth, class_type); |
119 | 121 | ||
120 | 122 | ||
121 | }; | 123 | }; |
@@ -432,7 +434,7 @@ void FbWindow::updateGeometry() { | |||
432 | void FbWindow::create(Window parent, int x, int y, | 434 | void FbWindow::create(Window parent, int x, int y, |
433 | unsigned int width, unsigned int height, | 435 | unsigned int width, unsigned int height, |
434 | long eventmask, bool override_redirect, | 436 | long eventmask, bool override_redirect, |
435 | int depth, int class_type) { | 437 | bool save_unders, int depth, int class_type) { |
436 | 438 | ||
437 | 439 | ||
438 | if (s_display == 0) | 440 | if (s_display == 0) |
@@ -449,6 +451,11 @@ void FbWindow::create(Window parent, int x, int y, | |||
449 | values.override_redirect = True; | 451 | values.override_redirect = True; |
450 | } | 452 | } |
451 | 453 | ||
454 | if (save_unders) { | ||
455 | valmask |= CWSaveUnder; | ||
456 | values.save_under = True; | ||
457 | } | ||
458 | |||
452 | m_window = XCreateWindow(s_display, parent, x, y, width, height, | 459 | m_window = XCreateWindow(s_display, parent, x, y, width, height, |
453 | 0, // border width | 460 | 0, // border width |
454 | depth, // depth | 461 | depth, // depth |