1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 12:58:08 +01:00

many bug fixes, finished some delegate code, updated menu file bug from EXEC

to SHEXEC, updated french translations
This commit is contained in:
kojima
1999-05-29 21:41:25 +00:00
parent a43f369ec3
commit 5e4625dafe
74 changed files with 767 additions and 569 deletions

View File

@@ -34,7 +34,15 @@ Changes since version 0.53.0:
- fixed crash bug with hiding apps without dock/clip - fixed crash bug with hiding apps without dock/clip
- fixed a mem leak in superfluous mode caused by the ghost icon. - fixed a mem leak in superfluous mode caused by the ghost icon.
- added possibility to set omnipresent icons in Clip. See NEWS. - 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
<neil@octane.sun.ac.za>)
- made images with a transparent color used a background use the default color
(Nicolas <NV04@wanadoo.fr>)
- replace xde support drop on dock with xdnd. - 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 - more elegant text entries in Clip's menu, regarding single/multiple
selected icons. selected icons.

View File

@@ -23,6 +23,7 @@ SUPPORTED PLATFORMS
- SGI Irix 5.x, 6.5 - SGI Irix 5.x, 6.5
- OSF/1 - OSF/1
- HP-UX - HP-UX
- AIX 3.2.5
- AIX 4.1.4 / IBM PowerPC - AIX 4.1.4 / IBM PowerPC
- AIX 4.3.1 / IBM CC compiler - AIX 4.3.1 / IBM CC compiler
- AIX 4.3.2 / IBM PowerPC - AIX 4.3.2 / IBM PowerPC
@@ -72,7 +73,7 @@ The following is required to build Window Maker:
with exactly these versions: with exactly these versions:
autoconf 2.13 autoconf 2.13
automake 1.4 automake 1.4
libtool 1.2 libtool 1.3
If you have a different version, disable them by temporarily If you have a different version, disable them by temporarily
renaming them to something else or uninstalling them from your renaming them to something else or uninstalling them from your
system. If you don't develop software you don't need them, system. If you don't develop software you don't need them,
@@ -259,7 +260,7 @@ PLATFORM SPECIFIC NOTES:
ldconfig; ldconfig;
* if you have problems that mention an error message with --no-reexec * 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; can be found in ftp.gnu.org Also read the TROUBLESHOOTING section;
* if you installed the Window Maker package from RedHat and are * 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: Also make sure the autoconf and automake versions you have installed are:
autoconf 2.13 autoconf 2.13
automake 1.4 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. from the GNU sites.
== Cant find proplist.h or libPropList.something == Cant find proplist.h or libPropList.something

2
NEWS
View File

@@ -2,7 +2,7 @@
NEWS for veteran Window Maker users NEWS for veteran Window Maker users
----------------------------------- -----------------------------------
--- 0.54.0 --- 0.60.0
User Menu User Menu

9
README
View File

@@ -141,8 +141,8 @@ displayed by Window Maker.
* docklib-x.x.tar.gz a library for writing dockapps * docklib-x.x.tar.gz a library for writing dockapps
Mailing List HELP ME!!!
============ ==========
There is a mailing list for discussing Window Maker at There is a mailing list for discussing Window Maker at
wm-user@windowmaker.org To subscribe to it, send a message containing: 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. 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 GNUstep
======= =======

View File

@@ -14,12 +14,21 @@ changes since wmaker 0.53.0:
The notifications will still work, but using the delegate is preferable The notifications will still work, but using the delegate is preferable
How to convert old code to delegate callbacks: How to convert old code to delegate callbacks:
Create a variable (static or dynamic) of the type of the delegate for 1 - create a variable (static or dynamic) of the type of the
the widget type. Replace the notification observers with the delegate for the widget type.
equivalent delegate callbacks. Put pointers to the callbacks 2 - Replace the notification observers with the equivalent
in the delegate variable. 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. 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 - WMTextField
Removed all the didChange notifications that were sent when the text Removed all the didChange notifications that were sent when the text
was changed programmatically. Only changes made by user interaction was changed programmatically. Only changes made by user interaction

View File

