From 5e4625dafe0c9a9f09876531f6911bc287817380 Mon Sep 17 00:00:00 2001 From: kojima Date: Sat, 29 May 1999 21:41:25 +0000 Subject: [PATCH] many bug fixes, finished some delegate code, updated menu file bug from EXEC to SHEXEC, updated french translations --- ChangeLog | 8 +++ INSTALL | 9 +-- NEWS | 2 +- README | 9 ++- WINGs/ChangeLog | 17 +++-- WINGs/WINGsP.h | 31 ++++++--- WINGs/WUtil.h | 11 ++++ WINGs/mywidget.c | 14 +++-- WINGs/selection.c | 13 +++- WINGs/wbrowser.c | 36 ++++++----- WINGs/wbutton.c | 7 --- WINGs/wcolorwell.c | 42 +++++++------ WINGs/wfont.c | 11 +++- WINGs/wframe.c | 8 --- WINGs/widgets.c | 100 ++--------------------------- WINGs/wlabel.c | 8 --- WINGs/wlist.c | 22 ++++--- WINGs/wpopupbutton.c | 7 --- WINGs/wscroller.c | 28 +++++---- WINGs/wscrollview.c | 15 +++-- WINGs/wslider.c | 18 ++++-- WINGs/wsplitview.c | 8 --- WINGs/wtabview.c | 7 --- WINGs/wtest.c | 7 ++- WINGs/wtextfield.c | 21 ++++--- WINGs/wview.c | 24 +++++-- WINGs/wwindow.c | 35 ++++++----- WPrefs.app/Appearance.c | 16 +++-- WPrefs.app/WPrefs.c | 7 ++- WPrefs.app/Workspace.c | 6 +- WPrefs.app/double.c | 10 +-- WPrefs.app/po/fr.po | 60 +++++++++--------- WindowMaker/menu | 6 +- WindowMaker/menu.ca | 4 +- WindowMaker/menu.cz | 2 +- WindowMaker/menu.da | 4 +- WindowMaker/menu.de | 2 +- WindowMaker/menu.el | 4 +- WindowMaker/menu.es | 8 +-- WindowMaker/menu.fi | 4 +- WindowMaker/menu.fr | 30 ++++----- WindowMaker/menu.he | 4 +- WindowMaker/menu.hr | 4 +- WindowMaker/menu.hu | 4 +- WindowMaker/menu.it | 2 +- WindowMaker/menu.ja | 4 +- WindowMaker/menu.ko | 4 +- WindowMaker/menu.no | 4 +- WindowMaker/menu.pt | 4 +- WindowMaker/menu.ru | 2 +- WindowMaker/menu.se | 6 +- WindowMaker/menu.sl | 4 +- WindowMaker/menu.tr | 4 +- WindowMaker/menu.zh_CN | 4 +- WindowMaker/menu.zh_TW.Big5 | 4 +- WindowMaker/plmenu | 6 +- WindowMaker/plmenu.da | 4 +- WindowMaker/plmenu.fr | 20 +++--- WindowMaker/plmenu.hr | 4 +- WindowMaker/plmenu.it | 4 +- WindowMaker/plmenu.zh_CN | 6 +- configure.in | 2 +- mkpatch | 6 +- po/fr.po | 41 ++++++------ src/dialog.c | 19 ++---- src/main.c | 6 +- src/rootmenu.c | 6 +- src/window.c | 111 +++++++++++++++++++-------------- src/winspector.c | 56 ++++++++++++----- src/workspace.c | 7 ++- util/setstyle.c | 149 ++++++++++++++++++++++++++++++++------------ util/wmsetbg.c | 19 +++--- wrlib/scale.c | 103 +++++++++++++++++++++++++++++- wrlib/xpm.c | 30 ++++++--- 74 files changed, 766 insertions(+), 568 deletions(-) diff --git a/ChangeLog b/ChangeLog index b5b8de5b..8497b61f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,7 +34,15 @@ Changes since version 0.53.0: - fixed crash bug with hiding apps without dock/clip - fixed a mem leak in superfluous mode caused by the ghost icon. - added possibility to set omnipresent icons in Clip. See NEWS. +- fixed bug in WPrefs menu editor +- fixed crash when moving internal window with kbd +- fixed compilation problem on IRIX machines (Neil Muller + ) +- made images with a transparent color used a background use the default color + (Nicolas ) - replace xde support drop on dock with xdnd. +- added an (internal use) environment variable for telling WPrefs whats's + the name of the wmaker binary being ran. - more elegant text entries in Clip's menu, regarding single/multiple selected icons. diff --git a/INSTALL b/INSTALL index c2a05c84..92cebc59 100644 --- a/INSTALL +++ b/INSTALL @@ -23,6 +23,7 @@ SUPPORTED PLATFORMS - SGI Irix 5.x, 6.5 - OSF/1 - HP-UX +- AIX 3.2.5 - AIX 4.1.4 / IBM PowerPC - AIX 4.3.1 / IBM CC compiler - AIX 4.3.2 / IBM PowerPC @@ -72,7 +73,7 @@ The following is required to build Window Maker: with exactly these versions: autoconf 2.13 automake 1.4 - libtool 1.2 + libtool 1.3 If you have a different version, disable them by temporarily renaming them to something else or uninstalling them from your system. If you don't develop software you don't need them, @@ -259,7 +260,7 @@ PLATFORM SPECIFIC NOTES: ldconfig; * if you have problems that mention an error message with --no-reexec - uninstall libtool-1.2b and install libtool-1.2 instead. libtool-1.2 + uninstall libtool-1.2b and install libtool-1.3 instead. libtool-1.3 can be found in ftp.gnu.org Also read the TROUBLESHOOTING section; * if you installed the Window Maker package from RedHat and are @@ -438,9 +439,9 @@ and reconfigure Also make sure the autoconf and automake versions you have installed are: autoconf 2.13 automake 1.4 -libtool 1.2 +libtool 1.3 -Note that it must not be libtool 1.2b, it must be libtool 1.2, +Note that it must not be libtool 1.2b, it must be libtool 1.3, from the GNU sites. == Cant find proplist.h or libPropList.something diff --git a/NEWS b/NEWS index 9fcdfce1..42771ec5 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ NEWS for veteran Window Maker users ----------------------------------- ---- 0.54.0 +--- 0.60.0 User Menu diff --git a/README b/README index 486ebfa3..7a9e197f 100644 --- a/README +++ b/README @@ -141,8 +141,8 @@ displayed by Window Maker. * docklib-x.x.tar.gz a library for writing dockapps -Mailing List -============ +HELP ME!!! +========== There is a mailing list for discussing Window Maker at wm-user@windowmaker.org To subscribe to it, send a message containing: @@ -162,6 +162,11 @@ using. You can use the system information section at the end of BUGFORM as a guideline. Another thing: please don't send HTML mail. +There is also a #windowmaker IRC channel at openprojects. To join there, +connect your irc client to irc.openprojects.net, irc.linux.com or some other +server of that network. + + GNUstep ======= diff --git a/WINGs/ChangeLog b/WINGs/ChangeLog index 346de1fd..576ad06c 100644 --- a/WINGs/ChangeLog +++ b/WINGs/ChangeLog @@ -14,12 +14,21 @@ changes since wmaker 0.53.0: The notifications will still work, but using the delegate is preferable How to convert old code to delegate callbacks: - Create a variable (static or dynamic) of the type of the delegate for - the widget type. Replace the notification observers with the - equivalent delegate callbacks. Put pointers to the callbacks - in the delegate variable. + 1 - create a variable (static or dynamic) of the type of the + delegate for the widget type. + 2 - Replace the notification observers with the equivalent + delegate callbacks. + 3 - Put pointers to the callbacks in the delegate variable. + Take a look in wfilepanel.c to see how it is used there. +- changed W_ViewProcedureTable to delegates + This will only affect user created widgets. If you have a custom + widget, you will need to update the callbacks and the declaration + of the W_ViewProcedureTable variable to be a W_ViewDelegate, + which is declared in WINGsP.h To setup the delegate, assign + the delegate variable to view->delegate. + - WMTextField Removed all the didChange notifications that were sent when the text was changed programmatically. Only changes made by user interaction diff --git a/WINGs/WINGsP.h b/WINGs/WINGsP.h index 9e677afc..35a0f776 100644 --- a/WINGs/WINGsP.h +++ b/WINGs/WINGsP.h @@ -8,7 +8,7 @@ #include "WINGs.h" -#if WINGS_H_VERSION < 990222 +#if WINGS_H_VERSION < 990516 #error There_is_an_old_WINGs.h_file_somewhere_in_your_system._Please_remove_it. #endif @@ -92,6 +92,7 @@ typedef struct W_FocusInfo { struct W_FocusInfo *next; } W_FocusInfo; + typedef struct W_Screen { Display *display; int screen; @@ -234,12 +235,29 @@ typedef struct W_Screen { +typedef struct W_ViewDelegate { + void *data; + + void (*didMove)(struct W_ViewDelegate*, WMView*); + + void (*didResize)(struct W_ViewDelegate*, WMView*); + + void (*willMove)(struct W_ViewDelegate*, WMView*, int*, int*); + + void (*willResize)(struct W_ViewDelegate*, WMView*, + unsigned int*, unsigned int*); +} W_ViewDelegate; + + + typedef struct W_View { struct W_Screen *screen; WMWidget *self; /* must point to the widget the * view belongs to */ - + + W_ViewDelegate *delegate; + Window window; WMSize size; @@ -309,13 +327,6 @@ typedef struct W_EventHandler { -typedef struct W_ViewProcedureTable { - void (*setBackgroundColor)(WMWidget*, WMColor *color); - void (*resize)(WMWidget*, unsigned int, unsigned int); - void (*move)(WMWidget*, int, int); -} W_ViewProcedureTable; - - typedef struct _WINGsConfiguration { char *systemFont; @@ -418,7 +429,7 @@ void W_InitApplication(WMScreen *scr); void W_InitNotificationCenter(void); -W_Class W_RegisterUserWidget(W_ViewProcedureTable *procTable); +W_Class W_RegisterUserWidget(void); void W_RedisplayView(WMView *view); diff --git a/WINGs/WUtil.h b/WINGs/WUtil.h index 64223e2a..adf2b860 100644 --- a/WINGs/WUtil.h +++ b/WINGs/WUtil.h @@ -44,6 +44,16 @@ #else /* !NDEBUG */ +#ifdef DEBUG + +#include + +#define wassertr(expr) assert(expr) + +#define wassertrv(expr, val) assert(expr) + +#else /* !DEBUG */ + #define wassertr(expr) \ if (!(expr)) { \ wwarning("%s line %i (%s): assertion %s failed",\ @@ -57,6 +67,7 @@ __FILE__, __LINE__, __ASSERT_FUNCTION, #expr);\ return (val);\ } +#endif /* !DEBUG */ #endif /* !NDEBUG */ diff --git a/WINGs/mywidget.c b/WINGs/mywidget.c index 9ea732f7..9d32689c 100644 --- a/WINGs/mywidget.c +++ b/WINGs/mywidget.c @@ -50,12 +50,13 @@ static void handleActionEvents(XEvent *event, void *data); /* - * Some procedures you might want to override. Don't forget to call - * the equivalent view procedure after (or before) doing your stuff. + * Delegates * See the source for the other widgets to see how to use. * You won't need to use this most of the time. */ -static W_ViewProcedureTable _MyWidgetViewProcedures = { +static W_ViewDelegate _MyWidgetDelegate = { + NULL, + NULL, NULL, NULL, NULL @@ -75,7 +76,7 @@ InitMyWidget(WMScreen *scr) { /* register our widget with WINGs and get our widget class ID */ if (!myWidgetClass) { - myWidgetClass = W_RegisterUserWidget(&_MyWidgetViewProcedures); + myWidgetClass = W_RegisterUserWidget(); } return myWidgetClass; @@ -97,7 +98,7 @@ CreateMyWidget(WMWidget *parent) /* set the class ID */ mPtr->widgetClass = myWidgetClass; - + /* * Create the view for our widget. * Note: the Window for the view is only created after the view is @@ -113,6 +114,9 @@ CreateMyWidget(WMWidget *parent) /* always do this */ mPtr->view->self = mPtr; + /* setup the delegates for the view */ + mPtr->view->delegate = &_MyWidgetDelegate; + /* * Intercept some events for our widget, so that we can handle them. */ diff --git a/WINGs/selection.c b/WINGs/selection.c index 98b6f64c..821d1ad8 100644 --- a/WINGs/selection.c +++ b/WINGs/selection.c @@ -95,9 +95,16 @@ writeSelection(Display *dpy, Window requestor, Atom property, Atom type, */ gotError = False; - if (!XChangeProperty(dpy, requestor, property, type, format, - PropModeReplace, value, length)) - return False; +#ifndef __sgi + if (!XChangeProperty(dpy, requestor, property, type, format, + PropModeReplace, value, length)) + return False; +#else + /* in sgi seems this seems to return void */ + XChangeProperty(dpy, requestor, property, type, format, + PropModeReplace, value, length); +#endif + XFlush(dpy); return !gotError; diff --git a/WINGs/wbrowser.c b/WINGs/wbrowser.c index b831e93d..261e89d7 100644 --- a/WINGs/wbrowser.c +++ b/WINGs/wbrowser.c @@ -87,12 +87,15 @@ static void removeColumn(WMBrowser *bPtr, int column); static char* createTruncatedString(WMFont *font, char *text, int *textLen, int width); -static void resizeBrowser(WMWidget*, unsigned int, unsigned int); +static void willResizeBrowser(W_ViewDelegate*, WMView*, + unsigned int*, unsigned int*); -W_ViewProcedureTable _BrowserViewProcedures = { +W_ViewDelegate _BrowserViewDelegate = { NULL, - resizeBrowser, - NULL + NULL, + NULL, + NULL, + willResizeBrowser }; @@ -117,6 +120,8 @@ WMCreateBrowser(WMWidget *parent) } bPtr->view->self = bPtr; + bPtr->view->delegate = &_BrowserViewDelegate; + WMCreateEventHandler(bPtr->view, ExposureMask|StructureNotifyMask |ClientMessageMask, handleEvents, bPtr); @@ -127,7 +132,7 @@ WMCreateBrowser(WMWidget *parent) bPtr->flags.isTitled = DEFAULT_IS_TITLED; bPtr->maxVisibleColumns = DEFAULT_MAX_VISIBLE_COLUMNS; - resizeBrowser(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); + WMResizeWidget(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); bPtr->pathSeparator = wstrdup(DEFAULT_SEPARATOR); @@ -201,7 +206,7 @@ WMSetBrowserMaxVisibleColumns(WMBrowser *bPtr, int columns) removeColumn(bPtr, newFirstVisibleColumn + columns); } } - resizeBrowser(bPtr, bPtr->view->size.width, bPtr->view->size.height); + WMResizeWidget(bPtr, bPtr->view->size.width, bPtr->view->size.height); if (bPtr->flags.loaded) { XClearArea(bPtr->view->screen->display, bPtr->view->window, 0, 0, bPtr->view->size.width, bPtr->titleHeight, False); @@ -463,18 +468,19 @@ WMInsertBrowserItem(WMBrowser *bPtr, int column, int row, char *text, static void -resizeBrowser(WMWidget *w, unsigned int width, unsigned int height) +willResizeBrowser(W_ViewDelegate *self, WMView *view, + unsigned int *width, unsigned int *height) { - WMBrowser *bPtr = (WMBrowser*)w; + WMBrowser *bPtr = (WMBrowser*)view->self; int cols = bPtr->maxVisibleColumns; int colX, colY; int i; - assert(width > 0); - assert(height > 0); + assert(*width > 0); + assert(*height > 0); - bPtr->columnSize.width = (width-(cols-1)*COLUMN_SPACING) / cols; - bPtr->columnSize.height = height; + bPtr->columnSize.width = (*width-(cols-1)*COLUMN_SPACING) / cols; + bPtr->columnSize.height = *height; if (bPtr->flags.isTitled) { colY = TITLE_SPACING + bPtr->titleHeight; @@ -487,8 +493,8 @@ resizeBrowser(WMWidget *w, unsigned int width, unsigned int height) bPtr->columnSize.height -= SCROLLER_WIDTH + 4; if (bPtr->scroller) { - WMResizeWidget(bPtr->scroller, width-2, 1); - WMMoveWidget(bPtr->scroller, 1, height-SCROLLER_WIDTH-1); + WMResizeWidget(bPtr->scroller, *width-2, 1); + WMMoveWidget(bPtr->scroller, 1, *height-SCROLLER_WIDTH-1); } } @@ -503,8 +509,6 @@ resizeBrowser(WMWidget *w, unsigned int width, unsigned int height) colX += bPtr->columnSize.width+COLUMN_SPACING; } } - - W_ResizeView(bPtr->view, width, height); } diff --git a/WINGs/wbutton.c b/WINGs/wbutton.c index f147df6e..33ffa11e 100644 --- a/WINGs/wbutton.c +++ b/WINGs/wbutton.c @@ -99,13 +99,6 @@ static void handleEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data); -W_ViewProcedureTable _ButtonViewProcedures = { - NULL, - NULL, - NULL -}; - - static char *WMPushedRadioNotification="WMPushedRadioNotification"; diff --git a/WINGs/wcolorwell.c b/WINGs/wcolorwell.c index eab91038..7c501065 100644 --- a/WINGs/wcolorwell.c +++ b/WINGs/wcolorwell.c @@ -40,14 +40,16 @@ static void handleDragEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data); -static void resizeColorWell(); +static void willResizeColorWell(); -W_ViewProcedureTable _ColorWellViewProcedures = { +W_ViewDelegate _ColorWellViewDelegate = { NULL, - resizeColorWell, - NULL + NULL, + NULL, + NULL, + willResizeColorWell }; @@ -131,6 +133,8 @@ WMCreateColorWell(WMWidget *parent) return NULL; } cPtr->view->self = cPtr; + + cPtr->view->delegate = &_ColorWellViewDelegate; cPtr->colorView = W_CreateView(cPtr->view); if (!cPtr->colorView) { @@ -155,7 +159,7 @@ WMCreateColorWell(WMWidget *parent) cPtr->flags.bordered = 1; - resizeColorWell(cPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); + W_ResizeView(cPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT); WMAddNotificationObserver(activatedObserver, cPtr, _ColorWellActivatedNotification, NULL); @@ -194,7 +198,7 @@ WSetColorWellBordered(WMColorWell *cPtr, Bool flag) { if (cPtr->flags.bordered != flag) { cPtr->flags.bordered = flag; - resizeColorWell(cPtr, cPtr->view->size.width, cPtr->view->size.height); + W_ResizeView(cPtr->view, cPtr->view->size.width, cPtr->view->size.height); } } @@ -202,29 +206,27 @@ WSetColorWellBordered(WMColorWell *cPtr, Bool flag) #define MIN(a,b) ((a) > (b) ? (b) : (a)) static void -resizeColorWell(WMColorWell *cPtr, unsigned int width, unsigned int height) +willResizeColorWell(W_ViewDelegate *self, WMView *view, + unsigned int *width, unsigned int *height) { + WMColorWell *cPtr = (WMColorWell*)view->self; int bw; if (cPtr->flags.bordered) { - if (width < MIN_WIDTH) - width = MIN_WIDTH; - if (height < MIN_HEIGHT) - height = MIN_HEIGHT; + if (*width < MIN_WIDTH) + *width = MIN_WIDTH; + if (*height < MIN_HEIGHT) + *height = MIN_HEIGHT; - bw = (int)((float)MIN(width, height)*0.24); - - W_ResizeView(cPtr->view, width, height); - - W_ResizeView(cPtr->colorView, width-2*bw, height-2*bw); + bw = (int)((float)MIN(*width, *height)*0.24); + + W_ResizeView(cPtr->colorView, *width-2*bw, *height-2*bw); if (cPtr->colorView->pos.x!=bw || cPtr->colorView->pos.y!=bw) W_MoveView(cPtr->colorView, bw, bw); - } else { - W_ResizeView(cPtr->view, width, height); - - W_ResizeView(cPtr->colorView, width, height); + } else { + W_ResizeView(cPtr->colorView, *width, *height); W_MoveView(cPtr->colorView, 0, 0); } diff --git a/WINGs/wfont.c b/WINGs/wfont.c index 6084f499..86883a84 100644 --- a/WINGs/wfont.c +++ b/WINGs/wfont.c @@ -75,6 +75,12 @@ WMCreateFontInDefaultEncoding(WMScreen *scrPtr, char *fontName) WMFont *font; Display *display = scrPtr->display; + font = WMHashGet(scrPtr->fontCache, fontName); + if (font) { + WMRetainFont(font); + return font; + } + font = malloc(sizeof(WMFont)); if (!font) return NULL; @@ -95,6 +101,8 @@ WMCreateFontInDefaultEncoding(WMScreen *scrPtr, char *fontName) font->refCount = 1; + assert(WMHashInsert(scrPtr->fontCache, font->name, font)==NULL); + return font; } @@ -143,7 +151,6 @@ WMFontHeight(WMFont *font) - WMFont* WMSystemFontOfSize(WMScreen *scrPtr, int size) { @@ -153,7 +160,7 @@ WMSystemFontOfSize(WMScreen *scrPtr, int size) fontSpec = makeFontSetOfSize(WINGsConfiguration.systemFont, size); font = WMCreateFont(scrPtr, fontSpec); - + if (!font) { wwarning("could not load font set %s. Trying fixed.", fontSpec); font = WMCreateFont(scrPtr, "fixed"); diff --git a/WINGs/wframe.c b/WINGs/wframe.c index fe0ad989..8d2e17be 100644 --- a/WINGs/wframe.c +++ b/WINGs/wframe.c @@ -16,14 +16,6 @@ typedef struct W_Frame { } Frame; - -struct W_ViewProcedureTable _FrameViewProcedures = { - NULL, - NULL, - NULL -}; - - #define DEFAULT_RELIEF WRGroove #define DEFAULT_TITLE_POSITION WTPAtTop #define DEFAULT_WIDTH 40 diff --git a/WINGs/widgets.c b/WINGs/widgets.c index 4dca3f2e..42ab1d13 100644 --- a/WINGs/widgets.c +++ b/WINGs/widgets.c @@ -309,55 +309,12 @@ static unsigned char STIPPLE_BITS[] = { extern void W_ReadConfigurations(void); -extern W_ViewProcedureTable _WindowViewProcedures; -extern W_ViewProcedureTable _FrameViewProcedures; -extern W_ViewProcedureTable _LabelViewProcedures; -extern W_ViewProcedureTable _ButtonViewProcedures; -extern W_ViewProcedureTable _TextFieldViewProcedures; -extern W_ViewProcedureTable _ScrollerViewProcedures; -extern W_ViewProcedureTable _ScrollViewProcedures; -extern W_ViewProcedureTable _ListViewProcedures; -extern W_ViewProcedureTable _BrowserViewProcedures; -extern W_ViewProcedureTable _PopUpButtonViewProcedures; -extern W_ViewProcedureTable _ColorWellViewProcedures; -extern W_ViewProcedureTable _ScrollViewViewProcedures; -extern W_ViewProcedureTable _SliderViewProcedures; -extern W_ViewProcedureTable _SplitViewViewProcedures; -extern W_ViewProcedureTable _TabViewViewProcedures; - -/* - * All widget classes defined must have an entry here. - */ -static W_ViewProcedureTable *procedureTables[16]; - -static W_ViewProcedureTable **userProcedureTable = NULL; static int userWidgetCount=0; /***** end data ******/ - -static void -initProcedureTable() -{ - procedureTables[WC_Window] = &_WindowViewProcedures; - procedureTables[WC_Frame] = &_FrameViewProcedures; - procedureTables[WC_Label] = &_LabelViewProcedures; - procedureTables[WC_Button] = &_ButtonViewProcedures; - procedureTables[WC_TextField] = &_TextFieldViewProcedures; - procedureTables[WC_Scroller] = &_ScrollerViewProcedures; - procedureTables[WC_List] = &_ListViewProcedures; - procedureTables[WC_Browser] = &_BrowserViewProcedures; - procedureTables[WC_PopUpButton] = &_PopUpButtonViewProcedures; - procedureTables[WC_ColorWell] = &_ColorWellViewProcedures; - procedureTables[WC_ScrollView] = &_ScrollViewViewProcedures; - procedureTables[WC_Slider] = &_SliderViewProcedures; - procedureTables[WC_SplitView] = &_SplitViewViewProcedures; - procedureTables[WC_TabView] = &_TabViewViewProcedures; -} - - static void renderPixmap(W_Screen *screen, Pixmap d, Pixmap mask, char **data, int width, int height) @@ -562,8 +519,6 @@ WMCreateScreenWithRContext(Display *display, int screen, RContext *context) if (!initialized) { initialized = 1; - - initProcedureTable(); W_ReadConfigurations(); @@ -866,76 +821,29 @@ WMUnmapWidget(WMWidget *w) void WMSetWidgetBackgroundColor(WMWidget *w, WMColor *color) { - if (W_CLASS(w) < WC_UserWidget - && procedureTables[W_CLASS(w)]->setBackgroundColor) { - - (*procedureTables[W_CLASS(w)]->setBackgroundColor)(w, color); - - } else if (W_CLASS(w) >= WC_UserWidget - && userProcedureTable[W_CLASS(w)-WC_UserWidget]->setBackgroundColor) { - - (*userProcedureTable[W_CLASS(w)-WC_UserWidget]->setBackgroundColor)(w, color); - - } else { - W_SetViewBackgroundColor(W_VIEW(w), color); - } + W_SetViewBackgroundColor(W_VIEW(w), color); } void WMMoveWidget(WMWidget *w, int x, int y) { - if (W_CLASS(w) < WC_UserWidget - && procedureTables[W_CLASS(w)]->move) { - - (*procedureTables[W_CLASS(w)]->move)(w, x, y); - - } else if (W_CLASS(w) >= WC_UserWidget - && userProcedureTable[W_CLASS(w)-WC_UserWidget]->move) { - - (*userProcedureTable[W_CLASS(w)-WC_UserWidget]->move)(w, x, y); - - } else { - W_MoveView(W_VIEW(w), x, y); - } + W_MoveView(W_VIEW(w), x, y); } void WMResizeWidget(WMWidget *w, unsigned int width, unsigned int height) { - if (W_CLASS(w) < WC_UserWidget - && procedureTables[W_CLASS(w)]->resize) { - - (*procedureTables[W_CLASS(w)]->resize)(w, width, height); - - } else if (W_CLASS(w) >= WC_UserWidget - && userProcedureTable[W_CLASS(w)-WC_UserWidget]->resize) { - - (*userProcedureTable[W_CLASS(w)-WC_UserWidget]->resize)(w, width, height); - - } else { - W_ResizeView(W_VIEW(w), width, height); - } + W_ResizeView(W_VIEW(w), width, height); } W_Class -W_RegisterUserWidget(W_ViewProcedureTable *procTable) +W_RegisterUserWidget(void) { - W_ViewProcedureTable **newTable; - userWidgetCount++; - newTable = wmalloc(sizeof(W_ViewProcedureTable*)*userWidgetCount); - memcpy(newTable, userProcedureTable, - sizeof(W_ViewProcedureTable*)*(userWidgetCount-1)); - - newTable[userWidgetCount-1] = procTable; - - free(userProcedureTable); - - userProcedureTable = newTable; return userWidgetCount + WC_UserWidget - 1; } diff --git a/WINGs/wlabel.c b/WINGs/wlabel.c index 609ed7c9..1b0ef521 100644 --- a/WINGs/wlabel.c +++ b/WINGs/wlabel.c @@ -29,14 +29,6 @@ typedef struct W_Label { } Label; - -W_ViewProcedureTable _LabelViewProcedures = { - NULL, - NULL, - NULL -}; - - #define DEFAULT_WIDTH 60 #define DEFAULT_HEIGHT 14 #define DEFAULT_ALIGNMENT WALeft diff --git a/WINGs/wlist.c b/WINGs/wlist.c index 85bda305..d7a95fcd 100644 --- a/WINGs/wlist.c +++ b/WINGs/wlist.c @@ -66,12 +66,14 @@ static void updateScroller(List *lPtr); static void vScrollCallBack(WMWidget *scroller, void *self); static void updateGeometry(WMList *lPtr); -static void resizeList(); +static void didResizeList(); -W_ViewProcedureTable _ListViewProcedures = { +W_ViewDelegate _ListViewDelegate = { NULL, - resizeList, + NULL, + didResizeList, + NULL, NULL }; @@ -95,6 +97,8 @@ WMCreateList(WMWidget *parent) } lPtr->view->self = lPtr; + lPtr->view->delegate = &_ListViewDelegate; + WMCreateEventHandler(lPtr->view, ExposureMask|StructureNotifyMask |ClientMessageMask, handleEvents, lPtr); @@ -114,7 +118,7 @@ WMCreateList(WMWidget *parent) /* make the scroller map itself when it's realized */ WMMapWidget(lPtr->vScroller); - resizeList(lPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); + W_ResizeView(lPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT); lPtr->selectedItem = -1; @@ -829,11 +833,11 @@ updateGeometry(WMList *lPtr) static void -resizeList(WMList *lPtr, unsigned int width, unsigned int height) -{ - W_ResizeView(lPtr->view, width, height); - - WMResizeWidget(lPtr->vScroller, 1, height-2); +didResizeList(W_ViewDelegate *self, WMView *view) +{ + WMList *lPtr = (WMList*)view->self; + + WMResizeWidget(lPtr->vScroller, 1, view->size.height-2); updateGeometry(lPtr); } diff --git a/WINGs/wpopupbutton.c b/WINGs/wpopupbutton.c index 5f407a67..d955523e 100644 --- a/WINGs/wpopupbutton.c +++ b/WINGs/wpopupbutton.c @@ -55,13 +55,6 @@ typedef struct W_PopUpButton { #define SCROLL_DELAY 10 -W_ViewProcedureTable _PopUpButtonViewProcedures = { - NULL, - NULL, - NULL -}; - - #define DEFAULT_WIDTH 60 #define DEFAULT_HEIGHT 20 #define DEFAULT_CAPTION "" diff --git a/WINGs/wscroller.c b/WINGs/wscroller.c index 7d295423..9fb4f6e3 100644 --- a/WINGs/wscroller.c +++ b/WINGs/wscroller.c @@ -67,17 +67,19 @@ typedef struct W_Scroller { static void destroyScroller(Scroller *sPtr); static void paintScroller(Scroller *sPtr); -static void resizeScroller(); +static void willResizeScroller(); static void handleEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data); static void handleMotion(Scroller *sPtr, int mouseX, int mouseY); -W_ViewProcedureTable _ScrollerViewProcedures = { +W_ViewDelegate _ScrollerViewDelegate = { NULL, - resizeScroller, - NULL + NULL, + NULL, + NULL, + willResizeScroller }; @@ -99,13 +101,15 @@ WMCreateScroller(WMWidget *parent) return NULL; } sPtr->view->self = sPtr; + + sPtr->view->delegate = &_ScrollerViewDelegate; sPtr->flags.documentFullyVisible = 1; WMCreateEventHandler(sPtr->view, ExposureMask|StructureNotifyMask |ClientMessageMask, handleEvents, sPtr); - resizeScroller(sPtr, DEFAULT_WIDTH, DEFAULT_WIDTH); + W_ResizeView(sPtr->view, DEFAULT_WIDTH, DEFAULT_WIDTH); sPtr->flags.arrowsPosition = DEFAULT_ARROWS_POSITION; WMCreateEventHandler(sPtr->view, ButtonPressMask|ButtonReleaseMask @@ -130,17 +134,17 @@ WMSetScrollerArrowsPosition(WMScroller *sPtr, WMScrollArrowPosition position) static void -resizeScroller(WMScroller *sPtr, unsigned int width, unsigned int height) +willResizeScroller(W_ViewDelegate *self, WMView *view, + unsigned int *width, unsigned int *height) { - if (width > height) { + WMScroller *sPtr = (WMScroller*)view->self; + + if (*width > *height) { sPtr->flags.horizontal = 1; - W_ResizeView(sPtr->view, width, SCROLLER_WIDTH); + *height = SCROLLER_WIDTH; } else { sPtr->flags.horizontal = 0; - W_ResizeView(sPtr->view, SCROLLER_WIDTH, height); - } - if (sPtr->view->flags.realized) { - paintScroller(sPtr); + *width = SCROLLER_WIDTH; } } diff --git a/WINGs/wscrollview.c b/WINGs/wscrollview.c index d64950f8..234dec74 100644 --- a/WINGs/wscrollview.c +++ b/WINGs/wscrollview.c @@ -38,9 +38,11 @@ static void handleViewportEvents(XEvent *event, void *data); static void resizeScrollView(); -W_ViewProcedureTable _ScrollViewViewProcedures = { +W_ViewDelegate _ScrollViewViewDelegate = { NULL, + NULL, resizeScrollView, + NULL, NULL }; @@ -67,7 +69,10 @@ WMCreateScrollView(WMWidget *parent) free(sPtr); return NULL; } - + sPtr->view->self = sPtr; + + sPtr->view->delegate = &_ScrollViewViewDelegate; + sPtr->viewport->flags.mapWhenRealized = 1; WMCreateEventHandler(sPtr->view, StructureNotifyMask|ExposureMask, @@ -171,11 +176,9 @@ reorganizeInterior(WMScrollView *sPtr) static void -resizeScrollView(WMScrollView *sPtr, unsigned int width, unsigned int height) +resizeScrollView(W_ViewDelegate *self, WMView *view) { - W_ResizeView(sPtr->view, width, height); - - reorganizeInterior(sPtr); + reorganizeInterior(view->self); } diff --git a/WINGs/wslider.c b/WINGs/wslider.c index cfb2d424..db41dec6 100644 --- a/WINGs/wslider.c +++ b/WINGs/wslider.c @@ -37,12 +37,14 @@ typedef struct W_Slider { -static void resizeSlider(); +static void didResizeSlider(); -W_ViewProcedureTable _SliderViewProcedures = { +W_ViewDelegate _SliderViewDelegate = { NULL, - resizeSlider, + NULL, + didResizeSlider, + NULL, NULL }; @@ -82,6 +84,8 @@ WMCreateSlider(WMWidget *parent) } sPtr->view->self = sPtr; + sPtr->view->delegate = &_SliderViewDelegate; + WMCreateEventHandler(sPtr->view, ExposureMask|StructureNotifyMask, handleEvents, sPtr); @@ -300,13 +304,15 @@ realizeSlider(Slider *sPtr) static void -resizeSlider(Slider *sPtr, unsigned int width, unsigned int height) +didResizeSlider(W_ViewDelegate *self, WMView *view) { + Slider *sPtr = (Slider*)view->self; + int width = sPtr->view->size.width; + int height = sPtr->view->size.height; + assert(width > 0); assert(height > 0); - W_ResizeView(sPtr->view, width, height); - if (width > height) { if (sPtr->flags.vertical) { sPtr->flags.vertical = 0; diff --git a/WINGs/wsplitview.c b/WINGs/wsplitview.c index 4e14c101..61aebd9d 100644 --- a/WINGs/wsplitview.c +++ b/WINGs/wsplitview.c @@ -33,14 +33,6 @@ static void handleEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data); -W_ViewProcedureTable _SplitViewViewProcedures = { - NULL, - NULL, - NULL -}; - - - static int subviewCount(SplitView *sPtr) { diff --git a/WINGs/wtabview.c b/WINGs/wtabview.c index 787c1b97..d52b315c 100644 --- a/WINGs/wtabview.c +++ b/WINGs/wtabview.c @@ -34,13 +34,6 @@ typedef struct W_TabView { -struct W_ViewProcedureTable _TabViewViewProcedures = { - NULL, - NULL, - NULL -}; - - #define DEFAULT_WIDTH 40 #define DEFAULT_HEIGHT 40 diff --git a/WINGs/wtest.c b/WINGs/wtest.c index 02599ea8..83d2200c 100644 --- a/WINGs/wtest.c +++ b/WINGs/wtest.c @@ -486,11 +486,13 @@ int main(int argc, char **argv) * Put the testSomething() function you want to test here. */ - testTextField(scr); - testTabView(scr); + testColorWell(scr); #if 0 + + testTabView(scr); + testTextField(scr); testGradientButtons(scr); testOpenFilePanel(scr); @@ -499,7 +501,6 @@ int main(int argc, char **argv) testGradientButtons(scr); testScrollView(scr); - testColorWell(scr); testSlider(scr); testPullDown(scr); diff --git a/WINGs/wtextfield.c b/WINGs/wtextfield.c index 88a02555..8b8277fb 100644 --- a/WINGs/wtextfield.c +++ b/WINGs/wtextfield.c @@ -106,11 +106,13 @@ static void paintTextField(TextField *tPtr); static void handleEvents(XEvent *event, void *data); static void handleTextFieldActionEvents(XEvent *event, void *data); -static void resizeTextField(); +static void didResizeTextField(); -struct W_ViewProcedureTable _TextFieldViewProcedures = { +struct W_ViewDelegate _TextFieldViewDelegate = { NULL, - resizeTextField, + NULL, + didResizeTextField, + NULL, NULL }; @@ -260,7 +262,9 @@ WMCreateTextField(WMWidget *parent) return NULL; } tPtr->view->self = tPtr; - + + tPtr->view->delegate = &_TextFieldViewDelegate; + tPtr->view->attribFlags |= CWCursor; tPtr->view->attribs.cursor = tPtr->view->screen->textCursor; @@ -276,8 +280,6 @@ WMCreateTextField(WMWidget *parent) WMCreateEventHandler(tPtr->view, ExposureMask|StructureNotifyMask |FocusChangeMask, handleEvents, tPtr); - W_ResizeView(tPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT); - tPtr->font = WMRetainFont(tPtr->view->screen->normalFont); tPtr->flags.bordered = DEFAULT_BORDERED; @@ -286,6 +288,8 @@ WMCreateTextField(WMWidget *parent) tPtr->offsetWidth = WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1); + W_ResizeView(tPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT); + WMCreateEventHandler(tPtr->view, EnterWindowMask|LeaveWindowMask |ButtonReleaseMask|ButtonPressMask|KeyPressMask|Button1MotionMask, handleTextFieldActionEvents, tPtr); @@ -594,9 +598,9 @@ WMSetTextFieldPrevTextField(WMTextField *tPtr, WMTextField *prev) static void -resizeTextField(WMTextField *tPtr, unsigned int width, unsigned int height) +didResizeTextField(W_ViewDelegate *self, WMView *view) { - W_ResizeView(tPtr->view, width, height); + WMTextField *tPtr = (WMTextField*)view->self; tPtr->offsetWidth = WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1); @@ -612,6 +616,7 @@ makeHiddenString(int length) memset(data, '*', length); data[length] = '\0'; + return data; } diff --git a/WINGs/wview.c b/WINGs/wview.c index b90d249d..0e2be5b6 100644 --- a/WINGs/wview.c +++ b/WINGs/wview.c @@ -439,14 +439,22 @@ W_MoveView(W_View *view, int x, int y) { assert(view->flags.root==0); + if (view->delegate && view->delegate->willMove) { + (*view->delegate->willMove)(view->delegate, view, &x, &y); + } + if (view->pos.x == x && view->pos.y == y) return; - + if (view->flags.realized) { XMoveWindow(view->screen->display, view->window, x, y); } view->pos.x = x; view->pos.y = y; + + if (view->delegate && view->delegate->didMove) { + (*view->delegate->didMove)(view->delegate, view); + } } @@ -454,10 +462,14 @@ void W_ResizeView(W_View *view, unsigned int width, unsigned int height) { int shrinked; - + + if (view->delegate && view->delegate->willResize) { + (*view->delegate->willResize)(view->delegate, view, &width, &height); + } + assert(width > 0); assert(height > 0); - + if (view->size.width == width && view->size.height == height) return; @@ -468,7 +480,11 @@ W_ResizeView(W_View *view, unsigned int width, unsigned int height) } view->size.width = width; view->size.height = height; - + + if (view->delegate && view->delegate->didResize) { + (*view->delegate->didResize)(view->delegate, view); + } + if (view->flags.notifySizeChanged) WMPostNotificationName(WMViewSizeDidChangeNotification, view, NULL); } diff --git a/WINGs/wwindow.c b/WINGs/wwindow.c index 473ebda0..56d67b1d 100644 --- a/WINGs/wwindow.c +++ b/WINGs/wwindow.c @@ -74,12 +74,14 @@ typedef struct { -static void resizeWindow(WMWidget *, unsigned, unsigned); +static void willResizeWindow(W_ViewDelegate *, WMView *, unsigned*, unsigned*); -struct W_ViewProcedureTable _WindowViewProcedures = { +struct W_ViewDelegate _WindowViewDelegate = { NULL, - resizeWindow, - NULL + NULL, + NULL, + NULL, + willResizeWindow }; @@ -165,6 +167,8 @@ WMCreateWindowWithStyle(WMScreen *screen, char *name, int style) } win->view->self = win; + win->view->delegate = &_WindowViewDelegate; + win->wname = wstrdup(name); /* add to the window list of the screen (application) */ @@ -272,25 +276,24 @@ WMSetWindowCloseAction(WMWindow *win, WMAction *action, void *clientData) static void -resizeWindow(WMWidget *w, unsigned width, unsigned height) +willResizeWindow(W_ViewDelegate *self, WMView *view, + unsigned *width, unsigned *height) { - WMWindow *win = (WMWindow*)w; + WMWindow *win = (WMWindow*)view->self; if (win->minSize.width > 0 && win->minSize.height > 0) { - if (width < win->minSize.width) - width = win->minSize.width; - if (height < win->minSize.height) - height = win->minSize.height; + if (*width < win->minSize.width) + *width = win->minSize.width; + if (*height < win->minSize.height) + *height = win->minSize.height; } if (win->maxSize.width > 0 && win->maxSize.height > 0) { - if (width > win->maxSize.width) - width = win->maxSize.width; - if (height > win->maxSize.height) - height = win->maxSize.height; + if (*width > win->maxSize.width) + *width = win->maxSize.width; + if (*height > win->maxSize.height) + *height = win->maxSize.height; } - - W_ResizeView(win->view, width, height); } diff --git a/WPrefs.app/Appearance.c b/WPrefs.app/Appearance.c index 4fe34c01..0b36734c 100644 --- a/WPrefs.app/Appearance.c +++ b/WPrefs.app/Appearance.c @@ -2009,8 +2009,8 @@ showData(_Panel *panel) str = colorOptions[i*2+1]; if (!(color = WMCreateNamedColor(WMWidgetScreen(panel->frame), str, False))) { - color = WMCreateNamedColor(WMWidgetScreen(panel->frame), "#000000", False); - } + color = WMCreateNamedColor(WMWidgetScreen(panel->frame), "#000000", False); + } panel->colors[i] = color; } @@ -2038,7 +2038,7 @@ storeData(_Panel *panel) TextureListItem *titem; WMListItem *item; int i; - + for (i = 0; i < sizeof(textureOptions)/(sizeof(char*)*3); i++) { item = WMGetListItem(panel->texLs, panel->textureIndex[i]); titem = (TextureListItem*)item->clientData; @@ -2046,8 +2046,14 @@ storeData(_Panel *panel) } for (i = 0; i < 8; i++) { - SetStringForKey(WMGetColorRGBDescription(panel->colors[i]), - colorOptions[i*2]); + char *str; + + str = WMGetColorRGBDescription(panel->colors[i]); + + if (str) { + SetStringForKey(str, colorOptions[i*2]); + free(str); + } } switch (panel->menuStyle) { diff --git a/WPrefs.app/WPrefs.c b/WPrefs.app/WPrefs.c index 9a01f884..25df532f 100644 --- a/WPrefs.app/WPrefs.c +++ b/WPrefs.app/WPrefs.c @@ -645,7 +645,12 @@ loadConfigurations(WMScreen *scr, WMWindow *mainw) } free(path); - file = popen("wmaker --version", "r"); + path = getenv("WMAKER_BIN_NAME"); + if (!path) + path = "wmaker"; + path = wstrappend(path, " --version"); + + file = popen(path, "r"); if (!file || !fgets(buffer, 1023, file)) { wsyserror(_("could not extract version information from Window Maker")); wfatal(_("Make sure wmaker is in your search path.")); diff --git a/WPrefs.app/Workspace.c b/WPrefs.app/Workspace.c index dcea228c..7c24a490 100644 --- a/WPrefs.app/Workspace.c +++ b/WPrefs.app/Workspace.c @@ -32,9 +32,9 @@ typedef struct _Panel { char *description; CallbackRec callbacks; - + WMWindow *win; - + WMFrame *navF; WMButton *linkB; WMButton *cyclB; @@ -42,7 +42,7 @@ typedef struct _Panel { WMLabel *linkL; WMLabel *cyclL; WMLabel *newL; - + WMFrame *dockF; WMButton *dockB; WMButton *clipB; diff --git a/WPrefs.app/double.c b/WPrefs.app/double.c index 0053bfac..316cb64b 100644 --- a/WPrefs.app/double.c +++ b/WPrefs.app/double.c @@ -32,12 +32,6 @@ static void handleEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data); -static W_ViewProcedureTable _DoubleTestViewProcedures = { - NULL, - NULL, - NULL -}; - /* our widget class ID */ static W_Class DoubleTestClass = 0; @@ -52,9 +46,9 @@ InitDoubleTest(WMScreen *scr) { /* register our widget with WINGs and get our widget class ID */ if (!DoubleTestClass) { - DoubleTestClass = W_RegisterUserWidget(&_DoubleTestViewProcedures); + DoubleTestClass = W_RegisterUserWidget(); } - + return DoubleTestClass; } diff --git a/WPrefs.app/po/fr.po b/WPrefs.app/po/fr.po index 31a210a8..61f125cd 100644 --- a/WPrefs.app/po/fr.po +++ b/WPrefs.app/po/fr.po @@ -1,18 +1,19 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR , YEAR. +# French Message file for Window Maker +# Last Update: version 0.31.0 +# +# Update History: +# Bastien Nocera # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-04-22 07:09+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: French \n" +"Project-Id-Version: 0.31.0\n" +"POT-Creation-Date: 1999-04-22 07:08+0200\n" +"PO-Revision-Date: 1999-04-27 07:08+2000\n" +"Last-Translator: Bastien Nocera \n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: ENCODING\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" #: ../../WPrefs.app/main.c:74 #, c-format @@ -97,7 +98,7 @@ msgid "" "More Programming: James Thompson" msgstr "" "Programmation/Conception: Alfredo K. Kojima\n" -"Dessins: Marco van Hylckama Vlieg" +"Dessins: Marco van Hylckama Vlieg\n" "Plus de Programmation: James Thompson" #: ../../WPrefs.app/WPrefs.c:407 @@ -353,7 +354,7 @@ msgstr "Sons" #: ../../WPrefs.app/Configurations.c:354 msgid "Note: sound requires a module distributed separately" -msgstr "Note: le son requière un module distribué séparément" +msgstr "Note: le module de son est distribué séparément" #: ../../WPrefs.app/Configurations.c:364 msgid "Dithering colormap for 8bpp" @@ -365,11 +366,11 @@ msgstr "D #: ../../WPrefs.app/Configurations.c:390 msgid "More colors for applications" -msgstr "Moins de couleurs pour Window Maker" +msgstr "Plus pour les applications" #: ../../WPrefs.app/Configurations.c:397 msgid "More colors for WindowMaker" -msgstr "Plus de couleurs pour Window Maker" +msgstr "Plus pour Window Maker" #: ../../WPrefs.app/Configurations.c:450 msgid "Other Configurations" @@ -379,7 +380,7 @@ msgstr "Autres Configurations" msgid "" "Disable miniwindows (icons for miniaturized windows). For use with KDE/GNOME." msgstr "" -"Pas de mini-fenêtres (icones de fenêtres miniaturisées). Pour utiliser avec KDE/GNOME." +"Pas de mini-fenêtres . A utiliser avec KDE/GNOME." #: ../../WPrefs.app/Expert.c:73 msgid "Do not set non-WindowMaker specific parameters (do not use xset)" @@ -621,7 +622,7 @@ msgstr "Plier la fen #: ../../WPrefs.app/KeyboardShortcuts.c:387 msgid "Move/Resize active window" -msgstr "Déplacer/Redimensionner la fenêtre active" +msgstr "Déplacer/Dimensionner la fenêtre active" #: ../../WPrefs.app/KeyboardShortcuts.c:388 msgid "Select active window" @@ -770,35 +771,35 @@ msgstr "Commandes" #: ../../WPrefs.app/Menu.c:1065 ../../WPrefs.app/Menu.c:1080 msgid "Add Command" -msgstr "Ajouter une Commande" +msgstr "+ Commande" #: ../../WPrefs.app/Menu.c:1066 ../../WPrefs.app/Menu.c:1081 msgid "Add Submenu" -msgstr "Ajouter un Sous-Menu" +msgstr "+ Sous-Menu" #: ../../WPrefs.app/Menu.c:1067 ../../WPrefs.app/Menu.c:1082 msgid "Add External Menu" -msgstr "Ajouter un Sous-Menu Externe" +msgstr "+ Sous-Menu Externe" #: ../../WPrefs.app/Menu.c:1068 ../../WPrefs.app/Menu.c:1083 msgid "Add Workspace Menu" -msgstr "Ajouter le Menu des Bureaux" +msgstr "+ Menu des Bureaux" #: ../../WPrefs.app/Menu.c:1069 ../../WPrefs.app/Menu.c:1084 msgid "Remove Item" -msgstr "Supprimer un Elément" +msgstr "- Elément" #: ../../WPrefs.app/Menu.c:1070 ../../WPrefs.app/Menu.c:1085 msgid "Cut Item" -msgstr "Couper un Elément" +msgstr "Couper Elément" #: ../../WPrefs.app/Menu.c:1071 ../../WPrefs.app/Menu.c:1086 msgid "Copy Item" -msgstr "Copier un Elément" +msgstr "Copier Elément" #: ../../WPrefs.app/Menu.c:1072 ../../WPrefs.app/Menu.c:1087 msgid "Paste Item" -msgstr "Coller un Elément" +msgstr "Coller Elément" #: ../../WPrefs.app/Menu.c:1116 msgid "Label" @@ -904,7 +905,7 @@ msgid "" "Always open submenus inside the screen, instead of scrolling.\n" "Note: this can be an annoyance at some circumstances." msgstr "" -"Toujours ouvrir les sous-menus dans l'écran, au lieu de les faire apparaître.\n" +"Ouvrir les sous-menus dans l'écran, au lieu de les faire apparaître.\n" "Note: Ca peut devenir énervant..." #: ../../WPrefs.app/MenuPreferences.c:209 @@ -1324,11 +1325,11 @@ msgstr "Lors de la Maximisation..." #: ../../WPrefs.app/WindowHandling.c:338 msgid "...do not cover icons" -msgstr "...ne pas recouvrir les icones" +msgstr "...ne pas couvrir les icones" #: ../../WPrefs.app/WindowHandling.c:344 msgid "...do not cover dock" -msgstr "...ne pas recouvrir le dock" +msgstr "...ne pas couvrir le dock" #: ../../WPrefs.app/WindowHandling.c:353 msgid "Edge Resistance" @@ -1355,8 +1356,7 @@ msgid "" "switch to first workspace when switching past the last workspace and " "vice-versa" msgstr "" -"passer au premier bureau aprés le dernier bureau et vice-versa (les bureaux " -"forment une boucle)." +"passer au premier bureau aprés le dernier bureau et vice-versa." #: ../../WPrefs.app/Workspace.c:210 msgid "create a new workspace when switching past the last workspace." diff --git a/WindowMaker/menu b/WindowMaker/menu index 0a71b03e..6104a965 100644 --- a/WindowMaker/menu +++ b/WindowMaker/menu @@ -113,7 +113,7 @@ "Process List" EXEC xterm -e top "Manual Browser" EXEC xman "Info" END - "Run..." EXEC %a(Run,Type command to run:) + "Run..." SHEXEC %a(Run,Type command to run:) "XTerm" EXEC xterm -sb "Rxvt" EXEC rxvt -bg black -fg white -fn fixed "Workspaces" WORKSPACE_MENU @@ -200,8 +200,8 @@ "Gradient" END "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Background" END - "Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)" - "Save IconSet" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)" + "Save Theme" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)" + "Save IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)" "Appearance" END "Exit" MENU diff --git a/WindowMaker/menu.ca b/WindowMaker/menu.ca index 1589873a..d1b2957e 100644 --- a/WindowMaker/menu.ca +++ b/WindowMaker/menu.ca @@ -201,8 +201,8 @@ "Degradat" END "Imatges" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Fons de pantalla" END - "Guardar Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Guardar Joc d'Icones" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Guardar Tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Guardar Joc d'Icones" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Aparença" END "Sortir" MENU diff --git a/WindowMaker/menu.cz b/WindowMaker/menu.cz index adebfa3f..9ff4900e 100644 --- a/WindowMaker/menu.cz +++ b/WindowMaker/menu.cz @@ -31,7 +31,7 @@ "Hlavní menu" MENU "Správce oken" MENU - "Editace menu" EXEC xterm -T 'Editace menu' -e joe $HOME/GNUstep/Library/WindowMaker/menu + "Editace menu" SHEXEC xterm -T 'Editace menu' -e joe $HOME/GNUstep/Library/WindowMaker/menu "Správce oken" END "Info" MENU "Info Panel..." INFO_PANEL diff --git a/WindowMaker/menu.da b/WindowMaker/menu.da index d5449aa1..73628ce9 100644 --- a/WindowMaker/menu.da +++ b/WindowMaker/menu.da @@ -190,8 +190,8 @@ "Nuancer" END "Billeder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Baggrund" END - "Gem tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Gem ikonsæt" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Gem tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Gem ikonsæt" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Udseende" END "Afslut" MENU diff --git a/WindowMaker/menu.de b/WindowMaker/menu.de index 5ac678c6..c848a1f9 100644 --- a/WindowMaker/menu.de +++ b/WindowMaker/menu.de @@ -91,7 +91,7 @@ "email an" EXEC xterm -name mail -T "Pine" -e pine %s "Navigate" SHEXEC netscape -noraise -remote \ 'openURL(%s,new-window)' || netscape %s - "in Anleitung suchen" EXEC MANUAL_SEARCH(%s) + "in Anleitung suchen" SHEXEC MANUAL_SEARCH(%s) "Markierung" END "Arbeitsplatz" MENU "Andere verstecken" HIDE_OTHERS diff --git a/WindowMaker/menu.el b/WindowMaker/menu.el index d78cfd49..464aa0b3 100644 --- a/WindowMaker/menu.el +++ b/WindowMaker/menu.el @@ -197,8 +197,8 @@ "ÄéáâáèìéóìÝíï" END "Åéêüíåò" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Öüíôï" END - "ÁðïèÞêåõóç ÈÝìáôïò" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(¼íïìá ÈÝìáôïò)" - "ÁðïèÞêåõóç ÏìÜäáò Åéêïíéäßùí" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(¼íïìá ÏìÜäáò)" + "ÁðïèÞêåõóç ÈÝìáôïò" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(¼íïìá ÈÝìáôïò)" + "ÁðïèÞêåõóç ÏìÜäáò Åéêïíéäßùí" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(¼íïìá ÏìÜäáò)" "ÅìöÜíéóç" END "¸îïäïò" MENU diff --git a/WindowMaker/menu.es b/WindowMaker/menu.es index d794b0ba..14485db7 100644 --- a/WindowMaker/menu.es +++ b/WindowMaker/menu.es @@ -41,9 +41,9 @@ "Menu Principal" MENU "Informacion ..." MENU - "Copyright..." EXEC xmessage -center -font variable -title \ + "Copyright..." SHEXEC xmessage -center -font variable -title \ 'WindowMaker 'WM_VERSION -file ~/GNUstep/Library/WindowMaker/Copyright - "Carga del sistema" EXEC xosview || xload + "Carga del sistema" SHEXEC xosview || xload "Lista de tarifas (top)" EXEC rxvt -ls -fg white -bg black -fn vga -e top "Manual" EXEC xman "Informacion ..." END @@ -63,7 +63,7 @@ "Graficos ..." END "Editores ..." MENU - "XEmacs" EXEC xemacs || emacs + "XEmacs" SHEXEC xemacs || emacs "XJed" EXEC xjed "NEdit" EXEC nedit "Xedit" EXEC xedit @@ -71,7 +71,7 @@ "Editores ..." END "Multimedia ..." MENU - "Xmcd" EXEC xmcd 2> /dev/null + "Xmcd" SHEXEC xmcd 2> /dev/null "Xplaycd" EXEC xplaycd "Xmixer" EXEC xmixer "Multimedia ..." END diff --git a/WindowMaker/menu.fi b/WindowMaker/menu.fi index 39cd472e..7116983d 100644 --- a/WindowMaker/menu.fi +++ b/WindowMaker/menu.fi @@ -183,8 +183,8 @@ "Liukuväri" END "Taustakuvat" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Taustat" END - "Talleta teema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Talleta kuvakeryhmät" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Talleta teema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Talleta kuvakeryhmät" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Ulkonäkö" END "Poistu" MENU diff --git a/WindowMaker/menu.fr b/WindowMaker/menu.fr index ac52e0d7..62d62618 100644 --- a/WindowMaker/menu.fr +++ b/WindowMaker/menu.fr @@ -28,13 +28,11 @@ * commande. * * WORKSPACE_MENU Ajoute un sous menu pour les opérations - * sur l'espace de travail. Il ne peut y + * sur les bureaux. Il ne peut y * avoir qu'un seul WORKSPACE_MENU. * * EXEC Execute un programme externe * - * SHEXEC - executes a shell command (like gimp > /dev/null) - * * EXIT Quitte le gestionnaire de fenêtres * * RESTART [] Redémarre WindowMaker ou démarre un @@ -42,26 +40,24 @@ * * REFRESH Retrace l'écran * - * ARRANGE_ICONS Arrange les icônes sur l'espace de - * travail + * ARRANGE_ICONS Arrange les icônes sur le bureau * * SHUTDOWN Tue tout les clients ( et termine la * session X Window) * - * SHOW_ALL Montre toutes les fenêtres sur l'espace - * de travail + * SHOW_ALL Montre toutes les fenêtres sur le bureau * - * HIDE_OTHERS Cache toutes les fenêtres sur l'espace - * de travail qui sont en arrière plan + * HIDE_OTHERS Cache toutes les fenêtres sur le + * bureau qui sont en arrière plan * * SAVE_SESSION Sauve la l'état courant du bureau, cela * inclus toute les applications en marche, * tout leur indices (geometrie, position - * sur l'écran, l'espace de travail sur + * sur l'écran, le bureau sur * lequel elle sont, si elles ont ete lancées * par le "dock" ou le "clip", si elles * etaient minimisées, ombrées ou cachées). - * De plus, l'espace de travail courant + * De plus, le bureau actuel * sera aussi sauvé. Tout sera remis dans * cet état a chaque démarrage de * WindowMaker jusqu'au prochain usage de @@ -163,10 +159,10 @@ "Liste des processus" EXEC xterm -e top "Butineur d'aide" EXEC xman "Informations" END - "Démarrer..." EXEC %a(Démarrer,Tapez une commande à démarrer:) + "Démarrer..." SHEXEC %a(Démarrer,Tapez une commande à démarrer:) "Terminal X" EXEC xterm -sb "Rxvt" EXEC rxvt -bg black -fg white -fn fixed - "Espaces de travail" WORKSPACE_MENU + "Bureaux" WORKSPACE_MENU "Applications" MENU "Graphismes" MENU "Gimp" SHEXEC gimp >/dev/null @@ -213,7 +209,7 @@ "Rechercher dans le manuel" SHEXEC MANUAL_SEARCH(%s) "Sélection" END - "Espace de travail" MENU + "Bureau" MENU "Cacher les autres fenêtres" HIDE_OTHERS "Montrer toutes les fenêtres" SHOW_ALL "Arranger les icônes" ARRANGE_ICONS @@ -221,7 +217,7 @@ "Vérrouiller" EXEC xlock -allowroot -usefirst "Sauver la session" SAVE_SESSION "Effacer la session" CLEAR_SESSION - "Espace de travail" END + "Bureaux" END "Apparence" MENU "Thèmes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle @@ -250,8 +246,8 @@ "Degradé" END "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Fond d'écran" END - "Sauver le thème" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Nom du thème,Entrez un nom de fichier:)" - "Sauver le jeu d'icônes" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nom du jeu d'icônes,Entrez un nom de fichier:)" + "Sauver le thème" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Nom du thème,Entrez un nom de fichier:)" + "Sauver le jeu d'icônes" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nom du jeu d'icônes,Entrez un nom de fichier:)" "Apparence" END "Quitter" MENU diff --git a/WindowMaker/menu.he b/WindowMaker/menu.he index 8a95946f..5849d5e5 100644 --- a/WindowMaker/menu.he +++ b/WindowMaker/menu.he @@ -182,8 +182,8 @@ "Gradient" END "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "ò÷ø" END - "Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Save IconSet" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Save Theme" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Save IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "äàøî" END "äàéöé" MENU diff --git a/WindowMaker/menu.hr b/WindowMaker/menu.hr index 02a0d193..3445f09e 100644 --- a/WindowMaker/menu.hr +++ b/WindowMaker/menu.hr @@ -184,8 +184,8 @@ "Preljev" END "Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Pozadina" END - "Snimi temu" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Snimi set ikona" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Snimi temu" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Snimi set ikona" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Izgled" END "Izlaz" MENU diff --git a/WindowMaker/menu.hu b/WindowMaker/menu.hu index 63283b4d..30566c46 100644 --- a/WindowMaker/menu.hu +++ b/WindowMaker/menu.hu @@ -196,8 +196,8 @@ "Gradiens" END "Kepek" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Hatter" END - "Temak mentese" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Ikonbeallitasok mentese" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Temak mentese" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Ikonbeallitasok mentese" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Megjelenites" END "Kilepes" MENU diff --git a/WindowMaker/menu.it b/WindowMaker/menu.it index fb11ef85..604316ac 100644 --- a/WindowMaker/menu.it +++ b/WindowMaker/menu.it @@ -94,7 +94,7 @@ "Invio posta a.." EXEC xterm -name mail -T "Pine" -e pine %s "Navigare" SHEXEC netscape -noraise -remote \ 'openURL(%s,new-window)' || netscape %s - "Ricerca nei Manuali" EXEC MANUAL_SEARCH(%s) + "Ricerca nei Manuali" SHEXEC MANUAL_SEARCH(%s) "Selezione" END "Area di lavoro" MENU diff --git a/WindowMaker/menu.ja b/WindowMaker/menu.ja index f06931b5..f931b49c 100644 --- a/WindowMaker/menu.ja +++ b/WindowMaker/menu.ja @@ -189,8 +189,8 @@ "¥°¥é¥Ç¡¼¥·¥ç¥ó" END "¥¤¥á¡¼¥¸" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "ÇØ·Ê" END - "¸½ºß¤ÎÀßÄê¤ò¥Æ¡¼¥Þ¤È¤·¤Æ¥»¡¼¥Ö" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "¸½ºß¤Î¥¢¥¤¥³¥ó½¸¤ò¥»¡¼¥Ö" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "¸½ºß¤ÎÀßÄê¤ò¥Æ¡¼¥Þ¤È¤·¤Æ¥»¡¼¥Ö" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "¸½ºß¤Î¥¢¥¤¥³¥ó½¸¤ò¥»¡¼¥Ö" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "³°´Ñ" END "½ªÎ»" MENU diff --git a/WindowMaker/menu.ko b/WindowMaker/menu.ko index 753dc227..5804bafa 100644 --- a/WindowMaker/menu.ko +++ b/WindowMaker/menu.ko @@ -193,8 +193,8 @@ "Gradient" END "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "¹è°æÈ­¸é" END - "Å׸¶ ÀúÀå" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "¾ÆÀÌÄܼ¼Æ® ÀúÀå" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Å׸¶ ÀúÀå" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "¾ÆÀÌÄܼ¼Æ® ÀúÀå" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "¼³Á¤ ÆÄÀÏ ¼öÁ¤" MENU "menu.ko" EXEC hanterm -e vi $HOME/GNUstep/Library/WindowMaker/menu.ko "WindowMaker" EXEC hanterm -e vi $HOME/GNUstep/Defaults/WindowMaker diff --git a/WindowMaker/menu.no b/WindowMaker/menu.no index 23197faf..a9d37c6b 100644 --- a/WindowMaker/menu.no +++ b/WindowMaker/menu.no @@ -181,8 +181,8 @@ "Overganger" END "Bilder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/BackGrounds WITH wmsetbg -u -t "Bakgrunn" END - "Lagre Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Lagre Ikonsett" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Lagre Tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Lagre Ikonsett" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Utseende" END "Avslutt" MENU diff --git a/WindowMaker/menu.pt b/WindowMaker/menu.pt index 2b217851..8965b63f 100644 --- a/WindowMaker/menu.pt +++ b/WindowMaker/menu.pt @@ -192,8 +192,8 @@ "Degradé" END "Imagens" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Papéis de Parede" END - "Salvar Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Nome do Tema)" - "Salvar Configuração de Ícones" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nome do Conjunto de Ícones)" + "Salvar Tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Nome do Tema)" + "Salvar Configuração de Ícones" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nome do Conjunto de Ícones)" "Appearance" END "Sair" MENU diff --git a/WindowMaker/menu.ru b/WindowMaker/menu.ru index bbc6c0ce..83555a47 100644 --- a/WindowMaker/menu.ru +++ b/WindowMaker/menu.ru @@ -106,7 +106,7 @@ "ëÏÐÉÒÏ×ÁÔØ" SHEXEC echo '%s' | wxcopy "ïÔÐÒÁ×ÉÔØ" EXEC xterm -name mail -T "Pine" -e pine %s "éÓËÁÔØ × éÎÔÅÒÎÅÔ" EXEC netscape %s - "éÓËÁÔØ × òÕËÏ×ÏÄÓÔ×ÁÈ" EXEC MANUAL_SEARCH(%s) + "éÓËÁÔØ × òÕËÏ×ÏÄÓÔ×ÁÈ" SHEXEC MANUAL_SEARCH(%s) "÷ÙÄÅÌÅÎÉÅ" END "òÁÂÏÞÅÅ ÍÅÓÔÏ" MENU diff --git a/WindowMaker/menu.se b/WindowMaker/menu.se index 82c2b033..f7a28a9c 100644 --- a/WindowMaker/menu.se +++ b/WindowMaker/menu.se @@ -158,7 +158,7 @@ "Kopiera" SHEXEC echo '%s' | wxcopy "Skicka e-mail" EXEC xterm -name mail -T "Pine" -e pine %s "Gå till webbsida" EXEC netscape %s - "Sök i manualer" EXEC MANUAL_SEARCH(%s) + "Sök i manualer" SHEXEC MANUAL_SEARCH(%s) "Markering" END "Arbetsbord" MENU @@ -192,8 +192,8 @@ "Toningar" END "Bilder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Bakgrund" END - "Spara tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Spara ikonuppsättning" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Spara tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Spara ikonuppsättning" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Utseende" END "Avsluta" MENU diff --git a/WindowMaker/menu.sl b/WindowMaker/menu.sl index b921fb7b..4f68d597 100644 --- a/WindowMaker/menu.sl +++ b/WindowMaker/menu.sl @@ -191,8 +191,8 @@ "Preliv" END "Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Odzadje" END - "Shrani temo" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Shrani zbirko ikon" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Shrani temo" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Shrani zbirko ikon" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Izgled" END "Izhod" MENU diff --git a/WindowMaker/menu.tr b/WindowMaker/menu.tr index 4e50f0a2..16f46bf2 100644 --- a/WindowMaker/menu.tr +++ b/WindowMaker/menu.tr @@ -177,8 +177,8 @@ "Renk Geçiþi" END "Görüntüler" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Arkaplan" END - "Tema Sakla" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Simge Kümesi Sakla" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Tema Sakla" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Simge Kümesi Sakla" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Görünüm" END "Çýkýþ" MENU diff --git a/WindowMaker/menu.zh_CN b/WindowMaker/menu.zh_CN index 4cb4b172..ce98a4d2 100644 --- a/WindowMaker/menu.zh_CN +++ b/WindowMaker/menu.zh_CN @@ -165,8 +165,8 @@ "¹ý¶ÉÉ«" END "ͼÏñ" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "±³¾°" END - "±£´æÖ÷Ìâ" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)" - "±£´æͼ±ê¼¯" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)" + "±£´æÖ÷Ìâ" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)" + "±£´æͼ±ê¼¯" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)" "Íâ¹Û" END "Í˳ö" MENU diff --git a/WindowMaker/menu.zh_TW.Big5 b/WindowMaker/menu.zh_TW.Big5 index d6af933e..5aca1db3 100644 --- a/WindowMaker/menu.zh_TW.Big5 +++ b/WindowMaker/menu.zh_TW.Big5 @@ -191,8 +191,8 @@ "º¥¼h¦â" END "¹Ï¤ù" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "­I´º" END - "Àx¦s¥DÃD" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" - "Àx¦s¹Ï¥Ü¶°" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" + "Àx¦s¥DÃD" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" + "Àx¦s¹Ï¥Ü¶°" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "¥~Æ[" END "Â÷¶}" MENU diff --git a/WindowMaker/plmenu b/WindowMaker/plmenu index 3183ddea..551c886e 100644 --- a/WindowMaker/plmenu +++ b/WindowMaker/plmenu @@ -7,7 +7,7 @@ ("Process List", EXEC, "xterm -e top"), ("Manual Browser", EXEC, "xman") ), - ("Run...", EXEC, "%a(Run,Type command to run:)"), + ("Run...", SHEXEC, "%a(Run,Type command to run:)"), ("XTerm", EXEC, "xterm -sb"), ("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"), ("Workspaces", WORKSPACE_MENU), @@ -92,8 +92,8 @@ ), ("Images", OPEN_MENU, "-noext #wmdatadir#/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") ), - ("Save Theme", EXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""), - ("Save IconSet", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"") + ("Save Theme", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""), + ("Save IconSet", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"") ), ("Exit", ("Restart", RESTART), diff --git a/WindowMaker/plmenu.da b/WindowMaker/plmenu.da index bf26a16f..c651028e 100644 --- a/WindowMaker/plmenu.da +++ b/WindowMaker/plmenu.da @@ -290,12 +290,12 @@ ), ( "Gem tema", - EXEC, + SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Tema navn,Indtast fil navn:)\"" ), ( "Gem ikons\346t", - EXEC, + SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(Ikonsæt navn,Enter fil navn:)\"" ) ), diff --git a/WindowMaker/plmenu.fr b/WindowMaker/plmenu.fr index d6a7e8b6..834848fb 100644 --- a/WindowMaker/plmenu.fr +++ b/WindowMaker/plmenu.fr @@ -7,10 +7,10 @@ ("Liste des processus", EXEC, "xterm -e top"), ("Butineur d'aide", EXEC, "xman") ), - ("Démarrer...", EXEC, "%a(Démarrer,Tapez une commande à démarrer:)"), + ("Démarrer...", SHEXEC, "%a(Démarrer,Tapez une commande à démarrer:)"), ("Terminal X", EXEC, "xterm -sb"), ("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"), - ("Espaces de travail", WORKSPACE_MENU), + ("Bureau", WORKSPACE_MENU), ("Applications", ("Graphismes", ("Gimp", SHEXEC, "gimp >/dev/null"), @@ -54,9 +54,9 @@ ("Copier", SHEXEC, "echo '%s' | wxcopy"), ("Envoyer à", EXEC, "xterm -name mail -T Pine -e pine %s"), ("Naviguer", EXEC, "netscape %s"), - ("Rechercher dans le manuel", EXEC, "MANUAL_SEARCH(%s)") + ("Rechercher dans le manuel", SHEXEC, "MANUAL_SEARCH(%s)") ), - ("Espace de travail", + ("Bureaux", ("Cacher les autres fenêtres", HIDE_OTHERS), ("Montrer toutes les fenêtres", SHOW_ALL), ("Arranger les icônes", ARRANGE_ICONS), @@ -66,9 +66,9 @@ ("Effacer la session", CLEAR_SESSION) ), ("Apparence", - ("Thèmes", OPEN_MENU, "-noext #wmdatadir#/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"), - ("Styles", OPEN_MENU, "-noext #wmdatadir#/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"), - ("Jeu d'icônes", OPEN_MENU, "-noext #wmdatadir#/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"), + ("Thèmes", OPEN_MENU, "-noext /opt/share/WindowMaker/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"), + ("Styles", OPEN_MENU, "-noext /opt/share/WindowMaker/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"), + ("Jeu d'icônes", OPEN_MENU, "-noext /opt/share/WindowMaker/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"), ("Fond d'écran", ("Unifié", ("Noir", EXEC, "wdwrite WindowMaker WorkspaceBack '(solid, black)'"), @@ -88,10 +88,10 @@ ("Dégradés de Gris", EXEC, "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'"), ("Dégradés de Bordeau", EXEC, "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#600040\", \"#180010\")'") ), - ("Images", OPEN_MENU, "-noext #wmdatadir#/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") + ("Images", OPEN_MENU, "-noext /opt/share/WindowMaker/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") ), - ("Sauver le thème", EXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes /\"%a(Nom du thème,Entrez un nom de fichier:)\""), - ("Sauver le jeu d'icônes", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets /\"%a(Nom du jeu d'icônes,Entrez un nom de fichier:)\"") + ("Sauver le thème", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes /\"%a(Nom du thème,Entrez un nom de fichier:)\""), + ("Sauver le jeu d'icônes", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets /\"%a(Nom du jeu d'icônes,Entrez un nom de fichier:)\"") ), ("Quitter", ("Redémarrer", RESTART), diff --git a/WindowMaker/plmenu.hr b/WindowMaker/plmenu.hr index de4cd3e8..1bcc1270 100644 --- a/WindowMaker/plmenu.hr +++ b/WindowMaker/plmenu.hr @@ -196,12 +196,12 @@ ), ( "Snimi temu", - EXEC, + SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\"" ), ( "Snimi set ikona", - EXEC, + SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"" ) ), diff --git a/WindowMaker/plmenu.it b/WindowMaker/plmenu.it index 7fd18d5c..f84b1414 100644 --- a/WindowMaker/plmenu.it +++ b/WindowMaker/plmenu.it @@ -92,8 +92,8 @@ ), ("Immagini", OPEN_MENU, "-noext /usr/X11R6/share/WindowMaker/Backgrounds ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") ), - ("Salva il tema", EXEC, "getstyle -t ~/GNUstep/Library/WindowMaker/Themes/\"%a(Nome Tema)\""), - ("Salva il set icone", EXEC, "geticonset ~/GNUstep/Library/WindowMaker/IconSets/\"%a(Nome IconSet)\"") + ("Salva il tema", SHEXEC, "getstyle -t ~/GNUstep/Library/WindowMaker/Themes/\"%a(Nome Tema)\""), + ("Salva il set icone", SHEXEC, "geticonset ~/GNUstep/Library/WindowMaker/IconSets/\"%a(Nome IconSet)\"") ), ("Esci", ("Riavvia", RESTART), diff --git a/WindowMaker/plmenu.zh_CN b/WindowMaker/plmenu.zh_CN index e045db51..d4575349 100644 --- a/WindowMaker/plmenu.zh_CN +++ b/WindowMaker/plmenu.zh_CN @@ -7,7 +7,7 @@ ("½ø³ÌÁбí", EXEC, "xterm -e top"), ("ÊÖ²áä¯ÀÀÆ÷", EXEC, "xman") ), - ("ÔËÐÐ...", EXEC, "%a(Run,Type command to run:)"), + ("ÔËÐÐ...", SHEXEC, "%a(Run,Type command to run:)"), ("XTerm", EXEC, "xterm -sb"), ("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"), ("³ÌÐò", OPEN_MENU, "| wmconfig --output wmaker 2>/dev/null"), @@ -54,8 +54,8 @@ ), ("ͼÏñ", OPEN_MENU, "-noext #wmdatadir#/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") ), - ("±£´æÖ÷Ìâ", EXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""), - ("±£´æͼ±ê¼¯", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"") + ("±£´æÖ÷Ìâ", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""), + ("±£´æͼ±ê¼¯", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"") ), ("Í˳ö", ("ÖØÐÂÆô¶¯", RESTART), diff --git a/configure.in b/configure.in index 6350465b..8758faf4 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ AC_INIT(src/WindowMaker.h) -AM_INIT_AUTOMAKE(WindowMaker, 0.54.0) +AM_INIT_AUTOMAKE(WindowMaker, 0.60.0) AM_PROG_LIBTOOL diff --git a/mkpatch b/mkpatch index 3800ec21..bd87294b 100755 --- a/mkpatch +++ b/mkpatch @@ -150,7 +150,7 @@ index=0 mkdir tmpdir while [ $index -lt $dircount ]; do fname="dir$index" - eval origname=$"$fname" + eval origname=\$"$fname" echo "Recreating directory ../$origname" (cd tmpdir; tar xf ../files/$fname.tar) mv tmpdir/$origname ../$origname @@ -162,7 +162,7 @@ rm -fr tmpdir index=0 while [ $index -lt $filecount ]; do fname="file$index" - eval origname=$"$fname" + eval origname=\$"$fname" echo "Copying file ../$origname" cp files/$fname ../$origname index=`expr $index + 1` @@ -205,7 +205,7 @@ check_binary_changes() { index=0 while [ $index -lt $filecount ]; do fname="changed$index" - eval origname=$"$fname" + eval origname=\$"$fname" echo "Replacing file ../$origname" rm ../$origname cp files/$fname ../$origname diff --git a/po/fr.po b/po/fr.po index d5d62fbb..734349a9 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,18 +1,19 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR , YEAR. +# French Message file for Window Maker +# Last Update: version 0.53.0 +# +# Update History: +# Bastien Nocera # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: 0.53.0\n" "POT-Creation-Date: 1999-04-22 07:08+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: French \n" +"PO-Revision-Date: 1999-04-27 07:08+2000\n" +"Last-Translator: Bastien Nocera \n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: ENCODING\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" #: ../src/appicon.c:541 ../src/dialog.c:223 ../src/dialog.c:279 #: ../src/dock.c:3114 ../src/dockedapp.c:210 ../src/rootmenu.c:1743 @@ -266,7 +267,7 @@ msgstr "Icones" #: ../src/dialog.c:457 msgid "File Name:" -msgstr "Nom de fichier:" +msgstr "Fichier:" #: ../src/dialog.c:480 msgid "Choose File" @@ -465,7 +466,7 @@ msgstr "Ignorer" #: ../src/dockedapp.c:298 msgid "Start when WindowMaker is started" -msgstr "Démarrer en même temps que WindowMaker" +msgstr "Démarrage automatique" #: ../src/dockedapp.c:305 msgid "Application path and arguments" @@ -1341,19 +1342,19 @@ msgstr "Attributs" #: ../src/winspector.c:1123 msgid "Disable Titlebar" -msgstr "Désactiver la barre de titre" +msgstr "Pas de barre de titre" #: ../src/winspector.c:1127 msgid "Disable Resizebar" -msgstr "Désactiver la barre de redimensionnement" +msgstr "Pas de barre de redimensionnement" #: ../src/winspector.c:1131 msgid "Disable Close Button" -msgstr "Désactiver le bouton de fermeture" +msgstr "Pas de bouton de fermeture" #: ../src/winspector.c:1135 msgid "Disable Miniaturize Button" -msgstr "Désactiver le bouton de miniaturisation" +msgstr "Pas bouton de miniaturisation" #: ../src/winspector.c:1139 msgid "Keep on Top / Floating" @@ -1385,11 +1386,11 @@ msgstr "Ignore #: ../src/winspector.c:1187 msgid "Don't Bind Keyboard Shortcuts" -msgstr "Ne pas associer de raccourcis-clavier" +msgstr "Utiliser le clavier" #: ../src/winspector.c:1191 msgid "Don't Bind Mouse Clicks" -msgstr "Ne pas associer de clicks de souris" +msgstr "Utiliser la souris" #: ../src/winspector.c:1195 msgid "Keep Inside Screen" @@ -1401,7 +1402,7 @@ msgstr "Ne prend pas le focus" #: ../src/winspector.c:1203 msgid "Don't Save Session" -msgstr "Exclure des Sauvegardes de Sessions" +msgstr "Pas de Sauvegarde de Session" #: ../src/winspector.c:1207 msgid "Emulate Application Icon" @@ -1416,7 +1417,7 @@ msgid "" "Enable the \"Don't bind...\" options to allow the application to receive all " "mouse or keyboard events." msgstr "" -"Activer les options \"Ne pas associer...\" pour que l'application reçoive " +"Activer les options \"Utiliser...\" pour que l'application reçoive " "tous les évenements clavier ou souris." #: ../src/winspector.c:1233 diff --git a/src/dialog.c b/src/dialog.c index 6e9e7648..2cbf0f93 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -266,23 +266,15 @@ setViewedImage(IconPanel *panel, char *file) pixmap = WMCreateBlendedPixmapFromFile(WMWidgetScreen(panel->win), file, &color); if (!pixmap) { - char *msg; - char *tmp; - WMSetButtonEnabled(panel->okButton, False); - tmp = _("Could not load image file "); - msg = wmalloc(strlen(tmp)+strlen(file)+6); - strcpy(msg, tmp); - strcat(msg, file); - - wMessageDialog(panel->scr, _("Error"), msg, _("OK"), NULL, NULL); - free(msg); + WMSetLabelText(panel->iconView, _("Could not load image file ")); WMSetLabelImage(panel->iconView, NULL); } else { WMSetButtonEnabled(panel->okButton, True); - + + WMSetLabelText(panel->iconView, NULL); WMSetLabelImage(panel->iconView, pixmap); WMReleasePixmap(pixmap); } @@ -448,9 +440,10 @@ wIconChooserDialog(WScreen *scr, char **file, char *instance, char *class) panel->iconView = WMCreateLabel(panel->win); WMResizeWidget(panel->iconView, 75, 75); WMMoveWidget(panel->iconView, 365, 60); - WMSetLabelImagePosition(panel->iconView, WIPImageOnly); + WMSetLabelImagePosition(panel->iconView, WIPOverlaps); WMSetLabelRelief(panel->iconView, WRSunken); - + WMSetLabelTextAlignment(panel->iconView, WACenter); + panel->fileLabel = WMCreateLabel(panel->win); WMResizeWidget(panel->fileLabel, 80, 20); WMMoveWidget(panel->fileLabel, 10, 210); diff --git a/src/main.c b/src/main.c index 231b23c3..c19573e9 100644 --- a/src/main.c +++ b/src/main.c @@ -356,7 +356,11 @@ main(int argc, char **argv) #endif wsetabort(wAbort); - + + /* for telling WPrefs what's the name of the wmaker binary being ran */ + str = wstrappend("WMAKER_BIN_NAME", argv[0]); + putenv(str); + ArgCount = argc; Arguments = argv; diff --git a/src/rootmenu.c b/src/rootmenu.c index 50d5cb2f..106d32b1 100644 --- a/src/rootmenu.c +++ b/src/rootmenu.c @@ -1332,7 +1332,7 @@ readMenuDirectory(WScreen *scr, char *title, char **path, char *command) if (dentry->d_name[0] == '.') continue; - buffer = wmalloc(strlen(path[i])+strlen(dentry->d_name)+4); + buffer = malloc(strlen(path[i])+strlen(dentry->d_name)+4); if (!buffer) { wsyserror(_("out of memory while constructing directory menu %s"), path[i]); @@ -1399,7 +1399,7 @@ readMenuDirectory(WScreen *scr, char *title, char **path, char *command) length = strlen(path[d->index])+strlen(d->name)+6; if (command) length += strlen(command) + 6; - buffer = wmalloc(length); + buffer = malloc(length); if (!buffer) { wsyserror(_("out of memory while constructing directory menu %s"), path[d->index]); @@ -1477,7 +1477,7 @@ readMenuDirectory(WScreen *scr, char *title, char **path, char *command) if (ptr && ptr!=f->name) *ptr = 0; } - addMenuEntry(menu, f->name, NULL, "EXEC", buffer, path[f->index]); + addMenuEntry(menu, f->name, NULL, "SHEXEC", buffer, path[f->index]); free(buffer); if (files->head) { diff --git a/src/window.c b/src/window.c index 31dbb6d7..ecf03ddf 100644 --- a/src/window.c +++ b/src/window.c @@ -1674,77 +1674,92 @@ wWindowUnfocus(WWindow *wwin) void wWindowConstrainSize(WWindow *wwin, int *nwidth, int *nheight) { - XSizeHints *sizeh = wwin->normal_hints; int width = *nwidth; int height = *nheight; - int winc = sizeh->width_inc; - int hinc = sizeh->height_inc; - - if (width < sizeh->min_width) - width = sizeh->min_width; - if (height < sizeh->min_height) - height = sizeh->min_height; - - if (width > sizeh->max_width) - width = sizeh->max_width; - if (height > sizeh->max_height) - height = sizeh->max_height; - + int winc = 1; + int hinc = 1; + int minW = 1, minH = 1; + int maxW = wwin->screen_ptr->scr_width*2; + int maxH = wwin->screen_ptr->scr_height*2; + int minAX = -1, minAY = -1; + int maxAX = -1, maxAY = -1; + int baseW = 0; + int baseH = 0; + + if (wwin->normal_hints) { + winc = wwin->normal_hints->width_inc; + hinc = wwin->normal_hints->height_inc; + minW = wwin->normal_hints->min_width; + minH = wwin->normal_hints->min_height; + maxW = wwin->normal_hints->max_width; + maxH = wwin->normal_hints->max_height; + if (wwin->normal_hints->flags & PAspect) { + minAX = wwin->normal_hints->min_aspect.x; + minAY = wwin->normal_hints->min_aspect.y; + maxAX = wwin->normal_hints->max_aspect.x; + maxAY = wwin->normal_hints->max_aspect.y; + } + } + + if (width < minW) + width = minW; + if (height < minH) + height = minH; + + if (width > maxW) + width = maxW; + if (height > maxH) + height = maxH; + /* aspect ratio code borrowed from olwm */ - if (sizeh->flags & PAspect) { + if (minAX > 0) { /* adjust max aspect ratio */ - if (!(sizeh->max_aspect.x==1 && sizeh->max_aspect.y==1) - && width * sizeh->max_aspect.y > height * sizeh->max_aspect.x) { - if (sizeh->max_aspect.x > sizeh->max_aspect.y) { - height = (width * sizeh->max_aspect.y) / sizeh->max_aspect.x; - if (height > sizeh->max_height) { - height = sizeh->max_height; - width = (height*sizeh->max_aspect.x) / sizeh->max_aspect.y; + if (!(maxAX == 1 && maxAY == 1) && width * maxAY > height * maxAX) { + if (maxAX > maxAY) { + height = (width * maxAY) / maxAX; + if (height > maxH) { + height = maxH; + width = (height * maxAX) / maxAY; } } else { - width = (height * sizeh->max_aspect.x) / sizeh->max_aspect.y; - if (width > sizeh->max_width) { - width = sizeh->max_width; - height = (width*sizeh->max_aspect.y) / sizeh->max_aspect.x; + width = (height * maxAX) / maxAY; + if (width > maxW) { + width = maxW; + height = (width * maxAY) / maxAX; } } } /* adjust min aspect ratio */ - if (!(sizeh->min_aspect.x==1 && sizeh->min_aspect.y==1) - && width * sizeh->min_aspect.y < height * sizeh->min_aspect.x) { - if (sizeh->min_aspect.x > sizeh->min_aspect.y) { - height = (width * sizeh->min_aspect.y) / sizeh->min_aspect.x; - if (height < sizeh->min_height) { - height = sizeh->min_height; - width = (height*sizeh->min_aspect.x) / sizeh->min_aspect.y; + if (!(minAX == 1 && minAY == 1) && width * minAY < height * minAX) { + if (minAX > minAY) { + height = (width * minAY) / minAX; + if (height < minH) { + height = minH; + width = (height * minAX) / minAY; } } else { - width = (height * sizeh->min_aspect.x) / sizeh->min_aspect.y; - if (width < sizeh->min_width) { - width = sizeh->min_width; - height = (width*sizeh->min_aspect.y) / sizeh->min_aspect.x; + width = (height * minAX) / minAY; + if (width < minW) { + width = minW; + height = (width * minAY) / minAX; } } } } - if (sizeh->base_width != 0) { - width = (((width - sizeh->base_width) / winc) * winc) - + sizeh->base_width; + if (baseW != 0) { + width = (((width - baseW) / winc) * winc) + baseW; } else { - width = (((width - sizeh->min_width) / winc) * winc) - + sizeh->min_width; + width = (((width - minW) / winc) * winc) + minW; } - if (sizeh->base_width != 0) { - height = (((height - sizeh->base_height) / hinc) * hinc) - + sizeh->base_height; + if (baseW != 0) { + height = (((height - baseH) / hinc) * hinc) + baseH; } else { - height = (((height - sizeh->min_height) / hinc) * hinc) - + sizeh->min_height; + height = (((height - minH) / hinc) * hinc) + minH; } - + *nwidth = width; *nheight = height; } diff --git a/src/winspector.c b/src/winspector.c index 079191ba..343c8235 100644 --- a/src/winspector.c +++ b/src/winspector.c @@ -988,12 +988,24 @@ static void selectSpecification(WMWidget *bPtr, void *data) { InspectorPanel *panel = (InspectorPanel*)data; + char *str; if (bPtr == panel->defaultRb) { WMSetButtonEnabled(panel->applyBtn, False); } else { WMSetButtonEnabled(panel->applyBtn, True); } + + str = wmalloc(16 + strlen(wwin->wm_instance ? wwin->wm_instance : "?") + + strlen(wwin->wm_class ? wwin->wm_class : "?")); + + sprintf(str, "Inspecting %s.%s", + wwin->wm_instance ? wwin->wm_instance : "?", + wwin->wm_class ? wwin->wm_class : "?"); + + wFrameWindowChangeTitle(panel->wwin->frame, str); + + free(str); } @@ -1003,13 +1015,15 @@ createInspectorForWindow(WWindow *wwin) WScreen *scr = wwin->screen_ptr; InspectorPanel *panel; Window parent; - char charbuf[128]; int i; int x, y; int btn_width, frame_width; + WMButton *selectedBtn = NULL; #ifdef wrong_behaviour WMPixmap *pixmap; #endif + + panel = wmalloc(sizeof(InspectorPanel)); memset(panel, 0, sizeof(InspectorPanel)); @@ -1020,11 +1034,7 @@ createInspectorForWindow(WWindow *wwin) panel->nextPtr = panelList; panelList = panel; - - sprintf(charbuf, "Inspecting %s.%s", - wwin->wm_instance ? wwin->wm_instance : "?", - wwin->wm_class ? wwin->wm_class : "?"); panel->win = WMCreateWindow(scr->wmscreen, "windowInspector"); WMResizeWidget(panel->win, PWIDTH, PHEIGHT); @@ -1082,17 +1092,21 @@ createInspectorForWindow(WWindow *wwin) WMSetButtonText(panel->defaultRb, _("Defaults for all windows")); WMSetButtonSelected(panel->defaultRb, False); WMSetButtonAction(panel->defaultRb, selectSpecification, panel); - - + if (wwin->wm_class && wwin->wm_instance) { - sprintf(charbuf, "%s.%s", wwin->wm_instance, wwin->wm_class); + char *str; + + str = wstrappend(wwin->wm_instance, wwin->wm_class); panel->bothRb = WMCreateRadioButton(panel->specFrm); WMMoveWidget(panel->bothRb, 10, 18); WMResizeWidget(panel->bothRb, frame_width - (2 * 10), 20); - WMSetButtonText(panel->bothRb, charbuf); - WMSetButtonSelected(panel->bothRb, True); + WMSetButtonText(panel->bothRb, str); + free(str); WMGroupButtons(panel->defaultRb, panel->bothRb); + if (!selectedBtn) + selectedBtn = panel->bothRb; + WMSetButtonAction(panel->bothRb, selectSpecification, panel); } @@ -1101,9 +1115,11 @@ createInspectorForWindow(WWindow *wwin) WMMoveWidget(panel->instRb, 10, 38); WMResizeWidget(panel->instRb, frame_width - (2 * 10), 20); WMSetButtonText(panel->instRb, wwin->wm_instance); - WMSetButtonSelected(panel->instRb, False); WMGroupButtons(panel->defaultRb, panel->instRb); + if (!selectedBtn) + selectedBtn = panel->instRb; + WMSetButtonAction(panel->instRb, selectSpecification, panel); } @@ -1112,9 +1128,11 @@ createInspectorForWindow(WWindow *wwin) WMMoveWidget(panel->clsRb, 10, 58); WMResizeWidget(panel->clsRb, frame_width - (2 * 10), 20); WMSetButtonText(panel->clsRb, wwin->wm_class); - WMSetButtonSelected(panel->clsRb, False); WMGroupButtons(panel->defaultRb, panel->clsRb); + if (!selectedBtn) + selectedBtn = panel->clsRb; + WMSetButtonAction(panel->clsRb, selectSpecification, panel); } @@ -1467,7 +1485,7 @@ createInspectorForWindow(WWindow *wwin) XReparentWindow(dpy, WMWidgetXID(panel->win), parent, 0, 0); WMMapWidget(panel->win); - + XSetTransientForHint(dpy, parent, wwin->client_win); x = wwin->frame_x+wwin->frame->core->width/2; @@ -1476,12 +1494,18 @@ createInspectorForWindow(WWindow *wwin) y = scr->scr_height - PHEIGHT - 30; if (x + PWIDTH > scr->scr_width) x = scr->scr_width - PWIDTH; + panel->frame = wManageInternalWindow(scr, parent, wwin->client_win, - charbuf, x, y, PWIDTH, PHEIGHT); - + "Inspector", x, y, PWIDTH, PHEIGHT); + + if (!selectedBtn) + selectedBtn = panel->defaultRb; + + selectSpecification(selectedBtn, panel); + /* kluge to know who should get the key events */ panel->frame->client_leader = WMWidgetXID(panel->win); - + WSETUFLAG(panel->frame, no_closable, 0); WSETUFLAG(panel->frame, no_close_button, 0); wWindowUpdateButtonImages(panel->frame); diff --git a/src/workspace.c b/src/workspace.c index a6312525..bfeffe23 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -289,7 +289,8 @@ showWorkspaceName(WScreen *scr, int workspace) int len = strlen(name); int x, y; - if (wPreferences.workspace_name_display_position == WD_NONE) + if (wPreferences.workspace_name_display_position == WD_NONE + || scr->workspace_count < 2) return; if (scr->workspace_name_timer) { @@ -605,6 +606,7 @@ wWorkspaceForceChange(WScreen *scr, int workspace) if (scr->dock) wAppIconPaint(scr->dock->icon_array[0]); + if (scr->clip_icon) { if (scr->workspaces[workspace]->clip->auto_collapse || scr->workspaces[workspace]->clip->auto_raise_lower) { @@ -616,7 +618,8 @@ wWorkspaceForceChange(WScreen *scr, int workspace) } } - showWorkspaceName(scr, workspace); + if (!scr->flags.startup2) + showWorkspaceName(scr, workspace); #ifdef GNOME_STUFF wGNOMEUpdateCurrentWorkspaceHint(scr); diff --git a/util/setstyle.c b/util/setstyle.c index 50505e70..2c4af0ff 100644 --- a/util/setstyle.c +++ b/util/setstyle.c @@ -55,6 +55,12 @@ int ignoreFonts = 0; Display *dpy; + + +proplist_t readBlackBoxStyle(char *path); + + + char* defaultsPathForDomain(char *domain) { @@ -338,7 +344,6 @@ StringCompareHook(proplist_t pl1, proplist_t pl2) } - void print_help() { @@ -348,10 +353,17 @@ print_help() puts(" --no-fonts ignore font related options"); puts(" --ignore