1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-04-02 13:03:34 +02: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

@@ -4,6 +4,15 @@ 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)
- 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

@@ -40,6 +40,7 @@ int main(int argc, char **argv)
pixmap = WMCreatePixmapFromXPMData(scr, GNUSTEP_XPM);
WMSetApplicationIconImage(scr, pixmap); WMReleasePixmap(pixmap);
panel = WMGetColorPanel(scr);

View File

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

View File

@@ -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) {
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);
}
}
}
@@ -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);
@@ -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))
if (column > WMGetBrowserFirstVisibleColumn(bPtr)) {
WMSetTextFieldText(panel->tit2T, getItemTitle(menuList));
else
WMSetTextFieldText(panel->tit1T, 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;
@@ -742,12 +766,7 @@ changedTitle(void *observerData, WMNotification *notification)
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");
@@ -964,16 +987,13 @@ scrolledBrowser(void *observerData, WMNotification *notification)
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));
}
}
static void

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 ©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à 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å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
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:

1455
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) {
/* XXX wrong fix, can cause side effects, must remove 'if' */
if (wwin->icon) {
XUnmapWindow(dpy, wwin->icon->core->window);
wwin->flags.hidden = 1;
wwin->icon->mapped = 0;
}
wwin->flags.hidden = 1;
#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

@@ -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,15 +466,13 @@ 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);
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);
}
free(ws_name);
}
}
flags |= IS_BOOLEAN;
@@ -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);
/*
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

@@ -362,6 +362,11 @@ main(int argc, char **argv)
}
}
if (!PLIsArray(style)) {
printf("%s: '%s' is not a style file/theme\n", ProgName, file);
exit(1);
}
hackStyle(style);
PLMergeDictionaries(prop, 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,6 +381,9 @@ 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,

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,