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

Initial update from my source tree. For 0.52.0

This commit is contained in:
kojima
1999-03-15 23:41:22 +00:00
parent c56756dc73
commit 7f9f88940d
67 changed files with 3348 additions and 638 deletions

View File

@@ -2,8 +2,17 @@ Changes since version 0.51.2:
.............................
- made the Attributes panel be available for all windows, even
for completely broken apps (although settings wont be saved for
completely broken apps)
for completely broken apps (although settings wont be saved for
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:

View File

@@ -103,7 +103,7 @@ mkinstalldirs src/config.h.in src/stamp-h.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -3,6 +3,8 @@ changes since wmaker 0.51.2:
- added WMColorWellDidChangeNotification
- added wfindfileinarray()
- fixed bug in window title setting
(MANOME Tomonori <manome@itlb.te.noda.sut.ac.jp>)
changes since wmaker 0.51.1:
............................

View File

@@ -201,7 +201,7 @@ DIST_COMMON = README ChangeLog Makefile.am Makefile.in TODO
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
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)

View File

@@ -102,7 +102,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -77,7 +77,7 @@ WMDeleteSelectionHandler(WMWidget *widget, Atom selection)
}
static int gotError = 0;
static Bool gotError = 0;
/*
static int
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));
*/
gotError = 0;
gotError = False;
if (!XChangeProperty(dpy, requestor, property, type, format,
PropModeReplace, value, length))
return 0;
return False;
XFlush(dpy);
return !gotError;
@@ -309,7 +309,7 @@ W_GetTextSelection(WMScreen *scr, Atom selection)
return data;
} else {
unsigned char *data;
char *data;
int bits;
Atom rtype;
unsigned long len, bytes;
@@ -343,7 +343,7 @@ W_GetTextSelection(WMScreen *scr, Atom selection)
if (XGetWindowProperty(scr->display, scr->groupLeader,
scr->clipboardAtom, 0, MAX_PROPERTY_SIZE,
False, XA_STRING, &rtype, &bits, &len,
&bytes, &data)!=Success) {
&bytes, (unsigned char**)&data)!=Success) {
return NULL;
}
if (rtype!=XA_STRING || bits!=8) {

View File

@@ -39,6 +39,7 @@ int main(int argc, char **argv)
scr = WMCreateSimpleApplicationScreen(dpy);
pixmap = WMCreatePixmapFromXPMData(scr, GNUSTEP_XPM);
WMSetApplicationIconImage(scr, pixmap); WMReleasePixmap(pixmap);

View File

@@ -12,6 +12,9 @@
#endif
#include <unistd.h>
#include <string.h>
#if defined(HAVE_SELECT)
#ifdef HAVE_SYS_SELECT_H

View File

@@ -855,7 +855,7 @@ scrollToColumn(WMBrowser *bPtr, int column, Bool updateScroller)
if (!WMWidgetView(bPtr->columns[i])->flags.realized)
WMRealizeWidget(bPtr->columns[i]);
WMMapWidget(bPtr->columns[i]);
x += bPtr->columnSize.width+COLUMN_SPACING;
x += bPtr->columnSize.width + COLUMN_SPACING;
} else {
WMUnmapWidget(bPtr->columns[i]);
}
@@ -910,13 +910,15 @@ listCallback(void *self, void *clientData)
/* open directory */
if (item->isBranch) {
WMAddBrowserColumn(bPtr);
loadColumn(bPtr, bPtr->usedColumnCount-1);
}
if (bPtr->usedColumnCount < bPtr->maxVisibleColumns)
i = 0;
else
i = bPtr->usedColumnCount-bPtr->maxVisibleColumns;
scrollToColumn(bPtr, i, True);
if (item->isBranch) {
loadColumn(bPtr, bPtr->usedColumnCount-1);
}
}

View File

