diff options
author | rathnor <rathnor> | 2003-07-17 17:56:28 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-07-17 17:56:28 (GMT) |
commit | ea0762530343d07e80ea667bb646836e2dfe4b1d (patch) | |
tree | 2a0b6632ac7242f609f5d73e2150c0636a87c432 /src/Window.cc | |
parent | da1afd9bc238f1902c260d42df23c5d00c00d47e (diff) | |
download | fluxbox_pavel-ea0762530343d07e80ea667bb646836e2dfe4b1d.zip fluxbox_pavel-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.cc | 22 |
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 | ||
1957 | void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { | 1957 | void 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 | ||
3273 | void FluxboxWindow::sendConfigureNotify() { | 3268 | void 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 | ||