diff options
author | fluxgen <fluxgen> | 2003-05-12 04:28:46 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-05-12 04:28:46 (GMT) |
commit | fd9a18daa4f1f4a673c6bf92ad318c9d835f01f1 (patch) | |
tree | 2978fe82c86e9b77d0d21dc3bf7a1d66cd630725 | |
parent | 1b652642fcd37c9d1a9885cbec10e892380eecab (diff) | |
download | fluxbox-fd9a18daa4f1f4a673c6bf92ad318c9d835f01f1.zip fluxbox-fd9a18daa4f1f4a673c6bf92ad318c9d835f01f1.tar.bz2 |
added updateSize so we can notify screen clients that the root window size changed
-rw-r--r-- | src/Screen.cc | 18 | ||||
-rw-r--r-- | src/Screen.hh | 8 |
2 files changed, 23 insertions, 3 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index bb3bf8f..eb21f99 100644 --- a/src/Screen.cc +++ b/src/Screen.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: Screen.cc,v 1.157 2003/05/11 23:44:08 rathnor Exp $ | 25 | // $Id: Screen.cc,v 1.158 2003/05/12 04:28:46 fluxgen Exp $ |
26 | 26 | ||
27 | 27 | ||
28 | #include "Screen.hh" | 28 | #include "Screen.hh" |
@@ -53,7 +53,6 @@ | |||
53 | #include "WinClient.hh" | 53 | #include "WinClient.hh" |
54 | #include "Subject.hh" | 54 | #include "Subject.hh" |
55 | 55 | ||
56 | |||
57 | //use GNU extensions | 56 | //use GNU extensions |
58 | #ifndef _GNU_SOURCE | 57 | #ifndef _GNU_SOURCE |
59 | #define _GNU_SOURCE | 58 | #define _GNU_SOURCE |
@@ -525,6 +524,7 @@ BScreen::BScreen(ResourceManager &rm, | |||
525 | 524 | ||
526 | XErrorHandler old = XSetErrorHandler((XErrorHandler) anotherWMRunning); | 525 | XErrorHandler old = XSetErrorHandler((XErrorHandler) anotherWMRunning); |
527 | rootWindow().setEventMask(event_mask); | 526 | rootWindow().setEventMask(event_mask); |
527 | |||
528 | XSync(disp, False); | 528 | XSync(disp, False); |
529 | XSetErrorHandler((XErrorHandler) old); | 529 | XSetErrorHandler((XErrorHandler) old); |
530 | 530 | ||
@@ -2467,3 +2467,17 @@ FluxboxWindow* BScreen::useAutoGroupWindow() { | |||
2467 | return w ? Fluxbox::instance()->searchWindow(w) : 0; | 2467 | return w ? Fluxbox::instance()->searchWindow(w) : 0; |
2468 | } | 2468 | } |
2469 | 2469 | ||
2470 | void BScreen::updateSize() { | ||
2471 | rootWindow().updateGeometry(); | ||
2472 | |||
2473 | // reconfigure anything that depends on root window size | ||
2474 | |||
2475 | if (getToolbar()) | ||
2476 | getToolbar()->reconfigure(); | ||
2477 | |||
2478 | if (getSlit()) | ||
2479 | getSlit()->reconfigure(); | ||
2480 | |||
2481 | //!! TODO: should we re-maximize the maximized windows? | ||
2482 | |||
2483 | } | ||
diff --git a/src/Screen.hh b/src/Screen.hh index 9f72f5b..53ad211 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -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: Screen.hh,v 1.93 2003/05/11 17:11:58 fluxgen Exp $ | 25 | // $Id: Screen.hh,v 1.94 2003/05/12 04:28:46 fluxgen Exp $ |
26 | 26 | ||
27 | #ifndef SCREEN_HH | 27 | #ifndef SCREEN_HH |
28 | #define SCREEN_HH | 28 | #define SCREEN_HH |
@@ -290,6 +290,12 @@ public: | |||
290 | 290 | ||
291 | FluxboxWindow* useAutoGroupWindow(); | 291 | FluxboxWindow* useAutoGroupWindow(); |
292 | 292 | ||
293 | /// updates root window size and resizes/reconfigures screen clients | ||
294 | /// that depends on screen size (toolbar, slit) | ||
295 | /// (and maximized windows?) | ||
296 | void updateSize(); | ||
297 | |||
298 | // notify netizens | ||
293 | void updateNetizenCurrentWorkspace(); | 299 | void updateNetizenCurrentWorkspace(); |
294 | void updateNetizenWorkspaceCount(); | 300 | void updateNetizenWorkspaceCount(); |
295 | void updateNetizenWindowFocus(); | 301 | void updateNetizenWindowFocus(); |