@@ -8,7 +8,7 @@
#include "WINGs.h" #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. #error There_is_an_old_WINGs.h_file_somewhere_in_your_system._Please_remove_it.
#endif #endif
@@ -92,6 +92,7 @@ typedef struct W_FocusInfo {
struct W_FocusInfo *next; struct W_FocusInfo *next;
} W_FocusInfo; } W_FocusInfo;
typedef struct W_Screen { typedef struct W_Screen {
Display *display; Display *display;
int screen; 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 { typedef struct W_View {
struct W_Screen *screen; struct W_Screen *screen;
WMWidget *self; /* must point to the widget the WMWidget *self; /* must point to the widget the
* view belongs to */ * view belongs to */
W_ViewDelegate *delegate;
Window window; Window window;
WMSize size; 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 { typedef struct _WINGsConfiguration {
char *systemFont; char *systemFont;
@@ -418,7 +429,7 @@ void W_InitApplication(WMScreen *scr);
void W_InitNotificationCenter(void); void W_InitNotificationCenter(void);
W_Class W_RegisterUserWidget(W_ViewProcedureTable *procTable); W_Class W_RegisterUserWidget(void);
void W_RedisplayView(WMView *view); void W_RedisplayView(WMView *view);

View File

@@ -44,6 +44,16 @@
#else /* !NDEBUG */ #else /* !NDEBUG */
#ifdef DEBUG
#include <assert.h>
#define wassertr(expr) assert(expr)
#define wassertrv(expr, val) assert(expr)
#else /* !DEBUG */
#define wassertr(expr) \ #define wassertr(expr) \
if (!(expr)) { \ if (!(expr)) { \
wwarning("%s line %i (%s): assertion %s failed",\ wwarning("%s line %i (%s): assertion %s failed",\
@@ -57,6 +67,7 @@
__FILE__, __LINE__, __ASSERT_FUNCTION, #expr);\ __FILE__, __LINE__, __ASSERT_FUNCTION, #expr);\
return (val);\ return (val);\
} }
#endif /* !DEBUG */
#endif /* !NDEBUG */ #endif /* !NDEBUG */

View File

@@ -50,12 +50,13 @@ static void handleActionEvents(XEvent *event, void *data);
/* /*
* Some procedures you might want to override. Don't forget to call * Delegates
* the equivalent view procedure after (or before) doing your stuff.
* See the source for the other widgets to see how to use. * See the source for the other widgets to see how to use.
* You won't need to use this most of the time. * You won't need to use this most of the time.
*/ */
static W_ViewProcedureTable _MyWidgetViewProcedures = { static W_ViewDelegate _MyWidgetDelegate = {
NULL,
NULL,
NULL, NULL,
NULL, NULL,
NULL NULL
@@ -75,7 +76,7 @@ InitMyWidget(WMScreen *scr)
{ {
/* register our widget with WINGs and get our widget class ID */ /* register our widget with WINGs and get our widget class ID */
if (!myWidgetClass) { if (!myWidgetClass) {
myWidgetClass = W_RegisterUserWidget(&_MyWidgetViewProcedures); myWidgetClass = W_RegisterUserWidget();
} }
return myWidgetClass; return myWidgetClass;
@@ -113,6 +114,9 @@ CreateMyWidget(WMWidget *parent)
/* always do this */ /* always do this */
mPtr->view->self = mPtr; 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. * Intercept some events for our widget, so that we can handle them.
*/ */

View File

@@ -95,9 +95,16 @@ writeSelection(Display *dpy, Window requestor, Atom property, Atom type,
*/ */
gotError = False; gotError = False;
#ifndef __sgi
if (!XChangeProperty(dpy, requestor, property, type, format, if (!XChangeProperty(dpy, requestor, property, type, format,
PropModeReplace, value, length)) PropModeReplace, value, length))
return False; return False;
#else
/* in sgi seems this seems to return void */
XChangeProperty(dpy, requestor, property, type, format,
PropModeReplace, value, length);
#endif
XFlush(dpy); XFlush(dpy);
return !gotError; return !gotError;

View File

@@ -87,12 +87,15 @@ static void removeColumn(WMBrowser *bPtr, int column);
static char* static char*
createTruncatedString(WMFont *font, char *text, int *textLen, int width); 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, NULL,
resizeBrowser, NULL,
NULL NULL,
NULL,
willResizeBrowser
}; };
@@ -117,6 +120,8 @@ WMCreateBrowser(WMWidget *parent)
} }
bPtr->view->self = bPtr; bPtr->view->self = bPtr;
bPtr->view->delegate = &_BrowserViewDelegate;
WMCreateEventHandler(bPtr->view, ExposureMask|StructureNotifyMask WMCreateEventHandler(bPtr->view, ExposureMask|StructureNotifyMask
|ClientMessageMask, handleEvents, bPtr); |ClientMessageMask, handleEvents, bPtr);
@@ -127,7 +132,7 @@ WMCreateBrowser(WMWidget *parent)
bPtr->flags.isTitled = DEFAULT_IS_TITLED; bPtr->flags.isTitled = DEFAULT_IS_TITLED;
bPtr->maxVisibleColumns = DEFAULT_MAX_VISIBLE_COLUMNS; bPtr->maxVisibleColumns = DEFAULT_MAX_VISIBLE_COLUMNS;
resizeBrowser(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); WMResizeWidget(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT);
bPtr->pathSeparator = wstrdup(DEFAULT_SEPARATOR); bPtr->pathSeparator = wstrdup(DEFAULT_SEPARATOR);
@@ -201,7 +206,7 @@ WMSetBrowserMaxVisibleColumns(WMBrowser *bPtr, int columns)
removeColumn(bPtr, newFirstVisibleColumn + 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) { if (bPtr->flags.loaded) {
XClearArea(bPtr->view->screen->display, bPtr->view->window, 0, 0, XClearArea(bPtr->view->screen->display, bPtr->view->window, 0, 0,
bPtr->view->size.width, bPtr->titleHeight, False); bPtr->view->size.width, bPtr->titleHeight, False);
@@ -463,18 +468,19 @@ WMInsertBrowserItem(WMBrowser *bPtr, int column, int row, char *text,
static void 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 cols = bPtr->maxVisibleColumns;
int colX, colY; int colX, colY;
int i; int i;
assert(width > 0); assert(*width > 0);
assert(height > 0); assert(*height > 0);
bPtr->columnSize.width = (width-(cols-1)*COLUMN_SPACING) / cols; bPtr->columnSize.width = (*width-(cols-1)*COLUMN_SPACING) / cols;
bPtr->columnSize.height = height; bPtr->columnSize.height = *height;
if (bPtr->flags.isTitled) { if (bPtr->flags.isTitled) {
colY = TITLE_SPACING + bPtr->titleHeight; colY = TITLE_SPACING + bPtr->titleHeight;
@@ -487,8 +493,8 @@ resizeBrowser(WMWidget *w, unsigned int width, unsigned int height)
bPtr->columnSize.height -= SCROLLER_WIDTH + 4; bPtr->columnSize.height -= SCROLLER_WIDTH + 4;
if (bPtr->scroller) { if (bPtr->scroller) {
WMResizeWidget(bPtr->scroller, width-2, 1); WMResizeWidget(bPtr->scroller, *width-2, 1);
WMMoveWidget(bPtr->scroller, 1, height-SCROLLER_WIDTH-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; colX += bPtr->columnSize.width+COLUMN_SPACING;
} }
} }
W_ResizeView(bPtr->view, width, height);
} }

View File

@@ -99,13 +99,6 @@ static void handleEvents(XEvent *event, void *data);
static void handleActionEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data);
W_ViewProcedureTable _ButtonViewProcedures = {
NULL,
NULL,
NULL
};
static char *WMPushedRadioNotification="WMPushedRadioNotification"; static char *WMPushedRadioNotification="WMPushedRadioNotification";

View File

@@ -40,14 +40,16 @@ static void handleDragEvents(XEvent *event, void *data);
static void handleActionEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data);
static void resizeColorWell(); static void willResizeColorWell();
W_ViewProcedureTable _ColorWellViewProcedures = { W_ViewDelegate _ColorWellViewDelegate = {
NULL, NULL,
resizeColorWell, NULL,
NULL NULL,
NULL,
willResizeColorWell
}; };
@@ -132,6 +134,8 @@ WMCreateColorWell(WMWidget *parent)
} }
cPtr->view->self = cPtr; cPtr->view->self = cPtr;
cPtr->view->delegate = &_ColorWellViewDelegate;
cPtr->colorView = W_CreateView(cPtr->view); cPtr->colorView = W_CreateView(cPtr->view);
if (!cPtr->colorView) { if (!cPtr->colorView) {
W_DestroyView(cPtr->view); W_DestroyView(cPtr->view);
@@ -155,7 +159,7 @@ WMCreateColorWell(WMWidget *parent)
cPtr->flags.bordered = 1; cPtr->flags.bordered = 1;
resizeColorWell(cPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); W_ResizeView(cPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT);
WMAddNotificationObserver(activatedObserver, cPtr, WMAddNotificationObserver(activatedObserver, cPtr,
_ColorWellActivatedNotification, NULL); _ColorWellActivatedNotification, NULL);
@@ -194,7 +198,7 @@ WSetColorWellBordered(WMColorWell *cPtr, Bool flag)
{ {
if (cPtr->flags.bordered != flag) { if (cPtr->flags.bordered != flag) {
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)) #define MIN(a,b) ((a) > (b) ? (b) : (a))
static void 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; int bw;
if (cPtr->flags.bordered) { if (cPtr->flags.bordered) {
if (width < MIN_WIDTH) if (*width < MIN_WIDTH)
width = MIN_WIDTH; *width = MIN_WIDTH;
if (height < MIN_HEIGHT) if (*height < MIN_HEIGHT)
height = MIN_HEIGHT; *height = MIN_HEIGHT;
bw = (int)((float)MIN(width, height)*0.24); bw = (int)((float)MIN(*width, *height)*0.24);
W_ResizeView(cPtr->view, width, height); W_ResizeView(cPtr->colorView, *width-2*bw, *height-2*bw);
W_ResizeView(cPtr->colorView, width-2*bw, height-2*bw);
if (cPtr->colorView->pos.x!=bw || cPtr->colorView->pos.y!=bw) if (cPtr->colorView->pos.x!=bw || cPtr->colorView->pos.y!=bw)
W_MoveView(cPtr->colorView, bw, bw); W_MoveView(cPtr->colorView, bw, bw);
} else { } else {
W_ResizeView(cPtr->view, width, height); W_ResizeView(cPtr->colorView, *width, *height);
W_ResizeView(cPtr->colorView, width, height);
W_MoveView(cPtr->colorView, 0, 0); W_MoveView(cPtr->colorView, 0, 0);
} }

View File

@@ -75,6 +75,12 @@ WMCreateFontInDefaultEncoding(WMScreen *scrPtr, char *fontName)
WMFont *font; WMFont *font;
Display *display = scrPtr->display; Display *display = scrPtr->display;
font = WMHashGet(scrPtr->fontCache, fontName);
if (font) {
WMRetainFont(font);
return font;
}
font = malloc(sizeof(WMFont)); font = malloc(sizeof(WMFont));
if (!font) if (!font)
return NULL; return NULL;
@@ -95,6 +101,8 @@ WMCreateFontInDefaultEncoding(WMScreen *scrPtr, char *fontName)
font->refCount = 1; font->refCount = 1;
assert(WMHashInsert(scrPtr->fontCache, font->name, font)==NULL);
return font; return font;
} }
@@ -143,7 +151,6 @@ WMFontHeight(WMFont *font)
WMFont* WMFont*
WMSystemFontOfSize(WMScreen *scrPtr, int size) WMSystemFontOfSize(WMScreen *scrPtr, int size)
{ {

View File

@@ -16,14 +16,6 @@ typedef struct W_Frame {
} Frame; } Frame;
struct W_ViewProcedureTable _FrameViewProcedures = {
NULL,
NULL,
NULL
};
#define DEFAULT_RELIEF WRGroove #define DEFAULT_RELIEF WRGroove
#define DEFAULT_TITLE_POSITION WTPAtTop #define DEFAULT_TITLE_POSITION WTPAtTop
#define DEFAULT_WIDTH 40 #define DEFAULT_WIDTH 40

View File

@@ -309,55 +309,12 @@ static unsigned char STIPPLE_BITS[] = {
extern void W_ReadConfigurations(void); 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; static int userWidgetCount=0;
/***** end data ******/ /***** 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 static void
renderPixmap(W_Screen *screen, Pixmap d, Pixmap mask, char **data, renderPixmap(W_Screen *screen, Pixmap d, Pixmap mask, char **data,
int width, int height) int width, int height)
@@ -563,8 +520,6 @@ WMCreateScreenWithRContext(Display *display, int screen, RContext *context)
initialized = 1; initialized = 1;
initProcedureTable();
W_ReadConfigurations(); W_ReadConfigurations();
assert(W_ApplicationInitialized()); assert(W_ApplicationInitialized());
@@ -866,76 +821,29 @@ WMUnmapWidget(WMWidget *w)
void void
WMSetWidgetBackgroundColor(WMWidget *w, WMColor *color) WMSetWidgetBackgroundColor(WMWidget *w, WMColor *color)
{ {
if (W_CLASS(w) < WC_UserWidget W_SetViewBackgroundColor(W_VIEW(w), color);
&& 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);
}
} }
void void
WMMoveWidget(WMWidget *w, int x, int y) WMMoveWidget(WMWidget *w, int x, int y)
{ {
if (W_CLASS(w) < WC_UserWidget W_MoveView(W_VIEW(w), x, y);
&& 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);
}
} }
void void
WMResizeWidget(WMWidget *w, unsigned int width, unsigned int height) WMResizeWidget(WMWidget *w, unsigned int width, unsigned int height)
{ {
if (W_CLASS(w) < WC_UserWidget W_ResizeView(W_VIEW(w), width, height);
&& 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_Class W_Class
W_RegisterUserWidget(W_ViewProcedureTable *procTable) W_RegisterUserWidget(void)
{ {
W_ViewProcedureTable **newTable;
userWidgetCount++; 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; return userWidgetCount + WC_UserWidget - 1;
} }

View File

@@ -29,14 +29,6 @@ typedef struct W_Label {
} Label; } Label;
W_ViewProcedureTable _LabelViewProcedures = {
NULL,
NULL,
NULL
};
#define DEFAULT_WIDTH 60 #define DEFAULT_WIDTH 60
#define DEFAULT_HEIGHT 14 #define DEFAULT_HEIGHT 14
#define DEFAULT_ALIGNMENT WALeft #define DEFAULT_ALIGNMENT WALeft

View File

@@ -66,12 +66,14 @@ static void updateScroller(List *lPtr);
static void vScrollCallBack(WMWidget *scroller, void *self); static void vScrollCallBack(WMWidget *scroller, void *self);
static void updateGeometry(WMList *lPtr); static void updateGeometry(WMList *lPtr);
static void resizeList(); static void didResizeList();
W_ViewProcedureTable _ListViewProcedures = { W_ViewDelegate _ListViewDelegate = {
NULL, NULL,
resizeList, NULL,
didResizeList,
NULL,
NULL NULL
}; };
@@ -95,6 +97,8 @@ WMCreateList(WMWidget *parent)
} }
lPtr->view->self = lPtr; lPtr->view->self = lPtr;
lPtr->view->delegate = &_ListViewDelegate;
WMCreateEventHandler(lPtr->view, ExposureMask|StructureNotifyMask WMCreateEventHandler(lPtr->view, ExposureMask|StructureNotifyMask
|ClientMessageMask, handleEvents, lPtr); |ClientMessageMask, handleEvents, lPtr);
@@ -114,7 +118,7 @@ WMCreateList(WMWidget *parent)
/* make the scroller map itself when it's realized */ /* make the scroller map itself when it's realized */
WMMapWidget(lPtr->vScroller); WMMapWidget(lPtr->vScroller);
resizeList(lPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); W_ResizeView(lPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT);
lPtr->selectedItem = -1; lPtr->selectedItem = -1;
@@ -829,11 +833,11 @@ updateGeometry(WMList *lPtr)
static void static void
resizeList(WMList *lPtr, unsigned int width, unsigned int height) didResizeList(W_ViewDelegate *self, WMView *view)
{ {
W_ResizeView(lPtr->view, width, height); WMList *lPtr = (WMList*)view->self;
WMResizeWidget(lPtr->vScroller, 1, height-2); WMResizeWidget(lPtr->vScroller, 1, view->size.height-2);
updateGeometry(lPtr); updateGeometry(lPtr);
} }

View File

@@ -55,13 +55,6 @@ typedef struct W_PopUpButton {
#define SCROLL_DELAY 10 #define SCROLL_DELAY 10
W_ViewProcedureTable _PopUpButtonViewProcedures = {
NULL,
NULL,
NULL
};
#define DEFAULT_WIDTH 60 #define DEFAULT_WIDTH 60
#define DEFAULT_HEIGHT 20 #define DEFAULT_HEIGHT 20
#define DEFAULT_CAPTION "" #define DEFAULT_CAPTION ""

View File

@@ -67,17 +67,19 @@ typedef struct W_Scroller {
static void destroyScroller(Scroller *sPtr); static void destroyScroller(Scroller *sPtr);
static void paintScroller(Scroller *sPtr); static void paintScroller(Scroller *sPtr);
static void resizeScroller(); static void willResizeScroller();
static void handleEvents(XEvent *event, void *data); static void handleEvents(XEvent *event, void *data);
static void handleActionEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data);
static void handleMotion(Scroller *sPtr, int mouseX, int mouseY); static void handleMotion(Scroller *sPtr, int mouseX, int mouseY);
W_ViewProcedureTable _ScrollerViewProcedures = { W_ViewDelegate _ScrollerViewDelegate = {
NULL, NULL,
resizeScroller, NULL,
NULL NULL,
NULL,
willResizeScroller
}; };
@@ -100,12 +102,14 @@ WMCreateScroller(WMWidget *parent)
} }
sPtr->view->self = sPtr; sPtr->view->self = sPtr;
sPtr->view->delegate = &_ScrollerViewDelegate;
sPtr->flags.documentFullyVisible = 1; sPtr->flags.documentFullyVisible = 1;
WMCreateEventHandler(sPtr->view, ExposureMask|StructureNotifyMask WMCreateEventHandler(sPtr->view, ExposureMask|StructureNotifyMask
|ClientMessageMask, handleEvents, sPtr); |ClientMessageMask, handleEvents, sPtr);
resizeScroller(sPtr, DEFAULT_WIDTH, DEFAULT_WIDTH); W_ResizeView(sPtr->view, DEFAULT_WIDTH, DEFAULT_WIDTH);
sPtr->flags.arrowsPosition = DEFAULT_ARROWS_POSITION; sPtr->flags.arrowsPosition = DEFAULT_ARROWS_POSITION;
WMCreateEventHandler(sPtr->view, ButtonPressMask|ButtonReleaseMask WMCreateEventHandler(sPtr->view, ButtonPressMask|ButtonReleaseMask
@@ -130,17 +134,17 @@ WMSetScrollerArrowsPosition(WMScroller *sPtr, WMScrollArrowPosition position)
static void 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; sPtr->flags.horizontal = 1;
W_ResizeView(sPtr->view, width, SCROLLER_WIDTH); *height = SCROLLER_WIDTH;
} else { } else {
sPtr->flags.horizontal = 0; sPtr->flags.horizontal = 0;
W_ResizeView(sPtr->view, SCROLLER_WIDTH, height); *width = SCROLLER_WIDTH;
}
if (sPtr->view->flags.realized) {
paintScroller(sPtr);
} }
} }

View File

@@ -38,9 +38,11 @@ static void handleViewportEvents(XEvent *event, void *data);
static void resizeScrollView(); static void resizeScrollView();
W_ViewProcedureTable _ScrollViewViewProcedures = { W_ViewDelegate _ScrollViewViewDelegate = {
NULL, NULL,
NULL,
resizeScrollView, resizeScrollView,
NULL,
NULL NULL
}; };
@@ -67,6 +69,9 @@ WMCreateScrollView(WMWidget *parent)
free(sPtr); free(sPtr);
return NULL; return NULL;
} }
sPtr->view->self = sPtr;
sPtr->view->delegate = &_ScrollViewViewDelegate;
sPtr->viewport->flags.mapWhenRealized = 1; sPtr->viewport->flags.mapWhenRealized = 1;
@@ -171,11 +176,9 @@ reorganizeInterior(WMScrollView *sPtr)
static void static void
resizeScrollView(WMScrollView *sPtr, unsigned int width, unsigned int height) resizeScrollView(W_ViewDelegate *self, WMView *view)
{ {
W_ResizeView(sPtr->view, width, height); reorganizeInterior(view->self);
reorganizeInterior(sPtr);
} }

View File

@@ -37,12 +37,14 @@ typedef struct W_Slider {
static void resizeSlider(); static void didResizeSlider();
W_ViewProcedureTable _SliderViewProcedures = { W_ViewDelegate _SliderViewDelegate = {
NULL, NULL,
resizeSlider, NULL,
didResizeSlider,
NULL,
NULL NULL
}; };
@@ -82,6 +84,8 @@ WMCreateSlider(WMWidget *parent)
} }
sPtr->view->self = sPtr; sPtr->view->self = sPtr;
sPtr->view->delegate = &_SliderViewDelegate;
WMCreateEventHandler(sPtr->view, ExposureMask|StructureNotifyMask, WMCreateEventHandler(sPtr->view, ExposureMask|StructureNotifyMask,
handleEvents, sPtr); handleEvents, sPtr);
@@ -300,13 +304,15 @@ realizeSlider(Slider *sPtr)
static void 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(width > 0);
assert(height > 0); assert(height > 0);
W_ResizeView(sPtr->view, width, height);
if (width > height) { if (width > height) {
if (sPtr->flags.vertical) { if (sPtr->flags.vertical) {
sPtr->flags.vertical = 0; sPtr->flags.vertical = 0;

View File

@@ -33,14 +33,6 @@ static void handleEvents(XEvent *event, void *data);
static void handleActionEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data);
W_ViewProcedureTable _SplitViewViewProcedures = {
NULL,
NULL,
NULL
};
static int static int
subviewCount(SplitView *sPtr) subviewCount(SplitView *sPtr)
{ {

View File

@@ -34,13 +34,6 @@ typedef struct W_TabView {
struct W_ViewProcedureTable _TabViewViewProcedures = {
NULL,
NULL,
NULL
};
#define DEFAULT_WIDTH 40 #define DEFAULT_WIDTH 40
#define DEFAULT_HEIGHT 40 #define DEFAULT_HEIGHT 40

View File

@@ -486,11 +486,13 @@ int main(int argc, char **argv)
* Put the testSomething() function you want to test here. * Put the testSomething() function you want to test here.
*/ */
testTextField(scr);
testColorWell(scr);
#if 0
testTabView(scr); testTabView(scr);
testTextField(scr);
#if 0
testGradientButtons(scr); testGradientButtons(scr);
testOpenFilePanel(scr); testOpenFilePanel(scr);
@@ -499,7 +501,6 @@ int main(int argc, char **argv)
testGradientButtons(scr); testGradientButtons(scr);
testScrollView(scr); testScrollView(scr);
testColorWell(scr);
testSlider(scr); testSlider(scr);
testPullDown(scr); testPullDown(scr);

View File

@@ -106,11 +106,13 @@ static void paintTextField(TextField *tPtr);
static void handleEvents(XEvent *event, void *data); static void handleEvents(XEvent *event, void *data);
static void handleTextFieldActionEvents(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, NULL,
resizeTextField, NULL,
didResizeTextField,
NULL,
NULL NULL
}; };
@@ -261,6 +263,8 @@ WMCreateTextField(WMWidget *parent)
} }
tPtr->view->self = tPtr; tPtr->view->self = tPtr;
tPtr->view->delegate = &_TextFieldViewDelegate;
tPtr->view->attribFlags |= CWCursor; tPtr->view->attribFlags |= CWCursor;
tPtr->view->attribs.cursor = tPtr->view->screen->textCursor; tPtr->view->attribs.cursor = tPtr->view->screen->textCursor;
@@ -276,8 +280,6 @@ WMCreateTextField(WMWidget *parent)
WMCreateEventHandler(tPtr->view, ExposureMask|StructureNotifyMask WMCreateEventHandler(tPtr->view, ExposureMask|StructureNotifyMask
|FocusChangeMask, handleEvents, tPtr); |FocusChangeMask, handleEvents, tPtr);
W_ResizeView(tPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT);
tPtr->font = WMRetainFont(tPtr->view->screen->normalFont); tPtr->font = WMRetainFont(tPtr->view->screen->normalFont);
tPtr->flags.bordered = DEFAULT_BORDERED; tPtr->flags.bordered = DEFAULT_BORDERED;
@@ -286,6 +288,8 @@ WMCreateTextField(WMWidget *parent)
tPtr->offsetWidth = tPtr->offsetWidth =
WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1); WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1);
W_ResizeView(tPtr->view, DEFAULT_WIDTH, DEFAULT_HEIGHT);
WMCreateEventHandler(tPtr->view, EnterWindowMask|LeaveWindowMask WMCreateEventHandler(tPtr->view, EnterWindowMask|LeaveWindowMask
|ButtonReleaseMask|ButtonPressMask|KeyPressMask|Button1MotionMask, |ButtonReleaseMask|ButtonPressMask|KeyPressMask|Button1MotionMask,
handleTextFieldActionEvents, tPtr); handleTextFieldActionEvents, tPtr);
@@ -594,9 +598,9 @@ WMSetTextFieldPrevTextField(WMTextField *tPtr, WMTextField *prev)
static void 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 = tPtr->offsetWidth =
WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1); WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font))/2, 1);
@@ -612,6 +616,7 @@ makeHiddenString(int length)
memset(data, '*', length); memset(data, '*', length);
data[length] = '\0'; data[length] = '\0';
return data; return data;
} }

