aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-07-17 17:56:28 (GMT)
committerrathnor <rathnor>2003-07-17 17:56:28 (GMT)
commitea0762530343d07e80ea667bb646836e2dfe4b1d (patch)
tree2a0b6632ac7242f609f5d73e2150c0636a87c432 /src/Window.cc
parentda1afd9bc238f1902c260d42df23c5d00c00d47e (diff)
downloadfluxbox-ea0762530343d07e80ea667bb646836e2dfe4b1d.zip
fluxbox-ea0762530343d07e80ea667bb646836e2dfe4b1d.tar.bz2
fix java bug (wasn't sending ConfigureNotify events in response to
ConfigureRequests). Also fix no border on transients and some initial gnome atom values.
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/Window.cc b/src/Window.cc
index e0ed011..a1be00e 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.203 2003/07/10 11:33:31 fluxgen Exp $ 25// $Id: Window.cc,v 1.204 2003/07/17 17:56:28 rathnor Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -439,7 +439,7 @@ void FluxboxWindow::init() {
439 // adjust the window decorations based on transience and window sizes 439 // adjust the window decorations based on transience and window sizes
440 if (m_client->isTransient()) { 440 if (m_client->isTransient()) {
441 decorations.maximize = functions.maximize = false; 441 decorations.maximize = functions.maximize = false;
442 decorations.handle = decorations.border = false; 442 decorations.handle = false;
443 } 443 }
444 444
445 if ((m_client->normal_hint_flags & PMinSize) && 445 if ((m_client->normal_hint_flags & PMinSize) &&
@@ -1956,7 +1956,7 @@ void FluxboxWindow::handleEvent(XEvent &event) {
1956 1956
1957void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { 1957void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) {
1958 1958
1959 // we're only conserned about client window event 1959 // we're only concerned about client window event
1960 WinClient *client = findClient(re.window); 1960 WinClient *client = findClient(re.window);
1961 if (client == 0) { 1961 if (client == 0) {
1962#ifdef DEBUG 1962#ifdef DEBUG
@@ -2032,9 +2032,6 @@ void FluxboxWindow::mapNotifyEvent(XMapEvent &ne) {
2032 else 2032 else
2033 setFocusFlag(false); 2033 setFocusFlag(false);
2034 2034
2035 if (focused)
2036 frame().setFocus(true);
2037
2038 iconic = false; 2035 iconic = false;
2039 2036
2040 // Auto-group from tab? 2037 // Auto-group from tab?
@@ -2208,7 +2205,7 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) {
2208 if (cr.value_mask & CWHeight) 2205 if (cr.value_mask & CWHeight)
2209 ch = cr.height; 2206 ch = cr.height;
2210 2207
2211 // whether we should send ConfigureNotify to clients 2208 // whether we should send ConfigureNotify to netizens
2212 bool send_notify = false; 2209 bool send_notify = false;
2213 2210
2214 // the request is for client window so we resize the frame to it first 2211 // the request is for client window so we resize the frame to it first
@@ -2223,9 +2220,6 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) {
2223 send_notify = false; 2220 send_notify = false;
2224 } 2221 }
2225 2222
2226 if (send_notify)
2227 sendConfigureNotify();
2228
2229 if (cr.value_mask & CWStackMode) { 2223 if (cr.value_mask & CWStackMode) {
2230 switch (cr.detail) { 2224 switch (cr.detail) {
2231 case Above: 2225 case Above:
@@ -2241,6 +2235,7 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) {
2241 } 2235 }
2242 } 2236 }
2243 2237
2238 sendConfigureNotify(send_notify);
2244} 2239}
2245 2240
2246 2241
@@ -3270,7 +3265,7 @@ void FluxboxWindow::resizeClient(WinClient &client,
3270 frame().clientArea().height()); 3265 frame().clientArea().height());
3271} 3266}
3272 3267
3273void FluxboxWindow::sendConfigureNotify() { 3268void FluxboxWindow::sendConfigureNotify(bool send_to_netizens) {
3274 ClientList::iterator client_it = m_clientlist.begin(); 3269 ClientList::iterator client_it = m_clientlist.begin();
3275 ClientList::iterator client_it_end = m_clientlist.end(); 3270 ClientList::iterator client_it_end = m_clientlist.end();
3276 for (; client_it != client_it_end; ++client_it) { 3271 for (; client_it != client_it_end; ++client_it) {
@@ -3301,7 +3296,10 @@ void FluxboxWindow::sendConfigureNotify() {
3301 event.xconfigure.above = frame().window().window(); 3296 event.xconfigure.above = frame().window().window();
3302 event.xconfigure.override_redirect = false; 3297 event.xconfigure.override_redirect = false;
3303 3298
3304 screen().updateNetizenConfigNotify(event); 3299 XSendEvent(display, client.window(), False, StructureNotifyMask, &event);
3300
3301 if (send_to_netizens)
3302 screen().updateNetizenConfigNotify(event);
3305 } // end for 3303 } // end for
3306} 3304}
3307 3305