aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpekdon <pekdon>2002-03-23 02:02:01 (GMT)
committerpekdon <pekdon>2002-03-23 02:02:01 (GMT)
commite133cf83a332a72ca42be5e223834d4e6aa0a2e8 (patch)
tree72585011623d644257f362dbece3ab3a0b9a4119
parent1022df421227aea29259204ce69b93df16c0f7db (diff)
downloadfluxbox_pavel-e133cf83a332a72ca42be5e223834d4e6aa0a2e8.zip
fluxbox_pavel-e133cf83a332a72ca42be5e223834d4e6aa0a2e8.tar.bz2
Xinerama
-rw-r--r--ChangeLog8
-rw-r--r--configure.in17
-rw-r--r--src/BaseDisplay.cc19
-rw-r--r--src/BaseDisplay.hh6
-rw-r--r--src/Makefile.am2
-rw-r--r--util/Makefile.am2
6 files changed, 40 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 136c16d..37a2871 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -22,6 +22,14 @@ changes for 0.1.8:
22 5 = Skip: lower tabs/shaded windows 22 5 = Skip: lower tabs/shaded windows
23 6 = Skip: stuck windows/shaded windows 23 6 = Skip: stuck windows/shaded windows
24 7 = Skip: lower tabs/stuck windows/shaded windows 24 7 = Skip: lower tabs/stuck windows/shaded windows
25*02/03/15:
26 * Xinerama support, maximizes windows to the current heads size, places
27 windows on the current head, makes it possible to place toolbar on
28 the different heads, also possible with the slit. Menus will be placed
29 on the current head too. (Claes Nästen)
30*02/03/13:
31 * Fixed window placement, now tabs are taking in account. Also,
32 no spaced are put inbetween windows to save space. (Claes Nästen)
25*02/03/11: 33*02/03/11:
26 * Fixed some KDE stuff in Slit.cc (Thanks Tommi Komulainen) 34 * Fixed some KDE stuff in Slit.cc (Thanks Tommi Komulainen)
27*02/03/08: 35*02/03/08:
diff --git a/configure.in b/configure.in
index d710bc7..bee2bd0 100644
--- a/configure.in
+++ b/configure.in
@@ -241,6 +241,23 @@ AC_ARG_ENABLE(
241) 241)
242AC_SUBST(GNOME) 242AC_SUBST(GNOME)
243 243
244dnl Check for Xinerama support
245XINERAMA=""
246AC_MSG_CHECKING([whether to build support for the Xinerama extension])
247AC_ARG_ENABLE(xinerama,
248[ --enable-xinerama enable xinerama extension [default=no]], , [enable_xinerama=no])
249
250if test "x$enable_xinerama" = "xyes"; then
251 AC_MSG_RESULT([yes])
252 AC_CHECK_LIB(Xinerama, XineramaQueryScreens,
253 XINERAMA="-DXINERAMA"; Xinerama_libs="-lXinerama", )
254else
255 AC_MSG_RESULT([no])
256fi
257AC_SUBST(XINERAMA)
258
259LIBS="$LIBS $Xinerama_libs"
260
244dnl Determine the return type of signal handlers 261dnl Determine the return type of signal handlers
245AC_TYPE_SIGNAL 262AC_TYPE_SIGNAL
246 263
diff --git a/src/BaseDisplay.cc b/src/BaseDisplay.cc
index cb3ca28..d92c533 100644
--- a/src/BaseDisplay.cc
+++ b/src/BaseDisplay.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: BaseDisplay.cc,v 1.10 2002/03/19 21:19:55 fluxgen Exp $ 25// $Id: BaseDisplay.cc,v 1.11 2002/03/23 02:02:00 pekdon Exp $
26 26
27// use GNU extensions 27// use GNU extensions
28#ifndef _GNU_SOURCE 28#ifndef _GNU_SOURCE
@@ -454,28 +454,29 @@ ScreenInfo::~ScreenInfo(void) {
454// x,y. If it fails or Xinerama isn't 454// x,y. If it fails or Xinerama isn't
455// activated it'll return head nr 0 455// activated it'll return head nr 0
456//----------------------------------------- 456//-----------------------------------------
457unsigned int ScreenInfo::getHead(int x, int y) { 457unsigned int ScreenInfo::getHead(int x, int y) const {
458 458
459 // is Xinerama extensions enabled? 459 // is Xinerama extensions enabled?
460 if (hasXinerama()) { 460 if (hasXinerama()) {
461 // check if last head is still active 461 // check if last head is still active
462 if ((xineramaInfos[xineramaLastHead].x_org <= x) && 462/* if ((xineramaInfos[xineramaLastHead].x_org <= x) &&
463 ((xineramaInfos[xineramaLastHead].x_org + 463 ((xineramaInfos[xineramaLastHead].x_org +
464 xineramaInfos[xineramaLastHead].width) > x) && 464 xineramaInfos[xineramaLastHead].width) > x) &&
465 (xineramaInfos[xineramaLastHead].y_org <= y) && 465 (xineramaInfos[xineramaLastHead].y_org <= y) &&
466 ((xineramaInfos[xineramaLastHead].y_org + 466 ((xineramaInfos[xineramaLastHead].y_org +
467 xineramaInfos[xineramaLastHead].height) > y)) { 467 xineramaInfos[xineramaLastHead].height) > y)) {
468 return xineramaLastHead; 468 return xineramaLastHead;
469 } else { 469 } else { */
470 // go trough all the heads, and search 470 // go trough all the heads, and search
471 for (int i = 0; (signed) i < xineramaNumHeads; i++) { 471 for (int i = 0; (signed) i < xineramaNumHeads; i++) {
472 if (xineramaInfos[i].x_org <= x && 472 if (xineramaInfos[i].x_org <= x &&
473 xineramaInfos[i].x_org + xineramaInfos[i].width) > x && 473 (xineramaInfos[i].x_org + xineramaInfos[i].width) > x &&
474 xineramaInfos[i].y_org <= y && 474 xineramaInfos[i].y_org <= y &&
475 xineramaInfos[i].y_org + xineramaInfos[i].height) > y) 475 (xineramaInfos[i].y_org + xineramaInfos[i].height) > y)
476 return (xineramaLastHead = i); 476 // return (xineramaLastHead = i);
477 return i;
477 } 478 }
478 } 479 // }
479 } 480 }
480 481
481 return 0; 482 return 0;
@@ -506,7 +507,7 @@ unsigned int ScreenInfo::getCurrHead(void) const {
506//----------- getHeadWidth ------------ 507//----------- getHeadWidth ------------
507// Returns the width of head 508// Returns the width of head
508//------------------------------------- 509//-------------------------------------
509unsigned int ScreenInfo::getHeadWidth(unsigned int head) { 510unsigned int ScreenInfo::getHeadWidth(unsigned int head) const {
510 511
511 if (hasXinerama()) { 512 if (hasXinerama()) {
512 if ((signed) head >= xineramaNumHeads) { 513 if ((signed) head >= xineramaNumHeads) {
diff --git a/src/BaseDisplay.hh b/src/BaseDisplay.hh
index d7075c1..30e90c0 100644
--- a/src/BaseDisplay.hh
+++ b/src/BaseDisplay.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: BaseDisplay.hh,v 1.17 2002/03/19 21:19:55 fluxgen Exp $ 25// $Id: BaseDisplay.hh,v 1.18 2002/03/23 02:02:01 pekdon Exp $
26 26
27#ifndef BASEDISPLAY_HH 27#ifndef BASEDISPLAY_HH
28#define BASEDISPLAY_HH 28#define BASEDISPLAY_HH
@@ -172,8 +172,8 @@ public:
172 unsigned int getCurrHead(void) const; 172 unsigned int getCurrHead(void) const;
173 unsigned int getHeadWidth(unsigned int head) const; 173 unsigned int getHeadWidth(unsigned int head) const;
174 unsigned int getHeadHeight(unsigned int head) const; 174 unsigned int getHeadHeight(unsigned int head) const;
175 int getHeadX(unsigned int head); 175 int getHeadX(unsigned int head) const;
176 int getHeadY(unsigned int head); 176 int getHeadY(unsigned int head) const;
177#endif // XINERAMA 177#endif // XINERAMA
178 178
179private: 179private:
diff --git a/src/Makefile.am b/src/Makefile.am
index 0d71fa3..6d0d201 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,7 +30,7 @@ DEFAULT_KEYSFILE=$(pkgdatadir)/keys
30DEFAULT_INITFILE= 30DEFAULT_INITFILE=
31 31
32CPPFLAGS= -Wall @CPPFLAGS@ @SHAPE@ @SLIT@ @INTERLACE@ @ORDEREDPSEUDO@ \ 32CPPFLAGS= -Wall @CPPFLAGS@ @SHAPE@ @SLIT@ @INTERLACE@ @ORDEREDPSEUDO@ \
33@DEBUG@ @NEWWMSPEC@ @NLS@ @TIMEDCACHE@ @KDE@ @GNOME@ \ 33@DEBUG@ @NEWWMSPEC@ @NLS@ @TIMEDCACHE@ @KDE@ @GNOME@ @XINERAMA@ \
34-DLOCALEPATH=\"$(pkgdatadir)/nls\" \ 34-DLOCALEPATH=\"$(pkgdatadir)/nls\" \
35-DDEFAULTMENU=\"$(DEFAULT_MENU)\" \ 35-DDEFAULTMENU=\"$(DEFAULT_MENU)\" \
36-DDEFAULTSTYLE=\"$(DEFAULT_STYLE)\" \ 36-DDEFAULTSTYLE=\"$(DEFAULT_STYLE)\" \
diff --git a/util/Makefile.am b/util/Makefile.am
index 20123cb..773c43c 100644
--- a/util/Makefile.am
+++ b/util/Makefile.am
@@ -1,7 +1,7 @@
1# util/Makefile.am for Blackbox 0.61.x - an X11 Window manager 1# util/Makefile.am for Blackbox 0.61.x - an X11 Window manager
2 2
3CPPFLAGS= @CPPFLAGS@ @DEBUG@ @NLS@ @TIMEDCACHE@ @NEWWMSPEC@ @INTERLACE@ \ 3CPPFLAGS= @CPPFLAGS@ @DEBUG@ @NLS@ @TIMEDCACHE@ @NEWWMSPEC@ @INTERLACE@ \
4@ORDEREDPSEUDO@ @KDE@ @GNOME@ 4@ORDEREDPSEUDO@ @KDE@ @GNOME@ @XINERAMA@
5 5
6bin_SCRIPTS = bsetbg 6bin_SCRIPTS = bsetbg
7bin_PROGRAMS = bsetroot 7bin_PROGRAMS = bsetroot