View File

@@ -439,6 +439,10 @@ W_MoveView(W_View *view, int x, int y)
{ {
assert(view->flags.root==0); 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) if (view->pos.x == x && view->pos.y == y)
return; return;
@@ -447,6 +451,10 @@ W_MoveView(W_View *view, int x, int y)
} }
view->pos.x = x; view->pos.x = x;
view->pos.y = y; view->pos.y = y;
if (view->delegate && view->delegate->didMove) {
(*view->delegate->didMove)(view->delegate, view);
}
} }
@@ -455,6 +463,10 @@ W_ResizeView(W_View *view, unsigned int width, unsigned int height)
{ {
int shrinked; int shrinked;
if (view->delegate && view->delegate->willResize) {
(*view->delegate->willResize)(view->delegate, view, &width, &height);
}
assert(width > 0); assert(width > 0);
assert(height > 0); assert(height > 0);
@@ -469,6 +481,10 @@ W_ResizeView(W_View *view, unsigned int width, unsigned int height)
view->size.width = width; view->size.width = width;
view->size.height = height; view->size.height = height;
if (view->delegate && view->delegate->didResize) {
(*view->delegate->didResize)(view->delegate, view);
}
if (view->flags.notifySizeChanged) if (view->flags.notifySizeChanged)
WMPostNotificationName(WMViewSizeDidChangeNotification, view, NULL); WMPostNotificationName(WMViewSizeDidChangeNotification, view, NULL);
} }

View File

@@ -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, NULL,
resizeWindow, NULL,
NULL NULL,
NULL,
willResizeWindow
}; };
@@ -165,6 +167,8 @@ WMCreateWindowWithStyle(WMScreen *screen, char *name, int style)
} }
win->view->self = win; win->view->self = win;
win->view->delegate = &_WindowViewDelegate;
win->wname = wstrdup(name); win->wname = wstrdup(name);
/* add to the window list of the screen (application) */ /* add to the window list of the screen (application) */
@@ -272,25 +276,24 @@ WMSetWindowCloseAction(WMWindow *win, WMAction *action, void *clientData)
static void 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 (win->minSize.width > 0 && win->minSize.height > 0) {
if (width < win->minSize.width) if (*width < win->minSize.width)
width = win->minSize.width; *width = win->minSize.width;
if (height < win->minSize.height) if (*height < win->minSize.height)
height = win->minSize.height; *height = win->minSize.height;
} }
if (win->maxSize.width > 0 && win->maxSize.height > 0) { if (win->maxSize.width > 0 && win->maxSize.height > 0) {
if (width > win->maxSize.width) if (*width > win->maxSize.width)
width = win->maxSize.width; *width = win->maxSize.width;
if (height > win->maxSize.height) if (*height > win->maxSize.height)
height = win->maxSize.height; *height = win->maxSize.height;
} }
W_ResizeView(win->view, width, height);
} }

View File