@@ -191,6 +191,9 @@ WMCreateWindowWithStyle(WMScreen *screen, char *name, int style)
void
WMSetWindowTitle(WMWindow *win, char *title)
{
XTextProperty property;
int result;
if (win->title!=NULL)
free(win->title);
if (title!=NULL)
@@ -199,7 +202,17 @@ WMSetWindowTitle(WMWindow *win, char *title)
win->title = NULL;
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)
{
unsigned long data[9];
/* handle idiot compilers where array of CARD32 != struct of CARD32 */
data[0] = attr->flags;
data[1] = attr->window_style;
@@ -414,11 +427,9 @@ realizeWindow(WMWindow *win)
if (count>0)
XSetWMProtocols(scr->display, win->view->window, atoms, count);
if (win->title)
XStoreName(scr->display, win->view->window, win->title);
if (win->miniTitle)
XSetIconName(scr->display, win->view->window, win->miniTitle);
if (win->title || win->miniTitle)
XmbSetWMProperties(scr->display, win->view->window, win->title,
win->miniTitle, NULL, 0, NULL, NULL, NULL);
setWindowMakerHints(win);
@@ -535,6 +546,9 @@ WMSetWindowMiniwindowImage(WMWindow *win, WMPixmap *pixmap)
void
WMSetWindowMiniwindowTitle(WMWindow *win, char *title)
{
XTextProperty property;
int result;
if ((win->miniTitle && !title) || (!win->miniTitle && title)
|| (title && win->miniTitle && strcoll(title, win->miniTitle)!=0)) {
if (win->miniTitle)
@@ -546,7 +560,19 @@ WMSetWindowMiniwindowTitle(WMWindow *win, char *title)
win->miniTitle = NULL;
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);
}
}
}
}

View File

@@ -1049,11 +1049,11 @@ storeData(_Panel *panel)
item = WMGetListItem(panel->texLs, panel->textureIndex[3]);
titem = (TextureListItem*)item->clientData;
SetObjectForKey(titem->prop, "MenuTextBack");
SetObjectForKey(titem->prop, "MenuTitleBack");
item = WMGetListItem(panel->texLs, panel->textureIndex[4]);
titem = (TextureListItem*)item->clientData;
SetObjectForKey(titem->prop, "MenuItemBack");
SetObjectForKey(titem->prop, "MenuTextBack");
item = WMGetListItem(panel->texLs, panel->textureIndex[5]);
titem = (TextureListItem*)item->clientData;

View File

@@ -143,7 +143,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
SOURCES = $(WPrefs_SOURCES)
OBJECTS = $(WPrefs_OBJECTS)

View File

