mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-18 20:10:29 +01:00
Update for 0.52.0. This is a test version, which brings the Appearance
section to WPrefs for testing purposes.
This commit is contained in:
2
AUTHORS
2
AUTHORS
@@ -212,7 +212,7 @@ dgradient fix
|
||||
Window list menu miniaturized/hidden hints, XDE support, XKB lock
|
||||
language status, WINGs enhancements, bug fixes, window commands menu
|
||||
enhancement, window move/resize by keyboard. GNUstepGlow.tiff icon,
|
||||
WINGs color panel
|
||||
WINGs color panel, Appearance section icon(s)
|
||||
|
||||
|
||||
Trae Mc Combs <x@themes.org>
|
||||
|
||||
12
ChangeLog
12
ChangeLog
@@ -1,3 +1,11 @@
|
||||
Changes since version 0.51.2:
|
||||
.............................
|
||||
|
||||
- made the Attributes panel be available for all windows, even
|
||||
for completely broken apps (although settings wont be saved for
|
||||
completely broken apps)
|
||||
|
||||
|
||||
Changes since version 0.51.1:
|
||||
.............................
|
||||
|
||||
@@ -10,11 +18,13 @@ Changes since version 0.51.1:
|
||||
- fixed WPrefs crash in Mouse Preferences
|
||||
- fixed crash bug in WINGs/wmaker startup
|
||||
- added workaround for kde pager crash bug
|
||||
- made %W in root menu and wmsetbg -w take numbers starting from 1
|
||||
- fixed crash bugs with kpanel
|
||||
|
||||
Changes since version 0.51.0:
|
||||
.............................
|
||||
|
||||
- icon explosion is stopped when clicking on anywhere
|
||||
- put . to mark hidden apps
|
||||
- fixed dont set xset stuff option in WPrefs
|
||||
- fixed menu title messup in WPrefs
|
||||
- fixed WPrefs message dialogs for invalid menus
|
||||
|
||||
4
INSTALL
4
INSTALL
@@ -138,12 +138,12 @@ To get a list of other options, run ./configure --help
|
||||
--with-libs-from
|
||||
specify additional paths for libraries to be searched.
|
||||
The -L flag must precede each path, like:
|
||||
--with-libs-from=-L/opt/libs -L/usr/local/lib
|
||||
--with-libs-from="-L/opt/libs -L/usr/local/lib"
|
||||
|
||||
--with-incs-from
|
||||
specify additional paths for header files to be searched.
|
||||
The -I flag must precede each paths, like:
|
||||
--with-incs-from=-I/opt/headers -I/usr/local/include
|
||||
--with-incs-from="-I/opt/headers -I/usr/local/include"
|
||||
|
||||
--enable-kanji
|
||||
support to display Kanji characters, Korean, Chinese and other
|
||||
|
||||
7
NEWS
7
NEWS
@@ -4,6 +4,13 @@ NEWS for veteran Window Maker users
|
||||
|
||||
--- 0.51.2
|
||||
|
||||
New Themes
|
||||
----------
|
||||
|
||||
Added 2 new cool themes (actually I added in 0.51.1, but forgot
|
||||
to put it here...) from largo (LeetWM) and BadlandZ (STEP2000).
|
||||
|
||||
|
||||
Full Screen Maximization
|
||||
------------------------
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
changes since wmaker 0.51.2:
|
||||
............................
|
||||
|
||||
- added WMColorWellDidChangeNotification
|
||||
- added wfindfileinarray()
|
||||
|
||||
changes since wmaker 0.51.1:
|
||||
...........................
|
||||
............................
|
||||
|
||||
- wusergnusteppath() will return a statically allocated string now.
|
||||
DO NOT FREE IT ANYMORE!!
|
||||
|
||||
@@ -971,6 +971,10 @@ WMColor *WMGetColorWellColor(WMColorWell *cPtr);
|
||||
|
||||
void WSetColorWellBordered(WMColorWell *cPtr, Bool flag);
|
||||
|
||||
|
||||
extern char *WMColorWellDidChangeNotification;
|
||||
|
||||
|
||||
/* ...................................................................... */
|
||||
|
||||
WMScrollView *WMCreateScrollView(WMWidget *parent);
|
||||
|
||||
@@ -136,6 +136,8 @@ char *wfindfile(char *paths, char *file);
|
||||
|
||||
char *wfindfileinlist(char **path_list, char *file);
|
||||
|
||||
char *wfindfileinarray(proplist_t array, char *file);
|
||||
|
||||
char *wexpandpath(char *path);
|
||||
|
||||
/* don't free the returned string */
|
||||
|
||||
@@ -283,3 +283,58 @@ wfindfileinlist(char **path_list, char *file)
|
||||
|
||||
|
||||
|
||||
char*
|
||||
wfindfileinarray(proplist_t array, char *file)
|
||||
{
|
||||
int i;
|
||||
char *path;
|
||||
int len, flen;
|
||||
char *fullpath;
|
||||
|
||||
if (!file)
|
||||
return NULL;
|
||||
|
||||
if (*file=='/' || *file=='~' || !array) {
|
||||
if (access(file, F_OK)<0) {
|
||||
fullpath = wexpandpath(file);
|
||||
if (!fullpath)
|
||||
return NULL;
|
||||
|
||||
if (access(fullpath, F_OK)<0) {
|
||||
free(fullpath);
|
||||
return NULL;
|
||||
} else {
|
||||
return fullpath;
|
||||
}
|
||||
} else {
|
||||
return wstrdup(file);
|
||||
}
|
||||
}
|
||||
|
||||
flen = strlen(file);
|
||||
for (i=0; PLGetNumberOfElements(array); i++) {
|
||||
char *p = PLGetString(PLGetArrayElement(array, i));
|
||||
|
||||
len = strlen(p);
|
||||
path = wmalloc(len+flen+2);
|
||||
path = memcpy(path, p, len);
|
||||
path[len]=0;
|
||||
strcat(path, "/");
|
||||
strcat(path, file);
|
||||
/* expand tilde */
|
||||
fullpath = wexpandpath(path);
|
||||
free(path);
|
||||
if (fullpath) {
|
||||
/* check if file exists */
|
||||
if (access(fullpath, F_OK)==0) {
|
||||
return fullpath;
|
||||
}
|
||||
free(fullpath);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -918,6 +918,7 @@ listCallback(void *self, void *clientData)
|
||||
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
|
||||
scrollToColumn(bPtr, i, True);
|
||||
}
|
||||
|
||||
|
||||
/* call callback for click */
|
||||
if (bPtr->action)
|
||||
|
||||
@@ -320,8 +320,8 @@ WMGetColorRGBDescription(WMColor *color)
|
||||
{
|
||||
char *str = wmalloc(32);
|
||||
|
||||
sprintf(str, "rgb:%4x/%4x/%4x", color->color.red, color->color.green,
|
||||
color->color.blue);
|
||||
sprintf(str, "#%02x%02x%02x", color->color.red>>8, color->color.green>>8,
|
||||
color->color.blue>>8);
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
#include "WINGsP.h"
|
||||
|
||||
|
||||
char *WMColorWellDidChangeNotification = "WMColorWellDidChangeNotification";
|
||||
|
||||
|
||||
typedef struct W_ColorWell {
|
||||
W_Class widgetClass;
|
||||
WMView *view;
|
||||
@@ -323,6 +326,8 @@ dragColor(ColorWell *cPtr, XEvent *event, WMPixmap *image)
|
||||
case ButtonRelease:
|
||||
if (activeWell != NULL) {
|
||||
WMSetColorWellColor(activeWell, cPtr->color);
|
||||
WMPostNotificationName(WMColorWellDidChangeNotification,
|
||||
activeWell, NULL);
|
||||
} else {
|
||||
slideView(dragView, ev.xbutton.x_root, ev.xbutton.y_root,
|
||||
event->xmotion.x_root, event->xmotion.y_root);
|
||||
@@ -438,6 +443,8 @@ handleActionEvents(XEvent *event, void *data)
|
||||
color = WMCreateNamedColor(scr, t, False);
|
||||
if (color) {
|
||||
WMSetColorWellColor(cPtr, color);
|
||||
WMPostNotificationName(WMColorWellDidChangeNotification,
|
||||
cPtr, NULL);
|
||||
WMReleaseColor(color);
|
||||
}
|
||||
free(t);
|
||||
|
||||
@@ -65,6 +65,7 @@ static void updateScroller(List *lPtr);
|
||||
|
||||
static void vScrollCallBack(WMWidget *scroller, void *self);
|
||||
|
||||
static void updateGeometry(WMList *lPtr);
|
||||
static void resizeList();
|
||||
|
||||
|
||||
@@ -187,7 +188,9 @@ WMInsertListItem(WMList *lPtr, int row, char *text)
|
||||
memset(item, 0, sizeof(WMListItem));
|
||||
item->text = wstrdup(text);
|
||||
|
||||
if (lPtr->selectedItem >= row && lPtr->selectedItem >= 0)
|
||||
|
||||
if (lPtr->selectedItem >= row && lPtr->selectedItem >= 0
|
||||
&& row >= 0)
|
||||
lPtr->selectedItem++;
|
||||
|
||||
if (lPtr->items==NULL) {
|
||||
@@ -311,6 +314,8 @@ WMSetListUserDrawItemHeight(WMList *lPtr, unsigned short height)
|
||||
|
||||
lPtr->flags.userItemHeight = 1;
|
||||
lPtr->itemHeight = height;
|
||||
|
||||
updateGeometry(lPtr);
|
||||
}
|
||||
|
||||
|
||||
@@ -804,14 +809,10 @@ handleActionEvents(XEvent *event, void *data)
|
||||
|
||||
|
||||
static void
|
||||
resizeList(WMList *lPtr, unsigned int width, unsigned int height)
|
||||
{
|
||||
W_ResizeView(lPtr->view, width, height);
|
||||
|
||||
WMResizeWidget(lPtr->vScroller, 1, height-2);
|
||||
|
||||
lPtr->fullFitLines = (height - 4) / lPtr->itemHeight;
|
||||
if (lPtr->fullFitLines * lPtr->itemHeight < height-4) {
|
||||
updateGeometry(WMList *lPtr)
|
||||
{
|
||||
lPtr->fullFitLines = (lPtr->view->size.height - 4) / lPtr->itemHeight;
|
||||
if (lPtr->fullFitLines * lPtr->itemHeight < lPtr->view->size.height - 4) {
|
||||
lPtr->flags.dontFitAll = 1;
|
||||
} else {
|
||||
lPtr->flags.dontFitAll = 0;
|
||||
@@ -827,6 +828,17 @@ resizeList(WMList *lPtr, unsigned int width, unsigned int height)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
resizeList(WMList *lPtr, unsigned int width, unsigned int height)
|
||||
{
|
||||
W_ResizeView(lPtr->view, width, height);
|
||||
|
||||
WMResizeWidget(lPtr->vScroller, 1, height-2);
|
||||
|
||||
updateGeometry(lPtr);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
destroyList(List *lPtr)
|
||||
{
|
||||
|
||||
@@ -512,17 +512,17 @@ W_ResizeView(W_View *view, unsigned int width, unsigned int height)
|
||||
void
|
||||
W_RedisplayView(W_View *view)
|
||||
{
|
||||
XExposeEvent ev;
|
||||
XEvent ev;
|
||||
|
||||
if (!view->flags.mapped)
|
||||
return;
|
||||
|
||||
ev.type = Expose;
|
||||
ev.display = view->screen->display;
|
||||
ev.window = view->window;
|
||||
ev.count = 0;
|
||||
ev.xexpose.type = Expose;
|
||||
ev.xexpose.display = view->screen->display;
|
||||
ev.xexpose.window = view->window;
|
||||
ev.xexpose.count = 0;
|
||||
|
||||
WMHandleEvent((XEvent*)&ev);
|
||||
WMHandleEvent(&ev);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
|
||||
#include "WPrefs.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "TexturePanel.h"
|
||||
|
||||
typedef struct _Panel {
|
||||
@@ -54,17 +57,17 @@ typedef struct _Panel {
|
||||
proplist_t menuTex;
|
||||
proplist_t mtitleTex;
|
||||
proplist_t backTex;
|
||||
|
||||
int ftitleIndex;
|
||||
int utitleIndex;
|
||||
int ptitleIndex;
|
||||
int iconIndex;
|
||||
int menuIndex;
|
||||
int mtitleIndex;
|
||||
int backIndex;
|
||||
|
||||
int textureIndex[8];
|
||||
|
||||
WMFont *smallFont;
|
||||
WMFont *normalFont;
|
||||
WMFont *selectedFont;
|
||||
WMFont *boldFont;
|
||||
|
||||
TexturePanel *texturePanel;
|
||||
|
||||
WMPixmap *onLed;
|
||||
WMPixmap *offLed;
|
||||
|
||||
/* for preview shit */
|
||||
Pixmap preview;
|
||||
@@ -75,9 +78,26 @@ typedef struct _Panel {
|
||||
Pixmap back;
|
||||
Pixmap mtitle;
|
||||
Pixmap mitem;
|
||||
|
||||
char *fprefix;
|
||||
} _Panel;
|
||||
|
||||
|
||||
typedef struct {
|
||||
char *title;
|
||||
char *texture;
|
||||
proplist_t prop;
|
||||
Pixmap preview;
|
||||
|
||||
char *path;
|
||||
|
||||
char selectedFor;
|
||||
unsigned current:1;
|
||||
} TextureListItem;
|
||||
|
||||
|
||||
static void showData(_Panel *panel);
|
||||
|
||||
|
||||
#define ICON_FILE "appearance"
|
||||
|
||||
@@ -87,23 +107,249 @@ typedef struct _Panel {
|
||||
#define TEXTR_FILE "textr"
|
||||
|
||||
|
||||
|
||||
/* XPM */
|
||||
static char * blueled_xpm[] = {
|
||||
"8 8 17 1",
|
||||
" c None",
|
||||
". c #020204",
|
||||
"+ c #16B6FC",
|
||||
"@ c #176AFC",
|
||||
"# c #163AFC",
|
||||
"$ c #72D2FC",
|
||||
"% c #224CF4",
|
||||
"& c #76D6FC",
|
||||
"* c #16AAFC",
|
||||
"= c #CEE9FC",
|
||||
"- c #229EFC",
|
||||
"; c #164CFC",
|
||||
"> c #FAFEFC",
|
||||
", c #2482FC",
|
||||
"' c #1652FC",
|
||||
") c #1E76FC",
|
||||
"! c #1A60FC",
|
||||
" .... ",
|
||||
" .=>-@. ",
|
||||
".=>$@@'.",
|
||||
".=$@!;;.",
|
||||
".!@*+!#.",
|
||||
".#'*+*,.",
|
||||
" .@)@,. ",
|
||||
" .... "};
|
||||
|
||||
|
||||
/* XPM */
|
||||
static char *blueled2_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
" 8 8 17 1",
|
||||
/* colors */
|
||||
". c None",
|
||||
"# c #090909",
|
||||
"a c #4b63a4",
|
||||
"b c #011578",
|
||||
"c c #264194",
|
||||
"d c #04338c",
|
||||
"e c #989dac",
|
||||
"f c #011a7c",
|
||||
"g c #465c9c",
|
||||
"h c #03278a",
|
||||
"i c #6175ac",
|
||||
"j c #011e74",
|
||||
"k c #043a90",
|
||||
"l c #042f94",
|
||||
"m c #0933a4",
|
||||
"n c #022184",
|
||||
"o c #012998",
|
||||
/* pixels */
|
||||
"..####..",
|
||||
".#aimn#.",
|
||||
"#aechnf#",
|
||||
"#gchnjf#",
|
||||
"#jndknb#",
|
||||
"#bjdddl#",
|
||||
".#nono#.",
|
||||
"..####.."
|
||||
};
|
||||
|
||||
|
||||
|
||||
#define FTITLE (1<<0)
|
||||
#define UTITLE (1<<1)
|
||||
#define OTITLE (1<<2)
|
||||
#define ICON (1<<3)
|
||||
#define BACK (1<<4)
|
||||
#define MTITLE (1<<5)
|
||||
#define MITEM (1<<6)
|
||||
#define MTITLE (1<<3)
|
||||
#define MITEM (1<<4)
|
||||
#define ICON (1<<5)
|
||||
#define BACK (1<<6)
|
||||
#define EVERYTHING 0xff
|
||||
|
||||
|
||||
static Pixmap
|
||||
renderTexture(_Panel *panel, char *texture, int width, int height,
|
||||
Bool bordered)
|
||||
|
||||
|
||||
#define TEXPREV_WIDTH 40
|
||||
#define TEXPREV_HEIGHT 24
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static void
|
||||
str2rcolor(RContext *rc, char *name, RColor *color)
|
||||
{
|
||||
return None;
|
||||
XColor xcolor;
|
||||
|
||||
XParseColor(rc->dpy, rc->cmap, name, &xcolor);
|
||||
|
||||
color->alpha = 255;
|
||||
color->red = xcolor.red >> 8;
|
||||
color->green = xcolor.green >> 8;
|
||||
color->blue = xcolor.blue >> 8;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
dumpRImage(char *path, RImage *image)
|
||||
{
|
||||
FILE *f;
|
||||
|
||||
f = fopen(path, "w");
|
||||
if (!f) {
|
||||
wsyserror(path);
|
||||
return;
|
||||
}
|
||||
fprintf(f, "%02x%02x%1x", image->width, image->height,
|
||||
image->data[3]!=NULL ? 4 : 3);
|
||||
|
||||
fwrite(image->data[0], 1, image->width * image->height, f);
|
||||
fwrite(image->data[1], 1, image->width * image->height, f);
|
||||
fwrite(image->data[2], 1, image->width * image->height, f);
|
||||
if (image->data[3])
|
||||
fwrite(image->data[3], 1, image->width * image->height, f);
|
||||
|
||||
if (fclose(f) < 0) {
|
||||
wsyserror(path);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static Pixmap
|
||||
renderTexture(WMScreen *scr, proplist_t texture, int width, int height,
|
||||
char *path, Bool bordered)
|
||||
{
|
||||
char *type;
|
||||
RImage *image;
|
||||
Pixmap pixmap;
|
||||
RContext *rc = WMScreenRContext(scr);
|
||||
char *str;
|
||||
RColor rcolor;
|
||||
|
||||
|
||||
type = PLGetString(PLGetArrayElement(texture, 0));
|
||||
|
||||
image = RCreateImage(width, height, False);
|
||||
|
||||
if (strcasecmp(type, "solid")==0) {
|
||||
|
||||
str = PLGetString(PLGetArrayElement(texture, 1));
|
||||
|
||||
str2rcolor(rc, str, &rcolor);
|
||||
|
||||
RClearImage(image, &rcolor);
|
||||
} else if (strcasecmp(&type[1], "gradient")==0) {
|
||||
int style;
|
||||
RColor rcolor2;
|
||||
|
||||
switch (toupper(type[0])) {
|
||||
case 'V':
|
||||
style = RVerticalGradient;
|
||||
break;
|
||||
case 'H':
|
||||
style = RHorizontalGradient;
|
||||
break;
|
||||
case 'D':
|
||||
style = RDiagonalGradient;
|
||||
break;
|
||||
}
|
||||
|
||||
str = PLGetString(PLGetArrayElement(texture, 1));
|
||||
str2rcolor(rc, str, &rcolor);
|
||||
str = PLGetString(PLGetArrayElement(texture, 2));
|
||||
str2rcolor(rc, str, &rcolor2);
|
||||
|
||||
image = RRenderGradient(width, height, &rcolor, &rcolor2, style);
|
||||
} else if (strcasecmp(&type[2], "gradient")==0) {
|
||||
int style;
|
||||
RColor **colors;
|
||||
int i, j;
|
||||
|
||||
switch (toupper(type[1])) {
|
||||
case 'V':
|
||||
style = RVerticalGradient;
|
||||
break;
|
||||
case 'H':
|
||||
style = RHorizontalGradient;
|
||||
break;
|
||||
case 'D':
|
||||
style = RDiagonalGradient;
|
||||
break;
|
||||
}
|
||||
|
||||
j = PLGetNumberOfElements(texture);
|
||||
|
||||
if (j > 0) {
|
||||
colors = wmalloc(j * sizeof(RColor*));
|
||||
|
||||
for (i = 2; i < j; i++) {
|
||||
str = PLGetString(PLGetArrayElement(texture, i));
|
||||
colors[i-2] = wmalloc(sizeof(RColor));
|
||||
str2rcolor(rc, str, colors[i-2]);
|
||||
}
|
||||
colors[i-2] = NULL;
|
||||
|
||||
image = RRenderMultiGradient(width, height, colors, style);
|
||||
|
||||
for (i = 0; colors[i]!=NULL; i++)
|
||||
free(colors[i]);
|
||||
free(colors);
|
||||
}
|
||||
} else if (strcasecmp(&type[1], "pixmap")==0) {
|
||||
int style;
|
||||
RImage *timage;
|
||||
int w, h;
|
||||
char *path;
|
||||
|
||||
str = PLGetString(PLGetArrayElement(texture, 1));
|
||||
|
||||
path = wfindfileinarray(GetObjectForKey("PixmapPath"), str);
|
||||
timage = RLoadImage(rc, path, 0);
|
||||
free(path);
|
||||
if (timage) {
|
||||
w = timage->width;
|
||||
h = timage->height;
|
||||
|
||||
if (w - TEXPREV_WIDTH > h - TEXPREV_HEIGHT) {
|
||||
h = (w * TEXPREV_HEIGHT)/TEXPREV_WIDTH;
|
||||
} else {
|
||||
w = (h * TEXPREV_WIDTH)/TEXPREV_HEIGHT;
|
||||
}
|
||||
|
||||
image = RScaleImage(timage, w, h);
|
||||
RDestroyImage(timage);
|
||||
}
|
||||
}
|
||||
|
||||
if (path) {
|
||||
dumpRImage(path, image);
|
||||
}
|
||||
|
||||
RConvertImage(rc, image, &pixmap);
|
||||
RDestroyImage(image);
|
||||
|
||||
return pixmap;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
static void
|
||||
updatePreviewBox(_Panel *panel, int elements)
|
||||
@@ -125,7 +371,7 @@ updatePreviewBox(_Panel *panel, int elements)
|
||||
if (panel->ftitle)
|
||||
XFreePixmap(dpy, panel->ftitle);
|
||||
|
||||
panel->ftitle = renderTexture(panel, tmp, 180, 20, True);
|
||||
panel->ftitle = renderTexture(scr, tmp, 180, 20, NULL, True);
|
||||
free(tmp);
|
||||
}
|
||||
|
||||
@@ -163,11 +409,193 @@ getStrArrayForKey(char *key)
|
||||
|
||||
|
||||
static void
|
||||
newTexture(WMButton *bPtr, void *data)
|
||||
cancelNewTexture(void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
|
||||
HideTexturePanel(panel->texturePanel);
|
||||
}
|
||||
|
||||
|
||||
static char*
|
||||
makeFileName(char *prefix, char *name)
|
||||
{
|
||||
char *fname, *str;
|
||||
int i;
|
||||
|
||||
str = wstrappend(prefix, name);
|
||||
fname = wstrdup(str);
|
||||
|
||||
i = 1;
|
||||
while (access(fname, F_OK)==0) {
|
||||
char buf[16];
|
||||
|
||||
free(fname);
|
||||
sprintf(buf, "%i", i++);
|
||||
fname = wstrappend(str, buf);
|
||||
}
|
||||
free(str);
|
||||
|
||||
return fname;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
okNewTexture(void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
WMListItem *item;
|
||||
char *name;
|
||||
char *str;
|
||||
proplist_t prop;
|
||||
TextureListItem *titem;
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
|
||||
titem = wmalloc(sizeof(TextureListItem));
|
||||
memset(titem, 0, sizeof(TextureListItem));
|
||||
|
||||
HideTexturePanel(panel->texturePanel);
|
||||
|
||||
name = GetTexturePanelTextureName(panel->texturePanel);
|
||||
|
||||
prop = GetTexturePanelTexture(panel->texturePanel);
|
||||
|
||||
str = PLGetDescription(prop);
|
||||
|
||||
titem->title = name;
|
||||
titem->prop = prop;
|
||||
titem->texture = str;
|
||||
titem->selectedFor = 0;
|
||||
|
||||
titem->path = makeFileName(panel->fprefix, name);
|
||||
titem->preview = renderTexture(scr, prop, TEXPREV_WIDTH, TEXPREV_HEIGHT,
|
||||
titem->path, False);
|
||||
|
||||
item = WMAddListItem(panel->texLs, "");
|
||||
item->clientData = titem;
|
||||
|
||||
WMSetListPosition(panel->texLs, WMGetListNumberOfRows(panel->texLs));
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
okEditTexture(void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
WMListItem *item;
|
||||
char *name;
|
||||
char *str;
|
||||
proplist_t prop;
|
||||
TextureListItem *titem;
|
||||
|
||||
item = WMGetListItem(panel->texLs, WMGetListSelectedItemRow(panel->texLs));
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
HideTexturePanel(panel->texturePanel);
|
||||
|
||||
name = GetTexturePanelTextureName(panel->texturePanel);
|
||||
|
||||
prop = GetTexturePanelTexture(panel->texturePanel);
|
||||
|
||||
str = PLGetDescription(prop);
|
||||
|
||||
free(titem->title);
|
||||
titem->title = name;
|
||||
|
||||
PLRelease(titem->prop);
|
||||
titem->prop = prop;
|
||||
|
||||
free(titem->texture);
|
||||
titem->texture = str;
|
||||
|
||||
XFreePixmap(WMScreenDisplay(WMWidgetScreen(panel->texLs)), titem->preview);
|
||||
titem->preview = renderTexture(WMWidgetScreen(panel->texLs), titem->prop,
|
||||
TEXPREV_WIDTH, TEXPREV_HEIGHT,
|
||||
titem->path, False);
|
||||
|
||||
WMRedisplayWidget(panel->texLs);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
editTexture(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
WMListItem *item;
|
||||
TextureListItem *titem;
|
||||
|
||||
item = WMGetListItem(panel->texLs, WMGetListSelectedItemRow(panel->texLs));
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
SetTexturePanelTexture(panel->texturePanel, titem->title, titem->prop);
|
||||
|
||||
SetTexturePanelCancelAction(panel->texturePanel, cancelNewTexture, panel);
|
||||
SetTexturePanelOkAction(panel->texturePanel, okEditTexture, panel);
|
||||
|
||||
SetTexturePanelPixmapPath(panel->texturePanel,
|
||||
GetObjectForKey("PixmapPath"));
|
||||
ShowTexturePanel(panel->texturePanel);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
newTexture(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
|
||||
|
||||
SetTexturePanelTexture(panel->texturePanel, "New Texture", NULL);
|
||||
|
||||
SetTexturePanelCancelAction(panel->texturePanel, cancelNewTexture, panel);
|
||||
|
||||
SetTexturePanelOkAction(panel->texturePanel, okNewTexture, panel);
|
||||
|
||||
SetTexturePanelPixmapPath(panel->texturePanel,
|
||||
GetObjectForKey("PixmapPath"));
|
||||
ShowTexturePanel(panel->texturePanel);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
deleteTexture(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
WMListItem *item;
|
||||
TextureListItem *titem;
|
||||
int row;
|
||||
int section;
|
||||
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
row = WMGetListSelectedItemRow(panel->texLs);
|
||||
item = WMGetListItem(panel->texLs, row);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
if (titem->selectedFor & (1 << section)) {
|
||||
TextureListItem *titem2;
|
||||
|
||||
panel->textureIndex[section] = section;
|
||||
item = WMGetListItem(panel->texLs, section);
|
||||
titem2 = (TextureListItem*)item->clientData;
|
||||
titem2->selectedFor |= 1 << section;
|
||||
}
|
||||
|
||||
free(titem->title);
|
||||
free(titem->texture);
|
||||
PLRelease(titem->prop);
|
||||
if (titem->path) {
|
||||
if (remove(titem->path) < 0 && errno != ENOENT) {
|
||||
wsyserror("could not remove file %s", titem->path);
|
||||
}
|
||||
free(titem->path);
|
||||
}
|
||||
|
||||
free(titem);
|
||||
|
||||
WMRemoveListItem(panel->texLs, row);
|
||||
WMSetButtonEnabled(panel->delB, False);
|
||||
}
|
||||
|
||||
|
||||
@@ -179,34 +607,183 @@ changePage(WMWidget *w, void *data)
|
||||
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
|
||||
WMSelectListItem(panel->texLs, section);
|
||||
WMSelectListItem(panel->texLs, panel->textureIndex[section]);
|
||||
|
||||
WMSetListPosition(panel->texLs, panel->textureIndex[section]
|
||||
- WMGetListNumberOfRows(panel->texLs)/2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
selectTexture(WMWidget *w, void *data)
|
||||
textureClick(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
int section;
|
||||
int i;
|
||||
WMListItem *item;
|
||||
TextureListItem *titem;
|
||||
|
||||
section = WMGetListSelectedItemRow(panel->secP);
|
||||
|
||||
i = WMGetListSelectedItemRow(panel->texLs);
|
||||
|
||||
item = WMGetListItem(panel->texLs, i);
|
||||
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
if (titem->current) {
|
||||
WMSetButtonEnabled(panel->delB, False);
|
||||
} else {
|
||||
WMSetButtonEnabled(panel->delB, True);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
textureDoubleClick(WMWidget *w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel*)data;
|
||||
int i, section;
|
||||
WMListItem *item;
|
||||
TextureListItem *titem;
|
||||
|
||||
/* unselect old texture */
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[section]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
titem->selectedFor &= ~(1 << section);
|
||||
|
||||
/* select new texture */
|
||||
i = WMGetListSelectedItemRow(panel->texLs);
|
||||
|
||||
item = WMGetListItem(panel->texLs, i);
|
||||
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
titem->selectedFor |= 1<<section;
|
||||
|
||||
panel->textureIndex[section] = i;
|
||||
|
||||
WMRedisplayWidget(panel->texLs);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static void
|
||||
paintListItem(WMList *lPtr, int index, Drawable d, char *text, int state,
|
||||
WMRect *rect)
|
||||
{
|
||||
_Panel *panel = (_Panel*)WMGetHangedData(lPtr);
|
||||
WMScreen *scr = WMWidgetScreen(lPtr);
|
||||
int width, height, x, y;
|
||||
Display *dpy = WMScreenDisplay(scr);
|
||||
WMColor *white = WMWhiteColor(scr);
|
||||
WMListItem *item;
|
||||
WMColor *black = WMBlackColor(scr);
|
||||
TextureListItem *titem;
|
||||
|
||||
width = rect->size.width;
|
||||
height = rect->size.height;
|
||||
x = rect->pos.x;
|
||||
y = rect->pos.y;
|
||||
|
||||
if (state & WLDSSelected)
|
||||
XFillRectangle(dpy, d, WMColorGC(white), x, y, width, height);
|
||||
else
|
||||
XClearArea(dpy, d, x, y, width, height, False);
|
||||
|
||||
item = WMGetListItem(lPtr, index);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
if (titem->preview)
|
||||
XCopyArea(dpy, titem->preview, d, WMColorGC(black), 0, 0, TEXPREV_WIDTH,
|
||||
TEXPREV_HEIGHT, x + 5, y + 5);
|
||||
|
||||
if ((1 << WMGetPopUpButtonSelectedItem(panel->secP)) & titem->selectedFor)
|
||||
WMDrawPixmap(panel->onLed, d, x + TEXPREV_WIDTH + 10, y + 6);
|
||||
else if (titem->selectedFor)
|
||||
WMDrawPixmap(panel->offLed, d, x + TEXPREV_WIDTH + 10, y + 6);
|
||||
|
||||
WMDrawString(scr, d, WMColorGC(black), panel->boldFont,
|
||||
x + TEXPREV_WIDTH + 22, y + 2, titem->title,
|
||||
strlen(titem->title));
|
||||
|
||||
WMDrawString(scr, d, WMColorGC(black), panel->smallFont,
|
||||
x + TEXPREV_WIDTH + 14, y + 18, titem->texture,
|
||||
strlen(titem->texture));
|
||||
|
||||
|
||||
WMReleaseColor(white);
|
||||
WMReleaseColor(black);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static Pixmap
|
||||
loadRImage(WMScreen *scr, char *path)
|
||||
{
|
||||
FILE *f;
|
||||
RImage *image;
|
||||
int w, h, d;
|
||||
int i;
|
||||
Pixmap pixmap;
|
||||
|
||||
f = fopen(path, "r");
|
||||
if (!f)
|
||||
return None;
|
||||
|
||||
fscanf(f, "%02x%02x%1x", &w, &h, &d);
|
||||
|
||||
image = RCreateImage(w, h, d == 4);
|
||||
for (i = 0; i < d; i++) {
|
||||
fread(image->data[i], 1, w*h, f);
|
||||
}
|
||||
fclose(f);
|
||||
|
||||
RConvertImage(WMScreenRContext(scr), image, &pixmap);
|
||||
RDestroyImage(image);
|
||||
|
||||
return pixmap;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
fillTextureList(WMList *lPtr)
|
||||
{
|
||||
proplist_t textures;
|
||||
proplist_t textureList;
|
||||
proplist_t texture;
|
||||
WMUserDefaults *udb = WMGetStandardUserDefaults();
|
||||
int i;
|
||||
TextureListItem *titem;
|
||||
WMScreen *scr = WMWidgetScreen(lPtr);
|
||||
|
||||
textures = WMGetUDObjectForKey(udb, "Textures");
|
||||
|
||||
if (!textures)
|
||||
textureList = WMGetUDObjectForKey(udb, "TextureList");
|
||||
if (!textureList)
|
||||
return;
|
||||
|
||||
|
||||
for (i = 0; i < PLGetNumberOfElements(textureList); i++) {
|
||||
WMListItem *item;
|
||||
|
||||
texture = PLGetArrayElement(textureList, i);
|
||||
|
||||
titem = wmalloc(sizeof(TextureListItem));
|
||||
memset(titem, 0, sizeof(TextureListItem));
|
||||
|
||||
titem->title = wstrdup(PLGetString(PLGetArrayElement(texture, 0)));
|
||||
titem->prop = PLRetain(PLGetArrayElement(texture, 1));
|
||||
titem->texture = PLGetDescription(titem->prop);
|
||||
titem->selectedFor = 0;
|
||||
titem->path = wstrdup(PLGetString(PLGetArrayElement(texture, 2)));
|
||||
|
||||
titem->preview = loadRImage(scr, titem->path);
|
||||
if (!titem->preview) {
|
||||
titem->preview = renderTexture(scr, titem->prop, TEXPREV_WIDTH,
|
||||
TEXPREV_HEIGHT, NULL, False);
|
||||
}
|
||||
item = WMAddListItem(lPtr, "");
|
||||
item->clientData = titem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -218,6 +795,35 @@ createPanel(Panel *p)
|
||||
WMFont *font;
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
|
||||
char *tmp;
|
||||
Bool ok = True;
|
||||
|
||||
panel->fprefix = wstrappend(wusergnusteppath(), "/.AppInfo");
|
||||
|
||||
if (access(panel->fprefix, F_OK)!=0) {
|
||||
if (mkdir(panel->fprefix, 0755) < 0) {
|
||||
wsyserror(panel->fprefix);
|
||||
ok = False;
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
tmp = wstrappend(panel->fprefix, "/WPrefs/");
|
||||
free(panel->fprefix);
|
||||
panel->fprefix = tmp;
|
||||
if (access(panel->fprefix, F_OK)!=0) {
|
||||
if (mkdir(panel->fprefix, 0755) < 0) {
|
||||
wsyserror(panel->fprefix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
panel->smallFont = WMSystemFontOfSize(scr, 10);
|
||||
panel->normalFont = WMSystemFontOfSize(scr, 12);
|
||||
panel->boldFont = WMBoldSystemFontOfSize(scr, 12);
|
||||
|
||||
panel->onLed = WMCreatePixmapFromXPMData(scr, blueled_xpm);
|
||||
panel->offLed = WMCreatePixmapFromXPMData(scr, blueled2_xpm);
|
||||
|
||||
panel->frame = WMCreateFrame(panel->win);
|
||||
WMResizeWidget(panel->frame, FRAME_WIDTH, FRAME_HEIGHT);
|
||||
WMMoveWidget(panel->frame, FRAME_LEFT, FRAME_TOP);
|
||||
@@ -238,7 +844,8 @@ createPanel(Panel *p)
|
||||
WMAddPopUpButtonItem(panel->secP, _("Titlebar of Menus"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Menu Items"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Icon Background"));
|
||||
WMAddPopUpButtonItem(panel->secP, _("Workspace Backgrounds"));
|
||||
/* WMAddPopUpButtonItem(panel->secP, _("Workspace Backgrounds"));
|
||||
*/
|
||||
WMSetPopUpButtonAction(panel->secP, changePage, panel);
|
||||
|
||||
/* texture list */
|
||||
@@ -263,7 +870,12 @@ createPanel(Panel *p)
|
||||
panel->texLs = WMCreateList(panel->frame);
|
||||
WMResizeWidget(panel->texLs, 225, 144);
|
||||
WMMoveWidget(panel->texLs, 285, 30);
|
||||
|
||||
WMSetListUserDrawItemHeight(panel->texLs, 35);
|
||||
WMSetListUserDrawProc(panel->texLs, paintListItem);
|
||||
WMHangData(panel->texLs, panel);
|
||||
WMSetListAction(panel->texLs, textureClick, panel);
|
||||
WMSetListDoubleAction(panel->texLs, textureDoubleClick, panel);
|
||||
|
||||
/* command buttons */
|
||||
|
||||
font = WMSystemFontOfSize(scr, 10);
|
||||
@@ -275,6 +887,7 @@ createPanel(Panel *p)
|
||||
WMSetButtonFont(panel->newB, font);
|
||||
WMSetButtonImagePosition(panel->newB, WIPAbove);
|
||||
WMSetButtonText(panel->newB, _("New"));
|
||||
WMSetButtonAction(panel->newB, newTexture, panel);
|
||||
SetButtonAlphaImage(scr, panel->newB, TNEW_FILE);
|
||||
|
||||
panel->ripB = WMCreateCommandButton(panel->frame);
|
||||
@@ -285,6 +898,8 @@ createPanel(Panel *p)
|
||||
WMSetButtonText(panel->ripB, _("Extract..."));
|
||||
SetButtonAlphaImage(scr, panel->ripB, TEXTR_FILE);
|
||||
|
||||
WMSetButtonEnabled(panel->ripB, False);
|
||||
|
||||
panel->editB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->editB, 56, 48);
|
||||
WMMoveWidget(panel->editB, 397, 180);
|
||||
@@ -292,7 +907,7 @@ createPanel(Panel *p)
|
||||
WMSetButtonImagePosition(panel->editB, WIPAbove);
|
||||
WMSetButtonText(panel->editB, _("Edit"));
|
||||
SetButtonAlphaImage(scr, panel->editB, TEDIT_FILE);
|
||||
WMSetButtonEnabled(panel->editB, False);
|
||||
WMSetButtonAction(panel->editB, editTexture, panel);
|
||||
|
||||
panel->delB = WMCreateCommandButton(panel->frame);
|
||||
WMResizeWidget(panel->delB, 56, 48);
|
||||
@@ -302,6 +917,7 @@ createPanel(Panel *p)
|
||||
WMSetButtonText(panel->delB, _("Delete"));
|
||||
SetButtonAlphaImage(scr, panel->delB, TDEL_FILE);
|
||||
WMSetButtonEnabled(panel->delB, False);
|
||||
WMSetButtonAction(panel->delB, deleteTexture, panel);
|
||||
|
||||
WMReleaseFont(font);
|
||||
|
||||
@@ -316,61 +932,133 @@ createPanel(Panel *p)
|
||||
|
||||
fillTextureList(panel->texLs);
|
||||
|
||||
panel->texturePanel = CreateTexturePanel(panel->win);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static proplist_t
|
||||
setupTextureFor(WMList *list, char *key, char *defValue, char *title)
|
||||
setupTextureFor(WMList *list, char *key, char *defValue, char *title,
|
||||
int index)
|
||||
{
|
||||
WMListItem *item;
|
||||
char *tex, *str;
|
||||
proplist_t prop;
|
||||
TextureListItem *titem;
|
||||
|
||||
prop = GetObjectForKey(key);
|
||||
if (!prop) {
|
||||
prop = PLMakeString(defValue);
|
||||
titem = wmalloc(sizeof(TextureListItem));
|
||||
memset(titem, 0, sizeof(TextureListItem));
|
||||
|
||||
titem->title = wstrdup(title);
|
||||
titem->prop = GetObjectForKey(key);
|
||||
if (!titem->prop) {
|
||||
titem->prop = PLGetProplistWithDescription(defValue);
|
||||
} else {
|
||||
PLRetain(titem->prop);
|
||||
}
|
||||
tex = PLGetDescription(prop);
|
||||
str = wstrappend(title, tex);
|
||||
free(tex);
|
||||
item = WMAddListItem(list, str);
|
||||
free(str);
|
||||
item->clientData = prop;
|
||||
titem->texture = PLGetDescription((proplist_t)titem->prop);
|
||||
titem->current = 1;
|
||||
titem->selectedFor = 1<<index;
|
||||
|
||||
return prop;
|
||||
titem->preview = renderTexture(WMWidgetScreen(list), titem->prop,
|
||||
TEXPREV_WIDTH, TEXPREV_HEIGHT, NULL, False);
|
||||
|
||||
item = WMAddListItem(list, "");
|
||||
item->clientData = titem;
|
||||
|
||||
return titem->prop;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
showData(_Panel *panel)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
panel->ftitleTex = setupTextureFor(panel->texLs, "FTitleBack",
|
||||
"(solid, black)", "[Focused]:");
|
||||
panel->ftitleIndex = 0;
|
||||
"(solid, black)", "[Focused]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
|
||||
panel->utitleTex = setupTextureFor(panel->texLs, "UTitleBack",
|
||||
"(solid, gray)", "[Unfocused]:");
|
||||
panel->utitleIndex = 1;
|
||||
"(solid, gray)", "[Unfocused]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
|
||||
panel->ptitleTex = setupTextureFor(panel->texLs, "PTitleBack",
|
||||
"(solid, \"#616161\")",
|
||||
"[Owner of Focused]:");
|
||||
panel->ptitleIndex = 2;
|
||||
"[Owner of Focused]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
|
||||
panel->mtitleTex = setupTextureFor(panel->texLs, "MenuTitleBack",
|
||||
"(solid, black)", "[Menu Title]:");
|
||||
panel->mtitleIndex = 3;
|
||||
"(solid, black)", "[Menu Title]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
|
||||
panel->menuTex = setupTextureFor(panel->texLs, "MenuTextBack",
|
||||
"(solid, gray)", "[Menu Item]:");
|
||||
panel->menuIndex = 4;
|
||||
"(solid, gray)", "[Menu Item]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
|
||||
panel->iconTex = setupTextureFor(panel->texLs, "IconBack",
|
||||
"(solid, gray)", "[Icon]:");
|
||||
panel->iconIndex = 5;
|
||||
|
||||
"(solid, gray)", "[Icon]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
/*
|
||||
panel->backTex = setupTextureFor(panel->texLs, "WorkspaceBack",
|
||||
"(solid, black)", "[Workspace]:");
|
||||
panel->backIndex = 6;
|
||||
"(solid, black)", "[Workspace]", i);
|
||||
panel->textureIndex[i] = i++;
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
storeData(_Panel *panel)
|
||||
{
|
||||
proplist_t textureList;
|
||||
proplist_t texture;
|
||||
int i;
|
||||
TextureListItem *titem;
|
||||
WMListItem *item;
|
||||
WMUserDefaults *udb = WMGetStandardUserDefaults();
|
||||
|
||||
textureList = PLMakeArrayFromElements(NULL, NULL);
|
||||
|
||||
/* store list of textures */
|
||||
for (i = 6; i < WMGetListNumberOfRows(panel->texLs); i++) {
|
||||
item = WMGetListItem(panel->texLs, i);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
|
||||
texture = PLMakeArrayFromElements(PLMakeString(titem->title),
|
||||
PLRetain(titem->prop),
|
||||
PLMakeString(titem->path),
|
||||
NULL);
|
||||
|
||||
PLAppendArrayElement(textureList, texture);
|
||||
}
|
||||
|
||||
WMSetUDObjectForKey(udb, textureList, "TextureList");
|
||||
PLRelease(textureList);
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[0]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
SetObjectForKey(titem->prop, "FTitleBack");
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[1]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
SetObjectForKey(titem->prop, "UTitleBack");
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[2]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
SetObjectForKey(titem->prop, "PTitleBack");
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[3]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
SetObjectForKey(titem->prop, "MenuTextBack");
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[4]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
SetObjectForKey(titem->prop, "MenuItemBack");
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[5]);
|
||||
titem = (TextureListItem*)item->clientData;
|
||||
SetObjectForKey(titem->prop, "IconBack");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -388,6 +1076,7 @@ InitAppearance(WMScreen *scr, WMWindow *win)
|
||||
panel->win = win;
|
||||
|
||||
panel->callbacks.createWidgets = createPanel;
|
||||
panel->callbacks.updateDomain = storeData;
|
||||
|
||||
AddSection(panel, ICON_FILE);
|
||||
|
||||
|
||||
@@ -884,7 +884,6 @@ storeCommandInScript(char *cmd, char *line)
|
||||
system(buffer);
|
||||
|
||||
end:
|
||||
free(p);
|
||||
free(path);
|
||||
if (f)
|
||||
fclose(f);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,8 +28,7 @@
|
||||
typedef struct _TexturePanel TexturePanel;
|
||||
|
||||
|
||||
|
||||
TexturePanel *CreateTexturePanel(WMScreen *scr);
|
||||
TexturePanel *CreateTexturePanel(WMWindow *keyWindow);
|
||||
|
||||
void DestroyTexturePanel(TexturePanel *panel);
|
||||
|
||||
@@ -37,19 +36,24 @@ void ShowTexturePanel(TexturePanel *panel);
|
||||
|
||||
void HideTexturePanel(TexturePanel *panel);
|
||||
|
||||
void SetTexturePanelTexture(TexturePanel *panel, char *texture);
|
||||
void SetTexturePanelTexture(TexturePanel *panel, char *name,
|
||||
proplist_t texture);
|
||||
|
||||
char *GetTexturePanelTextureString(TexturePanel *panel);
|
||||
|
||||
char *GetTexturePanelTextureName(TexturePanel *panel);
|
||||
|
||||
proplist_t GetTexturePanelTexture(TexturePanel *panel);
|
||||
|
||||
RImage *RenderTexturePanelTexture(TexturePanel *panel, unsigned width,
|
||||
unsigned height);
|
||||
|
||||
void SetTexturePanelOkAction(TexturePanel *panel, WMAction *action,
|
||||
void SetTexturePanelOkAction(TexturePanel *panel, WMCallback *action,
|
||||
void *clientData);
|
||||
|
||||
void SetTexturePanelCancelAction(TexturePanel *panel, WMAction *action,
|
||||
void SetTexturePanelCancelAction(TexturePanel *panel, WMCallback *action,
|
||||
void *clientData);
|
||||
|
||||
void SetTexturePanelPixmapPath(TexturePanel *panel, proplist_t array);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -518,8 +518,9 @@ Initialize(WMScreen *scr)
|
||||
#endif
|
||||
InitKeyboardShortcuts(scr, WPrefs.win);
|
||||
InitMouseSettings(scr, WPrefs.win);
|
||||
#ifdef not_yet_fully_implemented
|
||||
|
||||
InitAppearance(scr, WPrefs.win);
|
||||
#ifdef not_yet_fully_implemented
|
||||
|
||||
InitText(scr, WPrefs.win);
|
||||
InitThemes(scr, WPrefs.win);
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/****/
|
||||
|
||||
#define WVERSION "0.20"
|
||||
#define WVERSION "0.30"
|
||||
#define WMVERSION "0.51.x"
|
||||
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ main(int argc, char **argv)
|
||||
wfatal(_("could not open display %s"), XDisplayName(display_name));
|
||||
exit(0);
|
||||
}
|
||||
#if 0
|
||||
#if 1
|
||||
XSynchronize(dpy, 1);
|
||||
#endif
|
||||
scr = WMCreateScreen(dpy, DefaultScreen(dpy));
|
||||
|
||||
@@ -45,15 +45,15 @@ WPrefs.pot: $(POTFILES)
|
||||
|
||||
|
||||
install-data-local: $(CATALOGS)
|
||||
$(mkinstalldirs) $(nlsdir)
|
||||
chmod 755 $(nlsdir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
|
||||
chmod 755 $(DESTDIR)$(nlsdir)
|
||||
for n in $(CATALOGS) __DuMmY ; do \
|
||||
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
||||
l=`basename $$n .mo`; \
|
||||
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(nlsdir)/$$l; \
|
||||
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
||||
@@ -219,15 +219,15 @@ WPrefs.pot: $(POTFILES)
|
||||
fi
|
||||
|
||||
install-data-local: $(CATALOGS)
|
||||
$(mkinstalldirs) $(nlsdir)
|
||||
chmod 755 $(nlsdir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
|
||||
chmod 755 $(DESTDIR)$(nlsdir)
|
||||
for n in $(CATALOGS) __DuMmY ; do \
|
||||
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
||||
l=`basename $$n .mo`; \
|
||||
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(nlsdir)/$$l; \
|
||||
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
||||
@@ -44,7 +44,10 @@ tiffdata_DATA = \
|
||||
speed3s.tiff \
|
||||
speed4.tiff \
|
||||
speed4s.tiff \
|
||||
tdel.tiff \
|
||||
tedit.tiff \
|
||||
temp.tiff \
|
||||
textr.tiff \
|
||||
theme.tiff \
|
||||
timer0.tiff \
|
||||
timer0s.tiff \
|
||||
@@ -58,6 +61,7 @@ tiffdata_DATA = \
|
||||
timer4s.tiff \
|
||||
timer5.tiff \
|
||||
timer5s.tiff \
|
||||
tnew.tiff \
|
||||
whandling.tiff \
|
||||
windowfocus.tiff \
|
||||
workspace.tiff \
|
||||
|
||||
@@ -89,7 +89,7 @@ wprefsdir = @wprefsdir@
|
||||
|
||||
tiffdatadir = $(wprefsdir)/tiff
|
||||
|
||||
tiffdata_DATA = advancetonewworkspace.tiff animations.tiff appearance.tiff clip.tiff configs.tiff cycleworkspaces.tiff dock.tiff dontlinkworkspaces.tiff ergonomic.tiff ergowood.tiff expert.tiff fonts.tiff iconprefs.tiff keyboard.tiff keyboardprefs.tiff keyshortcuts.tiff menualign1.tiff menualign2.tiff menuprefs.tiff menus.tiff minimouseleft.tiff minimousemiddle.tiff minimouseright.tiff miscprefs2.tiff moreanim.tiff mousesettings.tiff mousespeed.tiff newstyle.tiff nonopaque.tiff oldstyle.tiff opaque.tiff paths.tiff sound.tiff speed0.tiff speed0s.tiff speed1.tiff speed1s.tiff speed2.tiff speed2s.tiff speed3.tiff speed3s.tiff speed4.tiff speed4s.tiff temp.tiff theme.tiff timer0.tiff timer0s.tiff timer1.tiff timer1s.tiff timer2.tiff timer2s.tiff timer3.tiff timer3s.tiff timer4.tiff timer4s.tiff timer5.tiff timer5s.tiff whandling.tiff windowfocus.tiff workspace.tiff xis.tiff
|
||||
tiffdata_DATA = advancetonewworkspace.tiff animations.tiff appearance.tiff clip.tiff configs.tiff cycleworkspaces.tiff dock.tiff dontlinkworkspaces.tiff ergonomic.tiff ergowood.tiff expert.tiff fonts.tiff iconprefs.tiff keyboard.tiff keyboardprefs.tiff keyshortcuts.tiff menualign1.tiff menualign2.tiff menuprefs.tiff menus.tiff minimouseleft.tiff minimousemiddle.tiff minimouseright.tiff miscprefs2.tiff moreanim.tiff mousesettings.tiff mousespeed.tiff newstyle.tiff nonopaque.tiff oldstyle.tiff opaque.tiff paths.tiff sound.tiff speed0.tiff speed0s.tiff speed1.tiff speed1s.tiff speed2.tiff speed2s.tiff speed3.tiff speed3s.tiff speed4.tiff speed4s.tiff tdel.tiff tedit.tiff temp.tiff textr.tiff theme.tiff timer0.tiff timer0s.tiff timer1.tiff timer1s.tiff timer2.tiff timer2s.tiff timer3.tiff timer3s.tiff timer4.tiff timer4s.tiff timer5.tiff timer5s.tiff tnew.tiff whandling.tiff windowfocus.tiff workspace.tiff xis.tiff
|
||||
|
||||
|
||||
EXTRA_DIST = $(tiffdata_DATA)
|
||||
|
||||
BIN
WPrefs.app/tiff/tdel.tiff
Normal file
BIN
WPrefs.app/tiff/tdel.tiff
Normal file
Binary file not shown.
BIN
WPrefs.app/tiff/tedit.tiff
Normal file
BIN
WPrefs.app/tiff/tedit.tiff
Normal file
Binary file not shown.
BIN
WPrefs.app/tiff/textr.tiff
Normal file
BIN
WPrefs.app/tiff/textr.tiff
Normal file
Binary file not shown.
BIN
WPrefs.app/tiff/tnew.tiff
Normal file
BIN
WPrefs.app/tiff/tnew.tiff
Normal file
Binary file not shown.
@@ -78,3 +78,6 @@
|
||||
/* the place where the configuration is stored
|
||||
* defined by configure */
|
||||
#undef SYSCONFDIR
|
||||
|
||||
/* whether XKB language MODELOCK should be enabled */
|
||||
#undef XKB_MODELOCK
|
||||
|
||||
123
configure
vendored
123
configure
vendored
@@ -751,7 +751,7 @@ fi
|
||||
|
||||
PACKAGE=WindowMaker
|
||||
|
||||
VERSION=0.51.2
|
||||
VERSION=0.52.0
|
||||
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
||||
@@ -3939,7 +3939,10 @@ fi
|
||||
# Check whether --enable-modelock or --disable-modelock was given.
|
||||
if test "${enable_modelock+set}" = set; then
|
||||
enableval="$enable_modelock"
|
||||
X_CFLAGS="$X_CFLAGS -DXKB_MODELOCK"
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define XKB_MODELOCK 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
@@ -3959,7 +3962,7 @@ added_xext=no
|
||||
|
||||
if test "$shape" = yes; then
|
||||
echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
|
||||
echo "configure:3963: checking for XShapeSelectInput in -lXext" >&5
|
||||
echo "configure:3966: checking for XShapeSelectInput in -lXext" >&5
|
||||
ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -3967,7 +3970,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lXext $XLFLAGS $XLIBS $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3971 "configure"
|
||||
#line 3974 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -3978,7 +3981,7 @@ int main() {
|
||||
XShapeSelectInput()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4019,7 +4022,7 @@ fi
|
||||
|
||||
if test "$shm" = yes; then
|
||||
echo $ac_n "checking for XShmAttach in -lXext""... $ac_c" 1>&6
|
||||
echo "configure:4023: checking for XShmAttach in -lXext" >&5
|
||||
echo "configure:4026: checking for XShmAttach in -lXext" >&5
|
||||
ac_lib_var=`echo Xext'_'XShmAttach | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4027,7 +4030,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lXext $XLFLAGS $XLIBS $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4031 "configure"
|
||||
#line 4034 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4038,7 +4041,7 @@ int main() {
|
||||
XShmAttach()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4062,12 +4065,12 @@ fi
|
||||
|
||||
if test "$ok" = yes; then
|
||||
echo $ac_n "checking for shmget""... $ac_c" 1>&6
|
||||
echo "configure:4066: checking for shmget" >&5
|
||||
echo "configure:4069: checking for shmget" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_shmget'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4071 "configure"
|
||||
#line 4074 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char shmget(); below. */
|
||||
@@ -4090,7 +4093,7 @@ shmget();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_shmget=yes"
|
||||
else
|
||||
@@ -4139,7 +4142,7 @@ LIBPL=""
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for PLGetString in -lPropList""... $ac_c" 1>&6
|
||||
echo "configure:4143: checking for PLGetString in -lPropList" >&5
|
||||
echo "configure:4146: checking for PLGetString in -lPropList" >&5
|
||||
ac_lib_var=`echo PropList'_'PLGetString | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4147,7 +4150,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lPropList $X_EXTRA_LIBS $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4151 "configure"
|
||||
#line 4154 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4158,7 +4161,7 @@ int main() {
|
||||
PLGetString()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4187,17 +4190,17 @@ CPPFLAGS_old="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||
ac_safe=`echo "proplist.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for proplist.h""... $ac_c" 1>&6
|
||||
echo "configure:4191: checking for proplist.h" >&5
|
||||
echo "configure:4194: checking for proplist.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4196 "configure"
|
||||
#line 4199 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <proplist.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4201: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4204: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4265,7 +4268,7 @@ if test "$xpm" = yes; then
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for XpmCreatePixmapFromData in -lXpm""... $ac_c" 1>&6
|
||||
echo "configure:4269: checking for XpmCreatePixmapFromData in -lXpm" >&5
|
||||
echo "configure:4272: checking for XpmCreatePixmapFromData in -lXpm" >&5
|
||||
ac_lib_var=`echo Xpm'_'XpmCreatePixmapFromData | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4273,7 +4276,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lXpm $XLFLAGS $XLIBS $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4277 "configure"
|
||||
#line 4280 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4284,7 +4287,7 @@ int main() {
|
||||
XpmCreatePixmapFromData()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4314,17 +4317,17 @@ CPPFLAGS_old="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||
ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6
|
||||
echo "configure:4318: checking for X11/xpm.h" >&5
|
||||
echo "configure:4321: checking for X11/xpm.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4323 "configure"
|
||||
#line 4326 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <X11/xpm.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4328: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4331: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4386,7 +4389,7 @@ if test "$png" = yes ; then
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for png_get_valid in -lpng""... $ac_c" 1>&6
|
||||
echo "configure:4390: checking for png_get_valid in -lpng" >&5
|
||||
echo "configure:4393: checking for png_get_valid in -lpng" >&5
|
||||
ac_lib_var=`echo png'_'png_get_valid | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4394,7 +4397,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lpng -lz -lm $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4398 "configure"
|
||||
#line 4401 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4405,7 +4408,7 @@ int main() {
|
||||
png_get_valid()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4435,17 +4438,17 @@ CPPFLAGS_old="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||
ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for png.h""... $ac_c" 1>&6
|
||||
echo "configure:4439: checking for png.h" >&5
|
||||
echo "configure:4442: checking for png.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4444 "configure"
|
||||
#line 4447 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <png.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4449: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4481,6 +4484,7 @@ fi
|
||||
|
||||
|
||||
jpeg=yes
|
||||
ljpeg=""
|
||||
# Check whether --enable-jpeg or --disable-jpeg was given.
|
||||
if test "${enable_jpeg+set}" = set; then
|
||||
enableval="$enable_jpeg"
|
||||
@@ -4495,7 +4499,7 @@ if test "$jpeg" = yes; then
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for jpeg_destroy_compress in -ljpeg""... $ac_c" 1>&6
|
||||
echo "configure:4499: checking for jpeg_destroy_compress in -ljpeg" >&5
|
||||
echo "configure:4503: checking for jpeg_destroy_compress in -ljpeg" >&5
|
||||
ac_lib_var=`echo jpeg'_'jpeg_destroy_compress | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4503,7 +4507,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ljpeg $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4507 "configure"
|
||||
#line 4511 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4514,7 +4518,7 @@ int main() {
|
||||
jpeg_destroy_compress()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4539,22 +4543,25 @@ LDFLAGS="$LDFLAGS_old"
|
||||
|
||||
|
||||
if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
|
||||
|
||||
ljpeg="-ljpeg"
|
||||
|
||||
|
||||
CPPFLAGS_old="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||
ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
|
||||
echo "configure:4548: checking for jpeglib.h" >&5
|
||||
echo "configure:4555: checking for jpeglib.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4553 "configure"
|
||||
#line 4560 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <jpeglib.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4565: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4605,7 +4612,7 @@ if test "$gif" = yes; then
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for DGifOpenFileName in -lungif""... $ac_c" 1>&6
|
||||
echo "configure:4609: checking for DGifOpenFileName in -lungif" >&5
|
||||
echo "configure:4616: checking for DGifOpenFileName in -lungif" >&5
|
||||
ac_lib_var=`echo ungif'_'DGifOpenFileName | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4613,7 +4620,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lungif $XLFLAGS $XLIBS $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4617 "configure"
|
||||
#line 4624 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4624,7 +4631,7 @@ int main() {
|
||||
DGifOpenFileName()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4655,7 +4662,7 @@ LDFLAGS="$LDFLAGS_old"
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for DGifOpenFileName in -lgif""... $ac_c" 1>&6
|
||||
echo "configure:4659: checking for DGifOpenFileName in -lgif" >&5
|
||||
echo "configure:4666: checking for DGifOpenFileName in -lgif" >&5
|
||||
ac_lib_var=`echo gif'_'DGifOpenFileName | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4663,7 +4670,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lgif $XLFLAGS $XLIBS $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4667 "configure"
|
||||
#line 4674 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4674,7 +4681,7 @@ int main() {
|
||||
DGifOpenFileName()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4708,17 +4715,17 @@ CPPFLAGS_old="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||
ac_safe=`echo "gif_lib.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for gif_lib.h""... $ac_c" 1>&6
|
||||
echo "configure:4712: checking for gif_lib.h" >&5
|
||||
echo "configure:4719: checking for gif_lib.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4717 "configure"
|
||||
#line 4724 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <gif_lib.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4729: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@@ -4779,7 +4786,7 @@ if test "$tif" = yes; then
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for TIFFGetVersion in -ltiff""... $ac_c" 1>&6
|
||||
echo "configure:4783: checking for TIFFGetVersion in -ltiff" >&5
|
||||
echo "configure:4790: checking for TIFFGetVersion in -ltiff" >&5
|
||||
ac_lib_var=`echo tiff'_'TIFFGetVersion | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@@ -4787,7 +4794,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ltiff -lm $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4791 "configure"
|
||||
#line 4798 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4798,7 +4805,7 @@ int main() {
|
||||
TIFFGetVersion()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4830,15 +4837,15 @@ LDFLAGS="$LDFLAGS_old"
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for TIFFGetVersion in -ltiff""... $ac_c" 1>&6
|
||||
echo "configure:4834: checking for TIFFGetVersion in -ltiff" >&5
|
||||
echo "configure:4841: checking for TIFFGetVersion in -ltiff" >&5
|
||||
ac_lib_var=`echo tiff'_'TIFFGetVersion | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ltiff -lz -lm $LIBS"
|
||||
LIBS="-ltiff $ljpeg -lz -lm $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4842 "configure"
|
||||
#line 4849 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4849,7 +4856,7 @@ int main() {
|
||||
TIFFGetVersion()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4882,15 +4889,15 @@ LDFLAGS="$LDFLAGS_old"
|
||||
LDFLAGS_old="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $lib_search_path"
|
||||
echo $ac_n "checking for TIFFGetVersion in -ltiff34""... $ac_c" 1>&6
|
||||
echo "configure:4886: checking for TIFFGetVersion in -ltiff34" >&5
|
||||
echo "configure:4893: checking for TIFFGetVersion in -ltiff34" >&5
|
||||
ac_lib_var=`echo tiff34'_'TIFFGetVersion | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ltiff34 -lm $LIBS"
|
||||
LIBS="-ltiff34 $ljpeg -lm $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4894 "configure"
|
||||
#line 4901 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@@ -4901,7 +4908,7 @@ int main() {
|
||||
TIFFGetVersion()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@@ -4936,17 +4943,17 @@ CPPFLAGS_old="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
||||
ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6
|
||||
echo "configure:4940: checking for tiffio.h" >&5
|
||||
echo "configure:4947: checking for tiffio.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4945 "configure"
|
||||
#line 4952 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <tiffio.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4950: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
||||
12
configure.in
12
configure.in
@@ -10,7 +10,7 @@ AC_INIT(src/WindowMaker.h)
|
||||
|
||||
|
||||
|
||||
AM_INIT_AUTOMAKE(WindowMaker, 0.51.2)
|
||||
AM_INIT_AUTOMAKE(WindowMaker, 0.52.0)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
@@ -342,7 +342,7 @@ dnl XKB keyboard language status
|
||||
dnl ============================
|
||||
AC_ARG_ENABLE(modelock,
|
||||
[ --enable-modelock XKB keyboard language status support],
|
||||
X_CFLAGS="$X_CFLAGS -DXKB_MODELOCK",)
|
||||
AC_DEFINE(XKB_MODELOCK))
|
||||
|
||||
|
||||
|
||||
@@ -496,6 +496,7 @@ fi
|
||||
dnl JPEG Support
|
||||
dnl ============
|
||||
jpeg=yes
|
||||
ljpeg=""
|
||||
AC_ARG_ENABLE(jpeg,
|
||||
[ --disable-jpeg disable JPEG support through libjpeg],
|
||||
jpeg=$enableval, jpeg=yes, jpeg=no)
|
||||
@@ -504,6 +505,9 @@ if test "$jpeg" = yes; then
|
||||
WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
|
||||
|
||||
if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
|
||||
|
||||
ljpeg="-ljpeg"
|
||||
|
||||
WM_CHECK_HEADER(jpeglib.h)
|
||||
if test "x$ac_cv_header_jpeglib_h" = xyes; then
|
||||
GFXLIBS="$GFXLIBS -ljpeg"
|
||||
@@ -576,14 +580,14 @@ dnl Retry with zlib
|
||||
dnl
|
||||
unset ac_cv_lib_tiff_TIFFGetVersion
|
||||
if test "x$my_libname" = x; then
|
||||
WM_CHECK_LIB(tiff, TIFFGetVersion, [-lz -lm])
|
||||
WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
|
||||
if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
|
||||
my_libname="-ltiff -lz"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$my_libname" = x; then
|
||||
WM_CHECK_LIB(tiff34, TIFFGetVersion, [-lm])
|
||||
WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
|
||||
if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
|
||||
my_libname="-ltiff34"
|
||||
fi
|
||||
|
||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
||||
@@ -53,14 +53,14 @@ WindowMaker.pot: $(POTFILES)
|
||||
fi
|
||||
|
||||
install-data-local: $(CATALOGS)
|
||||
$(mkinstalldirs) $(nlsdir)
|
||||
chmod 755 $(nlsdir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
|
||||
chmod 755 $(DESTDIR)$(nlsdir)
|
||||
for n in $(CATALOGS) __DuMmY ; do \
|
||||
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
||||
l=`basename $$n .mo`; \
|
||||
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(nlsdir)/$$l; \
|
||||
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WindowMaker.mo; \
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WindowMaker.mo; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
@@ -113,7 +113,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
@@ -220,15 +220,15 @@ WindowMaker.pot: $(POTFILES)
|
||||
fi
|
||||
|
||||
install-data-local: $(CATALOGS)
|
||||
$(mkinstalldirs) $(nlsdir)
|
||||
chmod 755 $(nlsdir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
|
||||
chmod 755 $(DESTDIR)$(nlsdir)
|
||||
for n in $(CATALOGS) __DuMmY ; do \
|
||||
if test "$$n" -a "$$n" != "__DuMmY" ; then \
|
||||
l=`basename $$n .mo`; \
|
||||
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(nlsdir)/$$l; \
|
||||
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WindowMaker.mo; \
|
||||
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
|
||||
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
|
||||
$(INSTALL_DATA) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WindowMaker.mo; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ wconfig.h.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(wmaker_SOURCES)
|
||||
OBJECTS = $(wmaker_OBJECTS)
|
||||
|
||||
@@ -125,6 +125,9 @@
|
||||
* defined by configure */
|
||||
#define SYSCONFDIR "/usr/local/etc/WindowMaker"
|
||||
|
||||
/* whether XKB language MODELOCK should be enabled */
|
||||
/* #undef XKB_MODELOCK */
|
||||
|
||||
/* Define if you have the atexit function. */
|
||||
#define HAVE_ATEXIT 1
|
||||
|
||||
@@ -174,5 +177,5 @@
|
||||
#define PACKAGE "WindowMaker"
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "0.51.2"
|
||||
#define VERSION "0.52.0"
|
||||
|
||||
|
||||
@@ -124,6 +124,9 @@
|
||||
* defined by configure */
|
||||
#undef SYSCONFDIR
|
||||
|
||||
/* whether XKB language MODELOCK should be enabled */
|
||||
#undef XKB_MODELOCK
|
||||
|
||||
/* Define if you have the atexit function. */
|
||||
#undef HAVE_ATEXIT
|
||||
|
||||
|
||||
@@ -66,10 +66,12 @@ typedef struct _AppSettingsPanel {
|
||||
WMButton *browseBtn;
|
||||
|
||||
WMButton *autoLaunchBtn;
|
||||
|
||||
|
||||
WMButton *okBtn;
|
||||
WMButton *cancelBtn;
|
||||
|
||||
Window parent;
|
||||
|
||||
/* kluge */
|
||||
unsigned int destroyed:1;
|
||||
unsigned int choosingIcon:1;
|
||||
@@ -392,6 +394,8 @@ ShowDockAppSettingsPanel(WAppIcon *aicon)
|
||||
|
||||
panel->wwin->client_leader = WMWidgetXID(panel->win);
|
||||
|
||||
panel->parent = parent;
|
||||
|
||||
WMMapWidget(panel->win);
|
||||
|
||||
wWindowMap(panel->wwin);
|
||||
@@ -421,10 +425,10 @@ DestroyDockAppSettingsPanel(AppSettingsPanel *panel)
|
||||
|
||||
WMDestroyWidget(panel->win);
|
||||
|
||||
XDestroyWindow(dpy, panel->wwin->client_win);
|
||||
|
||||
XDestroyWindow(dpy, panel->parent);
|
||||
|
||||
panel->editedIcon->panel = NULL;
|
||||
|
||||
|
||||
panel->editedIcon->editing = 0;
|
||||
|
||||
free(panel);
|
||||
|
||||
@@ -639,11 +639,11 @@ handleButtonPress(XEvent *event)
|
||||
wSelectWindows(scr, event);
|
||||
}
|
||||
#ifdef MOUSE_WS_SWITCH
|
||||
else if (event->xbutton.button==Button4) {
|
||||
else if (event->xbutton.button==Button5) {
|
||||
|
||||
wWorkspaceRelativeChange(scr, -1);
|
||||
|
||||
} else if (event->xbutton.button==Button5) {
|
||||
} else if (event->xbutton.button==Button4) {
|
||||
|
||||
wWorkspaceRelativeChange(scr, 1);
|
||||
|
||||
|
||||
@@ -1008,7 +1008,7 @@ ExpandOptions(WScreen *scr, char *cmdline)
|
||||
|
||||
case 'W':
|
||||
sprintf(tmpbuf, "0x%x",
|
||||
(unsigned int)scr->current_workspace);
|
||||
(unsigned int)scr->current_workspace + 1);
|
||||
slen = strlen(tmpbuf);
|
||||
olen += slen;
|
||||
nout = realloc(out,olen);
|
||||
|
||||
@@ -196,7 +196,7 @@ PlaceIcon(WScreen *scr, int *x_ret, int *y_ret)
|
||||
|
||||
#define INDEX(x,y) (((y)+1)*(sw+2) + (x) + 1)
|
||||
|
||||
for (level = WMNormalLevel; level >= WMDesktopLevel; level--) {
|
||||
for (level = MAX_WINDOW_LEVELS-1; level >= WMDesktopLevel; level--) {
|
||||
obj = scr->stacking_list[level];
|
||||
|
||||
while (obj) {
|
||||
|
||||
@@ -1738,6 +1738,12 @@ OpenRootMenu(WScreen *scr, int x, int y, int keyboard)
|
||||
if (!menu) {
|
||||
/* menu hasn't changed or could not be read */
|
||||
if (!scr->root_menu) {
|
||||
wMessageDialog(scr, _("Error"),
|
||||
_("The applications menu could not be loaded."
|
||||
"Look at the console output for a detailed"
|
||||
"description of the errors"),
|
||||
_("OK"), NULL, NULL);
|
||||
|
||||
menu = makeDefaultMenu(scr);
|
||||
scr->root_menu = menu;
|
||||
}
|
||||
|
||||
@@ -169,8 +169,7 @@ execMenuCommand(WMenu *menu, WMenuEntry *entry)
|
||||
break;
|
||||
|
||||
case MC_PROPERTIES:
|
||||
if (wwin->wm_class || wwin->wm_instance)
|
||||
wShowInspectorForWindow(wwin);
|
||||
wShowInspectorForWindow(wwin);
|
||||
break;
|
||||
|
||||
case MC_HIDE:
|
||||
@@ -581,7 +580,7 @@ updateMenuForWindow(WMenu *menu, WWindow *wwin)
|
||||
|
||||
wMenuSetEnabled(menu, MC_DUMMY_MOVETO, !IS_OMNIPRESENT(wwin));
|
||||
|
||||
if ((wwin->wm_class || wwin->wm_instance) && !wwin->flags.inspector_open) {
|
||||
if (!wwin->flags.inspector_open) {
|
||||
wMenuSetEnabled(menu, MC_PROPERTIES, True);
|
||||
} else {
|
||||
wMenuSetEnabled(menu, MC_PROPERTIES, False);
|
||||
|
||||
@@ -1026,7 +1026,7 @@ createInspectorForWindow(WWindow *wwin)
|
||||
WMMoveWidget(panel->saveBtn, (2 * (btn_width + 10)) + 15, 310);
|
||||
WMSetButtonText(panel->saveBtn, _("Save"));
|
||||
WMResizeWidget(panel->saveBtn, btn_width, 28);
|
||||
if (wPreferences.flags.noupdates)
|
||||
if (wPreferences.flags.noupdates || !(wwin->wm_class || wwin->wm_instance))
|
||||
WMSetButtonEnabled(panel->saveBtn, False);
|
||||
|
||||
panel->applyBtn = WMCreateCommandButton(panel->win);
|
||||
@@ -1362,8 +1362,8 @@ createInspectorForWindow(WWindow *wwin)
|
||||
} else {
|
||||
int tmp;
|
||||
|
||||
if (wwin->transient_for!=None
|
||||
&& wwin->transient_for!=scr->root_win)
|
||||
if ((wwin->transient_for!=None && wwin->transient_for!=scr->root_win)
|
||||
|| !wwin->wm_class || !wwin->wm_instance)
|
||||
tmp = False;
|
||||
else
|
||||
tmp = True;
|
||||
@@ -1380,7 +1380,12 @@ createInspectorForWindow(WWindow *wwin)
|
||||
else
|
||||
WMSetButtonEnabled(panel->attrChk[3], True);
|
||||
|
||||
|
||||
if (!wwin->wm_class && !wwin->wm_instance) {
|
||||
WMSetPopUpButtonItemEnabled(panel->pagePopUp, 0, False);
|
||||
}
|
||||
|
||||
|
||||
WMRealizeWidget(panel->win);
|
||||
|
||||
WMMapSubwidgets(panel->win);
|
||||
@@ -1428,6 +1433,7 @@ createInspectorForWindow(WWindow *wwin)
|
||||
|
||||
showIconFor(WMWidgetScreen(panel->alwChk), panel, wwin->wm_instance,
|
||||
wwin->wm_class, UPDATE_TEXT_FIELD);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(wtest_SOURCES)
|
||||
OBJECTS = $(wtest_OBJECTS)
|
||||
|
||||
@@ -185,7 +185,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(wxcopy_SOURCES) $(wxpaste_SOURCES) $(wdwrite_SOURCES) $(getstyle_SOURCES) $(setstyle_SOURCES) $(seticons_SOURCES) $(geticonset_SOURCES) $(wmsetbg_SOURCES)
|
||||
OBJECTS = $(wxcopy_OBJECTS) $(wxpaste_OBJECTS) $(wdwrite_OBJECTS) $(getstyle_OBJECTS) $(setstyle_OBJECTS) $(seticons_OBJECTS) $(geticonset_OBJECTS) $(wmsetbg_OBJECTS)
|
||||
|
||||
@@ -289,6 +289,7 @@ for xinit in .xinitrc .Xclients .xsession; do
|
||||
fi
|
||||
done
|
||||
if test $wmaker_found = 1; then
|
||||
echo "Found Window Maker to already be your default window manager."
|
||||
show_end_message
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -1076,8 +1076,6 @@ changeTextureForWorkspace(char *domain, char *texture, int workspace)
|
||||
proplist_t val;
|
||||
char *value;
|
||||
int j;
|
||||
|
||||
workspace++;
|
||||
|
||||
val = PLGetProplistWithDescription(texture);
|
||||
if (!val) {
|
||||
|
||||
@@ -125,7 +125,7 @@ DIST_COMMON = COPYING.LIB Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(libWMaker_a_SOURCES)
|
||||
OBJECTS = $(libWMaker_a_OBJECTS)
|
||||
|
||||
@@ -165,7 +165,7 @@ Makefile.in NEWS TODO alloca.c configure.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(libwraster_la_SOURCES) $(testgrad_SOURCES) $(testdraw_SOURCES) $(view_SOURCES)
|
||||
OBJECTS = $(libwraster_la_OBJECTS) $(testgrad_OBJECTS) $(testdraw_OBJECTS) $(view_OBJECTS)
|
||||
|
||||
Reference in New Issue
Block a user