@@ -2009,8 +2009,8 @@ showData(_Panel *panel)
str = colorOptions[i*2+1]; str = colorOptions[i*2+1];
if (!(color = WMCreateNamedColor(WMWidgetScreen(panel->frame), str, False))) { 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; panel->colors[i] = color;
} }
@@ -2046,8 +2046,14 @@ storeData(_Panel *panel)
} }
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
SetStringForKey(WMGetColorRGBDescription(panel->colors[i]), char *str;
colorOptions[i*2]);
str = WMGetColorRGBDescription(panel->colors[i]);
if (str) {
SetStringForKey(str, colorOptions[i*2]);
free(str);
}
} }
switch (panel->menuStyle) { switch (panel->menuStyle) {

View File

@@ -645,7 +645,12 @@ loadConfigurations(WMScreen *scr, WMWindow *mainw)
} }
free(path); 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)) { if (!file || !fgets(buffer, 1023, file)) {
wsyserror(_("could not extract version information from Window Maker")); wsyserror(_("could not extract version information from Window Maker"));
wfatal(_("Make sure wmaker is in your search path.")); wfatal(_("Make sure wmaker is in your search path."));

View File

@@ -32,12 +32,6 @@ static void handleEvents(XEvent *event, void *data);
static void handleActionEvents(XEvent *event, void *data); static void handleActionEvents(XEvent *event, void *data);
static W_ViewProcedureTable _DoubleTestViewProcedures = {
NULL,
NULL,
NULL
};
/* our widget class ID */ /* our widget class ID */
static W_Class DoubleTestClass = 0; static W_Class DoubleTestClass = 0;
@@ -52,7 +46,7 @@ InitDoubleTest(WMScreen *scr)
{ {
/* register our widget with WINGs and get our widget class ID */ /* register our widget with WINGs and get our widget class ID */
if (!DoubleTestClass) { if (!DoubleTestClass) {
DoubleTestClass = W_RegisterUserWidget(&_DoubleTestViewProcedures); DoubleTestClass = W_RegisterUserWidget();
} }
return DoubleTestClass; return DoubleTestClass;

View File

@@ -1,18 +1,19 @@
# SOME DESCRIPTIVE TITLE. # French Message file for Window Maker
# Copyright (C) YEAR Free Software Foundation, Inc. # Last Update: version 0.31.0
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. #
# Update History:
# Bastien Nocera <hadess@writeme.com>
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: 0.31.0\n"
"POT-Creation-Date: 1999-04-22 07:09+0200\n" "POT-Creation-Date: 1999-04-22 07:08+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 1999-04-27 07:08+2000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Bastien Nocera <hadess@writeme.com>\n"
"Language-Team: French \n" "Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: ENCODING\n" "Content-Transfer-Encoding: 8-bit\n"
#: ../../WPrefs.app/main.c:74 #: ../../WPrefs.app/main.c:74
#, c-format #, c-format
@@ -97,7 +98,7 @@ msgid ""
"More Programming: James Thompson" "More Programming: James Thompson"
msgstr "" msgstr ""
"Programmation/Conception: Alfredo K. Kojima\n" "Programmation/Conception: Alfredo K. Kojima\n"
"Dessins: Marco van Hylckama Vlieg" "Dessins: Marco van Hylckama Vlieg\n"
"Plus de Programmation: James Thompson" "Plus de Programmation: James Thompson"
#: ../../WPrefs.app/WPrefs.c:407 #: ../../WPrefs.app/WPrefs.c:407
@@ -353,7 +354,7 @@ msgstr "Sons"
#: ../../WPrefs.app/Configurations.c:354 #: ../../WPrefs.app/Configurations.c:354
msgid "Note: sound requires a module distributed separately" 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 #: ../../WPrefs.app/Configurations.c:364
msgid "Dithering colormap for 8bpp" msgid "Dithering colormap for 8bpp"
@@ -365,11 +366,11 @@ msgstr "D
#: ../../WPrefs.app/Configurations.c:390 #: ../../WPrefs.app/Configurations.c:390
msgid "More colors for applications" msgid "More colors for applications"
msgstr "Moins de couleurs pour Window Maker" msgstr "Plus pour les applications"
#: ../../WPrefs.app/Configurations.c:397 #: ../../WPrefs.app/Configurations.c:397
msgid "More colors for WindowMaker" msgid "More colors for WindowMaker"
msgstr "Plus de couleurs pour Window Maker" msgstr "Plus pour Window Maker"
#: ../../WPrefs.app/Configurations.c:450 #: ../../WPrefs.app/Configurations.c:450
msgid "Other Configurations" msgid "Other Configurations"
@@ -379,7 +380,7 @@ msgstr "Autres Configurations"
msgid "" msgid ""
"Disable miniwindows (icons for miniaturized windows). For use with KDE/GNOME." "Disable miniwindows (icons for miniaturized windows). For use with KDE/GNOME."
msgstr "" 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 #: ../../WPrefs.app/Expert.c:73
msgid "Do not set non-WindowMaker specific parameters (do not use xset)" 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 #: ../../WPrefs.app/KeyboardShortcuts.c:387
msgid "Move/Resize active window" 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 #: ../../WPrefs.app/KeyboardShortcuts.c:388
msgid "Select active window" msgid "Select active window"
@@ -770,35 +771,35 @@ msgstr "Commandes"
#: ../../WPrefs.app/Menu.c:1065 ../../WPrefs.app/Menu.c:1080 #: ../../WPrefs.app/Menu.c:1065 ../../WPrefs.app/Menu.c:1080
msgid "Add Command" msgid "Add Command"
msgstr "Ajouter une Commande" msgstr "+ Commande"
#: ../../WPrefs.app/Menu.c:1066 ../../WPrefs.app/Menu.c:1081 #: ../../WPrefs.app/Menu.c:1066 ../../WPrefs.app/Menu.c:1081
msgid "Add Submenu" msgid "Add Submenu"
msgstr "Ajouter un Sous-Menu" msgstr "+ Sous-Menu"
#: ../../WPrefs.app/Menu.c:1067 ../../WPrefs.app/Menu.c:1082 #: ../../WPrefs.app/Menu.c:1067 ../../WPrefs.app/Menu.c:1082
msgid "Add External Menu" msgid "Add External Menu"
msgstr "Ajouter un Sous-Menu Externe" msgstr "+ Sous-Menu Externe"
#: ../../WPrefs.app/Menu.c:1068 ../../WPrefs.app/Menu.c:1083 #: ../../WPrefs.app/Menu.c:1068 ../../WPrefs.app/Menu.c:1083
msgid "Add Workspace Menu" msgid "Add Workspace Menu"
msgstr "Ajouter le Menu des Bureaux" msgstr "+ Menu des Bureaux"
#: ../../WPrefs.app/Menu.c:1069 ../../WPrefs.app/Menu.c:1084 #: ../../WPrefs.app/Menu.c:1069 ../../WPrefs.app/Menu.c:1084
msgid "Remove Item" msgid "Remove Item"
msgstr "Supprimer un Elément" msgstr "- Elément"
#: ../../WPrefs.app/Menu.c:1070 ../../WPrefs.app/Menu.c:1085 #: ../../WPrefs.app/Menu.c:1070 ../../WPrefs.app/Menu.c:1085
msgid "Cut Item" msgid "Cut Item"
msgstr "Couper un Elément" msgstr "Couper Elément"
#: ../../WPrefs.app/Menu.c:1071 ../../WPrefs.app/Menu.c:1086 #: ../../WPrefs.app/Menu.c:1071 ../../WPrefs.app/Menu.c:1086
msgid "Copy Item" msgid "Copy Item"
msgstr "Copier un Elément" msgstr "Copier Elément"
#: ../../WPrefs.app/Menu.c:1072 ../../WPrefs.app/Menu.c:1087 #: ../../WPrefs.app/Menu.c:1072 ../../WPrefs.app/Menu.c:1087
msgid "Paste Item" msgid "Paste Item"
msgstr "Coller un Elément" msgstr "Coller Elément"
#: ../../WPrefs.app/Menu.c:1116 #: ../../WPrefs.app/Menu.c:1116
msgid "Label" msgid "Label"
@@ -904,7 +905,7 @@ msgid ""
"Always open submenus inside the screen, instead of scrolling.\n" "Always open submenus inside the screen, instead of scrolling.\n"
"Note: this can be an annoyance at some circumstances." "Note: this can be an annoyance at some circumstances."
msgstr "" 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..." "Note: Ca peut devenir énervant..."
#: ../../WPrefs.app/MenuPreferences.c:209 #: ../../WPrefs.app/MenuPreferences.c:209
@@ -1324,11 +1325,11 @@ msgstr "Lors de la Maximisation..."
#: ../../WPrefs.app/WindowHandling.c:338 #: ../../WPrefs.app/WindowHandling.c:338
msgid "...do not cover icons" msgid "...do not cover icons"
msgstr "...ne pas recouvrir les icones" msgstr "...ne pas couvrir les icones"
#: ../../WPrefs.app/WindowHandling.c:344 #: ../../WPrefs.app/WindowHandling.c:344
msgid "...do not cover dock" msgid "...do not cover dock"
msgstr "...ne pas recouvrir le dock" msgstr "...ne pas couvrir le dock"
#: ../../WPrefs.app/WindowHandling.c:353 #: ../../WPrefs.app/WindowHandling.c:353
msgid "Edge Resistance" msgid "Edge Resistance"
@@ -1355,8 +1356,7 @@ msgid ""
"switch to first workspace when switching past the last workspace and " "switch to first workspace when switching past the last workspace and "
"vice-versa" "vice-versa"
msgstr "" msgstr ""
"passer au premier bureau aprés le dernier bureau et vice-versa (les bureaux " "passer au premier bureau aprés le dernier bureau et vice-versa."
"forment une boucle)."
#: ../../WPrefs.app/Workspace.c:210 #: ../../WPrefs.app/Workspace.c:210
msgid "create a new workspace when switching past the last workspace." msgid "create a new workspace when switching past the last workspace."

View File

@@ -113,7 +113,7 @@
"Process List" EXEC xterm -e top "Process List" EXEC xterm -e top
"Manual Browser" EXEC xman "Manual Browser" EXEC xman
"Info" END "Info" END
"Run..." EXEC %a(Run,Type command to run:) "Run..." SHEXEC %a(Run,Type command to run:)
"XTerm" EXEC xterm -sb "XTerm" EXEC xterm -sb
"Rxvt" EXEC rxvt -bg black -fg white -fn fixed "Rxvt" EXEC rxvt -bg black -fg white -fn fixed
"Workspaces" WORKSPACE_MENU "Workspaces" WORKSPACE_MENU
@@ -200,8 +200,8 @@
"Gradient" END "Gradient" END
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Background" END "Background" END
"Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)" "Save Theme" SHEXEC 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 IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
"Appearance" END "Appearance" END
"Exit" MENU "Exit" MENU

View File

@@ -201,8 +201,8 @@
"Degradat" END "Degradat" END
"Imatges" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Imatges" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Fons de pantalla" END "Fons de pantalla" END
"Guardar Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Guardar Tema" SHEXEC 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 Joc d'Icones" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Aparença" END "Aparença" END
"Sortir" MENU "Sortir" MENU

View File

@@ -31,7 +31,7 @@
"Hlavní menu" MENU "Hlavní menu" MENU
"Správce oken" 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 "Správce oken" END
"Info" MENU "Info" MENU
"Info Panel..." INFO_PANEL "Info Panel..." INFO_PANEL

View File

@@ -190,8 +190,8 @@
"Nuancer" END "Nuancer" END
"Billeder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Billeder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Baggrund" END "Baggrund" END
"Gem tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Gem tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Gem ikonsæt" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Gem ikonsæt" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Udseende" END "Udseende" END
"Afslut" MENU "Afslut" MENU

View File

@@ -91,7 +91,7 @@
"email an" EXEC xterm -name mail -T "Pine" -e pine %s "email an" EXEC xterm -name mail -T "Pine" -e pine %s
"Navigate" SHEXEC netscape -noraise -remote \ "Navigate" SHEXEC netscape -noraise -remote \
'openURL(%s,new-window)' || netscape %s 'openURL(%s,new-window)' || netscape %s
"in Anleitung suchen" EXEC MANUAL_SEARCH(%s) "in Anleitung suchen" SHEXEC MANUAL_SEARCH(%s)
"Markierung" END "Markierung" END
"Arbeitsplatz" MENU "Arbeitsplatz" MENU
"Andere verstecken" HIDE_OTHERS "Andere verstecken" HIDE_OTHERS

View File

@@ -197,8 +197,8 @@
"Διαβαθμισμένο" END "Διαβαθμισμένο" END
"Εικόνες" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Εικόνες" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Φόντο" END "Φόντο" END
"Αποθήκευση Θέματος" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Όνομα Θέματος)" "Αποθήκευση Θέματος" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Όνομα Θέματος)"
"Αποθήκευση Ομάδας Εικονιδίων" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Όνομα Ομάδας)" "Αποθήκευση Ομάδας Εικονιδίων" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Όνομα Ομάδας)"
"Εμφάνιση" END "Εμφάνιση" END
"Έξοδος" MENU "Έξοδος" MENU

View File

@@ -41,9 +41,9 @@
"Menu Principal" MENU "Menu Principal" MENU
"Informacion ..." 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 '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 "Lista de tarifas (top)" EXEC rxvt -ls -fg white -bg black -fn vga -e top
"Manual" EXEC xman "Manual" EXEC xman
"Informacion ..." END "Informacion ..." END
@@ -63,7 +63,7 @@
"Graficos ..." END "Graficos ..." END
"Editores ..." MENU "Editores ..." MENU
"XEmacs" EXEC xemacs || emacs "XEmacs" SHEXEC xemacs || emacs
"XJed" EXEC xjed "XJed" EXEC xjed
"NEdit" EXEC nedit "NEdit" EXEC nedit
"Xedit" EXEC xedit "Xedit" EXEC xedit
@@ -71,7 +71,7 @@
"Editores ..." END "Editores ..." END
"Multimedia ..." MENU "Multimedia ..." MENU
"Xmcd" EXEC xmcd 2> /dev/null "Xmcd" SHEXEC xmcd 2> /dev/null
"Xplaycd" EXEC xplaycd "Xplaycd" EXEC xplaycd
"Xmixer" EXEC xmixer "Xmixer" EXEC xmixer
"Multimedia ..." END "Multimedia ..." END

View File

@@ -183,8 +183,8 @@
"Liukuväri" END "Liukuväri" END
"Taustakuvat" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Taustakuvat" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Taustat" END "Taustat" END
"Talleta teema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Talleta teema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Talleta kuvakeryhmät" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Talleta kuvakeryhmät" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Ulkonäkö" END "Ulkonäkö" END
"Poistu" MENU "Poistu" MENU

View File

@@ -28,13 +28,11 @@
* commande. * commande.
* *
* WORKSPACE_MENU Ajoute un sous menu pour les opérations * 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. * avoir qu'un seul WORKSPACE_MENU.
* *
* EXEC Execute un programme externe * EXEC Execute un programme externe
* *
* SHEXEC <command> - executes a shell command (like gimp > /dev/null)
*
* EXIT Quitte le gestionnaire de fenêtres * EXIT Quitte le gestionnaire de fenêtres
* *
* RESTART [<window manager>] Redémarre WindowMaker ou démarre un * RESTART [<window manager>] Redémarre WindowMaker ou démarre un
@@ -42,26 +40,24 @@
* *
* REFRESH Retrace l'écran * REFRESH Retrace l'écran
* *
* ARRANGE_ICONS Arrange les icônes sur l'espace de * ARRANGE_ICONS Arrange les icônes sur le bureau
* travail
* *
* SHUTDOWN Tue tout les clients ( et termine la * SHUTDOWN Tue tout les clients ( et termine la
* session X Window) * session X Window)
* *
* SHOW_ALL Montre toutes les fenêtres sur l'espace * SHOW_ALL Montre toutes les fenêtres sur le bureau
* de travail
* *
* HIDE_OTHERS Cache toutes les fenêtres sur l'espace * HIDE_OTHERS Cache toutes les fenêtres sur le
* de travail qui sont en arrière plan * bureau qui sont en arrière plan
* *
* SAVE_SESSION Sauve la l'état courant du bureau, cela * SAVE_SESSION Sauve la l'état courant du bureau, cela
* inclus toute les applications en marche, * inclus toute les applications en marche,
* tout leur indices (geometrie, position * 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 * lequel elle sont, si elles ont ete lancées
* par le "dock" ou le "clip", si elles * par le "dock" ou le "clip", si elles
* etaient minimisées, ombrées ou cachées). * 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 * sera aussi sauvé. Tout sera remis dans
* cet état a chaque démarrage de * cet état a chaque démarrage de
* WindowMaker jusqu'au prochain usage de * WindowMaker jusqu'au prochain usage de
@@ -163,10 +159,10 @@
"Liste des processus" EXEC xterm -e top "Liste des processus" EXEC xterm -e top
"Butineur d'aide" EXEC xman "Butineur d'aide" EXEC xman
"Informations" END "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 "Terminal X" EXEC xterm -sb
"Rxvt" EXEC rxvt -bg black -fg white -fn fixed "Rxvt" EXEC rxvt -bg black -fg white -fn fixed
"Espaces de travail" WORKSPACE_MENU "Bureaux" WORKSPACE_MENU
"Applications" MENU "Applications" MENU
"Graphismes" MENU "Graphismes" MENU
"Gimp" SHEXEC gimp >/dev/null "Gimp" SHEXEC gimp >/dev/null
@@ -213,7 +209,7 @@
"Rechercher dans le manuel" SHEXEC MANUAL_SEARCH(%s) "Rechercher dans le manuel" SHEXEC MANUAL_SEARCH(%s)
"Sélection" END "Sélection" END
"Espace de travail" MENU "Bureau" MENU
"Cacher les autres fenêtres" HIDE_OTHERS "Cacher les autres fenêtres" HIDE_OTHERS
"Montrer toutes les fenêtres" SHOW_ALL "Montrer toutes les fenêtres" SHOW_ALL
"Arranger les icônes" ARRANGE_ICONS "Arranger les icônes" ARRANGE_ICONS
@@ -221,7 +217,7 @@
"Vérrouiller" EXEC xlock -allowroot -usefirst "Vérrouiller" EXEC xlock -allowroot -usefirst
"Sauver la session" SAVE_SESSION "Sauver la session" SAVE_SESSION
"Effacer la session" CLEAR_SESSION "Effacer la session" CLEAR_SESSION
"Espace de travail" END "Bureaux" END
"Apparence" MENU "Apparence" MENU
"Thèmes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle "Thèmes" OPEN_MENU -noext THEMES_DIR $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle
@@ -250,8 +246,8 @@
"Degradé" END "Degradé" END
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Fond d'écran" END "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 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" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nom du jeu d'icônes,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 "Apparence" END
"Quitter" MENU "Quitter" MENU

View File

@@ -182,8 +182,8 @@
"Gradient" END "Gradient" END
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"ò÷ø" END "ò÷ø" END
"Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Save Theme" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Save IconSet" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Save IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"äàøî" END "äàøî" END
"äàéöé" MENU "äàéöé" MENU

View File

@@ -184,8 +184,8 @@
"Preljev" END "Preljev" END
"Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Pozadina" END "Pozadina" END
"Snimi temu" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Snimi temu" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Snimi set ikona" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Snimi set ikona" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Izgled" END "Izgled" END
"Izlaz" MENU "Izlaz" MENU

View File

@@ -196,8 +196,8 @@
"Gradiens" END "Gradiens" END
"Kepek" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Kepek" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Hatter" END "Hatter" END
"Temak mentese" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Temak mentese" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Ikonbeallitasok mentese" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Ikonbeallitasok mentese" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Megjelenites" END "Megjelenites" END
"Kilepes" MENU "Kilepes" MENU

View File

@@ -94,7 +94,7 @@
"Invio posta a.." EXEC xterm -name mail -T "Pine" -e pine %s "Invio posta a.." EXEC xterm -name mail -T "Pine" -e pine %s
"Navigare" SHEXEC netscape -noraise -remote \ "Navigare" SHEXEC netscape -noraise -remote \
'openURL(%s,new-window)' || netscape %s 'openURL(%s,new-window)' || netscape %s
"Ricerca nei Manuali" EXEC MANUAL_SEARCH(%s) "Ricerca nei Manuali" SHEXEC MANUAL_SEARCH(%s)
"Selezione" END "Selezione" END
"Area di lavoro" MENU "Area di lavoro" MENU

View File

@@ -189,8 +189,8 @@
"グラデーション" END "グラデーション" END
"イメージ" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "イメージ" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"背景" END "背景" END
"現在の設定をテーマとしてセーブ" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "現在の設定をテーマとしてセーブ" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"現在のアイコン集をセーブ" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "現在のアイコン集をセーブ" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"外観" END "外観" END
"終了" MENU "終了" MENU

View File

@@ -193,8 +193,8 @@
"Gradient" END "Gradient" END
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"배경화면" END "배경화면" END
"테마 저장" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "테마 저장" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"아이콘세트 저장" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "아이콘세트 저장" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"설정 파일 수정" MENU "설정 파일 수정" MENU
"menu.ko" EXEC hanterm -e vi $HOME/GNUstep/Library/WindowMaker/menu.ko "menu.ko" EXEC hanterm -e vi $HOME/GNUstep/Library/WindowMaker/menu.ko
"WindowMaker" EXEC hanterm -e vi $HOME/GNUstep/Defaults/WindowMaker "WindowMaker" EXEC hanterm -e vi $HOME/GNUstep/Defaults/WindowMaker

View File

@@ -181,8 +181,8 @@
"Overganger" END "Overganger" END
"Bilder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/BackGrounds WITH wmsetbg -u -t "Bilder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/BackGrounds WITH wmsetbg -u -t
"Bakgrunn" END "Bakgrunn" END
"Lagre Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Lagre Tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Lagre Ikonsett" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Lagre Ikonsett" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Utseende" END "Utseende" END
"Avslutt" MENU "Avslutt" MENU

View File

@@ -192,8 +192,8 @@
"Degradé" END "Degradé" END
"Imagens" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Imagens" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Papéis de Parede" END "Papéis de Parede" END
"Salvar Tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Nome do Tema)" "Salvar Tema" SHEXEC 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 Configuração de Ícones" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(Nome do Conjunto de Ícones)"
"Appearance" END "Appearance" END
"Sair" MENU "Sair" MENU

View File

@@ -106,7 +106,7 @@
"Копировать" SHEXEC echo '%s' | wxcopy "Копировать" SHEXEC echo '%s' | wxcopy
"Отправить" EXEC xterm -name mail -T "Pine" -e pine %s "Отправить" EXEC xterm -name mail -T "Pine" -e pine %s
"Искать в Интернет" EXEC netscape %s "Искать в Интернет" EXEC netscape %s
"Искать в Руководствах" EXEC MANUAL_SEARCH(%s) "Искать в Руководствах" SHEXEC MANUAL_SEARCH(%s)
"Выделение" END "Выделение" END
"Рабочее место" MENU "Рабочее место" MENU

View File

@@ -158,7 +158,7 @@
"Kopiera" SHEXEC echo '%s' | wxcopy "Kopiera" SHEXEC echo '%s' | wxcopy
"Skicka e-mail" EXEC xterm -name mail -T "Pine" -e pine %s "Skicka e-mail" EXEC xterm -name mail -T "Pine" -e pine %s
"Gå till webbsida" EXEC netscape %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 "Markering" END
"Arbetsbord" MENU "Arbetsbord" MENU
@@ -192,8 +192,8 @@
"Toningar" END "Toningar" END
"Bilder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Bilder" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Bakgrund" END "Bakgrund" END
"Spara tema" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Spara tema" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Spara ikonuppsättning" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Spara ikonuppsättning" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Utseende" END "Utseende" END
"Avsluta" MENU "Avsluta" MENU

View File

@@ -191,8 +191,8 @@
"Preliv" END "Preliv" END
"Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Slike" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Odzadje" END "Odzadje" END
"Shrani temo" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Shrani temo" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Shrani zbirko ikon" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Shrani zbirko ikon" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Izgled" END "Izgled" END
"Izhod" MENU "Izhod" MENU

View File

@@ -177,8 +177,8 @@
"Renk Geçişi" END "Renk Geçişi" END
"Görüntüler" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "Görüntüler" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"Arkaplan" END "Arkaplan" END
"Tema Sakla" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "Tema Sakla" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Simge Kümesi Sakla" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "Simge Kümesi Sakla" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Görünüm" END "Görünüm" END
ıkış" MENU ıkış" MENU

View File

@@ -165,8 +165,8 @@
"过渡色" END "过渡色" END
"图像" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "图像" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"背景" END "背景" END
"保存主题" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)" "保存主题" SHEXEC 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 geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
"外观" END "外观" END
"退出" MENU "退出" MENU

View File

@@ -191,8 +191,8 @@
"漸層色" END "漸層色" END
"圖片" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t "圖片" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"背景" END "背景" END
"儲存主題" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)" "儲存主題" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"儲存圖示集" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)" "儲存圖示集" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"外觀" END "外觀" END
"離開" MENU "離開" MENU

