diff --git a/ChangeLog b/ChangeLog index 63218832..34d6b015 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ Changes since version 0.63.1: ............................. - fixed messup in get-{wings,wutil,wraster}-flags +- fixed #wmdatadir# substitution in wmaker.inst + (Seiichi SATO ) Changes since version 0.63.0: diff --git a/Install b/Install index 7afdf9b8..1ea70285 100755 --- a/Install +++ b/Install @@ -144,7 +144,7 @@ if [ "$NLS" = "y" -o "$NLS" = "Y" ]; then ling=` (cd po; /bin/ls *.po) ` ALL_LINGUAS="" for l in $ling; do - lname=`(cd po; grep Language-Team $l|cut -f 2 -d: |cut -f 2 -d\ )` + lname=`(cd po; grep Language-Team $l|cut -f2 -d: |cut -f2 -d\ |cut -f1 -d\\)` lname=`echo $lname` lcode=`basename $l .po` ALL_LINGUAS="$ALL_LINGUAS $lcode" diff --git a/WINGs/ChangeLog b/WINGs/ChangeLog index efafa139..e6f8c743 100644 --- a/WINGs/ChangeLog +++ b/WINGs/ChangeLog @@ -2,6 +2,7 @@ changes since wmaker 0.63.1: ............................ - added WMRunModalLoop() and WMBreakModalLoop() - added WMSetBoxExpandsToParent() +- added WMRemoveBoxSubview() changes since wmaker 0.62.1: ............................ diff --git a/WINGs/Makefile.am b/WINGs/Makefile.am index 61688639..bc4375d9 100644 --- a/WINGs/Makefile.am +++ b/WINGs/Makefile.am @@ -21,7 +21,7 @@ lib_LIBRARIES = libWINGs.a libWUtil.a LDADD= libWINGs.a $(top_builddir)/wrlib/libwraster.la @LIBPL@ -EXTRA_DIST = BUGS +EXTRA_DIST = BUGS WINGs # wbutton.c libWINGs_a_SOURCES = \ diff --git a/WINGs/WINGs.h b/WINGs/WINGs.h index 4d05706c..6d53256c 100644 --- a/WINGs/WINGs.h +++ b/WINGs/WINGs.h @@ -4,7 +4,7 @@ #define _WINGS_H_ #include -#include +#include #include #define WINGS_H_VERSION 20000521 @@ -1676,6 +1676,8 @@ void WMAddBoxSubview(WMBox *bPtr, WMView *view, Bool expand, Bool fill, void WMAddBoxSubviewAtEnd(WMBox *bPtr, WMView *view, Bool expand, Bool fill, int minSize, int maxSize, int space); +void WMRemoveBoxSubview(WMBox *bPtr, WMView *view); + void WMSetBoxHorizontal(WMBox *box, Bool flag); void WMSetBoxExpandsToParent(WMBox *box); diff --git a/WINGs/WINGsP.h b/WINGs/WINGsP.h index 577e11b4..ce361063 100644 --- a/WINGs/WINGsP.h +++ b/WINGs/WINGsP.h @@ -6,7 +6,7 @@ #include -#include "WINGs.h" +#include #if WINGS_H_VERSION < 20000521 #error There_is_an_old_WINGs.h_file_somewhere_in_your_system._Please_remove_it. diff --git a/WINGs/wbox.c b/WINGs/wbox.c index a482fb29..c65941b6 100644 --- a/WINGs/wbox.c +++ b/WINGs/wbox.c @@ -229,6 +229,7 @@ WMRemoveBoxSubview(WMBox *bPtr, WMView *view) break; } } + rearrange(bPtr); } diff --git a/WINGs/wpanel.c b/WINGs/wpanel.c index fe27d654..db97d6e6 100644 --- a/WINGs/wpanel.c +++ b/WINGs/wpanel.c @@ -130,10 +130,10 @@ WMCreateAlertPanel(WMScreen *scrPtr, WMWindow *owner, WMMapWidget(panel->vbox); hbox = WMCreateBox(panel->vbox); - WMSetBoxBorderWidth(hbox, 10); + WMSetBoxBorderWidth(hbox, 5); WMSetBoxHorizontal(hbox, True); WMMapWidget(hbox); - WMAddBoxSubview(panel->vbox, WMWidgetView(hbox), False, True, 84, 0, 5); + WMAddBoxSubview(panel->vbox, WMWidgetView(hbox), False, True, 74, 0, 5); panel->iLbl = WMCreateLabel(hbox); WMSetLabelImagePosition(panel->iLbl, WIPImageOnly); @@ -171,6 +171,7 @@ WMCreateAlertPanel(WMScreen *scrPtr, WMWindow *owner, if (msg) { panel->mLbl = WMCreateLabel(panel->win); + WMSetLabelWraps(panel->mLbl, True); WMMapWidget(panel->mLbl); WMAddBoxSubview(panel->vbox, WMWidgetView(panel->mLbl), True, True, WMFontHeight(scrPtr->normalFont)*4, 0, 5); diff --git a/src/actions.c b/src/actions.c index 79eac589..d7c55628 100644 --- a/src/actions.c +++ b/src/actions.c @@ -427,17 +427,38 @@ wMaximizeWindow(WWindow *wwin, int directions) { int new_width, new_height, new_x, new_y; WArea usableArea = wwin->screen_ptr->totalUsableArea; + WArea totalArea; if (WFLAGP(wwin, no_resizable)) return; - + totalArea.x1 = 0; + totalArea.y1 = 0; + totalArea.x2 = wwin->screen_ptr->scr_width; + totalArea.y2 = wwin->screen_ptr->scr_height; + +#ifdef XINERAMA + if (wwin->screen_ptr->xine_count > 0 + && !(directions & MAX_IGNORE_XINERAMA)) { + WScreen *scr = wwin->screen_ptr; + WMRect rect; + + rect = wGetRectForHead(scr, wGetHeadForWindow(wwin)); + totalArea.x1 = rect.pos.x; + totalArea.y1 = rect.pos.y; + totalArea.x2 = totalArea.x1 + rect.size.width; + totalArea.y2 = totalArea.y1 + rect.size.height; + + usableArea.x1 = WMAX(totalArea.x1, usableArea.x1); + usableArea.y1 = WMAX(totalArea.y1, usableArea.y1); + usableArea.x2 = WMIN(totalArea.x2, usableArea.x2); + usableArea.y2 = WMIN(totalArea.y2, usableArea.y2); + } +#endif /* XINERAMA */ + if (WFLAGP(wwin, full_maximize)) { - usableArea.x1 = 0; - usableArea.y1 = 0; - usableArea.x2 = wwin->screen_ptr->scr_width; - usableArea.y2 = wwin->screen_ptr->scr_height; + usableArea = totalArea; } if (wwin->flags.shaded) { diff --git a/src/actions.h b/src/actions.h index 9fd89120..d704e552 100644 --- a/src/actions.h +++ b/src/actions.h @@ -26,7 +26,7 @@ #define MAX_HORIZONTAL 1 #define MAX_VERTICAL 2 - +#define MAX_IGNORE_XINERAMA 4 void wSetFocusTo(WScreen *scr, WWindow *wwin); diff --git a/src/dialog.c b/src/dialog.c index bbd8b752..5d1ce505 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -1361,6 +1361,7 @@ wShowLegalPanel(WScreen *scr) panel->licenseL = WMCreateLabel(panel->win); + WMSetLabelWraps(panel->licenseL, True); WMResizeWidget(panel->licenseL, 400, 230); WMMoveWidget(panel->licenseL, 10, 10); WMSetLabelTextAlignment(panel->licenseL, WALeft); diff --git a/src/screen.h b/src/screen.h index e3dc960f..33502342 100644 --- a/src/screen.h +++ b/src/screen.h @@ -1,7 +1,7 @@ /* * Window Maker window manager * - * Copyright (c) 1997, 1998 Alfredo K. Kojima + * Copyright (c) 1997-2001 Alfredo K. Kojima * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +28,10 @@ #include +#ifdef XINERAMA +#include +#endif + #define WTB_LEFT 0 #define WTB_RIGHT 1 @@ -89,6 +93,12 @@ typedef struct _WScreen { Visual *w_visual; int w_depth; Colormap w_colormap; /* our colormap */ + +#ifdef XINERAMA + XineramaScreenInfo *xine_screens; + int xine_count; /* 0 means not active */ + int xine_primary_screen; /* main working screen */ +#endif Window no_focus_win; /* window to get focus when nobody * else can do it */