aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-05-12 04:28:46 (GMT)
committerfluxgen <fluxgen>2003-05-12 04:28:46 (GMT)
commitfd9a18daa4f1f4a673c6bf92ad318c9d835f01f1 (patch)
tree2978fe82c86e9b77d0d21dc3bf7a1d66cd630725
parent1b652642fcd37c9d1a9885cbec10e892380eecab (diff)
downloadfluxbox-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.cc18
-rw-r--r--src/Screen.hh8
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
2470void 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();