@@ -131,6 +131,7 @@ enum {
static void showData(_Panel *panel);
static Bool
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
updateForItemType(_Panel *panel, int type)
{
@@ -387,7 +418,7 @@ getItemOfSelectedEntry(WMBrowser *bPtr)
int i;
i = WMGetBrowserSelectedColumn(bPtr);
menu = (proplist_t)WMGetHangedData(WMGetBrowserListInColumn(bPtr, i));
menu = getSubmenuInColumn((_Panel*)WMGetHangedData(bPtr), i);
i = WMGetBrowserSelectedRowInColumn(bPtr, i);
item = PLGetArrayElement(menu, i+1);
@@ -406,7 +437,6 @@ performCommand(WMWidget *w, void *data)
int column;
int row;
static int cmdIndex=0;
WMList *list;
char *title = NULL;
column = WMGetBrowserFirstVisibleColumn(panel->browser);
@@ -417,8 +447,7 @@ performCommand(WMWidget *w, void *data)
if (column >= WMGetBrowserNumberOfColumns(panel->browser))
return;
list = WMGetBrowserListInColumn(panel->browser, column);
menu = WMGetHangedData(list);
menu = getSubmenuInColumn(panel, column);
row = WMGetBrowserSelectedRowInColumn(panel->browser, column);
@@ -533,7 +562,7 @@ browserClick(WMWidget *w, void *data)
_Panel *panel = (_Panel*)data;
proplist_t item;
char *command;
/* stop shortcut capture */
panel->capturing = 0;
@@ -621,6 +650,7 @@ browserClick(WMWidget *w, void *data)
}
static void
fillBrowserColumn(WMBrowser *bPtr, int column)
{
@@ -629,21 +659,14 @@ fillBrowserColumn(WMBrowser *bPtr, int column)
proplist_t menuList = NULL;
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))
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
else
WMSetTextFieldText(panel->tit1T, getItemTitle(menuList));
if (column > WMGetBrowserFirstVisibleColumn(bPtr)) {
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
} else {
menuList = panel->menu;
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
WMSetTextFieldText(panel->tit1T, getItemTitle(panel->menu));
WMSetTextFieldText(panel->tit1T, getItemTitle(menuList));
}
for (i=1; i<PLGetNumberOfElements(menuList); i++) {
@@ -667,6 +690,7 @@ changedItem(void *observerData, WMNotification *notification)
char *command;
char *str;
if (!item)
return;
@@ -741,13 +765,8 @@ changedTitle(void *observerData, WMNotification *notification)
column = WMGetBrowserFirstVisibleColumn(panel->browser);
if (panel->tit2T == t)
column++;
list = WMGetBrowserListInColumn(panel->browser, column);
if (!list) {
return;
}
menu = (proplist_t)WMGetHangedData(list);
menu = getSubmenuInColumn(panel, column);
if (!menu)
return;
@@ -814,7 +833,11 @@ changedCommand(WMWidget *w, void *data)
changeItemCommand(panel->editedItem, "EXIT");
updateForItemType(panel, TExit);
}
/* fall through */
if (WMGetButtonSelected(panel->noconfirmB))
changeItemParameter(panel->editedItem, "QUICK");
else
changeItemParameter(panel->editedItem, "");
break;
case CpShutdown:
if (strcmp(getItemCommand(panel->editedItem), "SHUTDOWN")!=0) {
changeItemCommand(panel->editedItem, "SHUTDOWN");
@@ -963,16 +986,13 @@ scrolledBrowser(void *observerData, WMNotification *notification)
proplist_t item;
column = WMGetBrowserFirstVisibleColumn(panel->browser);
list = WMGetBrowserListInColumn(panel->browser, column);
item = WMGetHangedData(list);
item = getSubmenuInColumn(panel, column);
WMSetTextFieldText(panel->tit1T, getItemTitle(item));
list = WMGetBrowserListInColumn(panel->browser, column+1);
if (list) {
item = WMGetHangedData(list);
item = getSubmenuInColumn(panel, column + 1);
if (item)
WMSetTextFieldText(panel->tit2T, getItemTitle(item));
}
}
@@ -1326,7 +1346,7 @@ getDefaultMenu(_Panel *panel, int *hasWSMenu)
}
static void
static void
showData(_Panel *panel)
{
char *gspath;
@@ -1335,12 +1355,12 @@ showData(_Panel *panel)
int hasWSMenu = 0;
gspath = wusergnusteppath();
menuPath = wmalloc(strlen(gspath)+32);
strcpy(menuPath, gspath);
free(gspath);
strcat(menuPath, "/Defaults/WMRootMenu");
menu = PLGetProplistWithPath(menuPath);
pmenu = NULL;
@@ -1369,7 +1389,7 @@ showData(_Panel *panel)
if (menu)
PLRelease(menu);
if (panel->itemClipboard) {
PLRelease(panel->itemClipboard);
panel->itemClipboard = NULL;

View File

@@ -570,7 +570,7 @@ browseImageCallback(WMWidget *w, void *data)
WMSetFilePanelCanChooseDirectories(opanel, False);
WMSetFilePanelCanChooseFiles(opanel, True);
if (WMRunModalFilePanelForDirectory(opanel, panel->win, "/home",
if (WMRunModalFilePanelForDirectory(opanel, panel->win, wgethomedir(),
"Open Image", NULL)) {
char *path, *fullpath;
char *tmp, *tmp2;

View File

@@ -4,7 +4,7 @@ nlsdir = $(NLSDIR)
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 \

View File

@@ -93,7 +93,7 @@ nlsdir = $(NLSDIR)
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
@@ -112,7 +112,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -11,3 +11,4 @@ ko.po Korean Byeong-Chan, Kim <redhands@linux.sarang.net>
cs.po Czech David <20>auer <xsauer@hwlab.felk.cvut.cz>
ja.po Japanese Kazuhide Takahashi <kazu@dgra.ne.jp>
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

File diff suppressed because it is too large Load Diff

View File

@@ -103,7 +103,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -102,7 +102,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -34,6 +34,7 @@ prefsdata_DATA =\
plmenu\
plmenu.fr\
plmenu.hr\
plmenu.dk\
wmmacros \
xtree.dat

View File

@@ -91,7 +91,7 @@ SUBDIRS = Backgrounds Defaults IconSets Icons Pixmaps Styles Themes
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
@@ -105,7 +105,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -57,3 +57,7 @@ menu.sl Slovene Alen Salamun <snowman@hal9000.medinet.si>
menu.hu Hungarian Csanaki Csaba <prew@mail.matav.hu>
menu.ca Catal<61> Carles Amig<F3> dj_fr3nd@hotmail.com
menu.zh_TW.Big5 Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
plmenu.dk Danish Birger Langkjer <birger.langkjer@image.dk>

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -104,7 +104,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

433
WindowMaker/plmenu.dk Executable file
View 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<6C>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<6C>ndtering",
EXEC,
"kfm -w"
),
(
"Kdehj<68>lp",
EXEC,
"kdehelp"
)
),
(
"Diverse",
(
"Xmcd",
EXEC,
"xmcd 2> /dev/null"
),
(
"Xplaycd",
EXEC,
"xplaycd"
),
(
"Xmixer",
EXEC,
"xmixer"
)
),
(
"Tilbeh<65>r",
(
"Lommeregner",
EXEC,
"xcalc"
),
(
"Window Egenskaber",
EXEC,
"xprop | xmessage -center -title 'xprop' -file"
),
(
"V<>lg skrifttype",
EXEC,
"xfontsel"
),
(
"Terminalemulator",
EXEC,
"xminicom"
),
(
"Forst<73>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<64>s", REFRESH),
(
"L<>s",
EXEC,
"xlock -allowroot -usefirst"
),
("Gem milj<6C>", SAVE_SESSION),
("Slet gemt milj<6C>", 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<6E>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<42>",
EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#505075\")'"
),
(
"Indigo",
EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#243e6c\")'"
),
(
"M<>rkebl<62>",
EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#180090\")'"
),
(
"Lilla",
EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#554466\")'"
),
(
"Hvede",
EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"wheat4\")'"
),
(
"M<>rkegr<67>",
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<6E>t",
EXEC,
"geticonset ~/GNUstep/Library/WindowMaker/IconSets/\"%a(IconSet name,Enter file name:)\""
)
),
(
"Afslut",
("Genindl<64>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
View File

@@ -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_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
ok=0
@@ -4655,7 +4655,7 @@ fi
LDFLAGS="$LDFLAGS_old"
if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
my_libname=ungif
my_libname=-lungif
fi
if test "x$my_libname" = x; then
@@ -4705,7 +4705,7 @@ fi
LDFLAGS="$LDFLAGS_old"
if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
my_libname=gif
my_libname=-lgif
fi
fi
@@ -4749,7 +4749,7 @@ fi
CPPFLAGS="$CPPFLAGS_old"
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"
cat >> confdefs.h <<\EOF
#define USE_GIF 1

View File

@@ -199,7 +199,7 @@ dnl ==================
dnl List of supported locales
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_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
ok=0
@@ -529,7 +529,7 @@ if test "$gif" = yes; then
my_libname=""
WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
my_libname=ungif
my_libname=-lungif
fi
dnl
dnl libungif is the same thing as libgif for all practical purposes.
@@ -537,14 +537,14 @@ dnl
if test "x$my_libname" = x; then
WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
my_libname=gif
my_libname=-lgif
fi
fi
if test "$my_libname" != x; then
WM_CHECK_HEADER(gif_lib.h)
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"
AC_DEFINE(USE_GIF)
fi

View File

@@ -103,7 +103,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

View File

@@ -113,7 +113,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:

1483
po/dk.po

File diff suppressed because it is too large Load Diff

View File

@@ -139,7 +139,7 @@ wconfig.h.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
SOURCES = $(wmaker_SOURCES)
OBJECTS = $(wmaker_OBJECTS)

View File

@@ -175,7 +175,10 @@ wSetFocusTo(WScreen *scr, WWindow *wwin)
if (napp)
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 */
if (wPreferences.colormap_mode==WKF_CLICK)
wColormapInstallForWindow(scr, wwin);
@@ -203,9 +206,6 @@ wSetFocusTo(WScreen *scr, WWindow *wwin)
XSetInputFocus(dpy, scr->no_focus_win, RevertToParent, timestamp);
}
if (WFLAGP(wwin, no_focusable))
return;
/* if this is not the focused window focus it */
if (focused!=wwin) {
/* change the focus window list order */
@@ -882,6 +882,7 @@ removeIconGrabs(WIcon *icon)
}
#endif
void
wIconifyWindow(WWindow *wwin)
{
@@ -1115,9 +1116,12 @@ static void
hideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int animate)
{
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->icon->mapped = 0;
#ifdef GNOME_STUFF
wGNOMEUpdateClientStateHint(wwin, False);
#endif
@@ -1337,6 +1341,9 @@ wHideApplication(WApplication *wapp)
if(wPreferences.auto_arrange_icons) {
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) {
wArrangeIcons(scr, True);
}
#ifdef HIDDENDOT
wAppIconPaint(wapp->app_icon);
#endif
}

View File

@@ -347,6 +347,22 @@ updateDockNumbers(WScreen *scr)
}
#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
wAppIconPaint(WAppIcon *aicon)
@@ -369,6 +385,21 @@ wAppIconPaint(WAppIcon *aicon)
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
if (!wPreferences.strict_ns && aicon->icon->owner!=NULL) {
int active=0;

View File

@@ -1142,7 +1142,7 @@ wShowInfoPanel(WScreen *scr)
panel->wwin = wwin;
thePanel = panel;
#ifndef SILLYNESS
#ifdef SILLYNESS
if (InitXThing(panel->scr)) {
panel->timer = WMAddTimerHandler(100, logoPushCallback, panel);
panel->cycle = 0;

View File

@@ -324,7 +324,7 @@ ShowDockAppSettingsPanel(WAppIcon *aicon)
WMSetLabelText(panel->dndCommandLabel,
_("%d will be replaced with the file name"));
#else
WMSetTextFieldEnabled(panel->dndCommandField, False);
WMSetTextFieldEditable(panel->dndCommandField, False);
WMSetLabelText(panel->dndCommandLabel,
_("DND support was not compiled in"));
#endif

View File

@@ -298,7 +298,6 @@ DispatchEvent(XEvent *event)
case VisibilityNotify:
handleVisibilityNotify(event);
break;
default:
handleExtensions(event);
break;
@@ -446,6 +445,13 @@ handleExtensions(XEvent *event)
handleShapeNotify(event);
}
#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
* root window */
wUnmanageWindow(wwin, !reparented, False);
// wUnmanageWindow(wwin, !reparented, False);
}
XUngrabServer(dpy);
}
@@ -1133,6 +1139,31 @@ handleShapeNotify(XEvent *event)
}
#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
handleColormapNotify(XEvent *event)
@@ -1670,7 +1701,7 @@ handleKeyPress(XEvent *event)
XkbGetState(dpy,XkbUseCoreKbd,&staterec);
/*toggle*/
XkbLockGroup(dpy,XkbUseCoreKbd,
wwin->languagemode=staterec.compat_state&32?0:1);
wwin->frame->languagemode=staterec.compat_state&32?0:1);
}
break;
#endif /* KEEP_XKB_LOCK_STATUS */