View File

@@ -7,7 +7,7 @@
("Process List", EXEC, "xterm -e top"), ("Process List", EXEC, "xterm -e top"),
("Manual Browser", EXEC, "xman") ("Manual Browser", EXEC, "xman")
), ),
("Run...", EXEC, "%a(Run,Type command to run:)"), ("Run...", SHEXEC, "%a(Run,Type command to run:)"),
("XTerm", EXEC, "xterm -sb"), ("XTerm", EXEC, "xterm -sb"),
("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"), ("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"),
("Workspaces", WORKSPACE_MENU), ("Workspaces", WORKSPACE_MENU),
@@ -92,8 +92,8 @@
), ),
("Images", OPEN_MENU, "-noext #wmdatadir#/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") ("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 Theme", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""),
("Save IconSet", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"") ("Save IconSet", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"")
), ),
("Exit", ("Exit",
("Restart", RESTART), ("Restart", RESTART),

View File

@@ -290,12 +290,12 @@
), ),
( (
"Gem tema", "Gem tema",
EXEC, SHEXEC,
"getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Tema navn,Indtast fil navn:)\"" "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Tema navn,Indtast fil navn:)\""
), ),
( (
"Gem ikons\346t", "Gem ikons\346t",
EXEC, SHEXEC,
"geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(Ikonsæt navn,Enter fil navn:)\"" "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(Ikonsæt navn,Enter fil navn:)\""
) )
), ),

