mirror of
https://github.com/gryf/wmaker.git
synced 2026-02-12 11:45:55 +01:00
Initial update from my source tree. For 0.52.0
This commit is contained in:
13
ChangeLog
13
ChangeLog
@@ -2,8 +2,17 @@ Changes since version 0.51.2:
|
|||||||
.............................
|
.............................
|
||||||
|
|
||||||
- made the Attributes panel be available for all windows, even
|
- made the Attributes panel be available for all windows, even
|
||||||
for completely broken apps (although settings wont be saved for
|
for completely broken apps (although settings wont be saved for
|
||||||
completely broken apps)
|
completely broken apps)
|
||||||
|
- fixed compilation problems with compile time #defines
|
||||||
|
- workaround for crash during startup related to hiding miniaturized windows
|
||||||
|
from Matt Armstrong <matt_armstrong@bigfoot.com>
|
||||||
|
- fixed focus problem with unfocusable windows
|
||||||
|
- fixed bug in WPrefs that changed EXIT to SHUTDOWN
|
||||||
|
- fixed menu title messup bug in WPrefs
|
||||||
|
- added a dot to mark hidden applications (compile time) (id@windowmaker.org)
|
||||||
|
- enhancements to the modelock patch (id@windowmaker.org)
|
||||||
|
- show kbd mode for modelock (id@windowmaker.org)
|
||||||
|
|
||||||
|
|
||||||
Changes since version 0.51.1:
|
Changes since version 0.51.1:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ mkinstalldirs src/config.h.in src/stamp-h.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ changes since wmaker 0.51.2:
|
|||||||
|
|
||||||
- added WMColorWellDidChangeNotification
|
- added WMColorWellDidChangeNotification
|
||||||
- added wfindfileinarray()
|
- added wfindfileinarray()
|
||||||
|
- fixed bug in window title setting
|
||||||
|
(MANOME Tomonori <manome@itlb.te.noda.sut.ac.jp>)
|
||||||
|
|
||||||
changes since wmaker 0.51.1:
|
changes since wmaker 0.51.1:
|
||||||
............................
|
............................
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(libWINGs_a_SOURCES) $(wtest_SOURCES) $(wmquery_SOURCES) $(wmfile_SOURCES) $(fontl_SOURCES) $(testmywidget_SOURCES) $(testcolorpanel_SOURCES) $(testnot_SOURCES)
|
SOURCES = $(libWINGs_a_SOURCES) $(wtest_SOURCES) $(wmquery_SOURCES) $(wmfile_SOURCES) $(fontl_SOURCES) $(testmywidget_SOURCES) $(testcolorpanel_SOURCES) $(testnot_SOURCES)
|
||||||
OBJECTS = $(libWINGs_a_OBJECTS) $(wtest_OBJECTS) $(wmquery_OBJECTS) $(wmfile_OBJECTS) $(fontl_OBJECTS) $(testmywidget_OBJECTS) $(testcolorpanel_OBJECTS) $(testnot_OBJECTS)
|
OBJECTS = $(libWINGs_a_OBJECTS) $(wtest_OBJECTS) $(wmquery_OBJECTS) $(wmfile_OBJECTS) $(fontl_OBJECTS) $(testmywidget_OBJECTS) $(testcolorpanel_OBJECTS) $(testnot_OBJECTS)
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ WMDeleteSelectionHandler(WMWidget *widget, Atom selection)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int gotError = 0;
|
static Bool gotError = 0;
|
||||||
/*
|
/*
|
||||||
static int
|
static int
|
||||||
errorHandler(XErrorEvent *error)
|
errorHandler(XErrorEvent *error)
|
||||||
@@ -93,11 +93,11 @@ writeSelection(Display *dpy, Window requestor, Atom property, Atom type,
|
|||||||
/*
|
/*
|
||||||
printf("write to %x: %s\n", requestor, XGetAtomName(dpy, property));
|
printf("write to %x: %s\n", requestor, XGetAtomName(dpy, property));
|
||||||
*/
|
*/
|
||||||
gotError = 0;
|
gotError = False;
|
||||||
|
|
||||||
if (!XChangeProperty(dpy, requestor, property, type, format,
|
if (!XChangeProperty(dpy, requestor, property, type, format,
|
||||||
PropModeReplace, value, length))
|
PropModeReplace, value, length))
|
||||||
return 0;
|
return False;
|
||||||
XFlush(dpy);
|
XFlush(dpy);
|
||||||
|
|
||||||
return !gotError;
|
return !gotError;
|
||||||
@@ -309,7 +309,7 @@ W_GetTextSelection(WMScreen *scr, Atom selection)
|
|||||||
|
|
||||||
return data;
|
return data;
|
||||||
} else {
|
} else {
|
||||||
unsigned char *data;
|
char *data;
|
||||||
int bits;
|
int bits;
|
||||||
Atom rtype;
|
Atom rtype;
|
||||||
unsigned long len, bytes;
|
unsigned long len, bytes;
|
||||||
@@ -343,7 +343,7 @@ W_GetTextSelection(WMScreen *scr, Atom selection)
|
|||||||
if (XGetWindowProperty(scr->display, scr->groupLeader,
|
if (XGetWindowProperty(scr->display, scr->groupLeader,
|
||||||
scr->clipboardAtom, 0, MAX_PROPERTY_SIZE,
|
scr->clipboardAtom, 0, MAX_PROPERTY_SIZE,
|
||||||
False, XA_STRING, &rtype, &bits, &len,
|
False, XA_STRING, &rtype, &bits, &len,
|
||||||
&bytes, &data)!=Success) {
|
&bytes, (unsigned char**)&data)!=Success) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (rtype!=XA_STRING || bits!=8) {
|
if (rtype!=XA_STRING || bits!=8) {
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ int main(int argc, char **argv)
|
|||||||
scr = WMCreateSimpleApplicationScreen(dpy);
|
scr = WMCreateSimpleApplicationScreen(dpy);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pixmap = WMCreatePixmapFromXPMData(scr, GNUSTEP_XPM);
|
pixmap = WMCreatePixmapFromXPMData(scr, GNUSTEP_XPM);
|
||||||
WMSetApplicationIconImage(scr, pixmap); WMReleasePixmap(pixmap);
|
WMSetApplicationIconImage(scr, pixmap); WMReleasePixmap(pixmap);
|
||||||
|
|||||||
@@ -12,6 +12,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#if defined(HAVE_SELECT)
|
#if defined(HAVE_SELECT)
|
||||||
|
|
||||||
#ifdef HAVE_SYS_SELECT_H
|
#ifdef HAVE_SYS_SELECT_H
|
||||||
|
|||||||
@@ -855,7 +855,7 @@ scrollToColumn(WMBrowser *bPtr, int column, Bool updateScroller)
|
|||||||
if (!WMWidgetView(bPtr->columns[i])->flags.realized)
|
if (!WMWidgetView(bPtr->columns[i])->flags.realized)
|
||||||
WMRealizeWidget(bPtr->columns[i]);
|
WMRealizeWidget(bPtr->columns[i]);
|
||||||
WMMapWidget(bPtr->columns[i]);
|
WMMapWidget(bPtr->columns[i]);
|
||||||
x += bPtr->columnSize.width+COLUMN_SPACING;
|
x += bPtr->columnSize.width + COLUMN_SPACING;
|
||||||
} else {
|
} else {
|
||||||
WMUnmapWidget(bPtr->columns[i]);
|
WMUnmapWidget(bPtr->columns[i]);
|
||||||
}
|
}
|
||||||
@@ -910,13 +910,15 @@ listCallback(void *self, void *clientData)
|
|||||||
/* open directory */
|
/* open directory */
|
||||||
if (item->isBranch) {
|
if (item->isBranch) {
|
||||||
WMAddBrowserColumn(bPtr);
|
WMAddBrowserColumn(bPtr);
|
||||||
loadColumn(bPtr, bPtr->usedColumnCount-1);
|
|
||||||
}
|
}
|
||||||
if (bPtr->usedColumnCount < bPtr->maxVisibleColumns)
|
if (bPtr->usedColumnCount < bPtr->maxVisibleColumns)
|
||||||
i = 0;
|
i = 0;
|
||||||
else
|
else
|
||||||
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
|
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
|
||||||
scrollToColumn(bPtr, i, True);
|
scrollToColumn(bPtr, i, True);
|
||||||
|
if (item->isBranch) {
|
||||||
|
loadColumn(bPtr, bPtr->usedColumnCount-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -191,6 +191,9 @@ WMCreateWindowWithStyle(WMScreen *screen, char *name, int style)
|
|||||||
void
|
void
|
||||||
WMSetWindowTitle(WMWindow *win, char *title)
|
WMSetWindowTitle(WMWindow *win, char *title)
|
||||||
{
|
{
|
||||||
|
XTextProperty property;
|
||||||
|
int result;
|
||||||
|
|
||||||
if (win->title!=NULL)
|
if (win->title!=NULL)
|
||||||
free(win->title);
|
free(win->title);
|
||||||
if (title!=NULL)
|
if (title!=NULL)
|
||||||
@@ -199,7 +202,17 @@ WMSetWindowTitle(WMWindow *win, char *title)
|
|||||||
win->title = NULL;
|
win->title = NULL;
|
||||||
|
|
||||||
if (win->view->flags.realized) {
|
if (win->view->flags.realized) {
|
||||||
XStoreName(win->view->screen->display, win->view->window, title);
|
result = XmbTextListToTextProperty (win->view->screen->display,
|
||||||
|
&title, 1, XStdICCTextStyle,
|
||||||
|
&property);
|
||||||
|
if (result == XNoMemory || result == XLocaleNotSupported) {
|
||||||
|
wwarning("window title conversion error... using STRING encoding");
|
||||||
|
XStoreName(win->view->screen->display, win->view->window, title);
|
||||||
|
} else {
|
||||||
|
XSetWMName(win->view->screen->display, win->view->window, &property);
|
||||||
|
if (property.value)
|
||||||
|
XFree(property.value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -331,7 +344,7 @@ static void
|
|||||||
writeGNUstepWMAttr(WMScreen *scr, Window window, GNUstepWMAttributes *attr)
|
writeGNUstepWMAttr(WMScreen *scr, Window window, GNUstepWMAttributes *attr)
|
||||||
{
|
{
|
||||||
unsigned long data[9];
|
unsigned long data[9];
|
||||||
|
|
||||||
/* handle idiot compilers where array of CARD32 != struct of CARD32 */
|
/* handle idiot compilers where array of CARD32 != struct of CARD32 */
|
||||||
data[0] = attr->flags;
|
data[0] = attr->flags;
|
||||||
data[1] = attr->window_style;
|
data[1] = attr->window_style;
|
||||||
@@ -414,11 +427,9 @@ realizeWindow(WMWindow *win)
|
|||||||
if (count>0)
|
if (count>0)
|
||||||
XSetWMProtocols(scr->display, win->view->window, atoms, count);
|
XSetWMProtocols(scr->display, win->view->window, atoms, count);
|
||||||
|
|
||||||
if (win->title)
|
if (win->title || win->miniTitle)
|
||||||
XStoreName(scr->display, win->view->window, win->title);
|
XmbSetWMProperties(scr->display, win->view->window, win->title,
|
||||||
|
win->miniTitle, NULL, 0, NULL, NULL, NULL);
|
||||||
if (win->miniTitle)
|
|
||||||
XSetIconName(scr->display, win->view->window, win->miniTitle);
|
|
||||||
|
|
||||||
setWindowMakerHints(win);
|
setWindowMakerHints(win);
|
||||||
|
|
||||||
@@ -535,6 +546,9 @@ WMSetWindowMiniwindowImage(WMWindow *win, WMPixmap *pixmap)
|
|||||||
void
|
void
|
||||||
WMSetWindowMiniwindowTitle(WMWindow *win, char *title)
|
WMSetWindowMiniwindowTitle(WMWindow *win, char *title)
|
||||||
{
|
{
|
||||||
|
XTextProperty property;
|
||||||
|
int result;
|
||||||
|
|
||||||
if ((win->miniTitle && !title) || (!win->miniTitle && title)
|
if ((win->miniTitle && !title) || (!win->miniTitle && title)
|
||||||
|| (title && win->miniTitle && strcoll(title, win->miniTitle)!=0)) {
|
|| (title && win->miniTitle && strcoll(title, win->miniTitle)!=0)) {
|
||||||
if (win->miniTitle)
|
if (win->miniTitle)
|
||||||
@@ -546,7 +560,19 @@ WMSetWindowMiniwindowTitle(WMWindow *win, char *title)
|
|||||||
win->miniTitle = NULL;
|
win->miniTitle = NULL;
|
||||||
|
|
||||||
if (win->view->flags.realized) {
|
if (win->view->flags.realized) {
|
||||||
XSetIconName(win->view->screen->display, win->view->window, title);
|
result = XmbTextListToTextProperty (win->view->screen->display,
|
||||||
|
&title, 1, XStdICCTextStyle,
|
||||||
|
&property);
|
||||||
|
if (result == XNoMemory || result == XLocaleNotSupported) {
|
||||||
|
wwarning("icon title conversion error..using STRING encoding");
|
||||||
|
XSetIconName(win->view->screen->display, win->view->window,
|
||||||
|
title);
|
||||||
|
} else {
|
||||||
|
XSetWMIconName(win->view->screen->display, win->view->window,
|
||||||
|
&property);
|
||||||
|
if (property.value)
|
||||||
|
XFree(property.value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1049,11 +1049,11 @@ storeData(_Panel *panel)
|
|||||||
|
|
||||||
item = WMGetListItem(panel->texLs, panel->textureIndex[3]);
|
item = WMGetListItem(panel->texLs, panel->textureIndex[3]);
|
||||||
titem = (TextureListItem*)item->clientData;
|
titem = (TextureListItem*)item->clientData;
|
||||||
SetObjectForKey(titem->prop, "MenuTextBack");
|
SetObjectForKey(titem->prop, "MenuTitleBack");
|
||||||
|
|
||||||
item = WMGetListItem(panel->texLs, panel->textureIndex[4]);
|
item = WMGetListItem(panel->texLs, panel->textureIndex[4]);
|
||||||
titem = (TextureListItem*)item->clientData;
|
titem = (TextureListItem*)item->clientData;
|
||||||
SetObjectForKey(titem->prop, "MenuItemBack");
|
SetObjectForKey(titem->prop, "MenuTextBack");
|
||||||
|
|
||||||
item = WMGetListItem(panel->texLs, panel->textureIndex[5]);
|
item = WMGetListItem(panel->texLs, panel->textureIndex[5]);
|
||||||
titem = (TextureListItem*)item->clientData;
|
titem = (TextureListItem*)item->clientData;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(WPrefs_SOURCES)
|
SOURCES = $(WPrefs_SOURCES)
|
||||||
OBJECTS = $(WPrefs_OBJECTS)
|
OBJECTS = $(WPrefs_OBJECTS)
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ enum {
|
|||||||
static void showData(_Panel *panel);
|
static void showData(_Panel *panel);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
isMenu(proplist_t item)
|
isMenu(proplist_t item)
|
||||||
{
|
{
|
||||||
@@ -326,6 +327,36 @@ getItemCommand(proplist_t item)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static proplist_t
|
||||||
|
getSubmenuInColumn(_Panel *panel, int column)
|
||||||
|
{
|
||||||
|
proplist_t parent;
|
||||||
|
proplist_t submenu;
|
||||||
|
WMList *list;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
if (column == 0) {
|
||||||
|
return panel->menu;
|
||||||
|
}
|
||||||
|
if (column >= WMGetBrowserNumberOfColumns(panel->browser))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
list = WMGetBrowserListInColumn(panel->browser, column - 1);
|
||||||
|
assert(list != NULL);
|
||||||
|
|
||||||
|
r = WMGetListSelectedItemRow(list);
|
||||||
|
|
||||||
|
parent = getSubmenuInColumn(panel, column - 1);
|
||||||
|
|
||||||
|
assert(parent != NULL);
|
||||||
|
|
||||||
|
submenu = PLGetArrayElement(parent, r + 1);
|
||||||
|
|
||||||
|
return submenu;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
updateForItemType(_Panel *panel, int type)
|
updateForItemType(_Panel *panel, int type)
|
||||||
{
|
{
|
||||||
@@ -387,7 +418,7 @@ getItemOfSelectedEntry(WMBrowser *bPtr)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
i = WMGetBrowserSelectedColumn(bPtr);
|
i = WMGetBrowserSelectedColumn(bPtr);
|
||||||
menu = (proplist_t)WMGetHangedData(WMGetBrowserListInColumn(bPtr, i));
|
menu = getSubmenuInColumn((_Panel*)WMGetHangedData(bPtr), i);
|
||||||
|
|
||||||
i = WMGetBrowserSelectedRowInColumn(bPtr, i);
|
i = WMGetBrowserSelectedRowInColumn(bPtr, i);
|
||||||
item = PLGetArrayElement(menu, i+1);
|
item = PLGetArrayElement(menu, i+1);
|
||||||
@@ -406,7 +437,6 @@ performCommand(WMWidget *w, void *data)
|
|||||||
int column;
|
int column;
|
||||||
int row;
|
int row;
|
||||||
static int cmdIndex=0;
|
static int cmdIndex=0;
|
||||||
WMList *list;
|
|
||||||
char *title = NULL;
|
char *title = NULL;
|
||||||
|
|
||||||
column = WMGetBrowserFirstVisibleColumn(panel->browser);
|
column = WMGetBrowserFirstVisibleColumn(panel->browser);
|
||||||
@@ -417,8 +447,7 @@ performCommand(WMWidget *w, void *data)
|
|||||||
if (column >= WMGetBrowserNumberOfColumns(panel->browser))
|
if (column >= WMGetBrowserNumberOfColumns(panel->browser))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
list = WMGetBrowserListInColumn(panel->browser, column);
|
menu = getSubmenuInColumn(panel, column);
|
||||||
menu = WMGetHangedData(list);
|
|
||||||
|
|
||||||
row = WMGetBrowserSelectedRowInColumn(panel->browser, column);
|
row = WMGetBrowserSelectedRowInColumn(panel->browser, column);
|
||||||
|
|
||||||
@@ -533,7 +562,7 @@ browserClick(WMWidget *w, void *data)
|
|||||||
_Panel *panel = (_Panel*)data;
|
_Panel *panel = (_Panel*)data;
|
||||||
proplist_t item;
|
proplist_t item;
|
||||||
char *command;
|
char *command;
|
||||||
|
|
||||||
/* stop shortcut capture */
|
/* stop shortcut capture */
|
||||||
panel->capturing = 0;
|
panel->capturing = 0;
|
||||||
|
|
||||||
@@ -621,6 +650,7 @@ browserClick(WMWidget *w, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fillBrowserColumn(WMBrowser *bPtr, int column)
|
fillBrowserColumn(WMBrowser *bPtr, int column)
|
||||||
{
|
{
|
||||||
@@ -629,21 +659,14 @@ fillBrowserColumn(WMBrowser *bPtr, int column)
|
|||||||
proplist_t menuList = NULL;
|
proplist_t menuList = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (column > 0) {
|
|
||||||
menuList = getItemOfSelectedEntry(panel->browser);
|
|
||||||
|
|
||||||
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
|
menuList = getSubmenuInColumn(panel, column);
|
||||||
|
assert(menuList != NULL);
|
||||||
|
|
||||||
if (column > WMGetBrowserFirstVisibleColumn(bPtr))
|
if (column > WMGetBrowserFirstVisibleColumn(bPtr)) {
|
||||||
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
|
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
|
||||||
else
|
|
||||||
WMSetTextFieldText(panel->tit1T, getItemTitle(menuList));
|
|
||||||
} else {
|
} else {
|
||||||
menuList = panel->menu;
|
WMSetTextFieldText(panel->tit1T, getItemTitle(menuList));
|
||||||
|
|
||||||
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
|
|
||||||
|
|
||||||
WMSetTextFieldText(panel->tit1T, getItemTitle(panel->menu));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=1; i<PLGetNumberOfElements(menuList); i++) {
|
for (i=1; i<PLGetNumberOfElements(menuList); i++) {
|
||||||
@@ -667,6 +690,7 @@ changedItem(void *observerData, WMNotification *notification)
|
|||||||
char *command;
|
char *command;
|
||||||
char *str;
|
char *str;
|
||||||
|
|
||||||
|
|
||||||
if (!item)
|
if (!item)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -741,13 +765,8 @@ changedTitle(void *observerData, WMNotification *notification)
|
|||||||
column = WMGetBrowserFirstVisibleColumn(panel->browser);
|
column = WMGetBrowserFirstVisibleColumn(panel->browser);
|
||||||
if (panel->tit2T == t)
|
if (panel->tit2T == t)
|
||||||
column++;
|
column++;
|
||||||
|
|
||||||
list = WMGetBrowserListInColumn(panel->browser, column);
|
|
||||||
if (!list) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
menu = (proplist_t)WMGetHangedData(list);
|
menu = getSubmenuInColumn(panel, column);
|
||||||
if (!menu)
|
if (!menu)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -814,7 +833,11 @@ changedCommand(WMWidget *w, void *data)
|
|||||||
changeItemCommand(panel->editedItem, "EXIT");
|
changeItemCommand(panel->editedItem, "EXIT");
|
||||||
updateForItemType(panel, TExit);
|
updateForItemType(panel, TExit);
|
||||||
}
|
}
|
||||||
/* fall through */
|
if (WMGetButtonSelected(panel->noconfirmB))
|
||||||
|
changeItemParameter(panel->editedItem, "QUICK");
|
||||||
|
else
|
||||||
|
changeItemParameter(panel->editedItem, "");
|
||||||
|
break;
|
||||||
case CpShutdown:
|
case CpShutdown:
|
||||||
if (strcmp(getItemCommand(panel->editedItem), "SHUTDOWN")!=0) {
|
if (strcmp(getItemCommand(panel->editedItem), "SHUTDOWN")!=0) {
|
||||||
changeItemCommand(panel->editedItem, "SHUTDOWN");
|
changeItemCommand(panel->editedItem, "SHUTDOWN");
|
||||||
@@ -963,16 +986,13 @@ scrolledBrowser(void *observerData, WMNotification *notification)
|
|||||||
proplist_t item;
|
proplist_t item;
|
||||||
|
|
||||||
column = WMGetBrowserFirstVisibleColumn(panel->browser);
|
column = WMGetBrowserFirstVisibleColumn(panel->browser);
|
||||||
|
|
||||||
list = WMGetBrowserListInColumn(panel->browser, column);
|
item = getSubmenuInColumn(panel, column);
|
||||||
item = WMGetHangedData(list);
|
|
||||||
WMSetTextFieldText(panel->tit1T, getItemTitle(item));
|
WMSetTextFieldText(panel->tit1T, getItemTitle(item));
|
||||||
|
|
||||||
list = WMGetBrowserListInColumn(panel->browser, column+1);
|
item = getSubmenuInColumn(panel, column + 1);
|
||||||
if (list) {
|
if (item)
|
||||||
item = WMGetHangedData(list);
|
|
||||||
WMSetTextFieldText(panel->tit2T, getItemTitle(item));
|
WMSetTextFieldText(panel->tit2T, getItemTitle(item));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1326,7 +1346,7 @@ getDefaultMenu(_Panel *panel, int *hasWSMenu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
showData(_Panel *panel)
|
showData(_Panel *panel)
|
||||||
{
|
{
|
||||||
char *gspath;
|
char *gspath;
|
||||||
@@ -1335,12 +1355,12 @@ showData(_Panel *panel)
|
|||||||
int hasWSMenu = 0;
|
int hasWSMenu = 0;
|
||||||
|
|
||||||
gspath = wusergnusteppath();
|
gspath = wusergnusteppath();
|
||||||
|
|
||||||
menuPath = wmalloc(strlen(gspath)+32);
|
menuPath = wmalloc(strlen(gspath)+32);
|
||||||
strcpy(menuPath, gspath);
|
strcpy(menuPath, gspath);
|
||||||
free(gspath);
|
free(gspath);
|
||||||
strcat(menuPath, "/Defaults/WMRootMenu");
|
strcat(menuPath, "/Defaults/WMRootMenu");
|
||||||
|
|
||||||
menu = PLGetProplistWithPath(menuPath);
|
menu = PLGetProplistWithPath(menuPath);
|
||||||
pmenu = NULL;
|
pmenu = NULL;
|
||||||
|
|
||||||
@@ -1369,7 +1389,7 @@ showData(_Panel *panel)
|
|||||||
|
|
||||||
if (menu)
|
if (menu)
|
||||||
PLRelease(menu);
|
PLRelease(menu);
|
||||||
|
|
||||||
if (panel->itemClipboard) {
|
if (panel->itemClipboard) {
|
||||||
PLRelease(panel->itemClipboard);
|
PLRelease(panel->itemClipboard);
|
||||||
panel->itemClipboard = NULL;
|
panel->itemClipboard = NULL;
|
||||||
|
|||||||
@@ -570,7 +570,7 @@ browseImageCallback(WMWidget *w, void *data)
|
|||||||
WMSetFilePanelCanChooseDirectories(opanel, False);
|
WMSetFilePanelCanChooseDirectories(opanel, False);
|
||||||
WMSetFilePanelCanChooseFiles(opanel, True);
|
WMSetFilePanelCanChooseFiles(opanel, True);
|
||||||
|
|
||||||
if (WMRunModalFilePanelForDirectory(opanel, panel->win, "/home",
|
if (WMRunModalFilePanelForDirectory(opanel, panel->win, wgethomedir(),
|
||||||
"Open Image", NULL)) {
|
"Open Image", NULL)) {
|
||||||
char *path, *fullpath;
|
char *path, *fullpath;
|
||||||
char *tmp, *tmp2;
|
char *tmp, *tmp2;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ nlsdir = $(NLSDIR)
|
|||||||
|
|
||||||
CLEANFILES = $(CATALOGS)
|
CLEANFILES = $(CATALOGS)
|
||||||
|
|
||||||
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po
|
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po
|
||||||
|
|
||||||
POTFILES = \
|
POTFILES = \
|
||||||
$(top_builddir)/WPrefs.app/Configurations.c \
|
$(top_builddir)/WPrefs.app/Configurations.c \
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ nlsdir = $(NLSDIR)
|
|||||||
|
|
||||||
CLEANFILES = $(CATALOGS)
|
CLEANFILES = $(CATALOGS)
|
||||||
|
|
||||||
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po
|
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po
|
||||||
|
|
||||||
POTFILES = $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TextureAndColor.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/xmodifier.c
|
POTFILES = $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TextureAndColor.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/xmodifier.c
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -11,3 +11,4 @@ ko.po Korean Byeong-Chan, Kim <redhands@linux.sarang.net>
|
|||||||
cs.po Czech David ©auer <xsauer@hwlab.felk.cvut.cz>
|
cs.po Czech David ©auer <xsauer@hwlab.felk.cvut.cz>
|
||||||
ja.po Japanese Kazuhide Takahashi <kazu@dgra.ne.jp>
|
ja.po Japanese Kazuhide Takahashi <kazu@dgra.ne.jp>
|
||||||
zh_TW.Big5.po Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
|
zh_TW.Big5.po Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
|
||||||
|
es.po Spanish Alvaro Herrera <alvherre@webhost.cl>
|
||||||
|
|||||||
1467
WPrefs.app/po/es.po
Normal file
1467
WPrefs.app/po/es.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -103,7 +103,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ prefsdata_DATA =\
|
|||||||
plmenu\
|
plmenu\
|
||||||
plmenu.fr\
|
plmenu.fr\
|
||||||
plmenu.hr\
|
plmenu.hr\
|
||||||
|
plmenu.dk\
|
||||||
wmmacros \
|
wmmacros \
|
||||||
xtree.dat
|
xtree.dat
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ SUBDIRS = Backgrounds Defaults IconSets Icons Pixmaps Styles Themes
|
|||||||
|
|
||||||
prefsdatadir = $(pkgdatadir)
|
prefsdatadir = $(pkgdatadir)
|
||||||
|
|
||||||
prefsdata_DATA = README README.themes autostart.sh exitscript.sh menu menu.ca menu.cz menu.de menu.dk menu.el menu.es menu.fi menu.fr menu.gl menu.he menu.hr menu.hu menu.it menu.ja menu.ko menu.nl menu.no menu.pt menu.ru menu.se menu.sl menu.tr menu.zh_TW.Big5 plmenu plmenu.fr plmenu.hr wmmacros xtree.dat
|
prefsdata_DATA = README README.themes autostart.sh exitscript.sh menu menu.ca menu.cz menu.de menu.dk menu.el menu.es menu.fi menu.fr menu.gl menu.he menu.hr menu.hu menu.it menu.ja menu.ko menu.nl menu.no menu.pt menu.ru menu.se menu.sl menu.tr menu.zh_TW.Big5 plmenu plmenu.fr plmenu.hr plmenu.dk wmmacros xtree.dat
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST = $(prefsdata_DATA) mkMakefile
|
EXTRA_DIST = $(prefsdata_DATA) mkMakefile
|
||||||
@@ -105,7 +105,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -57,3 +57,7 @@ menu.sl Slovene Alen Salamun <snowman@hal9000.medinet.si>
|
|||||||
menu.hu Hungarian Csanaki Csaba <prew@mail.matav.hu>
|
menu.hu Hungarian Csanaki Csaba <prew@mail.matav.hu>
|
||||||
menu.ca Català Carles Amig<F3> dj_fr3nd@hotmail.com
|
menu.ca Català Carles Amig<F3> dj_fr3nd@hotmail.com
|
||||||
menu.zh_TW.Big5 Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
|
menu.zh_TW.Big5 Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
plmenu.dk Danish Birger Langkjer <birger.langkjer@image.dk>
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
433
WindowMaker/plmenu.dk
Executable file
433
WindowMaker/plmenu.dk
Executable file
@@ -0,0 +1,433 @@
|
|||||||
|
(
|
||||||
|
"Applikationer",
|
||||||
|
(
|
||||||
|
"Info",
|
||||||
|
("Info Panel...", INFO_PANEL),
|
||||||
|
("Copyright...", LEGAL_PANEL),
|
||||||
|
(
|
||||||
|
"Systemkonsol",
|
||||||
|
EXEC,
|
||||||
|
"xconsole"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Systembelastning",
|
||||||
|
EXEC,
|
||||||
|
"xosview || xload"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Procesliste",
|
||||||
|
EXEC,
|
||||||
|
"rxvt -fn 6x10 -geometry 80x50 -e top"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Brugsanvisninger",
|
||||||
|
EXEC,
|
||||||
|
"xman"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Kontrolpanel",
|
||||||
|
EXEC,
|
||||||
|
"control-panel"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"LinuxConfig",
|
||||||
|
EXEC,
|
||||||
|
"linuxconf"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Xterm",
|
||||||
|
EXEC,
|
||||||
|
"rxvt"
|
||||||
|
),
|
||||||
|
("Arbejdsborde", WORKSPACE_MENU),
|
||||||
|
(
|
||||||
|
"Applikationer",
|
||||||
|
(
|
||||||
|
"Grafik",
|
||||||
|
(
|
||||||
|
"Gimp",
|
||||||
|
EXEC,
|
||||||
|
"gimp >/dev/null"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Electric Eyes",
|
||||||
|
EXEC,
|
||||||
|
"ee"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"XV",
|
||||||
|
EXEC,
|
||||||
|
"xv"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"XPaint",
|
||||||
|
EXEC,
|
||||||
|
"xpaint"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"XFig",
|
||||||
|
EXEC,
|
||||||
|
"xfig"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"X Filhåndtering",
|
||||||
|
EXEC,
|
||||||
|
"xfm"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Midnight Commander",
|
||||||
|
EXEC,
|
||||||
|
"rxvt -fn 9x15 -e mc"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"OffiX Files",
|
||||||
|
EXEC,
|
||||||
|
"files"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"LyX",
|
||||||
|
EXEC,
|
||||||
|
"lyx"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Netscape",
|
||||||
|
EXEC,
|
||||||
|
"netscape"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Netscape Mail",
|
||||||
|
EXEC,
|
||||||
|
"netscape -news"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Lynx",
|
||||||
|
EXEC,
|
||||||
|
"rxvt -fn 9x15 -e lynx"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Ghostview",
|
||||||
|
EXEC,
|
||||||
|
"ghostview %a(Skriv filnavn)"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Acrobat",
|
||||||
|
EXEC,
|
||||||
|
"/usr/local/Acrobat3/bin/acroread %a(Skriv PDF-filnavn)"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"TkDesk",
|
||||||
|
EXEC,
|
||||||
|
"tkdesk"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"X11 apps",
|
||||||
|
OPEN_MENU,
|
||||||
|
"/usr/local/bin"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Tekstbehandling",
|
||||||
|
(
|
||||||
|
"Wordperfect",
|
||||||
|
EXEC,
|
||||||
|
"/usr/local/wp8/wpbin/xwp"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"GXedit",
|
||||||
|
EXEC,
|
||||||
|
"gxedit"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Gnotepad+",
|
||||||
|
EXEC,
|
||||||
|
"gnp"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"gEdit",
|
||||||
|
EXEC,
|
||||||
|
"gedit"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Emacs",
|
||||||
|
EXEC,
|
||||||
|
"xemacs || emacs"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"NEdit",
|
||||||
|
EXEC,
|
||||||
|
"nedit"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"TKnotepad",
|
||||||
|
EXEC,
|
||||||
|
"tknotepad"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"VI",
|
||||||
|
EXEC,
|
||||||
|
"gvim || rxvt -e vi"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"KDE applikationer",
|
||||||
|
(
|
||||||
|
"Kmail",
|
||||||
|
EXEC,
|
||||||
|
"kmail"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Kppp",
|
||||||
|
EXEC,
|
||||||
|
"kppp"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"K Filhåndtering",
|
||||||
|
EXEC,
|
||||||
|
"kfm -w"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Kdehjælp",
|
||||||
|
EXEC,
|
||||||
|
"kdehelp"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Diverse",
|
||||||
|
(
|
||||||
|
"Xmcd",
|
||||||
|
EXEC,
|
||||||
|
"xmcd 2> /dev/null"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Xplaycd",
|
||||||
|
EXEC,
|
||||||
|
"xplaycd"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Xmixer",
|
||||||
|
EXEC,
|
||||||
|
"xmixer"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Tilbehør",
|
||||||
|
(
|
||||||
|
"Lommeregner",
|
||||||
|
EXEC,
|
||||||
|
"xcalc"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Window Egenskaber",
|
||||||
|
EXEC,
|
||||||
|
"xprop | xmessage -center -title 'xprop' -file"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Vælg skrifttype",
|
||||||
|
EXEC,
|
||||||
|
"xfontsel"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Terminalemulator",
|
||||||
|
EXEC,
|
||||||
|
"xminicom"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Forstørrelsesglas",
|
||||||
|
EXEC,
|
||||||
|
"xmag"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Farver",
|
||||||
|
EXEC,
|
||||||
|
"xcmap"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"XKill",
|
||||||
|
EXEC,
|
||||||
|
"xkill"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"ASClock",
|
||||||
|
EXEC,
|
||||||
|
"asclock -shape"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Udklipsbord",
|
||||||
|
EXEC,
|
||||||
|
"xclipboard"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Markering",
|
||||||
|
(
|
||||||
|
"Kopier",
|
||||||
|
EXEC,
|
||||||
|
"echo '%s' | wxcopy"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Send e-post",
|
||||||
|
EXEC,
|
||||||
|
"xterm -name mail -T \"Pine\" -e pine %s"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Indtast URL",
|
||||||
|
EXEC,
|
||||||
|
"netscape %s"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Søg i manual",
|
||||||
|
EXEC,
|
||||||
|
"if ( man %s > /dev/null ); then man %s | xless; else xmessage -center -title \"Manual Browser\" Sorry, but there is no manual page entry for %s ...; fi"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Arbejdsbord",
|
||||||
|
("Gem andre", HIDE_OTHERS),
|
||||||
|
("Vis alle", SHOW_ALL),
|
||||||
|
("Arranger ikoner", ARRANGE_ICONS),
|
||||||
|
("Genindlæs", REFRESH),
|
||||||
|
(
|
||||||
|
"Lås",
|
||||||
|
EXEC,
|
||||||
|
"xlock -allowroot -usefirst"
|
||||||
|
),
|
||||||
|
("Gem miljø", SAVE_SESSION),
|
||||||
|
("Slet gemt miljø", CLEAR_SESSION)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Udseende",
|
||||||
|
(
|
||||||
|
"Temaer",
|
||||||
|
OPEN_MENU,
|
||||||
|
"-noext /usr/local/share/WindowMaker/Themes ~/GNUstep/Library/WindowMaker/Themes WITH setstyle"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Stil",
|
||||||
|
OPEN_MENU,
|
||||||
|
"-noext /usr/local/share/WindowMaker/Styles ~/GNUstep/Library/WindowMaker/Styles WITH setstyle"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Ikonsæt",
|
||||||
|
OPEN_MENU,
|
||||||
|
"-noext /usr/local/share/WindowMaker/IconSets ~/GNUstep/Library/WindowMaker/IconSets WITH seticons"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Baggrund",
|
||||||
|
(
|
||||||
|
"Ensfarvet",
|
||||||
|
(
|
||||||
|
"Sort",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, black)'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Blå",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"#505075\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Indigo",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"#243e6c\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Mørkeblå",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"#180090\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Lilla",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"#554466\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Hvede",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"wheat4\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Mørkegrå",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"#333340\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Bordeaux",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(solid, \"#400020\")'"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Nuancer",
|
||||||
|
(
|
||||||
|
"Flag",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(mdgradient, green, red, white, green)'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Himmel",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, blue4, white)'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Blue Shades",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#7080a5\", \"#101020\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Indigo Shades",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#746ebc\", \"#242e4c\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Purple Shades",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#654c66\", \"#151426\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Wheat Shades",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#a09060\", \"#302010\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Grey Shades",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'"
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Wine Shades",
|
||||||
|
EXEC,
|
||||||
|
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#600040\", \"#180010\")'"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Billeder",
|
||||||
|
OPEN_MENU,
|
||||||
|
"-noext /usr/local/share/WindowMaker/Backgrounds ~/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Gem tema",
|
||||||
|
EXEC,
|
||||||
|
"getstyle -t ~/GNUstep/Library/WindowMaker/Themes/\"%a(Theme name,Enter file name:)\""
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Gem ikonsæt",
|
||||||
|
EXEC,
|
||||||
|
"geticonset ~/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name,Enter file name:)\""
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"Afslut",
|
||||||
|
("Genindlæs", RESTART),
|
||||||
|
("Start Fvwm2", RESTART, fvwm2),
|
||||||
|
("Start AfterStep", RESTART, afterstep),
|
||||||
|
("Start Icewm", RESTART, icewm),
|
||||||
|
("Start KDE", RESTART, startkde),
|
||||||
|
("Start Flwm", RESTART, flwm),
|
||||||
|
("Start Blackbox", RESTART, blackbox),
|
||||||
|
("Afslut WindowMaker...", EXIT),
|
||||||
|
("Afslut X...", SHUTDOWN)
|
||||||
|
)
|
||||||
|
)
|
||||||
8
configure
vendored
8
configure
vendored
@@ -2859,7 +2859,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro dk zh_TW.Big5"
|
supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro dk zh_TW.Big5"
|
||||||
supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5"
|
supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5 es"
|
||||||
|
|
||||||
for lang in $LINGUAS; do
|
for lang in $LINGUAS; do
|
||||||
ok=0
|
ok=0
|
||||||
@@ -4655,7 +4655,7 @@ fi
|
|||||||
LDFLAGS="$LDFLAGS_old"
|
LDFLAGS="$LDFLAGS_old"
|
||||||
|
|
||||||
if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
|
if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
|
||||||
my_libname=ungif
|
my_libname=-lungif
|
||||||
fi
|
fi
|
||||||
if test "x$my_libname" = x; then
|
if test "x$my_libname" = x; then
|
||||||
|
|
||||||
@@ -4705,7 +4705,7 @@ fi
|
|||||||
LDFLAGS="$LDFLAGS_old"
|
LDFLAGS="$LDFLAGS_old"
|
||||||
|
|
||||||
if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
|
if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
|
||||||
my_libname=gif
|
my_libname=-lgif
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -4749,7 +4749,7 @@ fi
|
|||||||
CPPFLAGS="$CPPFLAGS_old"
|
CPPFLAGS="$CPPFLAGS_old"
|
||||||
|
|
||||||
if test "x$ac_cv_header_gif_lib_h" = xyes; then
|
if test "x$ac_cv_header_gif_lib_h" = xyes; then
|
||||||
GFXLIBS="$GFXLIBS -l$my_libname"
|
GFXLIBS="$GFXLIBS $my_libname"
|
||||||
supported_gfx="$supported_gfx GIF"
|
supported_gfx="$supported_gfx GIF"
|
||||||
cat >> confdefs.h <<\EOF
|
cat >> confdefs.h <<\EOF
|
||||||
#define USE_GIF 1
|
#define USE_GIF 1
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ dnl ==================
|
|||||||
dnl List of supported locales
|
dnl List of supported locales
|
||||||
dnl -------------------------
|
dnl -------------------------
|
||||||
supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro dk zh_TW.Big5"
|
supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro dk zh_TW.Big5"
|
||||||
supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5"
|
supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5 es"
|
||||||
|
|
||||||
for lang in $LINGUAS; do
|
for lang in $LINGUAS; do
|
||||||
ok=0
|
ok=0
|
||||||
@@ -529,7 +529,7 @@ if test "$gif" = yes; then
|
|||||||
my_libname=""
|
my_libname=""
|
||||||
WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
|
WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
|
||||||
if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
|
if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
|
||||||
my_libname=ungif
|
my_libname=-lungif
|
||||||
fi
|
fi
|
||||||
dnl
|
dnl
|
||||||
dnl libungif is the same thing as libgif for all practical purposes.
|
dnl libungif is the same thing as libgif for all practical purposes.
|
||||||
@@ -537,14 +537,14 @@ dnl
|
|||||||
if test "x$my_libname" = x; then
|
if test "x$my_libname" = x; then
|
||||||
WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
|
WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
|
||||||
if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
|
if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
|
||||||
my_libname=gif
|
my_libname=-lgif
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$my_libname" != x; then
|
if test "$my_libname" != x; then
|
||||||
WM_CHECK_HEADER(gif_lib.h)
|
WM_CHECK_HEADER(gif_lib.h)
|
||||||
if test "x$ac_cv_header_gif_lib_h" = xyes; then
|
if test "x$ac_cv_header_gif_lib_h" = xyes; then
|
||||||
GFXLIBS="$GFXLIBS -l$my_libname"
|
GFXLIBS="$GFXLIBS $my_libname"
|
||||||
supported_gfx="$supported_gfx GIF"
|
supported_gfx="$supported_gfx GIF"
|
||||||
AC_DEFINE(USE_GIF)
|
AC_DEFINE(USE_GIF)
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
all: all-redirect
|
all: all-redirect
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ wconfig.h.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(wmaker_SOURCES)
|
SOURCES = $(wmaker_SOURCES)
|
||||||
OBJECTS = $(wmaker_OBJECTS)
|
OBJECTS = $(wmaker_OBJECTS)
|
||||||
|
|||||||
@@ -175,7 +175,10 @@ wSetFocusTo(WScreen *scr, WWindow *wwin)
|
|||||||
if (napp)
|
if (napp)
|
||||||
napp->last_workspace = wwin->screen_ptr->current_workspace;
|
napp->last_workspace = wwin->screen_ptr->current_workspace;
|
||||||
|
|
||||||
if (wwin->flags.mapped && !WFLAGP(wwin, no_focusable)) {
|
if (WFLAGP(wwin, no_focusable))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (wwin->flags.mapped /*&& !WFLAGP(wwin, no_focusable)*/) {
|
||||||
/* install colormap if colormap mode is lock mode */
|
/* install colormap if colormap mode is lock mode */
|
||||||
if (wPreferences.colormap_mode==WKF_CLICK)
|
if (wPreferences.colormap_mode==WKF_CLICK)
|
||||||
wColormapInstallForWindow(scr, wwin);
|
wColormapInstallForWindow(scr, wwin);
|
||||||
@@ -203,9 +206,6 @@ wSetFocusTo(WScreen *scr, WWindow *wwin)
|
|||||||
XSetInputFocus(dpy, scr->no_focus_win, RevertToParent, timestamp);
|
XSetInputFocus(dpy, scr->no_focus_win, RevertToParent, timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WFLAGP(wwin, no_focusable))
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* if this is not the focused window focus it */
|
/* if this is not the focused window focus it */
|
||||||
if (focused!=wwin) {
|
if (focused!=wwin) {
|
||||||
/* change the focus window list order */
|
/* change the focus window list order */
|
||||||
@@ -882,6 +882,7 @@ removeIconGrabs(WIcon *icon)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
wIconifyWindow(WWindow *wwin)
|
wIconifyWindow(WWindow *wwin)
|
||||||
{
|
{
|
||||||
@@ -1115,9 +1116,12 @@ static void
|
|||||||
hideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int animate)
|
hideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int animate)
|
||||||
{
|
{
|
||||||
if (wwin->flags.miniaturized) {
|
if (wwin->flags.miniaturized) {
|
||||||
XUnmapWindow(dpy, wwin->icon->core->window);
|
/* XXX wrong fix, can cause side effects, must remove 'if' */
|
||||||
|
if (wwin->icon) {
|
||||||
|
XUnmapWindow(dpy, wwin->icon->core->window);
|
||||||
|
wwin->icon->mapped = 0;
|
||||||
|
}
|
||||||
wwin->flags.hidden = 1;
|
wwin->flags.hidden = 1;
|
||||||
wwin->icon->mapped = 0;
|
|
||||||
#ifdef GNOME_STUFF
|
#ifdef GNOME_STUFF
|
||||||
wGNOMEUpdateClientStateHint(wwin, False);
|
wGNOMEUpdateClientStateHint(wwin, False);
|
||||||
#endif
|
#endif
|
||||||
@@ -1337,6 +1341,9 @@ wHideApplication(WApplication *wapp)
|
|||||||
if(wPreferences.auto_arrange_icons) {
|
if(wPreferences.auto_arrange_icons) {
|
||||||
wArrangeIcons(scr, True);
|
wArrangeIcons(scr, True);
|
||||||
}
|
}
|
||||||
|
#ifdef HIDDENDOT
|
||||||
|
wAppIconPaint(wapp->app_icon);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1490,6 +1497,9 @@ wUnhideApplication(WApplication *wapp, Bool miniwindows, Bool bringToCurrentWS)
|
|||||||
if (wPreferences.auto_arrange_icons) {
|
if (wPreferences.auto_arrange_icons) {
|
||||||
wArrangeIcons(scr, True);
|
wArrangeIcons(scr, True);
|
||||||
}
|
}
|
||||||
|
#ifdef HIDDENDOT
|
||||||
|
wAppIconPaint(wapp->app_icon);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -347,6 +347,22 @@ updateDockNumbers(WScreen *scr)
|
|||||||
}
|
}
|
||||||
#endif /* WS_INDICATOR */
|
#endif /* WS_INDICATOR */
|
||||||
|
|
||||||
|
#ifdef HIDDENDOT
|
||||||
|
static void
|
||||||
|
draw_dot(WScreen *scr, Drawable d)
|
||||||
|
{
|
||||||
|
GC gc;
|
||||||
|
int y;
|
||||||
|
gc = scr->draw_gc;
|
||||||
|
y = wPreferences.icon_size-6;
|
||||||
|
XSetForeground(dpy, gc, scr->black_pixel);
|
||||||
|
XDrawLine(dpy, d, gc, 4, y, 5, y);
|
||||||
|
XDrawPoint(dpy, d, gc, 4, y+1);
|
||||||
|
XSetForeground(dpy, gc, scr->white_pixel);
|
||||||
|
XDrawLine(dpy, d, gc, 6, y, 6, y+1);
|
||||||
|
XDrawPoint(dpy, d, gc, 5, y+1);
|
||||||
|
}
|
||||||
|
#endif /* HIDDENDOT */
|
||||||
|
|
||||||
void
|
void
|
||||||
wAppIconPaint(WAppIcon *aicon)
|
wAppIconPaint(WAppIcon *aicon)
|
||||||
@@ -369,6 +385,21 @@ wAppIconPaint(WAppIcon *aicon)
|
|||||||
scr->dock_dots->height, 0, 0);
|
scr->dock_dots->height, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HIDDENDOT
|
||||||
|
{
|
||||||
|
WApplication *wapp;
|
||||||
|
wapp = wApplicationOf(aicon->main_window);
|
||||||
|
if(wapp)
|
||||||
|
if(wapp->flags.hidden){
|
||||||
|
XSetClipMask(dpy, scr->copy_gc, scr->dock_dots->mask);
|
||||||
|
XSetClipOrigin(dpy, scr->copy_gc, 0, 0);
|
||||||
|
XCopyArea(dpy, scr->dock_dots->image, aicon->icon->core->window,
|
||||||
|
scr->copy_gc, 0, 0, 7,
|
||||||
|
scr->dock_dots->height, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* HIDDENDOT */
|
||||||
|
|
||||||
#ifdef NEWAPPICON
|
#ifdef NEWAPPICON
|
||||||
if (!wPreferences.strict_ns && aicon->icon->owner!=NULL) {
|
if (!wPreferences.strict_ns && aicon->icon->owner!=NULL) {
|
||||||
int active=0;
|
int active=0;
|
||||||
|
|||||||
@@ -1142,7 +1142,7 @@ wShowInfoPanel(WScreen *scr)
|
|||||||
panel->wwin = wwin;
|
panel->wwin = wwin;
|
||||||
|
|
||||||
thePanel = panel;
|
thePanel = panel;
|
||||||
#ifndef SILLYNESS
|
#ifdef SILLYNESS
|
||||||
if (InitXThing(panel->scr)) {
|
if (InitXThing(panel->scr)) {
|
||||||
panel->timer = WMAddTimerHandler(100, logoPushCallback, panel);
|
panel->timer = WMAddTimerHandler(100, logoPushCallback, panel);
|
||||||
panel->cycle = 0;
|
panel->cycle = 0;
|
||||||
|
|||||||
@@ -324,7 +324,7 @@ ShowDockAppSettingsPanel(WAppIcon *aicon)
|
|||||||
WMSetLabelText(panel->dndCommandLabel,
|
WMSetLabelText(panel->dndCommandLabel,
|
||||||
_("%d will be replaced with the file name"));
|
_("%d will be replaced with the file name"));
|
||||||
#else
|
#else
|
||||||
WMSetTextFieldEnabled(panel->dndCommandField, False);
|
WMSetTextFieldEditable(panel->dndCommandField, False);
|
||||||
WMSetLabelText(panel->dndCommandLabel,
|
WMSetLabelText(panel->dndCommandLabel,
|
||||||
_("DND support was not compiled in"));
|
_("DND support was not compiled in"));
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
37
src/event.c
37
src/event.c
@@ -298,7 +298,6 @@ DispatchEvent(XEvent *event)
|
|||||||
case VisibilityNotify:
|
case VisibilityNotify:
|
||||||
handleVisibilityNotify(event);
|
handleVisibilityNotify(event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
handleExtensions(event);
|
handleExtensions(event);
|
||||||
break;
|
break;
|
||||||
@@ -446,6 +445,13 @@ handleExtensions(XEvent *event)
|
|||||||
handleShapeNotify(event);
|
handleShapeNotify(event);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
|
if (wPreferences.modelock && event->type == (0x50|XkbIndicatorStateNotify)){
|
||||||
|
/* if someone know how to call this 0x50
|
||||||
|
* or how to clean code this please tell ]d */
|
||||||
|
handleXkbIndicatorStateNotify(event);
|
||||||
|
}
|
||||||
|
#endif /*KEEP_XKB_LOCK_STATUS*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -772,7 +778,7 @@ handleUnmapNotify(XEvent *event)
|
|||||||
|
|
||||||
/* if the window was reparented, do not reparent it back to the
|
/* if the window was reparented, do not reparent it back to the
|
||||||
* root window */
|
* root window */
|
||||||
wUnmanageWindow(wwin, !reparented, False);
|
// wUnmanageWindow(wwin, !reparented, False);
|
||||||
}
|
}
|
||||||
XUngrabServer(dpy);
|
XUngrabServer(dpy);
|
||||||
}
|
}
|
||||||
@@ -1133,6 +1139,31 @@ handleShapeNotify(XEvent *event)
|
|||||||
}
|
}
|
||||||
#endif /* SHAPE */
|
#endif /* SHAPE */
|
||||||
|
|
||||||
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
|
/* please help ]d if you know what to do */
|
||||||
|
handleXkbIndicatorStateNotify(XEvent *event)
|
||||||
|
{
|
||||||
|
WWindow *wwin;
|
||||||
|
WScreen *scr;
|
||||||
|
XkbStateRec staterec;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
XkbGetState(dpy,XkbUseCoreKbd,&staterec);
|
||||||
|
for (i=0; i<wScreenCount; i++) {
|
||||||
|
scr = wScreenWithNumber(i);
|
||||||
|
wwin = scr->focused_window;
|
||||||
|
if (wwin->flags.focused) {
|
||||||
|
wwin->frame->languagemode=staterec.compat_state&32?1:0;
|
||||||
|
#ifdef XKB_TITLE_HINT
|
||||||
|
if (wwin->frame->titlebar) {
|
||||||
|
XClearWindow(dpy, wwin->frame->titlebar->window);
|
||||||
|
wFrameWindowPaint(wwin->frame);
|
||||||
|
}
|
||||||
|
#endif /* XKB_TITLE_HINT */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /*KEEP_XKB_LOCK_STATUS*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
handleColormapNotify(XEvent *event)
|
handleColormapNotify(XEvent *event)
|
||||||
@@ -1670,7 +1701,7 @@ handleKeyPress(XEvent *event)
|
|||||||
XkbGetState(dpy,XkbUseCoreKbd,&staterec);
|
XkbGetState(dpy,XkbUseCoreKbd,&staterec);
|
||||||
/*toggle*/
|
/*toggle*/
|
||||||
XkbLockGroup(dpy,XkbUseCoreKbd,
|
XkbLockGroup(dpy,XkbUseCoreKbd,
|
||||||
wwin->languagemode=staterec.compat_state&32?0:1);
|
wwin->frame->languagemode=staterec.compat_state&32?0:1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif /* KEEP_XKB_LOCK_STATUS */
|
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||||
|
|||||||
@@ -739,8 +739,25 @@ wFrameWindowPaint(WFrameWindow *fwin)
|
|||||||
else
|
else
|
||||||
allButtons = 0;
|
allButtons = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef XKB_TITLE_HINT
|
||||||
|
if(fwin->flags.is_client_window_frame) {
|
||||||
|
char * freebuff;
|
||||||
|
freebuff = (char *)wmalloc((strlen(fwin->title)+6)*sizeof(char));
|
||||||
|
if (fwin->flags.justification == WTJ_RIGHT)
|
||||||
|
sprintf(freebuff,"%s %s",fwin->title,fwin->languagemode?XKB_ON:XKB_OFF);
|
||||||
|
else
|
||||||
|
sprintf(freebuff,"%s %s",fwin->languagemode?XKB_ON:XKB_OFF,fwin->title);
|
||||||
|
title = ShrinkString(*fwin->font, freebuff,
|
||||||
|
fwin->titlebar->width - lofs - rofs);
|
||||||
|
free(freebuff);
|
||||||
|
}
|
||||||
|
else title = ShrinkString(*fwin->font, fwin->title,
|
||||||
|
fwin->titlebar->width - lofs - rofs);
|
||||||
|
#else
|
||||||
title = ShrinkString(*fwin->font, fwin->title,
|
title = ShrinkString(*fwin->font, fwin->title,
|
||||||
fwin->titlebar->width - lofs - rofs);
|
fwin->titlebar->width - lofs - rofs);
|
||||||
|
#endif /* XKB_TITLE_HINT */
|
||||||
titlelen = strlen(title);
|
titlelen = strlen(title);
|
||||||
w = wTextWidth((*fwin->font)->font, title, titlelen);
|
w = wTextWidth((*fwin->font)->font, title, titlelen);
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,10 @@ typedef struct WFrameWindow {
|
|||||||
|
|
||||||
char *title; /* window name (title) */
|
char *title; /* window name (title) */
|
||||||
|
|
||||||
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
|
int languagemode;
|
||||||
|
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||||
|
|
||||||
/* thing that uses this frame. passed as data to callbacks */
|
/* thing that uses this frame. passed as data to callbacks */
|
||||||
void *child;
|
void *child;
|
||||||
|
|
||||||
|
|||||||
@@ -502,9 +502,9 @@ main(int argc, char **argv)
|
|||||||
sprintf(str, "DISPLAY=%s", DisplayName);
|
sprintf(str, "DISPLAY=%s", DisplayName);
|
||||||
putenv(str);
|
putenv(str);
|
||||||
|
|
||||||
#ifdef DEBUG
|
//#ifdef DEBUG
|
||||||
XSynchronize(dpy, True);
|
XSynchronize(dpy, True);
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
wXModifierInitialize();
|
wXModifierInitialize();
|
||||||
|
|
||||||
|
|||||||
@@ -1456,6 +1456,11 @@ wMouseMoveWindow(WWindow *wwin, XEvent *ev)
|
|||||||
/* This needs not to change while moving, else bad things can happen */
|
/* This needs not to change while moving, else bad things can happen */
|
||||||
int opaqueMove = wPreferences.opaque_move;
|
int opaqueMove = wPreferences.opaque_move;
|
||||||
MoveData moveData;
|
MoveData moveData;
|
||||||
|
#ifdef GHOST_WINDOW_MOVE
|
||||||
|
RImage *rimg;
|
||||||
|
|
||||||
|
rimg = InitGhostWindowMove(scr);
|
||||||
|
#endif
|
||||||
|
|
||||||
initMoveData(wwin, &moveData);
|
initMoveData(wwin, &moveData);
|
||||||
|
|
||||||
|
|||||||
15
src/screen.c
15
src/screen.c
@@ -32,6 +32,9 @@
|
|||||||
#ifdef SHAPE
|
#ifdef SHAPE
|
||||||
#include <X11/extensions/shape.h>
|
#include <X11/extensions/shape.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
|
#include <X11/XKBlib.h>
|
||||||
|
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||||
|
|
||||||
#include <wraster.h>
|
#include <wraster.h>
|
||||||
|
|
||||||
@@ -425,7 +428,8 @@ createPixmaps(WScreen *scr)
|
|||||||
image = wDefaultGetImage(scr, "Logo", "WMPanel");
|
image = wDefaultGetImage(scr, "Logo", "WMPanel");
|
||||||
|
|
||||||
if (!image) {
|
if (!image) {
|
||||||
wwarning(_("could not load logo image for panels"));
|
wwarning(_("could not load logo image for panels: %s"),
|
||||||
|
RMessageForError(RErrorCode));
|
||||||
} else {
|
} else {
|
||||||
if (!RConvertImageMask(scr->rcontext, image, &p, &m, 128)) {
|
if (!RConvertImageMask(scr->rcontext, image, &p, &m, 128)) {
|
||||||
wwarning(_("error making logo image for panel:%s"), RMessageForError(RErrorCode));
|
wwarning(_("error making logo image for panel:%s"), RMessageForError(RErrorCode));
|
||||||
@@ -529,10 +533,12 @@ createInternalWindows(WScreen *scr)
|
|||||||
XCreateWindow(dpy, scr->root_win, 0, 0, 10, 10, 0, scr->w_depth,
|
XCreateWindow(dpy, scr->root_win, 0, 0, 10, 10, 0, scr->w_depth,
|
||||||
CopyFromParent, scr->w_visual, vmask, &attribs);
|
CopyFromParent, scr->w_visual, vmask, &attribs);
|
||||||
|
|
||||||
|
|
||||||
/* for our window manager info notice board */
|
/* for our window manager info notice board */
|
||||||
scr->info_window =
|
scr->info_window =
|
||||||
XCreateWindow(dpy, scr->root_win, 0, 0, 10, 10, 0, CopyFromParent,
|
XCreateWindow(dpy, scr->root_win, 0, 0, 10, 10, 0, CopyFromParent,
|
||||||
CopyFromParent, CopyFromParent, 0, NULL);
|
CopyFromParent, CopyFromParent, CWOverrideRedirect,
|
||||||
|
&attribs);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the window is clicked without having ButtonPress selected, the
|
* If the window is clicked without having ButtonPress selected, the
|
||||||
@@ -669,6 +675,11 @@ wScreenInit(int screen_number)
|
|||||||
|
|
||||||
XSelectInput(dpy, scr->root_win, event_mask);
|
XSelectInput(dpy, scr->root_win, event_mask);
|
||||||
|
|
||||||
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
|
XkbSelectEvents(dpy,XkbUseCoreKbd,XkbIndicatorStateNotifyMask,
|
||||||
|
XkbIndicatorStateNotifyMask);
|
||||||
|
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||||
|
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
XSetErrorHandler(oldHandler);
|
XSetErrorHandler(oldHandler);
|
||||||
|
|
||||||
|
|||||||
@@ -521,3 +521,21 @@ InitXThing(WScreen *scr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* SILLYNESS */
|
#endif /* SILLYNESS */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef GHOST_WINDOW_MOVE
|
||||||
|
RImage*
|
||||||
|
InitGhostWindowMove(WScreen *scr)
|
||||||
|
{
|
||||||
|
RXImage *ximg;
|
||||||
|
RImage *img;
|
||||||
|
|
||||||
|
ximg = RGetXImage(scr->rcontext, scr->root_win, 0, 0,
|
||||||
|
scr->scr_width, scr->scr_height);
|
||||||
|
img = RCreateImageFromXImage(scr->rcontext, ximg->image, NULL);
|
||||||
|
RDestroyXImage(dpy, ximg);
|
||||||
|
|
||||||
|
return img;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* GHOST_WINDOW_MOVE */
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
*/
|
*/
|
||||||
#define USECPP
|
#define USECPP
|
||||||
|
|
||||||
/* #define CPP_PATH /usr/bin/cpp */
|
/* #define CPP_PATH /lib/cpp */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* support for OffiX DND drag and drop in the Dock
|
* support for OffiX DND drag and drop in the Dock
|
||||||
@@ -154,6 +154,13 @@
|
|||||||
#undef WS_INDICATOR
|
#undef WS_INDICATOR
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* define HIDDENDOT if you want a dot to be shown in the application icon
|
||||||
|
* of applications that are hidden.
|
||||||
|
*/
|
||||||
|
#undef HIDDENDOT
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ignores the PPosition hint from clients. This is needed for some
|
* Ignores the PPosition hint from clients. This is needed for some
|
||||||
* programs that have buggy implementations of such hint and place
|
* programs that have buggy implementations of such hint and place
|
||||||
@@ -524,9 +531,11 @@
|
|||||||
#undef SHAPED_BALLOON
|
#undef SHAPED_BALLOON
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef XKB_MODELOCK
|
#ifdef XKB_MODELOCK
|
||||||
#define KEEP_XKB_LOCK_STATUS
|
#define KEEP_XKB_LOCK_STATUS
|
||||||
|
#define XKB_TITLE_HINT
|
||||||
|
#define XKB_ON "[TH]"
|
||||||
|
#define XKB_OFF "[EN]"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAVE_LIBINTL_H && I18N
|
#if HAVE_LIBINTL_H && I18N
|
||||||
|
|||||||
@@ -154,6 +154,13 @@
|
|||||||
#undef WS_INDICATOR
|
#undef WS_INDICATOR
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* define HIDDENDOT if you want a dot to be shown in the application icon
|
||||||
|
* of applications that are hidden.
|
||||||
|
*/
|
||||||
|
#undef HIDDENDOT
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ignores the PPosition hint from clients. This is needed for some
|
* Ignores the PPosition hint from clients. This is needed for some
|
||||||
* programs that have buggy implementations of such hint and place
|
* programs that have buggy implementations of such hint and place
|
||||||
@@ -524,9 +531,11 @@
|
|||||||
#undef SHAPED_BALLOON
|
#undef SHAPED_BALLOON
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef XKB_MODELOCK
|
#ifdef XKB_MODELOCK
|
||||||
#define KEEP_XKB_LOCK_STATUS
|
#define KEEP_XKB_LOCK_STATUS
|
||||||
|
#define XKB_TITLE_HINT
|
||||||
|
#define XKB_ON "[TH]"
|
||||||
|
#define XKB_OFF "[EN]"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAVE_LIBINTL_H && I18N
|
#if HAVE_LIBINTL_H && I18N
|
||||||
|
|||||||
19
src/window.c
19
src/window.c
@@ -27,8 +27,8 @@
|
|||||||
#ifdef SHAPE
|
#ifdef SHAPE
|
||||||
#include <X11/extensions/shape.h>
|
#include <X11/extensions/shape.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef KEEP_XKB_LOCK_STATUS
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
# include <X11/XKBlib.h>
|
#include <X11/XKBlib.h>
|
||||||
#endif /* KEEP_XKB_LOCK_STATUS */
|
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -1331,6 +1331,8 @@ wUnmanageWindow(WWindow *wwin, Bool restore, Bool destroyed)
|
|||||||
|
|
||||||
XUnmapWindow(dpy, frame->window);
|
XUnmapWindow(dpy, frame->window);
|
||||||
|
|
||||||
|
XUnmapWindow(dpy, wwin->client_win);
|
||||||
|
|
||||||
/* deselect window */
|
/* deselect window */
|
||||||
wSelectWindow(wwin, False);
|
wSelectWindow(wwin, False);
|
||||||
|
|
||||||
@@ -1487,7 +1489,7 @@ wWindowFocus(WWindow *wwin, WWindow *owin)
|
|||||||
#ifdef KEEP_XKB_LOCK_STATUS
|
#ifdef KEEP_XKB_LOCK_STATUS
|
||||||
if (wPreferences.modelock) {
|
if (wPreferences.modelock) {
|
||||||
if (!wwin->flags.focused) {
|
if (!wwin->flags.focused) {
|
||||||
XkbLockGroup(dpy, XkbUseCoreKbd, wwin->languagemode);
|
XkbLockGroup(dpy, XkbUseCoreKbd, wwin->frame->languagemode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* KEEP_XKB_LOCK_STATUS */
|
#endif /* KEEP_XKB_LOCK_STATUS */
|
||||||
@@ -1546,17 +1548,6 @@ wWindowFocus(WWindow *wwin, WWindow *owin)
|
|||||||
void
|
void
|
||||||
wWindowUnfocus(WWindow *wwin)
|
wWindowUnfocus(WWindow *wwin)
|
||||||
{
|
{
|
||||||
#ifdef KEEP_XKB_LOCK_STATUS
|
|
||||||
static XkbStateRec staterec;
|
|
||||||
if (wPreferences.modelock) {
|
|
||||||
if (wwin->flags.focused) {
|
|
||||||
XkbGetState(dpy,XkbUseCoreKbd,&staterec);
|
|
||||||
wwin->languagemode=staterec.compat_state&32?1:0;
|
|
||||||
XkbLockGroup(dpy,XkbUseCoreKbd,0); /* reset to workspace */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* KEEP_XKB_LOCK_STATUS */
|
|
||||||
|
|
||||||
CloseWindowMenu(wwin->screen_ptr);
|
CloseWindowMenu(wwin->screen_ptr);
|
||||||
|
|
||||||
wFrameWindowChangeState(wwin->frame, wwin->flags.semi_focused
|
wFrameWindowChangeState(wwin->frame, wwin->flags.semi_focused
|
||||||
|
|||||||
@@ -218,10 +218,6 @@ typedef struct WWindow {
|
|||||||
|
|
||||||
FocusMode focus_mode; /* type of keyboard input focus */
|
FocusMode focus_mode; /* type of keyboard input focus */
|
||||||
|
|
||||||
#ifdef KEEP_XKB_LOCK_STATUS
|
|
||||||
int languagemode;
|
|
||||||
#endif /* KEEP_XKB_LOCK_STATUS */
|
|
||||||
|
|
||||||
#ifdef OLWM_HINTS_unfinished
|
#ifdef OLWM_HINTS_unfinished
|
||||||
struct WOLWindowState ol_window_state;
|
struct WOLWindowState ol_window_state;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -466,14 +466,12 @@ saveSettings(WMButton *button, InspectorPanel *panel)
|
|||||||
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
|
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
|
||||||
PLRelease(value);
|
PLRelease(value);
|
||||||
} else if (WMGetButtonSelected(panel->setRb) != 0) {
|
} else if (WMGetButtonSelected(panel->setRb) != 0) {
|
||||||
char *ws_name = WMGetTextFieldText(panel->wsText);
|
int i = WMGetPopUpButtonSelectedItem(panel->wsP);
|
||||||
if (ws_name) {
|
|
||||||
if (ws_name[0] != 0) {
|
if (i < panel->frame->screen_ptr->workspace_count) {
|
||||||
value = PLMakeString(ws_name);
|
value = PLMakeString(panel->frame->screen_ptr->workspaces[i]->name);
|
||||||
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
|
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
|
||||||
PLRelease(value);
|
PLRelease(value);
|
||||||
}
|
|
||||||
free(ws_name);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -911,9 +909,9 @@ revertSettings(WMButton *button, InspectorPanel *panel)
|
|||||||
|
|
||||||
n = wDefaultGetStartWorkspace(wwin->screen_ptr, wm_instance, wm_class);
|
n = wDefaultGetStartWorkspace(wwin->screen_ptr, wm_instance, wm_class);
|
||||||
|
|
||||||
if (n >= 0 && n <= wwin->screen_ptr->workspace_count) {
|
if (n >= 0 && n < wwin->screen_ptr->workspace_count) {
|
||||||
WMPerformButtonClick(panel->setRb);
|
WMPerformButtonClick(panel->setRb);
|
||||||
WMSetTextFieldText(panel->wsText, wwin->screen_ptr->workspaces[n]->name);
|
WMSetPopUpButtonSelectedItem(panel->wsP, n);
|
||||||
} else {
|
} else {
|
||||||
WMPerformButtonClick(panel->curRb);
|
WMPerformButtonClick(panel->curRb);
|
||||||
}
|
}
|
||||||
@@ -959,14 +957,11 @@ textEditedObserver(void *observerData, WMNotification *notification)
|
|||||||
if ((long)WMGetNotificationClientData(notification) != WMReturnTextMovement)
|
if ((long)WMGetNotificationClientData(notification) != WMReturnTextMovement)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (WMGetNotificationObject(notification) == panel->fileText) {
|
showIconFor(WMWidgetScreen(panel->win), panel, NULL, NULL,
|
||||||
showIconFor(WMWidgetScreen(panel->win), panel, NULL, NULL,
|
USE_TEXT_FIELD);
|
||||||
USE_TEXT_FIELD);
|
|
||||||
/*
|
/*
|
||||||
WMPerformButtonClick(panel->updateIconBtn);
|
WMPerformButtonClick(panel->updateIconBtn);
|
||||||
*/
|
*/
|
||||||
} else
|
|
||||||
WMPerformButtonClick(panel->setRb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1240,7 +1235,7 @@ createInspectorForWindow(WWindow *wwin)
|
|||||||
panel->iconLbl = WMCreateLabel(panel->iconFrm);
|
panel->iconLbl = WMCreateLabel(panel->iconFrm);
|
||||||
WMMoveWidget(panel->iconLbl, PWIDTH - (2 * 15) - 22 - 64, 30);
|
WMMoveWidget(panel->iconLbl, PWIDTH - (2 * 15) - 22 - 64, 30);
|
||||||
WMResizeWidget(panel->iconLbl, 64, 64);
|
WMResizeWidget(panel->iconLbl, 64, 64);
|
||||||
WMSetLabelRelief(panel->iconLbl, WRRaised);
|
WMSetLabelRelief(panel->iconLbl, WRGroove);
|
||||||
WMSetLabelImagePosition(panel->iconLbl, WIPImageOnly);
|
WMSetLabelImagePosition(panel->iconLbl, WIPImageOnly);
|
||||||
|
|
||||||
panel->browseIconBtn = WMCreateCommandButton(panel->iconFrm);
|
panel->browseIconBtn = WMCreateCommandButton(panel->iconFrm);
|
||||||
@@ -1302,21 +1297,19 @@ createInspectorForWindow(WWindow *wwin)
|
|||||||
WMGroupButtons(panel->curRb, panel->setRb);
|
WMGroupButtons(panel->curRb, panel->setRb);
|
||||||
WMSetButtonText(panel->setRb, NULL);
|
WMSetButtonText(panel->setRb, NULL);
|
||||||
|
|
||||||
panel->wsText = WMCreateTextField(panel->wsFrm);
|
panel->wsP = WMCreatePopUpButton(panel->wsFrm);
|
||||||
WMMoveWidget(panel->wsText, 30, 40);
|
WMMoveWidget(panel->wsP, 30, 40);
|
||||||
WMResizeWidget(panel->wsText, PWIDTH - (2 * 15) - 25 - 10 - (2 * 5), 20);
|
WMResizeWidget(panel->wsP, PWIDTH - (2 * 15) - 25 - 10 - (2 * 5), 20);
|
||||||
WMAddNotificationObserver(textEditedObserver, panel,
|
for (i = 0; i < wwin->screen_ptr->workspace_count; i++) {
|
||||||
WMTextDidEndEditingNotification,
|
WMAddPopUpButtonItem(panel->wsP, scr->workspaces[i]->name);
|
||||||
panel->wsText);
|
}
|
||||||
|
|
||||||
|
|
||||||
i = wDefaultGetStartWorkspace(wwin->screen_ptr, wwin->wm_instance,
|
i = wDefaultGetStartWorkspace(wwin->screen_ptr, wwin->wm_instance,
|
||||||
wwin->wm_class);
|
wwin->wm_class);
|
||||||
if (i >= 0 && i <= wwin->screen_ptr->workspace_count) {
|
if (i >= 0 && i <= wwin->screen_ptr->workspace_count) {
|
||||||
WMSetButtonSelected(panel->curRb, False);
|
WMSetButtonSelected(panel->curRb, False);
|
||||||
WMSetButtonSelected(panel->setRb, True);
|
WMSetButtonSelected(panel->setRb, True);
|
||||||
WMSetTextFieldText(panel->wsText,
|
WMSetPopUpButtonSelectedItem(panel->wsP, i);
|
||||||
wwin->screen_ptr->workspaces[i]->name);
|
|
||||||
} else {
|
} else {
|
||||||
WMSetButtonSelected(panel->curRb, True);
|
WMSetButtonSelected(panel->curRb, True);
|
||||||
WMSetButtonSelected(panel->setRb, False);
|
WMSetButtonSelected(panel->setRb, False);
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ typedef struct InspectorPanel {
|
|||||||
WMFrame *wsFrm;
|
WMFrame *wsFrm;
|
||||||
WMButton *curRb;
|
WMButton *curRb;
|
||||||
WMButton *setRb;
|
WMButton *setRb;
|
||||||
WMTextField *wsText;
|
WMPopUpButton *wsP;
|
||||||
|
|
||||||
/* 5th page. application wide attributes */
|
/* 5th page. application wide attributes */
|
||||||
WMFrame *appFrm;
|
WMFrame *appFrm;
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(wtest_SOURCES)
|
SOURCES = $(wtest_SOURCES)
|
||||||
OBJECTS = $(wtest_OBJECTS)
|
OBJECTS = $(wtest_OBJECTS)
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ DIST_COMMON = README Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(wxcopy_SOURCES) $(wxpaste_SOURCES) $(wdwrite_SOURCES) $(getstyle_SOURCES) $(setstyle_SOURCES) $(seticons_SOURCES) $(geticonset_SOURCES) $(wmsetbg_SOURCES)
|
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)
|
OBJECTS = $(wxcopy_OBJECTS) $(wxpaste_OBJECTS) $(wdwrite_OBJECTS) $(getstyle_OBJECTS) $(setstyle_OBJECTS) $(seticons_OBJECTS) $(geticonset_OBJECTS) $(wmsetbg_OBJECTS)
|
||||||
|
|||||||
@@ -361,6 +361,11 @@ main(int argc, char **argv)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!PLIsArray(style)) {
|
||||||
|
printf("%s: '%s' is not a style file/theme\n", ProgName, file);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
hackStyle(style);
|
hackStyle(style);
|
||||||
|
|
||||||
|
|||||||
@@ -156,14 +156,14 @@ parseTexture(RContext *rc, char *text)
|
|||||||
}
|
}
|
||||||
XAllocColor(dpy, DefaultColormap(dpy, scr), &color);
|
XAllocColor(dpy, DefaultColormap(dpy, scr), &color);
|
||||||
|
|
||||||
pixmap = XCreatePixmap(dpy, root, 32, 32, DefaultDepth(dpy, scr));
|
pixmap = XCreatePixmap(dpy, root, 8, 8, DefaultDepth(dpy, scr));
|
||||||
XSetForeground(dpy, DefaultGC(dpy, scr), color.pixel);
|
XSetForeground(dpy, DefaultGC(dpy, scr), color.pixel);
|
||||||
XFillRectangle(dpy, pixmap, DefaultGC(dpy, scr), 0, 0, 32, 32);
|
XFillRectangle(dpy, pixmap, DefaultGC(dpy, scr), 0, 0, 8, 8);
|
||||||
|
|
||||||
texture->pixmap = pixmap;
|
texture->pixmap = pixmap;
|
||||||
texture->color = color;
|
texture->color = color;
|
||||||
texture->width = 32;
|
texture->width = 8;
|
||||||
texture->height = 32;
|
texture->height = 8;
|
||||||
} else if (strcasecmp(type, "vgradient")==0
|
} else if (strcasecmp(type, "vgradient")==0
|
||||||
|| strcasecmp(type, "dgradient")==0
|
|| strcasecmp(type, "dgradient")==0
|
||||||
|| strcasecmp(type, "hgradient")==0) {
|
|| strcasecmp(type, "hgradient")==0) {
|
||||||
@@ -201,12 +201,12 @@ parseTexture(RContext *rc, char *text)
|
|||||||
case 'H':
|
case 'H':
|
||||||
gtype = RHorizontalGradient;
|
gtype = RHorizontalGradient;
|
||||||
iwidth = scrWidth;
|
iwidth = scrWidth;
|
||||||
iheight = 32;
|
iheight = 1;
|
||||||
break;
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
case 'v':
|
case 'v':
|
||||||
gtype = RVerticalGradient;
|
gtype = RVerticalGradient;
|
||||||
iwidth = 32;
|
iwidth = 1;
|
||||||
iheight = scrHeight;
|
iheight = scrHeight;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -294,12 +294,12 @@ parseTexture(RContext *rc, char *text)
|
|||||||
case 'H':
|
case 'H':
|
||||||
gtype = RHorizontalGradient;
|
gtype = RHorizontalGradient;
|
||||||
iwidth = scrWidth;
|
iwidth = scrWidth;
|
||||||
iheight = 32;
|
iheight = 1;
|
||||||
break;
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
case 'v':
|
case 'v':
|
||||||
gtype = RVerticalGradient;
|
gtype = RVerticalGradient;
|
||||||
iwidth = 32;
|
iwidth = 1;
|
||||||
iheight = scrHeight;
|
iheight = scrHeight;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ DIST_COMMON = COPYING.LIB Makefile.am Makefile.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(libWMaker_a_SOURCES)
|
SOURCES = $(libWMaker_a_SOURCES)
|
||||||
OBJECTS = $(libWMaker_a_OBJECTS)
|
OBJECTS = $(libWMaker_a_OBJECTS)
|
||||||
|
|||||||
@@ -4,14 +4,13 @@ AUTOMAKE_OPTIONS = no-dependencies
|
|||||||
|
|
||||||
lib_LTLIBRARIES = libwraster.la
|
lib_LTLIBRARIES = libwraster.la
|
||||||
|
|
||||||
libwraster_la_LDFLAGS = -version-info 2:0:1
|
libwraster_la_LDFLAGS = -version-info 2:1:1
|
||||||
|
|
||||||
bin_SCRIPTS = get-wraster-flags
|
bin_SCRIPTS = get-wraster-flags
|
||||||
|
|
||||||
noinst_PROGRAMS = testgrad testdraw view
|
noinst_PROGRAMS = testgrad testdraw view
|
||||||
|
|
||||||
EXTRA_DIST = test.png tile.xpm ballot_box.xpm
|
EXTRA_DIST = test.png tile.xpm ballot_box.xpm
|
||||||
|
|
||||||
include_HEADERS = wraster.h
|
include_HEADERS = wraster.h
|
||||||
|
|
||||||
libwraster_la_SOURCES = \
|
libwraster_la_SOURCES = \
|
||||||
|
|||||||
@@ -91,14 +91,13 @@ AUTOMAKE_OPTIONS = no-dependencies
|
|||||||
|
|
||||||
lib_LTLIBRARIES = libwraster.la
|
lib_LTLIBRARIES = libwraster.la
|
||||||
|
|
||||||
libwraster_la_LDFLAGS = -version-info 2:0:1
|
libwraster_la_LDFLAGS = -version-info 2:1:1
|
||||||
|
|
||||||
bin_SCRIPTS = get-wraster-flags
|
bin_SCRIPTS = get-wraster-flags
|
||||||
|
|
||||||
noinst_PROGRAMS = testgrad testdraw view
|
noinst_PROGRAMS = testgrad testdraw view
|
||||||
|
|
||||||
EXTRA_DIST = test.png tile.xpm ballot_box.xpm
|
EXTRA_DIST = test.png tile.xpm ballot_box.xpm
|
||||||
|
|
||||||
include_HEADERS = wraster.h
|
include_HEADERS = wraster.h
|
||||||
|
|
||||||
libwraster_la_SOURCES = raster.c draw.c color.c load.c save.c gradient.c xpixmap.c convert.c context.c misc.c scale.c convolve.c nxpm.c xpm.c xutil.c ppm.c png.c jpeg.c tiff.c gif.c
|
libwraster_la_SOURCES = raster.c draw.c color.c load.c save.c gradient.c xpixmap.c convert.c context.c misc.c scale.c convolve.c nxpm.c xpm.c xutil.c ppm.c png.c jpeg.c tiff.c gif.c
|
||||||
@@ -165,7 +164,7 @@ Makefile.in NEWS TODO alloca.c configure.in
|
|||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
|
||||||
TAR = tar
|
TAR = gtar
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
SOURCES = $(libwraster_la_SOURCES) $(testgrad_SOURCES) $(testdraw_SOURCES) $(view_SOURCES)
|
SOURCES = $(libwraster_la_SOURCES) $(testgrad_SOURCES) $(testdraw_SOURCES) $(view_SOURCES)
|
||||||
OBJECTS = $(libwraster_la_OBJECTS) $(testgrad_OBJECTS) $(testdraw_OBJECTS) $(view_OBJECTS)
|
OBJECTS = $(libwraster_la_OBJECTS) $(testgrad_OBJECTS) $(testdraw_OBJECTS) $(view_OBJECTS)
|
||||||
|
|||||||
@@ -39,8 +39,8 @@
|
|||||||
#define RLRASTER_H_
|
#define RLRASTER_H_
|
||||||
|
|
||||||
|
|
||||||
/* version of the header for the library: 0.13 */
|
/* version of the header for the library: 0.14 */
|
||||||
#define WRASTER_HEADER_VERSION 13
|
#define WRASTER_HEADER_VERSION 14
|
||||||
|
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
@@ -381,12 +381,15 @@ int RConvertImageMask(RContext *context, RImage *image, Pixmap *pixmap,
|
|||||||
RXImage *RCreateXImage(RContext *context, int depth,
|
RXImage *RCreateXImage(RContext *context, int depth,
|
||||||
unsigned width, unsigned height);
|
unsigned width, unsigned height);
|
||||||
|
|
||||||
|
RXImage *RGetXImage(RContext *context, Drawable d, int x, int y,
|
||||||
|
unsigned width, unsigned height);
|
||||||
|
|
||||||
void RDestroyXImage(RContext *context, RXImage *ximage);
|
void RDestroyXImage(RContext *context, RXImage *ximage);
|
||||||
|
|
||||||
void RPutXImage(RContext *context, Drawable d, GC gc, RXImage *ximage,
|
void RPutXImage(RContext *context, Drawable d, GC gc, RXImage *ximage,
|
||||||
int src_x, int src_y, int dest_x, int dest_y,
|
int src_x, int src_y, int dest_x, int dest_y,
|
||||||
unsigned width, unsigned height);
|
unsigned width, unsigned height);
|
||||||
|
|
||||||
/* do not free the returned string! */
|
/* do not free the returned string! */
|
||||||
const char *RMessageForError(int errorCode);
|
const char *RMessageForError(int errorCode);
|
||||||
|
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ RDestroyXImage(RContext *context, RXImage *rximage)
|
|||||||
free(rximage);
|
free(rximage);
|
||||||
#else /* XSHM */
|
#else /* XSHM */
|
||||||
if (rximage->is_shared) {
|
if (rximage->is_shared) {
|
||||||
|
XSync(context->dpy, False);
|
||||||
XShmDetach(context->dpy, &rximage->info);
|
XShmDetach(context->dpy, &rximage->info);
|
||||||
XDestroyImage(rximage->image);
|
XDestroyImage(rximage->image);
|
||||||
if (shmdt(rximage->info.shmaddr) < 0)
|
if (shmdt(rximage->info.shmaddr) < 0)
|
||||||
@@ -184,6 +185,66 @@ RDestroyXImage(RContext *context, RXImage *rximage)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static unsigned
|
||||||
|
getDepth(Display *dpy, Drawable d)
|
||||||
|
{
|
||||||
|
Window w;
|
||||||
|
int foo;
|
||||||
|
unsigned bar;
|
||||||
|
unsigned depth;
|
||||||
|
|
||||||
|
XGetGeometry(dpy, d, &w, &foo, &foo, &bar, &bar, &bar, &depth);
|
||||||
|
|
||||||
|
return depth;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RXImage*
|
||||||
|
RGetXImage(RContext *context, Drawable d, int x, int y,
|
||||||
|
unsigned width, unsigned height)
|
||||||
|
{
|
||||||
|
RXImage *ximg = NULL;
|
||||||
|
|
||||||
|
#ifdef XSHM
|
||||||
|
if (context->attribs->use_shared_memory && 0) {
|
||||||
|
ximg = RCreateXImage(context, getDepth(context->dpy, d),
|
||||||
|
width, height);
|
||||||
|
|
||||||
|
if (ximg && !ximg->is_shared) {
|
||||||
|
RDestroyXImage(context, ximg);
|
||||||
|
ximg = NULL;
|
||||||
|
}
|
||||||
|
if (ximg) {
|
||||||
|
XShmGetImage(context->dpy, d, ximg->image, x, y, AllPlanes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!ximg) {
|
||||||
|
ximg = malloc(sizeof(RXImage));
|
||||||
|
if (!ximg) {
|
||||||
|
RErrorCode = RERR_NOMEMORY;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
ximg->is_shared = 0;
|
||||||
|
ximg->image = XGetImage(context->dpy, d, x, y, width, height,
|
||||||
|
AllPlanes, ZPixmap);
|
||||||
|
}
|
||||||
|
return ximg;
|
||||||
|
#else /* !XSHM */
|
||||||
|
ximg = malloc(sizeof(RXImage));
|
||||||
|
if (!ximg) {
|
||||||
|
RErrorCode = RERR_NOMEMORY;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ximg->image = XGetImage(context->dpy, d, x, y, width, height,
|
||||||
|
AllPlanes, ZPixmap);
|
||||||
|
|
||||||
|
return ximg;
|
||||||
|
#endif /* !XSHM */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
RPutXImage(RContext *context, Drawable d, GC gc, RXImage *ximage, int src_x,
|
RPutXImage(RContext *context, Drawable d, GC gc, RXImage *ximage, int src_x,
|
||||||
int src_y, int dest_x, int dest_y,
|
int src_y, int dest_x, int dest_y,
|
||||||
|
|||||||
Reference in New Issue
Block a user