View File

@@ -739,8 +739,25 @@ wFrameWindowPaint(WFrameWindow *fwin)
else
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,
fwin->titlebar->width - lofs - rofs);
#endif /* XKB_TITLE_HINT */
titlelen = strlen(title);
w = wTextWidth((*fwin->font)->font, title, titlelen);

View File

@@ -72,6 +72,10 @@ typedef struct WFrameWindow {
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 */
void *child;

View File

@@ -502,9 +502,9 @@ main(int argc, char **argv)
sprintf(str, "DISPLAY=%s", DisplayName);
putenv(str);
#ifdef DEBUG
//#ifdef DEBUG
XSynchronize(dpy, True);
#endif
//#endif
wXModifierInitialize();

View File

@@ -1456,6 +1456,11 @@ wMouseMoveWindow(WWindow *wwin, XEvent *ev)
/* This needs not to change while moving, else bad things can happen */
int opaqueMove = wPreferences.opaque_move;
MoveData moveData;
#ifdef GHOST_WINDOW_MOVE
RImage *rimg;
rimg = InitGhostWindowMove(scr);
#endif
initMoveData(wwin, &moveData);

View File

@@ -32,6 +32,9 @@
#ifdef SHAPE
#include <X11/extensions/shape.h>
#endif
#ifdef KEEP_XKB_LOCK_STATUS
#include <X11/XKBlib.h>
#endif /* KEEP_XKB_LOCK_STATUS */
#include <wraster.h>
@@ -425,7 +428,8 @@ createPixmaps(WScreen *scr)
image = wDefaultGetImage(scr, "Logo", "WMPanel");
if (!image) {
wwarning(_("could not load logo image for panels"));
wwarning(_("could not load logo image for panels: %s"),
RMessageForError(RErrorCode));
} else {
if (!RConvertImageMask(scr->rcontext, image, &p, &m, 128)) {
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,
CopyFromParent, scr->w_visual, vmask, &attribs);
/* for our window manager info notice board */
scr->info_window =
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
@@ -669,6 +675,11 @@ wScreenInit(int screen_number)
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);
XSetErrorHandler(oldHandler);

View File

@@ -521,3 +521,21 @@ InitXThing(WScreen *scr)
}
#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 */