View File

@@ -7,10 +7,10 @@
("Liste des processus", EXEC, "xterm -e top"), ("Liste des processus", EXEC, "xterm -e top"),
("Butineur d'aide", EXEC, "xman") ("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"), ("Terminal X", EXEC, "xterm -sb"),
("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"), ("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"),
("Espaces de travail", WORKSPACE_MENU), ("Bureau", WORKSPACE_MENU),
("Applications", ("Applications",
("Graphismes", ("Graphismes",
("Gimp", SHEXEC, "gimp >/dev/null"), ("Gimp", SHEXEC, "gimp >/dev/null"),
@@ -54,9 +54,9 @@
("Copier", SHEXEC, "echo '%s' | wxcopy"), ("Copier", SHEXEC, "echo '%s' | wxcopy"),
("Envoyer à", EXEC, "xterm -name mail -T Pine -e pine %s"), ("Envoyer à", EXEC, "xterm -name mail -T Pine -e pine %s"),
("Naviguer", EXEC, "netscape %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), ("Cacher les autres fenêtres", HIDE_OTHERS),
("Montrer toutes les fenêtres", SHOW_ALL), ("Montrer toutes les fenêtres", SHOW_ALL),
("Arranger les icônes", ARRANGE_ICONS), ("Arranger les icônes", ARRANGE_ICONS),
@@ -66,9 +66,9 @@
("Effacer la session", CLEAR_SESSION) ("Effacer la session", CLEAR_SESSION)
), ),
("Apparence", ("Apparence",
("Thèmes", OPEN_MENU, "-noext #wmdatadir#/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"), ("Thèmes", OPEN_MENU, "-noext /opt/share/WindowMaker/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"),
("Styles", OPEN_MENU, "-noext #wmdatadir#/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"), ("Styles", OPEN_MENU, "-noext /opt/share/WindowMaker/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"),
("Jeu d'icônes", OPEN_MENU, "-noext #wmdatadir#/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"), ("Jeu d'icônes", OPEN_MENU, "-noext /opt/share/WindowMaker/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"),
("Fond d'écran", ("Fond d'écran",
("Unifié", ("Unifié",
("Noir", EXEC, "wdwrite WindowMaker WorkspaceBack '(solid, black)'"), ("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 Gris", EXEC, "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'"),
("Dégradés de Bordeau", EXEC, "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#600040\", \"#180010\")'") ("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 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", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets /\"%a(Nom du jeu d'icônes,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", ("Quitter",
("Redémarrer", RESTART), ("Redémarrer", RESTART),

View File

@@ -196,12 +196,12 @@
), ),
( (
"Snimi temu", "Snimi temu",
EXEC, SHEXEC,
"getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\"" "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""
), ),
( (
"Snimi set ikona", "Snimi set ikona",
EXEC, SHEXEC,
"geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"" "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\""
) )
), ),

View File

@@ -92,8 +92,8 @@
), ),
("Immagini", OPEN_MENU, "-noext /usr/X11R6/share/WindowMaker/Backgrounds ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t") ("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 tema", SHEXEC, "getstyle -t ~/GNUstep/Library/WindowMaker/Themes/\"%a(Nome Tema)\""),
("Salva il set icone", EXEC, "geticonset ~/GNUstep/Library/WindowMaker/IconSets/\"%a(Nome IconSet)\"") ("Salva il set icone", SHEXEC, "geticonset ~/GNUstep/Library/WindowMaker/IconSets/\"%a(Nome IconSet)\"")
), ),
("Esci", ("Esci",
("Riavvia", RESTART), ("Riavvia", RESTART),

View File

@@ -7,7 +7,7 @@
("进程列表", EXEC, "xterm -e top"), ("进程列表", EXEC, "xterm -e top"),
("手册浏览器", EXEC, "xman") ("手册浏览器", EXEC, "xman")
), ),
("运行...", EXEC, "%a(Run,Type command to run:)"), ("运行...", SHEXEC, "%a(Run,Type command to run:)"),
("XTerm", EXEC, "xterm -sb"), ("XTerm", EXEC, "xterm -sb"),
("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"), ("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"),
("程序", OPEN_MENU, "| wmconfig --output wmaker 2>/dev/null"), ("程序", 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") ("图像", 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)\""), ("保存主题", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""),
("保存图标集", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"") ("保存图标集", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"")
), ),
("退出", ("退出",
("重新启动", RESTART), ("重新启动", RESTART),

View File

@@ -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 AM_PROG_LIBTOOL

View File

@@ -150,7 +150,7 @@ index=0
mkdir tmpdir mkdir tmpdir
while [ $index -lt $dircount ]; do while [ $index -lt $dircount ]; do
fname="dir$index" fname="dir$index"
eval origname=$"$fname" eval origname=\$"$fname"
echo "Recreating directory ../$origname" echo "Recreating directory ../$origname"
(cd tmpdir; tar xf ../files/$fname.tar) (cd tmpdir; tar xf ../files/$fname.tar)
mv tmpdir/$origname ../$origname mv tmpdir/$origname ../$origname
@@ -162,7 +162,7 @@ rm -fr tmpdir
index=0 index=0
while [ $index -lt $filecount ]; do while [ $index -lt $filecount ]; do
fname="file$index" fname="file$index"
eval origname=$"$fname" eval origname=\$"$fname"
echo "Copying file ../$origname" echo "Copying file ../$origname"
cp files/$fname ../$origname cp files/$fname ../$origname
index=`expr $index + 1` index=`expr $index + 1`
@@ -205,7 +205,7 @@ check_binary_changes() {
index=0 index=0
while [ $index -lt $filecount ]; do while [ $index -lt $filecount ]; do
fname="changed$index" fname="changed$index"
eval origname=$"$fname" eval origname=\$"$fname"
echo "Replacing file ../$origname" echo "Replacing file ../$origname"
rm ../$origname rm ../$origname
cp files/$fname ../$origname cp files/$fname ../$origname

View File

@@ -1,18 +1,19 @@
# SOME DESCRIPTIVE TITLE. # French Message file for Window Maker
# Copyright (C) YEAR Free Software Foundation, Inc. # Last Update: version 0.53.0
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. #
# Update History:
# Bastien Nocera <hadess@writeme.com>
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: 0.53.0\n"
"POT-Creation-Date: 1999-04-22 07:08+0200\n" "POT-Creation-Date: 1999-04-22 07:08+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 1999-04-27 07:08+2000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Bastien Nocera <hadess@writeme.com>\n"
"Language-Team: French \n" "Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: ENCODING\n" "Content-Transfer-Encoding: 8-bit\n"
#: ../src/appicon.c:541 ../src/dialog.c:223 ../src/dialog.c:279 #: ../src/appicon.c:541 ../src/dialog.c:223 ../src/dialog.c:279
#: ../src/dock.c:3114 ../src/dockedapp.c:210 ../src/rootmenu.c:1743 #: ../src/dock.c:3114 ../src/dockedapp.c:210 ../src/rootmenu.c:1743
@@ -266,7 +267,7 @@ msgstr "Icones"
#: ../src/dialog.c:457 #: ../src/dialog.c:457
msgid "File Name:" msgid "File Name:"
msgstr "Nom de fichier:" msgstr "Fichier:"
#: ../src/dialog.c:480 #: ../src/dialog.c:480
msgid "Choose File" msgid "Choose File"
@@ -465,7 +466,7 @@ msgstr "Ignorer"
#: ../src/dockedapp.c:298 #: ../src/dockedapp.c:298
msgid "Start when WindowMaker is started" msgid "Start when WindowMaker is started"
msgstr "Démarrer en même temps que WindowMaker" msgstr "Démarrage automatique"
#: ../src/dockedapp.c:305 #: ../src/dockedapp.c:305
msgid "Application path and arguments" msgid "Application path and arguments"
@@ -1341,19 +1342,19 @@ msgstr "Attributs"
#: ../src/winspector.c:1123 #: ../src/winspector.c:1123
msgid "Disable Titlebar" msgid "Disable Titlebar"
msgstr "Désactiver la barre de titre" msgstr "Pas de barre de titre"
#: ../src/winspector.c:1127 #: ../src/winspector.c:1127
msgid "Disable Resizebar" msgid "Disable Resizebar"
msgstr "Désactiver la barre de redimensionnement" msgstr "Pas de barre de redimensionnement"
#: ../src/winspector.c:1131 #: ../src/winspector.c:1131
msgid "Disable Close Button" msgid "Disable Close Button"
msgstr "Désactiver le bouton de fermeture" msgstr "Pas de bouton de fermeture"
#: ../src/winspector.c:1135 #: ../src/winspector.c:1135
msgid "Disable Miniaturize Button" msgid "Disable Miniaturize Button"
msgstr "Désactiver le bouton de miniaturisation" msgstr "Pas bouton de miniaturisation"
#: ../src/winspector.c:1139 #: ../src/winspector.c:1139
msgid "Keep on Top / Floating" msgid "Keep on Top / Floating"
@@ -1385,11 +1386,11 @@ msgstr "Ignore
#: ../src/winspector.c:1187 #: ../src/winspector.c:1187
msgid "Don't Bind Keyboard Shortcuts" msgid "Don't Bind Keyboard Shortcuts"
msgstr "Ne pas associer de raccourcis-clavier" msgstr "Utiliser le clavier"
#: ../src/winspector.c:1191 #: ../src/winspector.c:1191
msgid "Don't Bind Mouse Clicks" msgid "Don't Bind Mouse Clicks"
msgstr "Ne pas associer de clicks de souris" msgstr "Utiliser la souris"
#: ../src/winspector.c:1195 #: ../src/winspector.c:1195
msgid "Keep Inside Screen" msgid "Keep Inside Screen"
@@ -1401,7 +1402,7 @@ msgstr "Ne prend pas le focus"
#: ../src/winspector.c:1203 #: ../src/winspector.c:1203
msgid "Don't Save Session" msgid "Don't Save Session"
msgstr "Exclure des Sauvegardes de Sessions" msgstr "Pas de Sauvegarde de Session"
#: ../src/winspector.c:1207 #: ../src/winspector.c:1207
msgid "Emulate Application Icon" msgid "Emulate Application Icon"
@@ -1416,7 +1417,7 @@ msgid ""
"Enable the \"Don't bind...\" options to allow the application to receive all " "Enable the \"Don't bind...\" options to allow the application to receive all "
"mouse or keyboard events." "mouse or keyboard events."
msgstr "" 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." "tous les évenements clavier ou souris."
#: ../src/winspector.c:1233 #: ../src/winspector.c:1233

View File

@@ -266,23 +266,15 @@ setViewedImage(IconPanel *panel, char *file)
pixmap = WMCreateBlendedPixmapFromFile(WMWidgetScreen(panel->win), pixmap = WMCreateBlendedPixmapFromFile(WMWidgetScreen(panel->win),
file, &color); file, &color);
if (!pixmap) { if (!pixmap) {
char *msg;
char *tmp;
WMSetButtonEnabled(panel->okButton, False); WMSetButtonEnabled(panel->okButton, False);
tmp = _("Could not load image file "); WMSetLabelText(panel->iconView, _("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);
WMSetLabelImage(panel->iconView, NULL); WMSetLabelImage(panel->iconView, NULL);
} else { } else {
WMSetButtonEnabled(panel->okButton, True); WMSetButtonEnabled(panel->okButton, True);
WMSetLabelText(panel->iconView, NULL);
WMSetLabelImage(panel->iconView, pixmap); WMSetLabelImage(panel->iconView, pixmap);
WMReleasePixmap(pixmap); WMReleasePixmap(pixmap);
} }
@@ -448,8 +440,9 @@ wIconChooserDialog(WScreen *scr, char **file, char *instance, char *class)
panel->iconView = WMCreateLabel(panel->win); panel->iconView = WMCreateLabel(panel->win);
WMResizeWidget(panel->iconView, 75, 75); WMResizeWidget(panel->iconView, 75, 75);
WMMoveWidget(panel->iconView, 365, 60); WMMoveWidget(panel->iconView, 365, 60);
WMSetLabelImagePosition(panel->iconView, WIPImageOnly); WMSetLabelImagePosition(panel->iconView, WIPOverlaps);
WMSetLabelRelief(panel->iconView, WRSunken); WMSetLabelRelief(panel->iconView, WRSunken);
WMSetLabelTextAlignment(panel->iconView, WACenter);
panel->fileLabel = WMCreateLabel(panel->win); panel->fileLabel = WMCreateLabel(panel->win);
WMResizeWidget(panel->fileLabel, 80, 20); WMResizeWidget(panel->fileLabel, 80, 20);

View File

@@ -357,6 +357,10 @@ main(int argc, char **argv)
wsetabort(wAbort); 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; ArgCount = argc;
Arguments = argv; Arguments = argv;

View File

@@ -1332,7 +1332,7 @@ readMenuDirectory(WScreen *scr, char *title, char **path, char *command)
if (dentry->d_name[0] == '.') if (dentry->d_name[0] == '.')
continue; continue;
buffer = wmalloc(strlen(path[i])+strlen(dentry->d_name)+4); buffer = malloc(strlen(path[i])+strlen(dentry->d_name)+4);
if (!buffer) { if (!buffer) {
wsyserror(_("out of memory while constructing directory menu %s"), wsyserror(_("out of memory while constructing directory menu %s"),
path[i]); path[i]);
@@ -1399,7 +1399,7 @@ readMenuDirectory(WScreen *scr, char *title, char **path, char *command)
length = strlen(path[d->index])+strlen(d->name)+6; length = strlen(path[d->index])+strlen(d->name)+6;
if (command) if (command)
length += strlen(command) + 6; length += strlen(command) + 6;
buffer = wmalloc(length); buffer = malloc(length);
if (!buffer) { if (!buffer) {
wsyserror(_("out of memory while constructing directory menu %s"), wsyserror(_("out of memory while constructing directory menu %s"),
path[d->index]); path[d->index]);
@@ -1477,7 +1477,7 @@ readMenuDirectory(WScreen *scr, char *title, char **path, char *command)
if (ptr && ptr!=f->name) if (ptr && ptr!=f->name)
*ptr = 0; *ptr = 0;
} }
addMenuEntry(menu, f->name, NULL, "EXEC", buffer, path[f->index]); addMenuEntry(menu, f->name, NULL, "SHEXEC", buffer, path[f->index]);
free(buffer); free(buffer);
if (files->head) { if (files->head) {

View File

@@ -1674,75 +1674,90 @@ wWindowUnfocus(WWindow *wwin)
void void
wWindowConstrainSize(WWindow *wwin, int *nwidth, int *nheight) wWindowConstrainSize(WWindow *wwin, int *nwidth, int *nheight)
{ {
XSizeHints *sizeh = wwin->normal_hints;
int width = *nwidth; int width = *nwidth;
int height = *nheight; int height = *nheight;
int winc = sizeh->width_inc; int winc = 1;
int hinc = sizeh->height_inc; 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 (width < sizeh->min_width) if (wwin->normal_hints) {
width = sizeh->min_width; winc = wwin->normal_hints->width_inc;
if (height < sizeh->min_height) hinc = wwin->normal_hints->height_inc;
height = sizeh->min_height; 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 > sizeh->max_width) if (width < minW)
width = sizeh->max_width; width = minW;
if (height > sizeh->max_height) if (height < minH)
height = sizeh->max_height; height = minH;
if (width > maxW)
width = maxW;
if (height > maxH)
height = maxH;
/* aspect ratio code borrowed from olwm */ /* aspect ratio code borrowed from olwm */
if (sizeh->flags & PAspect) { if (minAX > 0) {
/* adjust max aspect ratio */ /* adjust max aspect ratio */
if (!(sizeh->max_aspect.x==1 && sizeh->max_aspect.y==1) if (!(maxAX == 1 && maxAY == 1) && width * maxAY > height * maxAX) {
&& width * sizeh->max_aspect.y > height * sizeh->max_aspect.x) { if (maxAX > maxAY) {
if (sizeh->max_aspect.x > sizeh->max_aspect.y) { height = (width * maxAY) / maxAX;
height = (width * sizeh->max_aspect.y) / sizeh->max_aspect.x; if (height > maxH) {
if (height > sizeh->max_height) { height = maxH;
height = sizeh->max_height; width = (height * maxAX) / maxAY;
width = (height*sizeh->max_aspect.x) / sizeh->max_aspect.y;
} }
} else { } else {
width = (height * sizeh->max_aspect.x) / sizeh->max_aspect.y; width = (height * maxAX) / maxAY;
if (width > sizeh->max_width) { if (width > maxW) {
width = sizeh->max_width; width = maxW;
height = (width*sizeh->max_aspect.y) / sizeh->max_aspect.x; height = (width * maxAY) / maxAX;
} }
} }
} }
/* adjust min aspect ratio */ /* adjust min aspect ratio */
if (!(sizeh->min_aspect.x==1 && sizeh->min_aspect.y==1) if (!(minAX == 1 && minAY == 1) && width * minAY < height * minAX) {
&& width * sizeh->min_aspect.y < height * sizeh->min_aspect.x) { if (minAX > minAY) {
if (sizeh->min_aspect.x > sizeh->min_aspect.y) { height = (width * minAY) / minAX;
height = (width * sizeh->min_aspect.y) / sizeh->min_aspect.x; if (height < minH) {
if (height < sizeh->min_height) { height = minH;
height = sizeh->min_height; width = (height * minAX) / minAY;
width = (height*sizeh->min_aspect.x) / sizeh->min_aspect.y;
} }
} else { } else {
width = (height * sizeh->min_aspect.x) / sizeh->min_aspect.y; width = (height * minAX) / minAY;
if (width < sizeh->min_width) { if (width < minW) {
width = sizeh->min_width; width = minW;
height = (width*sizeh->min_aspect.y) / sizeh->min_aspect.x; height = (width * minAY) / minAX;
} }
} }
} }
} }
if (sizeh->base_width != 0) { if (baseW != 0) {
width = (((width - sizeh->base_width) / winc) * winc) width = (((width - baseW) / winc) * winc) + baseW;
+ sizeh->base_width;
} else { } else {
width = (((width - sizeh->min_width) / winc) * winc) width = (((width - minW) / winc) * winc) + minW;
+ sizeh->min_width;
} }
if (sizeh->base_width != 0) { if (baseW != 0) {
height = (((height - sizeh->base_height) / hinc) * hinc) height = (((height - baseH) / hinc) * hinc) + baseH;
+ sizeh->base_height;
} else { } else {
height = (((height - sizeh->min_height) / hinc) * hinc) height = (((height - minH) / hinc) * hinc) + minH;
+ sizeh->min_height;
} }
*nwidth = width; *nwidth = width;

View File

@@ -988,12 +988,24 @@ static void
selectSpecification(WMWidget *bPtr, void *data) selectSpecification(WMWidget *bPtr, void *data)
{ {
InspectorPanel *panel = (InspectorPanel*)data; InspectorPanel *panel = (InspectorPanel*)data;
char *str;
if (bPtr == panel->defaultRb) { if (bPtr == panel->defaultRb) {
WMSetButtonEnabled(panel->applyBtn, False); WMSetButtonEnabled(panel->applyBtn, False);
} else { } else {
WMSetButtonEnabled(panel->applyBtn, True); 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; WScreen *scr = wwin->screen_ptr;
InspectorPanel *panel; InspectorPanel *panel;
Window parent; Window parent;
char charbuf[128];
int i; int i;
int x, y; int x, y;
int btn_width, frame_width; int btn_width, frame_width;
WMButton *selectedBtn = NULL;
#ifdef wrong_behaviour #ifdef wrong_behaviour
WMPixmap *pixmap; WMPixmap *pixmap;
#endif #endif
panel = wmalloc(sizeof(InspectorPanel)); panel = wmalloc(sizeof(InspectorPanel));
memset(panel, 0, sizeof(InspectorPanel)); memset(panel, 0, sizeof(InspectorPanel));
@@ -1022,10 +1036,6 @@ createInspectorForWindow(WWindow *wwin)
panelList = panel; 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"); panel->win = WMCreateWindow(scr->wmscreen, "windowInspector");
WMResizeWidget(panel->win, PWIDTH, PHEIGHT); WMResizeWidget(panel->win, PWIDTH, PHEIGHT);
@@ -1083,16 +1093,20 @@ createInspectorForWindow(WWindow *wwin)
WMSetButtonSelected(panel->defaultRb, False); WMSetButtonSelected(panel->defaultRb, False);
WMSetButtonAction(panel->defaultRb, selectSpecification, panel); WMSetButtonAction(panel->defaultRb, selectSpecification, panel);
if (wwin->wm_class && wwin->wm_instance) { 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); panel->bothRb = WMCreateRadioButton(panel->specFrm);
WMMoveWidget(panel->bothRb, 10, 18); WMMoveWidget(panel->bothRb, 10, 18);
WMResizeWidget(panel->bothRb, frame_width - (2 * 10), 20); WMResizeWidget(panel->bothRb, frame_width - (2 * 10), 20);
WMSetButtonText(panel->bothRb, charbuf); WMSetButtonText(panel->bothRb, str);
WMSetButtonSelected(panel->bothRb, True); free(str);
WMGroupButtons(panel->defaultRb, panel->bothRb); WMGroupButtons(panel->defaultRb, panel->bothRb);
if (!selectedBtn)
selectedBtn = panel->bothRb;
WMSetButtonAction(panel->bothRb, selectSpecification, panel); WMSetButtonAction(panel->bothRb, selectSpecification, panel);
} }
@@ -1101,9 +1115,11 @@ createInspectorForWindow(WWindow *wwin)
WMMoveWidget(panel->instRb, 10, 38); WMMoveWidget(panel->instRb, 10, 38);
WMResizeWidget(panel->instRb, frame_width - (2 * 10), 20); WMResizeWidget(panel->instRb, frame_width - (2 * 10), 20);
WMSetButtonText(panel->instRb, wwin->wm_instance); WMSetButtonText(panel->instRb, wwin->wm_instance);
WMSetButtonSelected(panel->instRb, False);
WMGroupButtons(panel->defaultRb, panel->instRb); WMGroupButtons(panel->defaultRb, panel->instRb);
if (!selectedBtn)
selectedBtn = panel->instRb;
WMSetButtonAction(panel->instRb, selectSpecification, panel); WMSetButtonAction(panel->instRb, selectSpecification, panel);
} }
@@ -1112,9 +1128,11 @@ createInspectorForWindow(WWindow *wwin)
WMMoveWidget(panel->clsRb, 10, 58); WMMoveWidget(panel->clsRb, 10, 58);
WMResizeWidget(panel->clsRb, frame_width - (2 * 10), 20); WMResizeWidget(panel->clsRb, frame_width - (2 * 10), 20);
WMSetButtonText(panel->clsRb, wwin->wm_class); WMSetButtonText(panel->clsRb, wwin->wm_class);
WMSetButtonSelected(panel->clsRb, False);
WMGroupButtons(panel->defaultRb, panel->clsRb); WMGroupButtons(panel->defaultRb, panel->clsRb);
if (!selectedBtn)
selectedBtn = panel->clsRb;
WMSetButtonAction(panel->clsRb, selectSpecification, panel); WMSetButtonAction(panel->clsRb, selectSpecification, panel);
} }
@@ -1476,8 +1494,14 @@ createInspectorForWindow(WWindow *wwin)
y = scr->scr_height - PHEIGHT - 30; y = scr->scr_height - PHEIGHT - 30;
if (x + PWIDTH > scr->scr_width) if (x + PWIDTH > scr->scr_width)
x = scr->scr_width - PWIDTH; x = scr->scr_width - PWIDTH;
panel->frame = wManageInternalWindow(scr, parent, wwin->client_win, 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 */ /* kluge to know who should get the key events */
panel->frame->client_leader = WMWidgetXID(panel->win); panel->frame->client_leader = WMWidgetXID(panel->win);

View File

@@ -289,7 +289,8 @@ showWorkspaceName(WScreen *scr, int workspace)
int len = strlen(name); int len = strlen(name);
int x, y; int x, y;
if (wPreferences.workspace_name_display_position == WD_NONE) if (wPreferences.workspace_name_display_position == WD_NONE
|| scr->workspace_count < 2)
return; return;
if (scr->workspace_name_timer) { if (scr->workspace_name_timer) {
@@ -605,6 +606,7 @@ wWorkspaceForceChange(WScreen *scr, int workspace)
if (scr->dock) if (scr->dock)
wAppIconPaint(scr->dock->icon_array[0]); wAppIconPaint(scr->dock->icon_array[0]);
if (scr->clip_icon) { if (scr->clip_icon) {
if (scr->workspaces[workspace]->clip->auto_collapse || if (scr->workspaces[workspace]->clip->auto_collapse ||
scr->workspaces[workspace]->clip->auto_raise_lower) { 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 #ifdef GNOME_STUFF
wGNOMEUpdateCurrentWorkspaceHint(scr); wGNOMEUpdateCurrentWorkspaceHint(scr);

View File

@@ -55,6 +55,12 @@ int ignoreFonts = 0;
Display *dpy; Display *dpy;
proplist_t readBlackBoxStyle(char *path);
char* char*
defaultsPathForDomain(char *domain) defaultsPathForDomain(char *domain)
{ {
@@ -338,7 +344,6 @@ StringCompareHook(proplist_t pl1, proplist_t pl2)
} }
void void
print_help() print_help()
{ {
@@ -348,10 +353,17 @@ print_help()
puts(" --no-fonts ignore font related options"); puts(" --no-fonts ignore font related options");
puts(" --ignore <option> ignore changes in the specified option"); puts(" --ignore <option> ignore changes in the specified option");
puts(" --help display this help and exit"); puts(" --help display this help and exit");
/*
puts(" --format <format> specifies the format of the theme to be converted");
*/
puts(" --version output version information and exit"); puts(" --version output version information and exit");
puts("");
puts("Supported formats: blackbox");
} }
#default F_BLACKBOX 1
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
@@ -362,6 +374,7 @@ main(int argc, char **argv)
int i; int i;
int ignoreCount = 0; int ignoreCount = 0;
char *ignoreList[MAX_OPTIONS]; char *ignoreList[MAX_OPTIONS];
int format = 0;
dpy = XOpenDisplay(""); dpy = XOpenDisplay("");
@@ -377,7 +390,7 @@ main(int argc, char **argv)
if (strcmp("--ignore", argv[i])==0) { if (strcmp("--ignore", argv[i])==0) {
i++; i++;
if (i == argc) { if (i == argc) {
printf("%s: missing argument for option --ignore", ProgName); printf("%s: missing argument for option --ignore\n", ProgName);
exit(1); exit(1);
} }
ignoreList[ignoreCount++] = argv[i]; ignoreList[ignoreCount++] = argv[i];
@@ -390,6 +403,18 @@ main(int argc, char **argv)
} else if (strcmp("--help", argv[i])==0) { } else if (strcmp("--help", argv[i])==0) {
print_help(); print_help();
exit(0); exit(0);
} else if (strcmp("--format", argv[i])==0) {
i++;
if (i == argc) {
printf("%s: missing argument for option --format\n", ProgName);
exit(1);
}
if (strcasecmp(argv[i], "blackbox")==0) {
format = F_BLACKBOX;
} else {
printf("%s: unknown theme format '%s'\n", ProgName);
exit(1);
}
} else { } else {
if (file) { if (file) {
printf("%s: invalid argument '%s'\n", ProgName, argv[i]); printf("%s: invalid argument '%s'\n", ProgName, argv[i]);
@@ -417,51 +442,62 @@ main(int argc, char **argv)
exit(1); exit(1);
} }
if (S_ISDIR(statbuf.st_mode)) { if (format == F_BLACKBOX) {
char buffer[4018]; style = readBlackBoxStyle(file);
char *prefix;
if (*argv[argc-1] != '/') {
if (!getcwd(buffer, 4000)) {
printf("%s: complete path for %s is too long\n", ProgName,
file);
exit(1);
}
if (strlen(buffer) + strlen(file) > 4000) {
printf("%s: complete path for %s is too long\n", ProgName,
file);
exit(1);
}
strcat(buffer, "/");
} else {
buffer[0] = 0;
}
strcat(buffer, file);
prefix = malloc(strlen(buffer)+10);
if (!prefix) {
printf("%s: out of memory\n", ProgName);
exit(1);
}
strcpy(prefix, buffer);
strcat(buffer, "/style");
style = PLGetProplistWithPath(buffer);
if (!style) { if (!style) {
perror(buffer); printf("%s: could not open style file\n", ProgName);
printf("%s:could not load style file.\n", ProgName);
exit(1); exit(1);
} }
hackPaths(style, prefix);
free(prefix);
} else { } else {
style = PLGetProplistWithPath(file); if (S_ISDIR(statbuf.st_mode)) {
if (!style) { char buffer[4018];
perror(file); char *prefix;
printf("%s:could not load style file.\n", ProgName); /* theme pack */
exit(1);
if (*argv[argc-1] != '/') {
if (!getcwd(buffer, 4000)) {
printf("%s: complete path for %s is too long\n", ProgName,
file);
exit(1);
}
if (strlen(buffer) + strlen(file) > 4000) {
printf("%s: complete path for %s is too long\n", ProgName,
file);
exit(1);
}
strcat(buffer, "/");
} else {
buffer[0] = 0;
}
strcat(buffer, file);
prefix = malloc(strlen(buffer)+10);
if (!prefix) {
printf("%s: out of memory\n", ProgName);
exit(1);
}
strcpy(prefix, buffer);
strcat(buffer, "/style");
style = PLGetProplistWithPath(buffer);
if (!style) {
perror(buffer);
printf("%s:could not load style file.\n", ProgName);
exit(1);
}
hackPaths(style, prefix);
free(prefix);
} else {
/* normal style file */
style = PLGetProplistWithPath(file);
if (!style) {
perror(file);
printf("%s:could not load style file.\n", ProgName);
exit(1);
}
} }
} }
@@ -509,3 +545,34 @@ main(int argc, char **argv)
} }
char*
getToken(char *str, int i, char *buf)
{
}
proplist_t
readBlackBoxStyle(char *path)
{
FILE *f;
char buffer[128], char token[128];
proplist_t style;
proplist_t p;
f = fopen(path, "r");
if (!f) {
perror(path);
return NULL;
}
while (1) {
if (!fgets(buffer, 127, f))
break;
if (strncasecmp(buffer, "menu.title:", 11)==0) {
}
}
}

View File

@@ -358,15 +358,6 @@ parseTexture(RContext *rc, char *text)
pixmap = LoadJPEG(rc, tmp, &iwidth, &iheight); pixmap = LoadJPEG(rc, tmp, &iwidth, &iheight);
*/ */
if (!pixmap) {
image = loadImage(rc, tmp);
if (!image) {
goto error;
}
iwidth = image->width;
iheight = image->height;
}
GETSTRORGOTO(val, tmp, 2, error); GETSTRORGOTO(val, tmp, 2, error);
if (!XParseColor(dpy, DefaultColormap(dpy, scr), tmp, &color)) { if (!XParseColor(dpy, DefaultColormap(dpy, scr), tmp, &color)) {
@@ -382,6 +373,16 @@ parseTexture(RContext *rc, char *text)
rcolor.blue = color.blue >> 8; rcolor.blue = color.blue >> 8;
RGetClosestXColor(rc, &rcolor, &color); RGetClosestXColor(rc, &rcolor, &color);
} }
if (!pixmap) {
image = loadImage(rc, tmp);
if (!image) {
goto error;
}
iwidth = image->width;
iheight = image->height;
}
switch (toupper(type[0])) { switch (toupper(type[0])) {
case 'T': case 'T':
texture->width = iwidth; texture->width = iwidth;

View File

@@ -47,6 +47,107 @@
* *
*---------------------------------------------------------------------- *----------------------------------------------------------------------
*/ */
#ifndef broken_code
RImage*
RScaleImage(RImage *image, unsigned new_width, unsigned new_height)
{
int ox;
int px, py;
register int x, y, t;
int dx, dy;
unsigned char *sr, *sg, *sb, *sa;
unsigned char *dr, *dg, *db, *da;
RImage *img;
assert(new_width >= 0 && new_height >= 0);
if (new_width == image->width && new_height == image->height)
return RCloneImage(image);
img = RCreateImage(new_width, new_height, image->data[3]!=NULL);
if (!img)
return NULL;
/* fixed point math idea taken from Imlib by
* Carsten Haitzler (Rasterman) */
dx = (image->width<<16)/new_width;
dy = (image->height<<16)/new_height;
py = 0;
dr = img->data[0];
dg = img->data[1];
db = img->data[2];
da = img->data[3];
if (image->data[3]!=NULL) {
int ot;
ot = -1;
for (y=0; y<new_height; y++) {
t = image->width*(py>>16);
sr = image->data[0]+t;
sg = image->data[1]+t;
sb = image->data[2]+t;
sa = image->data[3]+t;
ot = t;
ox = 0;
px = 0;
for (x=0; x<new_width; x++) {
px += dx;
*(dr++) = *sr;
*(dg++) = *sg;
*(db++) = *sb;
*(da++) = *sa;
t = (px - ox)>>16;
ox += t<<16;
sr += t;
sg += t;
sb += t;
sa += t;
}
py += dy;
}
} else {
int ot;
ot = -1;
for (y=0; y<new_height; y++) {
t = image->width*(py>>16);
sr = image->data[0]+t;
sg = image->data[1]+t;
sb = image->data[2]+t;
ot = t;
ox = 0;
px = 0;
for (x=0; x<new_width; x++) {
px += dx;
*(dr++) = *sr;
*(dg++) = *sg;
*(db++) = *sb;
t = (px-ox)>>16;
ox += t<<16;
sr += t;
sg += t;
sb += t;
}
py += dy;
}
}
return img;
}
#else
RImage* RImage*
RScaleImage(RImage *src, unsigned new_width, unsigned new_height) RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
{ {
@@ -144,7 +245,7 @@ RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
return dst; return dst;
} }
#endif

View File

@@ -99,10 +99,16 @@ RGetImageFromXPMData(RContext *context, char **data)
XColor xcolor; XColor xcolor;
if (strncmp(xpm.colorTable[i].c_color,"None",4)==0) { if (strncmp(xpm.colorTable[i].c_color,"None",4)==0) {
color_table[0][i]=0; if (context->dpy) {
color_table[1][i]=0; /* ??? */
color_table[2][i]=0; color_table[0][i]=context->red_offset;
transp = i; color_table[1][i]=context->red_offset;
color_table[2][i]=context->red_offset;
} else {
color_table[0][i]=0;
color_table[1][i]=0;
color_table[2][i]=0;
}
continue; continue;
} }
if (XParseColor(dpy, cmap, xpm.colorTable[i].c_color, &xcolor)) { if (XParseColor(dpy, cmap, xpm.colorTable[i].c_color, &xcolor)) {
@@ -207,9 +213,17 @@ RLoadXPM(RContext *context, char *file, int index)
XColor xcolor; XColor xcolor;
if (strncmp(xpm.colorTable[i].c_color,"None",4)==0) { if (strncmp(xpm.colorTable[i].c_color,"None",4)==0) {
color_table[0][i]=0; if (context->dpy) {
color_table[1][i]=0; /* ??? */
color_table[2][i]=0; color_table[0][i]=context->red_offset;
color_table[1][i]=context->red_offset;
color_table[2][i]=context->red_offset;
} else {
color_table[0][i]=0;
color_table[1][i]=0;
color_table[2][i]=0;
}
transp = i; transp = i;
continue; continue;
} }