mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
- removed configure.in. use only autoconf 2.5x fom now
- fixed a bug and memleak in WMBox code. - updated some translations - fixed some bug in the menu code about drawing disabled entries. - fixed Clip menu not to allow selecting of "Autoraise" if "Keep On Top" is active. - Added a "Browse" button to the menu editor in WPrefs where a program to run is specified (not finished).
This commit is contained in:
@@ -33,8 +33,15 @@ Changes since version 0.80.0:
|
||||
manager" option in the crashing dialog panel.
|
||||
- Window Maker will now use the WINDOWMAKER_ALT_WM environment variable (if
|
||||
it is defined) to overwrite the default hardcoded fallback window manager.
|
||||
- Fixed marks for menu entries to be grayed as the text for disabled entries.
|
||||
- Fixed Clip's "Autoraise" option to be marked as disabled when the
|
||||
"Keep on Top" option is active.
|
||||
- Added ability to browse for files/directories in the WPrefs menu editor.
|
||||
- Added Czech translations of documentation (Jiri Hnidek <Jiri.Hnidek@vslib.cz>)
|
||||
- Fixed segfault with incomplete WM_CLASS specifications.
|
||||
- Fixed a bug about arranging subviews in a WMBox after removing a subview
|
||||
and a memleak occuring in the same situation.
|
||||
|
||||
|
||||
Changes since version 0.70.0:
|
||||
.............................
|
||||
|
||||
14
INSTALL
14
INSTALL
@@ -40,6 +40,7 @@ SUPPORTED PLATFORMS
|
||||
- IBM S/390 running Linux
|
||||
- IBM S/390 running Conectiva Linux (experimental)
|
||||
- iBook running Darwin
|
||||
- Darwin PPC / Macos X
|
||||
- Windows NT with Cygwin/XFree86
|
||||
- Sony PlayStation2 running Linux
|
||||
|
||||
@@ -73,9 +74,9 @@ The following is required to build Window Maker:
|
||||
These tools are NOT needed, but IF you have one or
|
||||
more of them installed, make sure you have ALL of the following
|
||||
with exactly these versions:
|
||||
autoconf 2.13
|
||||
autoconf 2.52
|
||||
automake 1.4
|
||||
libtool 1.3
|
||||
libtool 1.4.2
|
||||
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,
|
||||
@@ -149,12 +150,6 @@ To get a list of other options, run ./configure --help
|
||||
The -I flag must precede each paths, like:
|
||||
--with-incs-from="-I/opt/headers -I/usr/local/include"
|
||||
|
||||
--enable-single-icon
|
||||
enables the collapsing of all appicons of the WM_CLASS+WM_INSTANCE
|
||||
into a single one. This feature is not supported at all by the
|
||||
developers. If you have some trouble with it, contact it's author:
|
||||
Christopher Seawood <cls@seawood.org>
|
||||
|
||||
--disable-shm
|
||||
disable use of the MIT shared memory extension. This will slow down
|
||||
texture generation a little bit, but in some cases it seems to be
|
||||
@@ -184,9 +179,6 @@ To get a list of other options, run ./configure --help
|
||||
XKB language status lock support. If you don't know what it is you
|
||||
probably don't need it.
|
||||
|
||||
--enable-sound
|
||||
enable support of sound effects module
|
||||
|
||||
--disable-xpm
|
||||
disables use of the XPM library even if it is available on your
|
||||
system.
|
||||
|
||||
@@ -19,10 +19,3 @@ WindowMaker.lsm: WindowMaker.lsm.in
|
||||
-e "s/SIZE/$$size M/"\
|
||||
WindowMaker.lsm.in > WindowMaker-$(VERSION).lsm
|
||||
|
||||
#dist-hook:
|
||||
# touch `find -name configure.in -print`
|
||||
# touch `find -name aclocal.m4 -print`
|
||||
# touch `find -name Makefile.am -print`
|
||||
# touch `find -name Makefile.in -print`
|
||||
# touch `find -name configure -print`
|
||||
|
||||
|
||||
@@ -7,6 +7,9 @@ Changes since wmaker 0.80.0:
|
||||
- fixed labels not to display '\n' as a character if multiple '\n' are passed
|
||||
but just skip to the next line.
|
||||
- better warning when importing non-digit characters in PropList Data.
|
||||
- rewrote WMBox to use a WMArray for subviews. with this change fixed a bug
|
||||
about arranging subviews after removing one and a memleak occuring in the
|
||||
same case.
|
||||
|
||||
|
||||
Changes since wmaker 0.70.0:
|
||||
|
||||
@@ -138,19 +138,13 @@ testBox(WMScreen *scr)
|
||||
win = WMCreateWindow(scr, "testBox");
|
||||
WMSetWindowTitle(win, "Box");
|
||||
WMSetWindowCloseAction(win, closeAction, NULL);
|
||||
|
||||
WMSetViewNotifySizeChanges(WMWidgetView(win), True);
|
||||
WMResizeWidget(win, 400, 300);
|
||||
|
||||
box = WMCreateBox(win);
|
||||
WMSetBoxBorderWidth(box, 5);
|
||||
|
||||
WMAddNotificationObserver(resizedWindow, box,
|
||||
WMViewSizeDidChangeNotification,
|
||||
WMWidgetView(win));
|
||||
WMResizeWidget(win, 400, 300);
|
||||
|
||||
WMSetViewExpandsToParent(WMWidgetView(box), 0, 0, 0, 0);
|
||||
|
||||
/* WMSetBoxHorizontal(box, True); */
|
||||
/*WMSetBoxHorizontal(box, True);*/
|
||||
for (i = 0; i < 4; i++) {
|
||||
btn = WMCreateCommandButton(box);
|
||||
WMSetButtonText(btn, "bla");
|
||||
@@ -1316,15 +1310,10 @@ main(int argc, char **argv)
|
||||
|
||||
testFrame(scr);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
testSplitView(scr);
|
||||
|
||||
testGradientButtons(scr);
|
||||
|
||||
|
||||
testOpenFilePanel(scr);
|
||||
|
||||
testSlider(scr);
|
||||
|
||||
233
WINGs/wbox.c
233
WINGs/wbox.c
@@ -18,8 +18,7 @@ typedef struct W_Box {
|
||||
W_Class widgetClass;
|
||||
W_View *view;
|
||||
|
||||
SubviewItem *subviews;
|
||||
int subviewCount;
|
||||
WMArray *subviews;
|
||||
|
||||
short borderWidth;
|
||||
|
||||
@@ -40,10 +39,10 @@ static void didResize(struct W_ViewDelegate*, WMView*);
|
||||
|
||||
static W_ViewDelegate delegate = {
|
||||
NULL,
|
||||
NULL,
|
||||
didResize,
|
||||
NULL,
|
||||
NULL
|
||||
NULL,
|
||||
didResize,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
@@ -53,7 +52,7 @@ WMBox*
|
||||
WMCreateBox(WMWidget *parent)
|
||||
{
|
||||
Box *bPtr;
|
||||
|
||||
|
||||
bPtr = wmalloc(sizeof(Box));
|
||||
memset(bPtr, 0, sizeof(Box));
|
||||
|
||||
@@ -65,87 +64,108 @@ WMCreateBox(WMWidget *parent)
|
||||
return NULL;
|
||||
}
|
||||
bPtr->view->self = bPtr;
|
||||
|
||||
|
||||
bPtr->view->delegate = &delegate;
|
||||
|
||||
|
||||
bPtr->subviews = WMCreateArrayWithDestructor(2, wfree);
|
||||
|
||||
WMCreateEventHandler(bPtr->view, StructureNotifyMask,
|
||||
handleEvents, bPtr);
|
||||
|
||||
WMResizeWidget(bPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT);
|
||||
|
||||
bPtr->subviews = NULL;
|
||||
bPtr->subviewCount = 0;
|
||||
|
||||
|
||||
return bPtr;
|
||||
}
|
||||
|
||||
|
||||
typedef struct {
|
||||
WMBox *box;
|
||||
int total;
|
||||
int expands;
|
||||
int x, y;
|
||||
int xe, ye;
|
||||
int w, h;
|
||||
} BoxData;
|
||||
|
||||
|
||||
static void
|
||||
computeExpansion(void *object, void *cdata)
|
||||
{
|
||||
SubviewItem *item = (SubviewItem*)object;
|
||||
BoxData *eData = (BoxData*)cdata;
|
||||
|
||||
eData->total -= item->minSize;
|
||||
eData->total -= item->space;
|
||||
if (item->expand) {
|
||||
eData->expands++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
doRearrange(void *object, void *cdata)
|
||||
{
|
||||
SubviewItem *item = (SubviewItem*)object;
|
||||
BoxData *eData = (BoxData*)cdata;
|
||||
|
||||
if (eData->box->horizontal) {
|
||||
eData->w = item->minSize;
|
||||
if (item->expand)
|
||||
eData->w += eData->total/eData->expands;
|
||||
} else {
|
||||
eData->h = item->minSize;
|
||||
if (item->expand)
|
||||
eData->h += eData->total/eData->expands;
|
||||
}
|
||||
if (!item->end) {
|
||||
W_MoveView(item->view, eData->x, eData->y);
|
||||
}
|
||||
W_ResizeView(item->view, eData->w, eData->h);
|
||||
if (eData->box->horizontal) {
|
||||
if (item->end)
|
||||
eData->xe -= eData->w + item->space;
|
||||
else
|
||||
eData->x += eData->w + item->space;
|
||||
} else {
|
||||
if (item->end)
|
||||
eData->ye -= eData->h + item->space;
|
||||
else
|
||||
eData->y += eData->h + item->space;
|
||||
}
|
||||
if (item->end) {
|
||||
W_MoveView(item->view, eData->xe, eData->ye);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
rearrange(WMBox *box)
|
||||
{
|
||||
int i;
|
||||
int x, y;
|
||||
int xe, ye;
|
||||
int w = 1, h = 1;
|
||||
int total;
|
||||
int expands = 0;
|
||||
|
||||
x = box->borderWidth;
|
||||
y = box->borderWidth;
|
||||
|
||||
BoxData eData;
|
||||
|
||||
eData.box = box;
|
||||
eData.x = eData.y = box->borderWidth;
|
||||
eData.w = eData.h = 1;
|
||||
eData.expands = 0;
|
||||
|
||||
if (box->horizontal) {
|
||||
ye = box->borderWidth;
|
||||
xe = WMWidgetWidth(box) - box->borderWidth;
|
||||
h = WMWidgetHeight(box) - 2 * box->borderWidth;
|
||||
total = WMWidgetWidth(box) - 2 * box->borderWidth;
|
||||
eData.ye = box->borderWidth;
|
||||
eData.xe = WMWidgetWidth(box) - box->borderWidth;
|
||||
eData.h = WMWidgetHeight(box) - 2 * box->borderWidth;
|
||||
eData.total = WMWidgetWidth(box) - 2 * box->borderWidth;
|
||||
} else {
|
||||
xe = box->borderWidth;
|
||||
ye = WMWidgetHeight(box) - box->borderWidth;
|
||||
w = WMWidgetWidth(box) - 2 * box->borderWidth;
|
||||
total = WMWidgetHeight(box) - 2 * box->borderWidth;
|
||||
eData.xe = box->borderWidth;
|
||||
eData.ye = WMWidgetHeight(box) - box->borderWidth;
|
||||
eData.w = WMWidgetWidth(box) - 2 * box->borderWidth;
|
||||
eData.total = WMWidgetHeight(box) - 2 * box->borderWidth;
|
||||
}
|
||||
|
||||
if (w <= 0 || h <= 0 || total <= 0) {
|
||||
if (eData.w <= 0 || eData.h <= 0 || eData.total <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < box->subviewCount; i++) {
|
||||
total -= box->subviews[i].minSize;
|
||||
total -= box->subviews[i].space;
|
||||
if (box->subviews[i].expand) {
|
||||
expands++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < box->subviewCount; i++) {
|
||||
if (box->horizontal) {
|
||||
w = box->subviews[i].minSize;
|
||||
if (box->subviews[i].expand)
|
||||
w += total/expands;
|
||||
} else {
|
||||
h = box->subviews[i].minSize;
|
||||
if (box->subviews[i].expand)
|
||||
h += total/expands;
|
||||
}
|
||||
if (!box->subviews[i].end) {
|
||||
W_MoveView(box->subviews[i].view, x, y);
|
||||
}
|
||||
W_ResizeView(box->subviews[i].view, w, h);
|
||||
if (box->horizontal) {
|
||||
if (box->subviews[i].end)
|
||||
xe -= w + box->subviews[i].space;
|
||||
else
|
||||
x += w + box->subviews[i].space;
|
||||
} else {
|
||||
if (box->subviews[i].end)
|
||||
ye -= h + box->subviews[i].space;
|
||||
else
|
||||
y += h + box->subviews[i].space;
|
||||
}
|
||||
if (box->subviews[i].end) {
|
||||
W_MoveView(box->subviews[i].view, xe, ye);
|
||||
}
|
||||
}
|
||||
WMMapArray(box->subviews, computeExpansion, &eData);
|
||||
WMMapArray(box->subviews, doRearrange, &eData);
|
||||
}
|
||||
|
||||
|
||||
@@ -163,21 +183,18 @@ void
|
||||
WMAddBoxSubview(WMBox *bPtr, WMView *view, Bool expand, Bool fill,
|
||||
int minSize, int maxSize, int space)
|
||||
{
|
||||
int i = bPtr->subviewCount;
|
||||
|
||||
bPtr->subviewCount++;
|
||||
if (!bPtr->subviews)
|
||||
bPtr->subviews = wmalloc(sizeof(SubviewItem));
|
||||
else
|
||||
bPtr->subviews = wrealloc(bPtr->subviews,
|
||||
bPtr->subviewCount*sizeof(SubviewItem));
|
||||
bPtr->subviews[i].view = view;
|
||||
bPtr->subviews[i].minSize = minSize;
|
||||
bPtr->subviews[i].maxSize = maxSize;
|
||||
bPtr->subviews[i].expand = expand;
|
||||
bPtr->subviews[i].fill = fill;
|
||||
bPtr->subviews[i].space = space;
|
||||
bPtr->subviews[i].end = 0;
|
||||
SubviewItem *subView;
|
||||
|
||||
subView = wmalloc(sizeof(SubviewItem));
|
||||
subView->view = view;
|
||||
subView->minSize = minSize;
|
||||
subView->maxSize = maxSize;
|
||||
subView->expand = expand;
|
||||
subView->fill = fill;
|
||||
subView->space = space;
|
||||
subView->end = 0;
|
||||
|
||||
WMAddToArray(bPtr->subviews, subView);
|
||||
|
||||
rearrange(bPtr);
|
||||
}
|
||||
@@ -188,40 +205,36 @@ void
|
||||
WMAddBoxSubviewAtEnd(WMBox *bPtr, WMView *view, Bool expand, Bool fill,
|
||||
int minSize, int maxSize, int space)
|
||||
{
|
||||
int i = bPtr->subviewCount;
|
||||
|
||||
bPtr->subviewCount++;
|
||||
if (!bPtr->subviews)
|
||||
bPtr->subviews = wmalloc(sizeof(SubviewItem));
|
||||
else
|
||||
bPtr->subviews = wrealloc(bPtr->subviews,
|
||||
bPtr->subviewCount*sizeof(SubviewItem));
|
||||
bPtr->subviews[i].view = view;
|
||||
bPtr->subviews[i].minSize = minSize;
|
||||
bPtr->subviews[i].maxSize = maxSize;
|
||||
bPtr->subviews[i].expand = expand;
|
||||
bPtr->subviews[i].fill = fill;
|
||||
bPtr->subviews[i].space = space;
|
||||
bPtr->subviews[i].end = 1;
|
||||
SubviewItem *subView;
|
||||
|
||||
subView = wmalloc(sizeof(SubviewItem));
|
||||
subView->view = view;
|
||||
subView->minSize = minSize;
|
||||
subView->maxSize = maxSize;
|
||||
subView->expand = expand;
|
||||
subView->fill = fill;
|
||||
subView->space = space;
|
||||
subView->end = 1;
|
||||
|
||||
WMAddToArray(bPtr->subviews, subView);
|
||||
|
||||
rearrange(bPtr);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
matchView(void *item, void *cdata)
|
||||
{
|
||||
return (((SubviewItem*)item)->view == (WMView*)cdata);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
WMRemoveBoxSubview(WMBox *bPtr, WMView *view)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < bPtr->subviewCount; i++) {
|
||||
if (bPtr->subviews[i].view == view) {
|
||||
memmove(&bPtr->subviews[i], &bPtr->subviews[i+1],
|
||||
(bPtr->subviewCount - i - 1) * sizeof(void*));
|
||||
bPtr->subviewCount--;
|
||||
break;
|
||||
}
|
||||
if (WMRemoveFromArrayMatching(bPtr->subviews, matchView, view)) {
|
||||
rearrange(bPtr);
|
||||
}
|
||||
rearrange(bPtr);
|
||||
}
|
||||
|
||||
|
||||
@@ -241,6 +254,7 @@ static void
|
||||
destroyBox(Box *bPtr)
|
||||
{
|
||||
WMRemoveNotificationObserver(bPtr);
|
||||
WMFreeArray(bPtr->subviews);
|
||||
wfree(bPtr);
|
||||
}
|
||||
|
||||
@@ -270,3 +284,4 @@ handleEvents(XEvent *event, void *data)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -449,7 +449,7 @@ destroyView(W_View *view)
|
||||
|
||||
WMRemoveNotificationObserver(view);
|
||||
|
||||
#if 0
|
||||
#if 0
|
||||
if (view->dragSourceProcs)
|
||||
wfree(view->dragSourceProcs);
|
||||
|
||||
@@ -733,9 +733,8 @@ WMGetViewScreenPosition(WMView *view)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static void resizedParent(void *self, WMNotification *notif)
|
||||
static void
|
||||
resizedParent(void *self, WMNotification *notif)
|
||||
{
|
||||
WMSize size = WMGetViewSize((WMView*)WMGetNotificationObject(notif));
|
||||
WMView *view = (WMView*)self;
|
||||
@@ -745,7 +744,7 @@ static void resizedParent(void *self, WMNotification *notif)
|
||||
size.height - (view->topOffs + view->bottomOffs));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
WMSetViewExpandsToParent(WMView *view, int leftOffs, int topOffs,
|
||||
int rightOffs, int bottomOffs)
|
||||
@@ -766,3 +765,5 @@ WMSetViewExpandsToParent(WMView *view, int leftOffs, int topOffs,
|
||||
W_ResizeView(view, size.width - (leftOffs + rightOffs),
|
||||
size.height - (topOffs + bottomOffs));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -76,8 +76,9 @@ typedef struct _Panel {
|
||||
|
||||
WMFrame *commandF;
|
||||
WMTextField *commandT; /* command to run */
|
||||
WMButton *browseB;
|
||||
WMButton *xtermC; /* inside xterm? */
|
||||
|
||||
|
||||
WMFrame *pathF;
|
||||
WMTextField *pathT;
|
||||
|
||||
@@ -248,11 +249,41 @@ icommandLClicked(WMWidget *w, void *data)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
browseForFile(WMWidget *self, void *clientData)
|
||||
{
|
||||
_Panel *panel = (_Panel*)clientData;
|
||||
WMFilePanel *filePanel;
|
||||
char *text, *oldprog, *newprog;
|
||||
|
||||
filePanel = WMGetOpenPanel(WMWidgetScreen(self));
|
||||
text = WMGetTextFieldText(panel->commandT);
|
||||
|
||||
oldprog = wtrimspace(text);
|
||||
wfree(text);
|
||||
|
||||
if (oldprog[0]==0 || oldprog[0]!='/') {
|
||||
wfree(oldprog);
|
||||
oldprog = wstrdup("/");
|
||||
} else {
|
||||
char *ptr = oldprog;
|
||||
while (*ptr && !isspace(*ptr))
|
||||
ptr++;
|
||||
*ptr = 0;
|
||||
}
|
||||
|
||||
WMSetFilePanelCanChooseDirectories(filePanel, False);
|
||||
|
||||
if (WMRunModalFilePanelForDirectory(filePanel, panel->parent, oldprog,
|
||||
_("Select Program"), NULL)==True) {
|
||||
newprog = WMGetFilePanelFileName(filePanel);
|
||||
WMSetTextFieldText(panel->commandT, newprog);
|
||||
updateMenuItem(panel, panel->currentItem, panel->commandT);
|
||||
wfree(newprog);
|
||||
}
|
||||
|
||||
wfree(oldprog);
|
||||
}
|
||||
|
||||
|
||||
static char*
|
||||
@@ -644,11 +675,18 @@ createPanel(_Panel *p)
|
||||
WMResizeWidget(panel->commandF, width, 50);
|
||||
WMMoveWidget(panel->commandF, 10, 20);
|
||||
WMSetFrameTitle(panel->commandF, _("Program to Run"));
|
||||
WMSetFrameTitlePosition(panel->commandF, WTPAtTop);
|
||||
|
||||
panel->commandT = WMCreateTextField(panel->commandF);
|
||||
WMResizeWidget(panel->commandT, width - 20, 20);
|
||||
WMResizeWidget(panel->commandT, width - 95, 20);
|
||||
WMMoveWidget(panel->commandT, 10, 20);
|
||||
|
||||
panel->browseB = WMCreateCommandButton(panel->commandF);
|
||||
WMResizeWidget(panel->browseB, 70, 24);
|
||||
WMMoveWidget(panel->browseB, width - 80, 18);
|
||||
WMSetButtonText(panel->browseB, _("Browse"));
|
||||
WMSetButtonAction(panel->browseB, browseForFile, panel);
|
||||
|
||||
WMAddNotificationObserver(dataChanged, panel,
|
||||
WMTextDidChangeNotification,
|
||||
panel->commandT);
|
||||
@@ -779,7 +817,7 @@ createPanel(_Panel *p)
|
||||
WMSetFrameTitle(panel->shortF, _("Keyboard Shortcut"));
|
||||
|
||||
panel->shortT = WMCreateTextField(panel->shortF);
|
||||
WMResizeWidget(panel->shortT, width - 20 - 170, 20);
|
||||
WMResizeWidget(panel->shortT, width - 20 - 150, 20);
|
||||
WMMoveWidget(panel->shortT, 10, 20);
|
||||
|
||||
WMAddNotificationObserver(dataChanged, panel,
|
||||
@@ -787,14 +825,14 @@ createPanel(_Panel *p)
|
||||
panel->shortT);
|
||||
|
||||
panel->sgrabB = WMCreateCommandButton(panel->shortF);
|
||||
WMResizeWidget(panel->sgrabB, 80, 24);
|
||||
WMMoveWidget(panel->sgrabB, width - 90, 18);
|
||||
WMResizeWidget(panel->sgrabB, 70, 24);
|
||||
WMMoveWidget(panel->sgrabB, width - 80, 18);
|
||||
WMSetButtonText(panel->sgrabB, _("Capture"));
|
||||
WMSetButtonAction(panel->sgrabB, sgrabClicked, panel);
|
||||
|
||||
panel->sclearB = WMCreateCommandButton(panel->shortF);
|
||||
WMResizeWidget(panel->sclearB, 80, 24);
|
||||
WMMoveWidget(panel->sclearB, width - 175, 18);
|
||||
WMResizeWidget(panel->sclearB, 70, 24);
|
||||
WMMoveWidget(panel->sclearB, width - 155, 18);
|
||||
WMSetButtonText(panel->sclearB, _("Clear"));
|
||||
WMSetButtonAction(panel->sclearB, sgrabClicked, panel);
|
||||
|
||||
|
||||
21
configure.ac
21
configure.ac
@@ -100,15 +100,7 @@ dnl not used anywhere
|
||||
dnl AC_FUNC_MEMCMP
|
||||
AC_FUNC_VPRINTF
|
||||
AC_FUNC_ALLOCA
|
||||
<<<<<<< configure.ac
|
||||
<<<<<<< configure.ac
|
||||
AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp setpgid atexit mallinfo vsnprintf)
|
||||
=======
|
||||
AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp setpgid atexit mallinfo snprintf vsnprintf asprintf vasprintf mkstemp)
|
||||
>>>>>>> 1.4
|
||||
=======
|
||||
AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp setpgid atexit mallinfo mkstemp snprintf vsnprintf asprintf vasprintf)
|
||||
>>>>>>> 1.15
|
||||
|
||||
|
||||
dnl ripped from samba
|
||||
@@ -183,22 +175,9 @@ AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH")
|
||||
|
||||
dnl Checks for header files.
|
||||
dnl =======================
|
||||
<<<<<<< configure.ac
|
||||
AC_HEADER_STDC
|
||||
=======
|
||||
>>>>>>> 1.4
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_HEADER_TIME
|
||||
<<<<<<< configure.ac
|
||||
<<<<<<< configure.ac
|
||||
AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h\
|
||||
libintl.h sys/select.h poll.h malloc.h stdlib.h)
|
||||
=======
|
||||
AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h libintl.h sys/select.h poll.h malloc.h ctype.h stdlib.h string.h strings.h)
|
||||
>>>>>>> 1.4
|
||||
=======
|
||||
AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h libintl.h sys/select.h poll.h malloc.h ctype.h string.h strings.h)
|
||||
>>>>>>> 1.15
|
||||
|
||||
|
||||
|
||||
|
||||
1008
configure.in
1008
configure.in
File diff suppressed because it is too large
Load Diff
@@ -18,9 +18,9 @@ cs.po Czech 3 Jiri Hnidek <Jiri.Hnidek@vslib.cz
|
||||
no.po Norwegian Marcus Ramberg <draven@mo.himolde.no>
|
||||
nl.po Dutch Roeland Mertens <roeland@zeus.rug.ac.be>
|
||||
gl.po Galician Xose Vazquez <xose@arrakis.es>
|
||||
fr.po French Bastien NOCERA <hadess@writeme.com>
|
||||
fr.po French Bastien Nocera <hadess@hadess.net>
|
||||
Jean-Francois BIGNOLLES <bignolle@grif.fr>
|
||||
Hadess <hadess@infonie.fr>
|
||||
Antoine Hulin <antoine.hulin@origan.fdn.org>
|
||||
it.po Italian Michele Campeotto <micampe@f2s.com>
|
||||
ru.po Russian Alexey Vyskubov <alexey@piter-press.ru>
|
||||
Michael Sobolev <mss@transas.com>
|
||||
|
||||
@@ -1056,6 +1056,7 @@ updateClipOptionsMenu(WMenu *menu, WDock *dock)
|
||||
entry = menu->entries[++index];
|
||||
entry->flags.indicator_on = dock->auto_raise_lower;
|
||||
entry->clientdata = dock;
|
||||
wMenuSetEnabled(menu, index, dock->lowered);
|
||||
|
||||
/* attract icons */
|
||||
entry = menu->entries[++index];
|
||||
|
||||
17
src/menu.c
17
src/menu.c
@@ -820,10 +820,19 @@ paintEntry(WMenu *menu, int index, int selected)
|
||||
ih = indicator->height;
|
||||
XSetClipMask(dpy, scr->copy_gc, indicator->mask);
|
||||
XSetClipOrigin(dpy, scr->copy_gc, 5, y+(h-ih)/2);
|
||||
if (selected)
|
||||
XSetForeground(dpy, scr->copy_gc, scr->black_pixel);
|
||||
else
|
||||
XSetForeground(dpy, scr->copy_gc, scr->mtext_pixel);
|
||||
if (selected) {
|
||||
if (entry->flags.enabled) {
|
||||
XSetForeground(dpy, scr->copy_gc, scr->black_pixel);
|
||||
} else {
|
||||
XSetForeground(dpy, scr->copy_gc, scr->dtext_pixel);
|
||||
}
|
||||
} else {
|
||||
if (entry->flags.enabled) {
|
||||
XSetForeground(dpy, scr->copy_gc, scr->mtext_pixel);
|
||||
} else {
|
||||
XSetForeground(dpy, scr->copy_gc, scr->dtext_pixel);
|
||||
}
|
||||
}
|
||||
XFillRectangle(dpy, win, scr->copy_gc, 5, y+(h-ih)/2, iw, ih);
|
||||
/*
|
||||
XCopyArea(dpy, indicator->image, win, scr->copy_gc, 0, 0,
|
||||
|
||||
Reference in New Issue
Block a user