View File

@@ -57,7 +57,7 @@
*/
#define USECPP
/* #define CPP_PATH /usr/bin/cpp */
/* #define CPP_PATH /lib/cpp */
/*
* support for OffiX DND drag and drop in the Dock
@@ -154,6 +154,13 @@
#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
* programs that have buggy implementations of such hint and place
@@ -524,9 +531,11 @@
#undef SHAPED_BALLOON
#endif
#ifdef XKB_MODELOCK
#define KEEP_XKB_LOCK_STATUS
#define XKB_TITLE_HINT
#define XKB_ON "[TH]"
#define XKB_OFF "[EN]"
#endif
#if HAVE_LIBINTL_H && I18N

View File

@@ -154,6 +154,13 @@
#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
* programs that have buggy implementations of such hint and place
@@ -524,9 +531,11 @@
#undef SHAPED_BALLOON
#endif
#ifdef XKB_MODELOCK
#define KEEP_XKB_LOCK_STATUS
#define XKB_TITLE_HINT
#define XKB_ON "[TH]"
#define XKB_OFF "[EN]"
#endif
#if HAVE_LIBINTL_H && I18N

View File

@@ -27,8 +27,8 @@
#ifdef SHAPE
#include <X11/extensions/shape.h>
#endif
#ifdef KEEP_XKB_LOCK_STATUS
# include <X11/XKBlib.h>
#ifdef KEEP_XKB_LOCK_STATUS
#include <X11/XKBlib.h>
#endif /* KEEP_XKB_LOCK_STATUS */
#include <stdlib.h>
#include <stdio.h>
@@ -1331,6 +1331,8 @@ wUnmanageWindow(WWindow *wwin, Bool restore, Bool destroyed)
XUnmapWindow(dpy, frame->window);
XUnmapWindow(dpy, wwin->client_win);
/* deselect window */
wSelectWindow(wwin, False);
@@ -1487,7 +1489,7 @@ wWindowFocus(WWindow *wwin, WWindow *owin)
#ifdef KEEP_XKB_LOCK_STATUS
if (wPreferences.modelock) {
if (!wwin->flags.focused) {
XkbLockGroup(dpy, XkbUseCoreKbd, wwin->languagemode);
XkbLockGroup(dpy, XkbUseCoreKbd, wwin->frame->languagemode);
}
}
#endif /* KEEP_XKB_LOCK_STATUS */
@@ -1546,17 +1548,6 @@ wWindowFocus(WWindow *wwin, WWindow *owin)
void
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);
wFrameWindowChangeState(wwin->frame, wwin->flags.semi_focused

View File

@@ -218,10 +218,6 @@ typedef struct WWindow {
FocusMode focus_mode; /* type of keyboard input focus */
#ifdef KEEP_XKB_LOCK_STATUS
int languagemode;
#endif /* KEEP_XKB_LOCK_STATUS */
#ifdef OLWM_HINTS_unfinished
struct WOLWindowState ol_window_state;
#endif

View File

@@ -466,14 +466,12 @@ saveSettings(WMButton *button, InspectorPanel *panel)
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
PLRelease(value);
} else if (WMGetButtonSelected(panel->setRb) != 0) {
char *ws_name = WMGetTextFieldText(panel->wsText);
if (ws_name) {
if (ws_name[0] != 0) {
value = PLMakeString(ws_name);
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
PLRelease(value);
}
free(ws_name);
int i = WMGetPopUpButtonSelectedItem(panel->wsP);
if (i < panel->frame->screen_ptr->workspace_count) {
value = PLMakeString(panel->frame->screen_ptr->workspaces[i]->name);
insertAttribute(dict, winDic, AStartWorkspace, value, &different, flags);
PLRelease(value);
}
}
@@ -911,9 +909,9 @@ revertSettings(WMButton *button, InspectorPanel *panel)
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);
WMSetTextFieldText(panel->wsText, wwin->screen_ptr->workspaces[n]->name);
WMSetPopUpButtonSelectedItem(panel->wsP, n);
} else {
WMPerformButtonClick(panel->curRb);
}
@@ -959,14 +957,11 @@ textEditedObserver(void *observerData, WMNotification *notification)
if ((long)WMGetNotificationClientData(notification) != WMReturnTextMovement)
return;
if (WMGetNotificationObject(notification) == panel->fileText) {
showIconFor(WMWidgetScreen(panel->win), panel, NULL, NULL,
USE_TEXT_FIELD);
showIconFor(WMWidgetScreen(panel->win), panel, NULL, NULL,
USE_TEXT_FIELD);
/*
WMPerformButtonClick(panel->updateIconBtn);
*/
} else
WMPerformButtonClick(panel->setRb);
}
@@ -1240,7 +1235,7 @@ createInspectorForWindow(WWindow *wwin)
panel->iconLbl = WMCreateLabel(panel->iconFrm);
WMMoveWidget(panel->iconLbl, PWIDTH - (2 * 15) - 22 - 64, 30);
WMResizeWidget(panel->iconLbl, 64, 64);
WMSetLabelRelief(panel->iconLbl, WRRaised);
WMSetLabelRelief(panel->iconLbl, WRGroove);
WMSetLabelImagePosition(panel->iconLbl, WIPImageOnly);
panel->browseIconBtn = WMCreateCommandButton(panel->iconFrm);
@@ -1302,21 +1297,19 @@ createInspectorForWindow(WWindow *wwin)
WMGroupButtons(panel->curRb, panel->setRb);
WMSetButtonText(panel->setRb, NULL);
panel->wsText = WMCreateTextField(panel->wsFrm);
WMMoveWidget(panel->wsText, 30, 40);
WMResizeWidget(panel->wsText, PWIDTH - (2 * 15) - 25 - 10 - (2 * 5), 20);
WMAddNotificationObserver(textEditedObserver, panel,
WMTextDidEndEditingNotification,
panel->wsText);
panel->wsP = WMCreatePopUpButton(panel->wsFrm);
WMMoveWidget(panel->wsP, 30, 40);
WMResizeWidget(panel->wsP, PWIDTH - (2 * 15) - 25 - 10 - (2 * 5), 20);
for (i = 0; i < wwin->screen_ptr->workspace_count; i++) {
WMAddPopUpButtonItem(panel->wsP, scr->workspaces[i]->name);
}
i = wDefaultGetStartWorkspace(wwin->screen_ptr, wwin->wm_instance,
wwin->wm_class);
if (i >= 0 && i <= wwin->screen_ptr->workspace_count) {
WMSetButtonSelected(panel->curRb, False);
WMSetButtonSelected(panel->setRb, True);
WMSetTextFieldText(panel->wsText,
wwin->screen_ptr->workspaces[i]->name);
WMSetPopUpButtonSelectedItem(panel->wsP, i);
} else {
WMSetButtonSelected(panel->curRb, True);
WMSetButtonSelected(panel->setRb, False);

View File

@@ -78,7 +78,7 @@ typedef struct InspectorPanel {
WMFrame *wsFrm;
WMButton *curRb;
WMButton *setRb;
WMTextField *wsText;
WMPopUpButton *wsP;
/* 5th page. application wide attributes */
WMFrame *appFrm;

View File

@@ -124,7 +124,7 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
SOURCES = $(wtest_SOURCES)
OBJECTS = $(wtest_OBJECTS)

View File

@@ -185,7 +185,7 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
SOURCES = $(wxcopy_SOURCES) $(wxpaste_SOURCES) $(wdwrite_SOURCES) $(getstyle_SOURCES) $(setstyle_SOURCES) $(seticons_SOURCES) $(geticonset_SOURCES) $(wmsetbg_SOURCES)
OBJECTS = $(wxcopy_OBJECTS) $(wxpaste_OBJECTS) $(wdwrite_OBJECTS) $(getstyle_OBJECTS) $(setstyle_OBJECTS) $(seticons_OBJECTS) $(geticonset_OBJECTS) $(wmsetbg_OBJECTS)

View File

@@ -361,6 +361,11 @@ main(int argc, char **argv)
exit(1);
}
}
if (!PLIsArray(style)) {
printf("%s: '%s' is not a style file/theme\n", ProgName, file);
exit(1);
}
hackStyle(style);

