diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-22 04:29:40 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-22 04:29:40 +0000 |
| commit | e18ff901fc7236e3008266f0a09048e6905de724 (patch) | |
| tree | 584271bcd20bb8e510dd82ccfe303e79488e76fd /src/blackbox.cc | |
| parent | 6ea8fb9afa1df8415fe88198525254c59a01230e (diff) | |
xinerama support for window placement
Diffstat (limited to 'src/blackbox.cc')
| -rw-r--r-- | src/blackbox.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/blackbox.cc b/src/blackbox.cc index 8dc7db83..d30c01ed 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -1164,6 +1164,32 @@ void Blackbox::shutdown(void) { } +#ifdef XINERAMA +void Blackbox::saveXineramaPlacement(bool x) { + resource.xinerama_placement = x; + config.setValue("session.xineramaSupport.windowPlacement", + resource.xinerama_placement); + reconfigure(); // make sure all screens get this change +} + + +void Blackbox::saveXineramaMaximizing(bool x) { + resource.xinerama_maximize = x; + config.setValue("session.xineramaSupport.windowMaximizing", + resource.xinerama_maximize); + reconfigure(); // make sure all screens get this change +} + + +void Blackbox::saveXineramaSnapping(bool x) { + resource.xinerama_snap = x; + config.setValue("session.xineramaSupport.windowSnapping", + resource.xinerama_snap); + reconfigure(); // make sure all screens get this change +} +#endif // XINERAMA + + /* * Save all values as they are so that the defaults will be written to the rc * file @@ -1182,6 +1208,12 @@ void Blackbox::save_rc(void) { config.setValue("session.styleFile", resource.style_file); config.setValue("session.titlebarLayout", resource.titlebar_layout); +#ifdef XINERAMA + saveXineramaPlacement(resource.xinerama_placement); + saveXineramaMaximizing(resource.xinerama_maximize); + saveXineramaSnapping(resource.xinerama_snap); +#endif // XINERAMA + std::for_each(screenList.begin(), screenList.end(), std::mem_fun(&BScreen::save_rc)); @@ -1228,10 +1260,28 @@ void Blackbox::load_rc(void) { if (! config.getValue("session.titlebarLayout", resource.titlebar_layout)) resource.titlebar_layout = "ILMC"; + +#ifdef XINERAMA + if (! config.getValue("session.xineramaSupport.windowPlacement", + resource.xinerama_placement)) + resource.xinerama_placement = true; + + if (! config.getValue("session.xineramaSupport.windowMaximizing", + resource.xinerama_maximize)) + resource.xinerama_maximize = true; + + if (! config.getValue("session.xineramaSupport.windowSnapping", + resource.xinerama_snap)) + resource.xinerama_snap = true; +#endif // XINERAMA } void Blackbox::reconfigure(void) { + // don't reconfigure while saving the initial rc file, it's a waste and it + // breaks somethings (workspace names) + if (isStartup()) return; + reconfigure_wait = True; if (! timer->isTiming()) timer->start(); |
