1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 04:20:27 +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 a mem leak in superfluous mode caused by the ghost icon.
- added possibility to set omnipresent icons in Clip. See NEWS.
- fixed bug in WPrefs menu editor
- fixed crash when moving internal window with kbd
- fixed compilation problem on IRIX machines (Neil Muller
<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.
- added an (internal use) environment variable for telling WPrefs whats's
the name of the wmaker binary being ran.
- more elegant text entries in Clip's menu, regarding single/multiple
selected icons.

View File

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

2
NEWS
View File

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

9
README
View File

@@ -141,8 +141,8 @@ displayed by Window Maker.
* docklib-x.x.tar.gz a library for writing dockapps
Mailing List
============
HELP ME!!!
==========
There is a mailing list for discussing Window Maker at
wm-user@windowmaker.org To subscribe to it, send a message containing:
@@ -162,6 +162,11 @@ using. You can use the system information section at the end of BUGFORM as a
guideline. Another thing: please don't send HTML mail.
There is also a #windowmaker IRC channel at openprojects. To join there,
connect your irc client to irc.openprojects.net, irc.linux.com or some other
server of that network.
GNUstep
=======

View File

@@ -14,12 +14,21 @@ changes since wmaker 0.53.0:
The notifications will still work, but using the delegate is preferable
How to convert old code to delegate callbacks:
Create a variable (static or dynamic) of the type of the delegate for
the widget type. Replace the notification observers with the
equivalent delegate callbacks. Put pointers to the callbacks
in the delegate variable.
1 - create a variable (static or dynamic) of the type of the
delegate for the widget type.
2 - Replace the notification observers with the equivalent
delegate callbacks.
3 - Put pointers to the callbacks in the delegate variable.
Take a look in wfilepanel.c to see how it is used there.
- changed W_ViewProcedureTable to delegates
This will only affect user created widgets. If you have a custom
widget, you will need to update the callbacks and the declaration
of the W_ViewProcedureTable variable to be a W_ViewDelegate,
which is declared in WINGsP.h To setup the delegate, assign
the delegate variable to view->delegate.
- WMTextField
Removed all the didChange notifications that were sent when the text
was changed programmatically. Only changes made by user interaction

View File

@@ -8,7 +8,7 @@
#include "WINGs.h"
#if WINGS_H_VERSION < 990222
#if WINGS_H_VERSION < 990516
#error There_is_an_old_WINGs.h_file_somewhere_in_your_system._Please_remove_it.
#endif
@@ -92,6 +92,7 @@ typedef struct W_FocusInfo {
struct W_FocusInfo *next;
} W_FocusInfo;
typedef struct W_Screen {
Display *display;
int screen;
@@ -234,12 +235,29 @@ typedef struct W_Screen {
typedef struct W_ViewDelegate {
void *data;
void (*didMove)(struct W_ViewDelegate*, WMView*);
void (*didResize)(struct W_ViewDelegate*, WMView*);
void (*willMove)(struct W_ViewDelegate*, WMView*, int*, int*);
void (*willResize)(struct W_ViewDelegate*, WMView*,
unsigned int*, unsigned int*);
} W_ViewDelegate;
typedef struct W_View {
struct W_Screen *screen;
WMWidget *self; /* must point to the widget the
* view belongs to */
W_ViewDelegate *delegate;
Window window;
WMSize size;
@@ -309,13 +327,6 @@ typedef struct W_EventHandler {
typedef struct W_ViewProcedureTable {
void (*setBackgroundColor)(WMWidget*, WMColor *color);
void (*resize)(WMWidget*, unsigned int, unsigned int);
void (*move)(WMWidget*, int, int);
} W_ViewProcedureTable;
typedef struct _WINGsConfiguration {
char *systemFont;
@@ -418,7 +429,7 @@ void W_InitApplication(WMScreen *scr);
void W_InitNotificationCenter(void);
W_Class W_RegisterUserWidget(W_ViewProcedureTable *procTable);
W_Class W_RegisterUserWidget(void);
void W_RedisplayView(WMView *view);

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -309,55 +309,12 @@ static unsigned char STIPPLE_BITS[] = {
extern void W_ReadConfigurations(void);
extern W_ViewProcedureTable _WindowViewProcedures;
extern W_ViewProcedureTable _FrameViewProcedures;
extern W_ViewProcedureTable _LabelViewProcedures;
extern W_ViewProcedureTable _ButtonViewProcedures;
extern W_ViewProcedureTable _TextFieldViewProcedures;
extern W_ViewProcedureTable _ScrollerViewProcedures;
extern W_ViewProcedureTable _ScrollViewProcedures;
extern W_ViewProcedureTable _ListViewProcedures;
extern W_ViewProcedureTable _BrowserViewProcedures;
extern W_ViewProcedureTable _PopUpButtonViewProcedures;
extern W_ViewProcedureTable _ColorWellViewProcedures;
extern W_ViewProcedureTable _ScrollViewViewProcedures;
extern W_ViewProcedureTable _SliderViewProcedures;
extern W_ViewProcedureTable _SplitViewViewProcedures;
extern W_ViewProcedureTable _TabViewViewProcedures;
/*
* All widget classes defined must have an entry here.
*/
static W_ViewProcedureTable *procedureTables[16];
static W_ViewProcedureTable **userProcedureTable = NULL;
static int userWidgetCount=0;
/***** end data ******/
static void
initProcedureTable()
{
procedureTables[WC_Window] = &_WindowViewProcedures;
procedureTables[WC_Frame] = &_FrameViewProcedures;
procedureTables[WC_Label] = &_LabelViewProcedures;
procedureTables[WC_Button] = &_ButtonViewProcedures;
procedureTables[WC_TextField] = &_TextFieldViewProcedures;
procedureTables[WC_Scroller] = &_ScrollerViewProcedures;
procedureTables[WC_List] = &_ListViewProcedures;
procedureTables[WC_Browser] = &_BrowserViewProcedures;
procedureTables[WC_PopUpButton] = &_PopUpButtonViewProcedures;
procedureTables[WC_ColorWell] = &_ColorWellViewProcedures;
procedureTables[WC_ScrollView] = &_ScrollViewViewProcedures;
procedureTables[WC_Slider] = &_SliderViewProcedures;
procedureTables[WC_SplitView] = &_SplitViewViewProcedures;
procedureTables[WC_TabView] = &_TabViewViewProcedures;
}
static void
renderPixmap(W_Screen *screen, Pixmap d, Pixmap mask, char **data,
int width, int height)
@@ -563,8 +520,6 @@ WMCreateScreenWithRContext(Display *display, int screen, RContext *context)
initialized = 1;
initProcedureTable();
W_ReadConfigurations();
assert(W_ApplicationInitialized());
@@ -866,76 +821,29 @@ WMUnmapWidget(WMWidget *w)
void
WMSetWidgetBackgroundColor(WMWidget *w, WMColor *color)
{
if (W_CLASS(w) < WC_UserWidget
&& procedureTables[W_CLASS(w)]->setBackgroundColor) {
(*procedureTables[W_CLASS(w)]->setBackgroundColor)(w, color);
} else if (W_CLASS(w) >= WC_UserWidget
&& userProcedureTable[W_CLASS(w)-WC_UserWidget]->setBackgroundColor) {
(*userProcedureTable[W_CLASS(w)-WC_UserWidget]->setBackgroundColor)(w, color);
} else {
W_SetViewBackgroundColor(W_VIEW(w), color);
}
}
void
WMMoveWidget(WMWidget *w, int x, int y)
{
if (W_CLASS(w) < WC_UserWidget
&& procedureTables[W_CLASS(w)]->move) {
(*procedureTables[W_CLASS(w)]->move)(w, x, y);
} else if (W_CLASS(w) >= WC_UserWidget
&& userProcedureTable[W_CLASS(w)-WC_UserWidget]->move) {
(*userProcedureTable[W_CLASS(w)-WC_UserWidget]->move)(w, x, y);
} else {
W_MoveView(W_VIEW(w), x, y);
}
}
void
WMResizeWidget(WMWidget *w, unsigned int width, unsigned int height)
{
if (W_CLASS(w) < WC_UserWidget
&& procedureTables[W_CLASS(w)]->resize) {
(*procedureTables[W_CLASS(w)]->resize)(w, width, height);
} else if (W_CLASS(w) >= WC_UserWidget
&& userProcedureTable[W_CLASS(w)-WC_UserWidget]->resize) {
(*userProcedureTable[W_CLASS(w)-WC_UserWidget]->resize)(w, width, height);
} else {
W_ResizeView(W_VIEW(w), width, height);
}
}
W_Class
W_RegisterUserWidget(W_ViewProcedureTable *procTable)
W_RegisterUserWidget(void)
{
W_ViewProcedureTable **newTable;
userWidgetCount++;
newTable = wmalloc(sizeof(W_ViewProcedureTable*)*userWidgetCount);
memcpy(newTable, userProcedureTable,
sizeof(W_ViewProcedureTable*)*(userWidgetCount-1));
newTable[userWidgetCount-1] = procTable;
free(userProcedureTable);
userProcedureTable = newTable;
return userWidgetCount + WC_UserWidget - 1;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -34,13 +34,6 @@ typedef struct W_TabView {
struct W_ViewProcedureTable _TabViewViewProcedures = {
NULL,
NULL,
NULL
};
#define DEFAULT_WIDTH 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.
*/
testTextField(scr);
testColorWell(scr);
#if 0
testTabView(scr);
#if 0
testTextField(scr);
testGradientButtons(scr);
testOpenFilePanel(scr);
@@ -499,7 +501,6 @@ int main(int argc, char **argv)
testGradientButtons(scr);
testScrollView(scr);
testColorWell(scr);
testSlider(scr);
testPullDown(scr);

View File

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

View File

@@ -439,6 +439,10 @@ W_MoveView(W_View *view, int x, int y)
{
assert(view->flags.root==0);
if (view->delegate && view->delegate->willMove) {
(*view->delegate->willMove)(view->delegate, view, &x, &y);
}
if (view->pos.x == x && view->pos.y == y)
return;
@@ -447,6 +451,10 @@ W_MoveView(W_View *view, int x, int y)
}
view->pos.x = x;
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;
if (view->delegate && view->delegate->willResize) {
(*view->delegate->willResize)(view->delegate, view, &width, &height);
}
assert(width > 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.height = height;
if (view->delegate && view->delegate->didResize) {
(*view->delegate->didResize)(view->delegate, view);
}
if (view->flags.notifySizeChanged)
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,
resizeWindow,
NULL
NULL,
NULL,
NULL,
willResizeWindow
};
@@ -165,6 +167,8 @@ WMCreateWindowWithStyle(WMScreen *screen, char *name, int style)
}
win->view->self = win;
win->view->delegate = &_WindowViewDelegate;
win->wname = wstrdup(name);
/* add to the window list of the screen (application) */
@@ -272,25 +276,24 @@ WMSetWindowCloseAction(WMWindow *win, WMAction *action, void *clientData)
static void
resizeWindow(WMWidget *w, unsigned width, unsigned height)
willResizeWindow(W_ViewDelegate *self, WMView *view,
unsigned *width, unsigned *height)
{
WMWindow *win = (WMWindow*)w;
WMWindow *win = (WMWindow*)view->self;
if (win->minSize.width > 0 && win->minSize.height > 0) {
if (width < win->minSize.width)
width = win->minSize.width;
if (height < win->minSize.height)
height = win->minSize.height;
if (*width < win->minSize.width)
*width = win->minSize.width;
if (*height < win->minSize.height)
*height = win->minSize.height;
}
if (win->maxSize.width > 0 && win->maxSize.height > 0) {
if (width > win->maxSize.width)
width = win->maxSize.width;
if (height > win->maxSize.height)
height = win->maxSize.height;
if (*width > win->maxSize.width)
*width = win->maxSize.width;
if (*height > win->maxSize.height)
*height = win->maxSize.height;
}
W_ResizeView(win->view, width, height);
}

View File

@@ -2046,8 +2046,14 @@ storeData(_Panel *panel)
}
for (i = 0; i < 8; i++) {
SetStringForKey(WMGetColorRGBDescription(panel->colors[i]),
colorOptions[i*2]);
char *str;
str = WMGetColorRGBDescription(panel->colors[i]);
if (str) {
SetStringForKey(str, colorOptions[i*2]);
free(str);
}
}
switch (panel->menuStyle) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -197,8 +197,8 @@
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" MENU

View File

@@ -41,9 +41,9 @@
"Menu Principal" MENU
"Informacion ..." MENU
"Copyright..." EXEC xmessage -center -font variable -title \
"Copyright..." SHEXEC xmessage -center -font variable -title \
'WindowMaker 'WM_VERSION -file ~/GNUstep/Library/WindowMaker/Copyright
"Carga del sistema" EXEC xosview || xload
"Carga del sistema" SHEXEC xosview || xload
"Lista de tarifas (top)" EXEC rxvt -ls -fg white -bg black -fn vga -e top
"Manual" EXEC xman
"Informacion ..." END
@@ -63,7 +63,7 @@
"Graficos ..." END
"Editores ..." MENU
"XEmacs" EXEC xemacs || emacs
"XEmacs" SHEXEC xemacs || emacs
"XJed" EXEC xjed
"NEdit" EXEC nedit
"Xedit" EXEC xedit
@@ -71,7 +71,7 @@
"Editores ..." END
"Multimedia ..." MENU
"Xmcd" EXEC xmcd 2> /dev/null
"Xmcd" SHEXEC xmcd 2> /dev/null
"Xplaycd" EXEC xplaycd
"Xmixer" EXEC xmixer
"Multimedia ..." END

View File

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

View File

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

View File

@@ -182,8 +182,8 @@
"Gradient" END
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"<22><><EFBFBD>" END
"Save Theme" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Save IconSet" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"Save Theme" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"Save IconSet" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22><><EFBFBD><EFBFBD>" END
"<22><><EFBFBD><EFBFBD><EFBFBD>" MENU

View File

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

View File

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

View File

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

View File

@@ -189,8 +189,8 @@
"<22><><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
"<22><><EFBFBD><EFBFBD><E1A1BC>" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"<22>ط<EFBFBD>" END
"<22><><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ޤȤ<DEA4><C8A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"<22><><EFBFBD>ߤΥ<DFA4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󽸤򥻡<F3BDB8A4><F2A5BBA1><EFBFBD>" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22><><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><C6A1>ޤȤ<DEA4><C8A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"<22><><EFBFBD>ߤΥ<DFA4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󽸤򥻡<F3BDB8A4><F2A5BBA1><EFBFBD>" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22><><EFBFBD><EFBFBD>" END
"<22><>λ" MENU

View File

@@ -193,8 +193,8 @@
"Gradient" END
"Images" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"<22><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD>" END
"<22>׸<EFBFBD> <20><><EFBFBD><EFBFBD>" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"<22><><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22>׸<EFBFBD> <20><><EFBFBD><EFBFBD>" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"<22><><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" MENU
"menu.ko" EXEC hanterm -e vi $HOME/GNUstep/Library/WindowMaker/menu.ko
"WindowMaker" EXEC hanterm -e vi $HOME/GNUstep/Defaults/WindowMaker

View File

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

View File

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

View File

@@ -106,7 +106,7 @@
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" SHEXEC echo '%s' | wxcopy
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC xterm -name mail -T "Pine" -e pine %s
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC netscape %s
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC MANUAL_SEARCH(%s)
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" SHEXEC MANUAL_SEARCH(%s)
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" END
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>" MENU

View File

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

View File

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

View File

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

View File

@@ -165,8 +165,8 @@
"<22><><EFBFBD><EFBFBD>ɫ" END
<><CDBC>" OPEN_MENU -noext BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"<22><><EFBFBD><EFBFBD>" END
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)"
"<22><><EFBFBD><EFBFBD>ͼ<EFBFBD>꼯" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name,Enter file name:)"
"<22><><EFBFBD><EFBFBD>ͼ<EFBFBD>꼯" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name,Enter file name:)"
"<22><><EFBFBD><EFBFBD>" END
"<22>˳<EFBFBD>" MENU

View File

@@ -191,8 +191,8 @@
"<22><><EFBFBD>h<EFBFBD><68>" END
"<22>Ϥ<EFBFBD>" OPEN_MENU BACKGROUNDS_DIR $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t
"<22>I<EFBFBD><49>" END
"<22>x<EFBFBD>s<EFBFBD>D<EFBFBD>D" EXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"<22>x<EFBFBD>s<EFBFBD>ϥܶ<CFA5>" EXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22>x<EFBFBD>s<EFBFBD>D<EFBFBD>D" SHEXEC getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/"%a(Theme name)"
"<22>x<EFBFBD>s<EFBFBD>ϥܶ<CFA5>" SHEXEC geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"%a(IconSet name)"
"<22>~<7E>[" END
"<22><><EFBFBD>}" MENU

View File

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

View File

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

View File

@@ -7,10 +7,10 @@
("Liste des processus", EXEC, "xterm -e top"),
("Butineur d'aide", EXEC, "xman")
),
("D<>marrer...", EXEC, "%a(D<>marrer,Tapez une commande <20> d<>marrer:)"),
("D<>marrer...", SHEXEC, "%a(D<>marrer,Tapez une commande <20> d<>marrer:)"),
("Terminal X", EXEC, "xterm -sb"),
("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"),
("Espaces de travail", WORKSPACE_MENU),
("Bureau", WORKSPACE_MENU),
("Applications",
("Graphismes",
("Gimp", SHEXEC, "gimp >/dev/null"),
@@ -54,9 +54,9 @@
("Copier", SHEXEC, "echo '%s' | wxcopy"),
("Envoyer <20>", EXEC, "xterm -name mail -T Pine -e pine %s"),
("Naviguer", EXEC, "netscape %s"),
("Rechercher dans le manuel", EXEC, "MANUAL_SEARCH(%s)")
("Rechercher dans le manuel", SHEXEC, "MANUAL_SEARCH(%s)")
),
("Espace de travail",
("Bureaux",
("Cacher les autres fen<65>tres", HIDE_OTHERS),
("Montrer toutes les fen<65>tres", SHOW_ALL),
("Arranger les ic<69>nes", ARRANGE_ICONS),
@@ -66,9 +66,9 @@
("Effacer la session", CLEAR_SESSION)
),
("Apparence",
("Th<54>mes", OPEN_MENU, "-noext #wmdatadir#/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"),
("Styles", OPEN_MENU, "-noext #wmdatadir#/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"),
("Jeu d'ic<69>nes", OPEN_MENU, "-noext #wmdatadir#/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"),
("Th<54>mes", OPEN_MENU, "-noext /opt/share/WindowMaker/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"),
("Styles", OPEN_MENU, "-noext /opt/share/WindowMaker/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"),
("Jeu d'ic<69>nes", OPEN_MENU, "-noext /opt/share/WindowMaker/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"),
("Fond d'<27>cran",
("Unifi<66>",
("Noir", EXEC, "wdwrite WindowMaker WorkspaceBack '(solid, black)'"),
@@ -88,10 +88,10 @@
("D<>grad<61>s de Gris", EXEC, "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'"),
("D<>grad<61>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<74>me", EXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes /\"%a(Nom du th<74>me,Entrez un nom de fichier:)\""),
("Sauver le jeu d'ic<69>nes", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets /\"%a(Nom du jeu d'ic<69>nes,Entrez un nom de fichier:)\"")
("Sauver le th<74>me", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes /\"%a(Nom du th<74>me,Entrez un nom de fichier:)\""),
("Sauver le jeu d'ic<69>nes", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets /\"%a(Nom du jeu d'ic<69>nes,Entrez un nom de fichier:)\"")
),
("Quitter",
("Red<65>marrer", RESTART),

View File

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

View File

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

View File

@@ -7,7 +7,7 @@
("<22><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>", EXEC, "xterm -e top"),
("<22>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", EXEC, "xman")
),
("<22><><EFBFBD><EFBFBD>...", EXEC, "%a(Run,Type command to run:)"),
("<22><><EFBFBD><EFBFBD>...", SHEXEC, "%a(Run,Type command to run:)"),
("XTerm", EXEC, "xterm -sb"),
("Rxvt", EXEC, "rxvt -bg black -fg white -fn fixed"),
("<22><><EFBFBD><EFBFBD>", OPEN_MENU, "| wmconfig --output wmaker 2>/dev/null"),
@@ -54,8 +54,8 @@
),
("ͼ<><CDBC>", OPEN_MENU, "-noext #wmdatadir#/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t")
),
("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", EXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""),
("<22><><EFBFBD><EFBFBD>ͼ<EFBFBD>꼯", EXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"")
("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", SHEXEC, "getstyle -t $HOME/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name)\""),
("<22><><EFBFBD><EFBFBD>ͼ<EFBFBD>꼯", SHEXEC, "geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name)\"")
),
("<22>˳<EFBFBD>",
("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 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

View File

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

View File

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

View File

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

View File

@@ -357,6 +357,10 @@ main(int argc, char **argv)
wsetabort(wAbort);
/* for telling WPrefs what's the name of the wmaker binary being ran */
str = wstrappend("WMAKER_BIN_NAME", argv[0]);
putenv(str);
ArgCount = argc;
Arguments = argv;

View File

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

View File

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

View File

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

View File

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

View File

@@ -55,6 +55,12 @@ int ignoreFonts = 0;
Display *dpy;
proplist_t readBlackBoxStyle(char *path);
char*
defaultsPathForDomain(char *domain)
{
@@ -338,7 +344,6 @@ StringCompareHook(proplist_t pl1, proplist_t pl2)
}
void
print_help()
{
@@ -348,10 +353,17 @@ print_help()
puts(" --no-fonts ignore font related options");
puts(" --ignore <option> ignore changes in the specified option");
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("");
puts("Supported formats: blackbox");
}
#default F_BLACKBOX 1
int
main(int argc, char **argv)
{
@@ -362,6 +374,7 @@ main(int argc, char **argv)
int i;
int ignoreCount = 0;
char *ignoreList[MAX_OPTIONS];
int format = 0;
dpy = XOpenDisplay("");
@@ -377,7 +390,7 @@ main(int argc, char **argv)
if (strcmp("--ignore", argv[i])==0) {
i++;
if (i == argc) {
printf("%s: missing argument for option --ignore", ProgName);
printf("%s: missing argument for option --ignore\n", ProgName);
exit(1);
}
ignoreList[ignoreCount++] = argv[i];
@@ -390,6 +403,18 @@ main(int argc, char **argv)
} else if (strcmp("--help", argv[i])==0) {
print_help();
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 {
if (file) {
printf("%s: invalid argument '%s'\n", ProgName, argv[i]);
@@ -417,9 +442,17 @@ main(int argc, char **argv)
exit(1);
}
if (format == F_BLACKBOX) {
style = readBlackBoxStyle(file);
if (!style) {
printf("%s: could not open style file\n", ProgName);
exit(1);
}
} else {
if (S_ISDIR(statbuf.st_mode)) {
char buffer[4018];
char *prefix;
/* theme pack */
if (*argv[argc-1] != '/') {
if (!getcwd(buffer, 4000)) {
@@ -457,6 +490,8 @@ main(int argc, char **argv)
hackPaths(style, prefix);
free(prefix);
} else {
/* normal style file */
style = PLGetProplistWithPath(file);
if (!style) {
perror(file);
@@ -464,6 +499,7 @@ main(int argc, char **argv)
exit(1);
}
}
}
if (!PLIsDictionary(style)) {
printf("%s: '%s' is not a style file/theme\n", ProgName, file);
@@ -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);
*/
if (!pixmap) {
image = loadImage(rc, tmp);
if (!image) {
goto error;
}
iwidth = image->width;
iheight = image->height;
}
GETSTRORGOTO(val, tmp, 2, error);
if (!XParseColor(dpy, DefaultColormap(dpy, scr), tmp, &color)) {
@@ -382,6 +373,16 @@ parseTexture(RContext *rc, char *text)
rcolor.blue = color.blue >> 8;
RGetClosestXColor(rc, &rcolor, &color);
}
if (!pixmap) {
image = loadImage(rc, tmp);
if (!image) {
goto error;
}
iwidth = image->width;
iheight = image->height;
}
switch (toupper(type[0])) {
case 'T':
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*
RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
{
@@ -144,7 +245,7 @@ RScaleImage(RImage *src, unsigned new_width, unsigned new_height)
return dst;
}
#endif

View File

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