View File

@@ -156,14 +156,14 @@ parseTexture(RContext *rc, char *text)
}
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);
XFillRectangle(dpy, pixmap, DefaultGC(dpy, scr), 0, 0, 32, 32);
XFillRectangle(dpy, pixmap, DefaultGC(dpy, scr), 0, 0, 8, 8);
texture->pixmap = pixmap;
texture->color = color;
texture->width = 32;
texture->height = 32;
texture->width = 8;
texture->height = 8;
} else if (strcasecmp(type, "vgradient")==0
|| strcasecmp(type, "dgradient")==0
|| strcasecmp(type, "hgradient")==0) {
@@ -201,12 +201,12 @@ parseTexture(RContext *rc, char *text)
case 'H':
gtype = RHorizontalGradient;
iwidth = scrWidth;
iheight = 32;
iheight = 1;
break;
case 'V':
case 'v':
gtype = RVerticalGradient;
iwidth = 32;
iwidth = 1;
iheight = scrHeight;
break;
default:
@@ -294,12 +294,12 @@ parseTexture(RContext *rc, char *text)
case 'H':
gtype = RHorizontalGradient;
iwidth = scrWidth;
iheight = 32;
iheight = 1;
break;
case 'V':
case 'v':
gtype = RVerticalGradient;
iwidth = 32;
iwidth = 1;
iheight = scrHeight;
break;
default:

View File

@@ -125,7 +125,7 @@ DIST_COMMON = COPYING.LIB Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
SOURCES = $(libWMaker_a_SOURCES)
OBJECTS = $(libWMaker_a_OBJECTS)

View File

@@ -4,14 +4,13 @@ AUTOMAKE_OPTIONS = no-dependencies
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
noinst_PROGRAMS = testgrad testdraw view
EXTRA_DIST = test.png tile.xpm ballot_box.xpm
include_HEADERS = wraster.h
libwraster_la_SOURCES = \

View File

@@ -91,14 +91,13 @@ AUTOMAKE_OPTIONS = no-dependencies
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
noinst_PROGRAMS = testgrad testdraw view
EXTRA_DIST = test.png tile.xpm ballot_box.xpm
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
@@ -165,7 +164,7 @@ Makefile.in NEWS TODO alloca.c configure.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
TAR = gtar
GZIP_ENV = --best
SOURCES = $(libwraster_la_SOURCES) $(testgrad_SOURCES) $(testdraw_SOURCES) $(view_SOURCES)
OBJECTS = $(libwraster_la_OBJECTS) $(testgrad_OBJECTS) $(testdraw_OBJECTS) $(view_OBJECTS)

View File

@@ -39,8 +39,8 @@
#define RLRASTER_H_
/* version of the header for the library: 0.13 */
#define WRASTER_HEADER_VERSION 13
/* version of the header for the library: 0.14 */
#define WRASTER_HEADER_VERSION 14
#include <X11/Xlib.h>
@@ -381,12 +381,15 @@ int RConvertImageMask(RContext *context, RImage *image, Pixmap *pixmap,
RXImage *RCreateXImage(RContext *context, int depth,
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 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);
/* do not free the returned string! */
const char *RMessageForError(int errorCode);

View File

@@ -171,6 +171,7 @@ RDestroyXImage(RContext *context, RXImage *rximage)
free(rximage);
#else /* XSHM */
if (rximage->is_shared) {
XSync(context->dpy, False);
XShmDetach(context->dpy, &rximage->info);
XDestroyImage(rximage->image);
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
RPutXImage(RContext *context, Drawable d, GC gc, RXImage *ximage, int src_x,
int src_y, int dest_x, int dest_y,