mirror of
https://github.com/gryf/wmaker.git
synced 2026-02-02 22:25:48 +01:00
Code update for Window Maker version 0.50.0
Read changes in ChangeLog and NEWS
This commit is contained in:
@@ -13,7 +13,7 @@ INCLUDES = @DFLAGS@ -I$(top_srcdir)/wrlib -I$(top_srcdir)/libPropList\
|
||||
@XCFLAGS@ @GFXFLAGS@
|
||||
|
||||
# X_EXTRA_LIBS is for libproplist in systems that need -lsocket
|
||||
liblist= -L$(top_builddir)/libPropList -lPropList @X_EXTRA_LIBS@
|
||||
liblist= $(top_builddir)/libPropList/libPropList.la @X_EXTRA_LIBS@
|
||||
|
||||
|
||||
wdwrite_LDADD = $(liblist)
|
||||
@@ -30,8 +30,9 @@ seticons_LDADD= $(liblist)
|
||||
|
||||
geticonset_LDADD= $(liblist)
|
||||
|
||||
wmsetbg_LDADD = -L$(top_builddir)/libPropList -lPropList \
|
||||
-L$(top_builddir)/wrlib -lwraster \
|
||||
wmsetbg_LDADD = $(top_builddir)/libPropList/libPropList.la \
|
||||
$(top_builddir)/wrlib/libwraster.la \
|
||||
$(top_builddir)/WINGs/libWINGs.a \
|
||||
@GFXLFLAGS@ @XLFLAGS@ @GFXLIBS@ @XLIBS@ -lm
|
||||
|
||||
getstyle_SOURCES = getstyle.c
|
||||
@@ -57,6 +58,7 @@ wmaker.inst: $(srcdir)/wmaker.inst.in ./Makefile
|
||||
sed -e "s:#pkgdatadir#:$(pkgdatadir):" \
|
||||
-e "s/#version#/$(VERSION)/" \
|
||||
-e "s:#bindir#:$(bindir):" \
|
||||
-e "s:#LITE#:@LITE@:" \
|
||||
$(srcdir)/wmaker.inst.in >wmaker.inst
|
||||
|
||||
chmod 755 wmaker.inst
|
||||
|
||||
@@ -67,6 +67,9 @@ I18N = @I18N@
|
||||
I18N_MB = @I18N_MB@
|
||||
ICONEXT = @ICONEXT@
|
||||
INTLIBS = @INTLIBS@
|
||||
LD = @LD@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LITE = @LITE@
|
||||
LN_S = @LN_S@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MOFILES = @MOFILES@
|
||||
@@ -102,7 +105,7 @@ INCLUDES = @DFLAGS@ -I$(top_srcdir)/wrlib -I$(top_srcdir)/libPropList\
|
||||
@XCFLAGS@ @GFXFLAGS@
|
||||
|
||||
# X_EXTRA_LIBS is for libproplist in systems that need -lsocket
|
||||
liblist= -L$(top_builddir)/libPropList -lPropList @X_EXTRA_LIBS@
|
||||
liblist= $(top_builddir)/libPropList/libPropList.la @X_EXTRA_LIBS@
|
||||
|
||||
wdwrite_LDADD = $(liblist)
|
||||
|
||||
@@ -118,8 +121,9 @@ seticons_LDADD= $(liblist)
|
||||
|
||||
geticonset_LDADD= $(liblist)
|
||||
|
||||
wmsetbg_LDADD = -L$(top_builddir)/libPropList -lPropList \
|
||||
-L$(top_builddir)/wrlib -lwraster \
|
||||
wmsetbg_LDADD = $(top_builddir)/libPropList/libPropList.la \
|
||||
$(top_builddir)/wrlib/libwraster.la \
|
||||
$(top_builddir)/WINGs/libWINGs.a \
|
||||
@GFXLFLAGS@ @XLFLAGS@ @GFXLIBS@ @XLIBS@ -lm
|
||||
|
||||
getstyle_SOURCES = getstyle.c
|
||||
@@ -159,28 +163,30 @@ wxpaste_OBJECTS = wxpaste.o
|
||||
wxpaste_DEPENDENCIES =
|
||||
wxpaste_LDFLAGS =
|
||||
wdwrite_OBJECTS = wdwrite.o
|
||||
wdwrite_DEPENDENCIES =
|
||||
wdwrite_DEPENDENCIES = $(top_builddir)/libPropList/libPropList.la
|
||||
wdwrite_LDFLAGS =
|
||||
getstyle_OBJECTS = getstyle.o
|
||||
getstyle_DEPENDENCIES =
|
||||
getstyle_DEPENDENCIES = $(top_builddir)/libPropList/libPropList.la
|
||||
getstyle_LDFLAGS =
|
||||
setstyle_OBJECTS = setstyle.o
|
||||
setstyle_DEPENDENCIES =
|
||||
setstyle_DEPENDENCIES = $(top_builddir)/libPropList/libPropList.la
|
||||
setstyle_LDFLAGS =
|
||||
seticons_OBJECTS = seticons.o
|
||||
seticons_DEPENDENCIES =
|
||||
seticons_DEPENDENCIES = $(top_builddir)/libPropList/libPropList.la
|
||||
seticons_LDFLAGS =
|
||||
geticonset_OBJECTS = geticonset.o
|
||||
geticonset_DEPENDENCIES =
|
||||
geticonset_DEPENDENCIES = $(top_builddir)/libPropList/libPropList.la
|
||||
geticonset_LDFLAGS =
|
||||
wmsetbg_OBJECTS = wmsetbg.o
|
||||
wmsetbg_DEPENDENCIES =
|
||||
wmsetbg_DEPENDENCIES = $(top_builddir)/libPropList/libPropList.la \
|
||||
$(top_builddir)/wrlib/libwraster.la $(top_builddir)/WINGs/libWINGs.a
|
||||
wmsetbg_LDFLAGS =
|
||||
SCRIPTS = $(bin_SCRIPTS)
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = README Makefile.am Makefile.in
|
||||
|
||||
|
||||
@@ -194,7 +200,7 @@ OBJECTS = $(wxcopy_OBJECTS) $(wxpaste_OBJECTS) $(wdwrite_OBJECTS) $(getstyle_OBJ
|
||||
all: Makefile $(PROGRAMS) $(SCRIPTS)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
.SUFFIXES: .S .c .lo .o .s
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu util/Makefile
|
||||
|
||||
@@ -217,8 +223,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
|
||||
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
@@ -247,6 +253,25 @@ distclean-compile:
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
.c.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
.s.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
.S.lo:
|
||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
|
||||
maintainer-clean-libtool:
|
||||
|
||||
wxcopy: $(wxcopy_OBJECTS) $(wxcopy_DEPENDENCIES)
|
||||
@rm -f wxcopy
|
||||
$(LINK) $(wxcopy_LDFLAGS) $(wxcopy_OBJECTS) $(wxcopy_LDADD) $(LIBS)
|
||||
@@ -371,30 +396,33 @@ maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
mostlyclean-libtool mostlyclean-tags \
|
||||
mostlyclean-generic
|
||||
|
||||
clean: clean-binPROGRAMS clean-compile clean-tags clean-generic \
|
||||
mostlyclean
|
||||
clean: clean-binPROGRAMS clean-compile clean-libtool clean-tags \
|
||||
clean-generic mostlyclean
|
||||
|
||||
distclean: distclean-binPROGRAMS distclean-compile distclean-tags \
|
||||
distclean-generic clean
|
||||
distclean: distclean-binPROGRAMS distclean-compile distclean-libtool \
|
||||
distclean-tags distclean-generic clean
|
||||
-rm -f config.status
|
||||
-rm -f libtool
|
||||
|
||||
maintainer-clean: maintainer-clean-binPROGRAMS maintainer-clean-compile \
|
||||
maintainer-clean-tags maintainer-clean-generic \
|
||||
distclean
|
||||
maintainer-clean-libtool maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
|
||||
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
maintainer-clean-compile uninstall-binSCRIPTS install-binSCRIPTS tags \
|
||||
mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
|
||||
distdir info dvi installcheck install-exec install-data install \
|
||||
uninstall all installdirs mostlyclean-generic distclean-generic \
|
||||
clean-generic maintainer-clean-generic clean mostlyclean distclean \
|
||||
maintainer-clean
|
||||
maintainer-clean-compile mostlyclean-libtool distclean-libtool \
|
||||
clean-libtool maintainer-clean-libtool uninstall-binSCRIPTS \
|
||||
install-binSCRIPTS tags mostlyclean-tags distclean-tags clean-tags \
|
||||
maintainer-clean-tags distdir info dvi installcheck install-exec \
|
||||
install-data install uninstall all installdirs mostlyclean-generic \
|
||||
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
wmaker.inst: $(srcdir)/wmaker.inst.in ./Makefile
|
||||
@@ -402,6 +430,7 @@ wmaker.inst: $(srcdir)/wmaker.inst.in ./Makefile
|
||||
sed -e "s:#pkgdatadir#:$(pkgdatadir):" \
|
||||
-e "s/#version#/$(VERSION)/" \
|
||||
-e "s:#bindir#:$(bindir):" \
|
||||
-e "s:#LITE#:@LITE@:" \
|
||||
$(srcdir)/wmaker.inst.in >wmaker.inst
|
||||
|
||||
chmod 755 wmaker.inst
|
||||
|
||||
@@ -12,7 +12,8 @@ geticonset- outputs the current set of icon assignments. Good for making
|
||||
|
||||
setstyle- load style settings from a style file and setup WindowMaker
|
||||
|
||||
getstyle - gets current style settings and save into a file
|
||||
getstyle - gets current style settings and save into a file or create
|
||||
a theme pack.
|
||||
|
||||
seticons- merges icon definitions into WMWindowAttributes file
|
||||
|
||||
|
||||
404
util/getstyle.c
404
util/getstyle.c
@@ -25,6 +25,14 @@
|
||||
#include <stdio.h>
|
||||
#include <proplist.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <pwd.h>
|
||||
#include <limits.h>
|
||||
|
||||
#ifndef PATH_MAX
|
||||
#define PATH_MAX 1024
|
||||
#endif
|
||||
|
||||
#include "../src/wconfig.h"
|
||||
|
||||
@@ -35,11 +43,9 @@ static char *options[] = {
|
||||
"MenuTitleFont",
|
||||
"MenuTextFont",
|
||||
"IconTitleFont",
|
||||
"ClipTitleFont",
|
||||
"DisplayFont",
|
||||
"HighlightColor",
|
||||
"HighlightTextColor",
|
||||
"ClipTitleColor",
|
||||
"CClipTitleColor",
|
||||
"FTitleColor",
|
||||
"PTitleColor",
|
||||
@@ -53,6 +59,8 @@ static char *options[] = {
|
||||
"MenuTitleBack",
|
||||
"MenuTextBack",
|
||||
"IconBack",
|
||||
"IconTitleColor",
|
||||
"IconTitleBack",
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -68,6 +76,10 @@ static char *theme_options[] = {
|
||||
|
||||
char *ProgName;
|
||||
|
||||
char *PixmapPath = NULL;
|
||||
|
||||
char *ThemePath = NULL;
|
||||
|
||||
|
||||
void
|
||||
print_help()
|
||||
@@ -76,6 +88,7 @@ print_help()
|
||||
puts("options:");
|
||||
puts(" -h print help");
|
||||
puts(" -t get theme options too");
|
||||
puts(" -p produce a theme pack");
|
||||
}
|
||||
|
||||
|
||||
@@ -111,12 +124,359 @@ defaultsPathForDomain(char *domain)
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
StringCompareHook(proplist_t pl1, proplist_t pl2)
|
||||
{
|
||||
char *str1, *str2;
|
||||
|
||||
str1 = PLGetString(pl1);
|
||||
str2 = PLGetString(pl2);
|
||||
|
||||
if (strcasecmp(str1, str2)==0)
|
||||
return YES;
|
||||
else
|
||||
return NO;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
abortar(char *reason)
|
||||
{
|
||||
char buffer[4000];
|
||||
|
||||
printf("%s: %s\n", ProgName, reason);
|
||||
|
||||
if (ThemePath) {
|
||||
printf("Removing unfinished theme pack\n");
|
||||
sprintf(buffer, "/bin/rm -fr %s", ThemePath);
|
||||
|
||||
if (system(buffer)!=0) {
|
||||
printf("%s: could not execute command %s\n", ProgName, buffer);
|
||||
}
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
char*
|
||||
wgethomedir()
|
||||
{
|
||||
char *home = getenv("HOME");
|
||||
struct passwd *user;
|
||||
|
||||
if (home)
|
||||
return home;
|
||||
|
||||
user = getpwuid(getuid());
|
||||
if (!user) {
|
||||
char buffer[80];
|
||||
|
||||
sprintf(buffer, "could not get password entry for UID %i", getuid());
|
||||
perror(buffer);
|
||||
return "/";
|
||||
}
|
||||
if (!user->pw_dir) {
|
||||
return "/";
|
||||
} else {
|
||||
return user->pw_dir;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void*
|
||||
wmalloc(int size)
|
||||
{
|
||||
void *tmp;
|
||||
|
||||
tmp = malloc(size);
|
||||
if (!tmp) {
|
||||
abortar("out of memory");
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
||||
char*
|
||||
wstrdup(char *str)
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
tmp = wmalloc(strlen(str)+1);
|
||||
|
||||
strcpy(tmp, str);
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
||||
static char*
|
||||
getuserhomedir(char *username)
|
||||
{
|
||||
struct passwd *user;
|
||||
|
||||
user = getpwnam(username);
|
||||
if (!user) {
|
||||
char buffer[100];
|
||||
|
||||
sprintf(buffer,"could not get password entry for user %s", username);
|
||||
perror(buffer);
|
||||
return NULL;
|
||||
}
|
||||
if (!user->pw_dir) {
|
||||
return "/";
|
||||
} else {
|
||||
return user->pw_dir;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
char*
|
||||
wexpandpath(char *path)
|
||||
{
|
||||
char buffer2[PATH_MAX+2];
|
||||
char buffer[PATH_MAX+2];
|
||||
int i;
|
||||
|
||||
memset(buffer, 0, PATH_MAX+2);
|
||||
|
||||
if (*path=='~') {
|
||||
char *home;
|
||||
|
||||
path++;
|
||||
if (*path=='/' || *path==0) {
|
||||
home = wgethomedir();
|
||||
strcat(buffer, home);
|
||||
} else {
|
||||
int j;
|
||||
j = 0;
|
||||
while (*path!=0 && *path!='/') {
|
||||
buffer2[j++] = *path;
|
||||
buffer2[j] = 0;
|
||||
path++;
|
||||
}
|
||||
home = getuserhomedir(buffer2);
|
||||
if (!home)
|
||||
return NULL;
|
||||
strcat(buffer, home);
|
||||
}
|
||||
}
|
||||
|
||||
i = strlen(buffer);
|
||||
|
||||
while (*path!=0) {
|
||||
char *tmp;
|
||||
|
||||
if (*path=='$') {
|
||||
int j = 0;
|
||||
path++;
|
||||
/* expand $(HOME) or $HOME style environment variables */
|
||||
if (*path=='(') {
|
||||
path++;
|
||||
while (*path!=0 && *path!=')') {
|
||||
buffer2[j++] = *(path++);
|
||||
buffer2[j] = 0;
|
||||
}
|
||||
if (*path==')')
|
||||
path++;
|
||||
tmp = getenv(buffer2);
|
||||
if (!tmp) {
|
||||
buffer[i] = 0;
|
||||
strcat(buffer, "$(");
|
||||
strcat(buffer, buffer2);
|
||||
strcat(buffer, ")");
|
||||
i += strlen(buffer2)+3;
|
||||
} else {
|
||||
strcat(buffer, tmp);
|
||||
i += strlen(tmp);
|
||||
}
|
||||
} else {
|
||||
while (*path!=0 && *path!='/') {
|
||||
buffer2[j++] = *(path++);
|
||||
buffer2[j] = 0;
|
||||
}
|
||||
tmp = getenv(buffer2);
|
||||
if (!tmp) {
|
||||
strcat(buffer, "$");
|
||||
strcat(buffer, buffer2);
|
||||
i += strlen(buffer2)+1;
|
||||
} else {
|
||||
strcat(buffer, tmp);
|
||||
i += strlen(tmp);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
buffer[i++] = *path;
|
||||
path++;
|
||||
}
|
||||
}
|
||||
|
||||
return wstrdup(buffer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
char*
|
||||
wfindfileinarray(proplist_t paths, char *file)
|
||||
{
|
||||
int i;
|
||||
char *path;
|
||||
int len, flen;
|
||||
char *fullpath;
|
||||
|
||||
if (!file)
|
||||
return NULL;
|
||||
|
||||
if (*file=='/' || *file=='~' || !paths || !PLIsArray(paths)
|
||||
|| PLGetNumberOfElements(paths)==0) {
|
||||
if (access(file, R_OK)<0) {
|
||||
fullpath = wexpandpath(file);
|
||||
if (!fullpath)
|
||||
return NULL;
|
||||
|
||||
if (access(fullpath, R_OK)<0) {
|
||||
free(fullpath);
|
||||
return NULL;
|
||||
} else {
|
||||
return fullpath;
|
||||
}
|
||||
} else {
|
||||
return wstrdup(file);
|
||||
}
|
||||
}
|
||||
|
||||
flen = strlen(file);
|
||||
for (i=0; i < PLGetNumberOfElements(paths); i++) {
|
||||
proplist_t tmp;
|
||||
char *dir;
|
||||
|
||||
tmp = PLGetArrayElement(paths, i);
|
||||
if (!PLIsString(tmp) || !(dir = PLGetString(tmp)))
|
||||
continue;
|
||||
|
||||
len = strlen(dir);
|
||||
path = wmalloc(len+flen+2);
|
||||
path = memcpy(path, dir, len);
|
||||
path[len]=0;
|
||||
strcat(path, "/");
|
||||
strcat(path, file);
|
||||
/* expand tilde */
|
||||
fullpath = wexpandpath(path);
|
||||
free(path);
|
||||
if (fullpath) {
|
||||
/* check if file is readable */
|
||||
if (access(fullpath, R_OK)==0) {
|
||||
return fullpath;
|
||||
}
|
||||
free(fullpath);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
copyFile(char *dir, char *file)
|
||||
{
|
||||
char buffer[4000];
|
||||
|
||||
sprintf(buffer, "/bin/cp %s %s", file, dir);
|
||||
if (system(buffer)!=0) {
|
||||
printf("%s: could not copy file %s\n", ProgName, file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
findCopyFile(char *dir, char *file)
|
||||
{
|
||||
char *fullPath;
|
||||
|
||||
fullPath = wfindfileinarray(PixmapPath, file);
|
||||
copyFile(dir, fullPath);
|
||||
free(fullPath);
|
||||
}
|
||||
|
||||
|
||||
char*
|
||||
makeThemePack(proplist_t style, char *themeName)
|
||||
{
|
||||
proplist_t keys;
|
||||
proplist_t key;
|
||||
proplist_t value;
|
||||
int i;
|
||||
char *themeDir;
|
||||
|
||||
themeDir = wmalloc(strlen(themeName)+50);
|
||||
sprintf(themeDir, "%s.themed", themeName);
|
||||
ThemePath = themeDir;
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
tmp = wmalloc(strlen(themeDir)+20);
|
||||
sprintf(tmp, "/bin/mkdir %s", themeDir);
|
||||
if (system(tmp)!=0) {
|
||||
printf("%s: could not create directory %s\n", ProgName, themeDir);
|
||||
exit(1);
|
||||
}
|
||||
free(tmp);
|
||||
}
|
||||
keys = PLGetAllDictionaryKeys(style);
|
||||
|
||||
for (i = 0; i < PLGetNumberOfElements(keys); i++) {
|
||||
key = PLGetArrayElement(keys, i);
|
||||
|
||||
value = PLGetDictionaryEntry(style, key);
|
||||
if (value && PLIsArray(value) && PLGetNumberOfElements(value) > 2) {
|
||||
proplist_t type;
|
||||
char *t;
|
||||
|
||||
type = PLGetArrayElement(value, 0);
|
||||
t = PLGetString(type);
|
||||
if (t && (strcasecmp(t, "tpixmap")==0
|
||||
|| strcasecmp(t, "spixmap")==0
|
||||
|| strcasecmp(t, "cpixmap")==0
|
||||
|| strcasecmp(t, "tdgradient")==0
|
||||
|| strcasecmp(t, "tvgradient")==0
|
||||
|| strcasecmp(t, "thgradient")==0)) {
|
||||
proplist_t file;
|
||||
char *p;
|
||||
char *newPath;
|
||||
|
||||
file = PLGetArrayElement(value, 1);
|
||||
|
||||
p = strrchr(PLGetString(file), '/');
|
||||
if (p) {
|
||||
copyFile(themeDir, PLGetString(file));
|
||||
|
||||
newPath = wstrdup(p+1);
|
||||
PLRemoveArrayElement(value, 1);
|
||||
PLInsertArrayElement(value, PLMakeString(newPath), 1);
|
||||
free(newPath);
|
||||
} else {
|
||||
findCopyFile(themeDir, PLGetString(file));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return themeDir;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
proplist_t prop, style, key, val;
|
||||
char *path;
|
||||
int i, theme_too=0;
|
||||
int make_pack = 0;
|
||||
char *style_file = NULL;
|
||||
|
||||
|
||||
@@ -124,8 +484,11 @@ main(int argc, char **argv)
|
||||
|
||||
if (argc>1) {
|
||||
for (i=1; i<argc; i++) {
|
||||
if (strcmp(argv[i], "-t")==0) {
|
||||
theme_too++;;
|
||||
if (strcmp(argv[i], "-p")==0) {
|
||||
make_pack = 1;
|
||||
theme_too = 1;
|
||||
} else if (strcmp(argv[i], "-t")==0) {
|
||||
theme_too++;
|
||||
} else if (argv[i][0] != '-') {
|
||||
style_file = argv[i];
|
||||
} else {
|
||||
@@ -134,6 +497,13 @@ main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (make_pack && !style_file) {
|
||||
printf("%s: you must supply a name for the theme pack\n", ProgName);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
PLSetStringCmpHook(StringCompareHook);
|
||||
|
||||
path = defaultsPathForDomain("WindowMaker");
|
||||
|
||||
@@ -155,6 +525,9 @@ main(int argc, char **argv)
|
||||
PLInsertDictionaryEntry(style, key, val);
|
||||
}
|
||||
|
||||
val = PLGetDictionaryEntry(prop, PLMakeString("PixmapPath"));
|
||||
PixmapPath = PLGetString(val);
|
||||
|
||||
if (theme_too) {
|
||||
for (i=0; theme_options[i]!=NULL; i++) {
|
||||
key = PLMakeString(theme_options[i]);
|
||||
@@ -162,15 +535,28 @@ main(int argc, char **argv)
|
||||
val = PLGetDictionaryEntry(prop, key);
|
||||
if (val)
|
||||
PLInsertDictionaryEntry(style, key, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (style_file) {
|
||||
val = PLMakeString(style_file);
|
||||
PLSetFilename(style, val);
|
||||
if (make_pack) {
|
||||
char *path;
|
||||
char *themeDir;
|
||||
|
||||
makeThemePack(style, style_file);
|
||||
|
||||
path = wmalloc(strlen(ThemePath)+32);
|
||||
strcpy(path, ThemePath);
|
||||
strcat(path, "/style");
|
||||
PLSetFilename(style, PLMakeString(path));
|
||||
PLSave(style, NO);
|
||||
} else {
|
||||
puts(PLGetDescriptionIndent(style, 0));
|
||||
if (style_file) {
|
||||
val = PLMakeString(style_file);
|
||||
PLSetFilename(style, val);
|
||||
PLSave(style, NO);
|
||||
} else {
|
||||
puts(PLGetDescriptionIndent(style, 0));
|
||||
}
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
|
||||
252
util/setstyle.c
252
util/setstyle.c
@@ -24,12 +24,28 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <proplist.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "../src/wconfig.h"
|
||||
|
||||
|
||||
char *FontOptions[] = {
|
||||
"IconTitleFont",
|
||||
"ClipTitleFont",
|
||||
"DisplayFont",
|
||||
"MenuTextFont",
|
||||
"MenuTitleFont",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
|
||||
char *ProgName;
|
||||
int ignoreFonts = 0;
|
||||
|
||||
|
||||
char*
|
||||
defaultsPathForDomain(char *domain)
|
||||
@@ -64,21 +80,196 @@ defaultsPathForDomain(char *domain)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
hackPaths(proplist_t style, char *prefix)
|
||||
{
|
||||
proplist_t keys;
|
||||
proplist_t key;
|
||||
proplist_t value;
|
||||
int i;
|
||||
|
||||
|
||||
keys = PLGetAllDictionaryKeys(style);
|
||||
|
||||
for (i = 0; i < PLGetNumberOfElements(keys); i++) {
|
||||
key = PLGetArrayElement(keys, i);
|
||||
|
||||
value = PLGetDictionaryEntry(style, key);
|
||||
if (value && PLIsArray(value) && PLGetNumberOfElements(value) > 2) {
|
||||
proplist_t type;
|
||||
char *t;
|
||||
|
||||
type = PLGetArrayElement(value, 0);
|
||||
t = PLGetString(type);
|
||||
if (t && (strcasecmp(t, "tpixmap")==0
|
||||
|| strcasecmp(t, "spixmap")==0
|
||||
|| strcasecmp(t, "cpixmap")==0
|
||||
|| strcasecmp(t, "tvgradient")==0
|
||||
|| strcasecmp(t, "thgradient")==0
|
||||
|| strcasecmp(t, "tdgradient")==0)) {
|
||||
proplist_t file;
|
||||
char buffer[4018];
|
||||
|
||||
file = PLGetArrayElement(value, 1);
|
||||
sprintf(buffer, "%s/%s", prefix, PLGetString(file));
|
||||
PLRemoveArrayElement(value, 1);
|
||||
PLInsertArrayElement(value, PLMakeString(buffer), 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* since some of the options introduce incompatibilities, we will need
|
||||
* to do a kluge here or the themes ppl will get real annoying.
|
||||
* So, treat for the absence of the following options:
|
||||
* IconTitleColor
|
||||
* IconTitleBack
|
||||
*/
|
||||
void
|
||||
hackStyle(proplist_t style)
|
||||
{
|
||||
proplist_t keys;
|
||||
proplist_t tmp;
|
||||
int i;
|
||||
int foundIconTitle = 0;
|
||||
|
||||
keys = PLGetAllDictionaryKeys(style);
|
||||
|
||||
for (i = 0; i < PLGetNumberOfElements(keys); i++) {
|
||||
char *str;
|
||||
|
||||
tmp = PLGetArrayElement(keys, i);
|
||||
str = PLGetString(tmp);
|
||||
if (str) {
|
||||
int j, found;
|
||||
|
||||
for (j = 0, found = 0; FontOptions[j]!=NULL; j++) {
|
||||
if (strcasecmp(str, FontOptions[j])==0) {
|
||||
PLRemoveDictionaryEntry(style, tmp);
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found)
|
||||
continue;
|
||||
|
||||
if (strcasecmp(str, "IconTitleColor")==0
|
||||
|| strcasecmp(str, "IconTitleBack")==0) {
|
||||
foundIconTitle = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundIconTitle) {
|
||||
/* set the default values */
|
||||
tmp = PLGetDictionaryEntry(style, PLMakeString("FTitleColor"));
|
||||
if (tmp) {
|
||||
PLInsertDictionaryEntry(style, PLMakeString("IconTitleColor"),
|
||||
tmp);
|
||||
}
|
||||
|
||||
tmp = PLGetDictionaryEntry(style, PLMakeString("FTitleBack"));
|
||||
if (tmp) {
|
||||
proplist_t type;
|
||||
proplist_t value;
|
||||
char *str;
|
||||
|
||||
type = PLGetArrayElement(tmp, 0);
|
||||
if (!type)
|
||||
return;
|
||||
|
||||
value = NULL;
|
||||
|
||||
str = PLGetString(type);
|
||||
if (strcasecmp(str, "solid")==0) {
|
||||
value = PLGetArrayElement(tmp, 1);
|
||||
} else if (strcasecmp(str, "dgradient")==0
|
||||
|| strcasecmp(str, "hgradient")==0
|
||||
|| strcasecmp(str, "vgradient")==0) {
|
||||
proplist_t c1, c2;
|
||||
int r1, g1, b1, r2, g2, b2;
|
||||
char buffer[32];
|
||||
|
||||
c1 = PLGetArrayElement(tmp, 1);
|
||||
c2 = PLGetArrayElement(tmp, 2);
|
||||
if (sscanf(PLGetString(c1), "#%2x%2x%2x", &r1, &g1, &b1)==3
|
||||
&& sscanf(PLGetString(c2), "#%2x%2x%2x", &r2, &g2, &b2)==3) {
|
||||
sprintf(buffer, "#%2x%2x%2x", (r1+r2)/2, (g1+g2)/2,
|
||||
(b1+b2)/2);
|
||||
value = PLMakeString(buffer);
|
||||
} else {
|
||||
value = c1;
|
||||
}
|
||||
} else if (strcasecmp(str, "mdgradient")==0
|
||||
|| strcasecmp(str, "mhgradient")==0
|
||||
|| strcasecmp(str, "mvgradient")==0) {
|
||||
|
||||
value = PLGetArrayElement(tmp, 1);
|
||||
|
||||
} else if (strcasecmp(str, "tpixmap")==0
|
||||
|| strcasecmp(str, "cpixmap")==0
|
||||
|| strcasecmp(str, "spixmap")==0) {
|
||||
|
||||
value = PLGetArrayElement(tmp, 2);
|
||||
}
|
||||
|
||||
if (value) {
|
||||
PLInsertDictionaryEntry(style, PLMakeString("IconTitleBack"),
|
||||
value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
StringCompareHook(proplist_t pl1, proplist_t pl2)
|
||||
{
|
||||
char *str1, *str2;
|
||||
|
||||
str1 = PLGetString(pl1);
|
||||
str2 = PLGetString(pl2);
|
||||
|
||||
if (strcasecmp(str1, str2)==0)
|
||||
return YES;
|
||||
else
|
||||
return NO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
proplist_t prop, style;
|
||||
char *path;
|
||||
struct stat statbuf;
|
||||
|
||||
ProgName = argv[0];
|
||||
|
||||
if (argc!=2) {
|
||||
printf("Syntax:\n%s <style file>\n", argv[0]);
|
||||
if (argc<2) {
|
||||
printf("Syntax:\n%s [-nofonts] <style file>\n", argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (argc == 3) {
|
||||
if (strcmp(argv[1], "-nofonts")==0) {
|
||||
ignoreFonts = 1;
|
||||
} else {
|
||||
printf("Syntax:\n%s <style file> [-nofonts]\n", argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
PLSetStringCmpHook(StringCompareHook);
|
||||
|
||||
path = defaultsPathForDomain("WindowMaker");
|
||||
|
||||
|
||||
prop = PLGetProplistWithPath(path);
|
||||
if (!prop) {
|
||||
printf("%s:could not load WindowMaker configuration file \"%s\".\n",
|
||||
@@ -86,12 +277,61 @@ main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
style = PLGetProplistWithPath(argv[1]);
|
||||
if (!style) {
|
||||
printf("%s:could not load style file \"%s\".\n", ProgName, argv[1]);
|
||||
if (stat(argv[argc-1], &statbuf) < 0) {
|
||||
perror(argv[argc-1]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (S_ISDIR(statbuf.st_mode)) {
|
||||
char buffer[4018];
|
||||
char *prefix;
|
||||
|
||||
if (*argv[argc-1] != '/') {
|
||||
if (!getcwd(buffer, 4000)) {
|
||||
printf("%s: complete path for %s is too long\n", ProgName,
|
||||
argv[argc-1]);
|
||||
exit(1);
|
||||
}
|
||||
if (strlen(buffer) + strlen(argv[argc-1]) > 4000) {
|
||||
printf("%s: complete path for %s is too long\n", ProgName,
|
||||
argv[argc-1]);
|
||||
exit(1);
|
||||
}
|
||||
strcat(buffer, "/");
|
||||
} else {
|
||||
buffer[0] = 0;
|
||||
}
|
||||
strcat(buffer, argv[argc-1]);
|
||||
|
||||
prefix = malloc(strlen(buffer)+10);
|
||||
if (!prefix) {
|
||||
printf("%s: out of memory\n", ProgName);
|
||||
exit(1);
|
||||
}
|
||||
strcpy(prefix, buffer);
|
||||
|
||||
strcat(buffer, "/style");
|
||||
|
||||
style = PLGetProplistWithPath(buffer);
|
||||
if (!style) {
|
||||
printf("%s:could not load style file \"%s\".\n", ProgName,
|
||||
buffer);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
hackPaths(style, prefix);
|
||||
free(prefix);
|
||||
} else {
|
||||
style = PLGetProplistWithPath(argv[argc-1]);
|
||||
if (!style) {
|
||||
printf("%s:could not load style file \"%s\".\n", ProgName,
|
||||
argv[argc-1]);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
hackStyle(style);
|
||||
|
||||
PLMergeDictionaries(prop, style);
|
||||
|
||||
PLSave(prop, YES);
|
||||
|
||||
@@ -145,19 +145,16 @@ fi
|
||||
if [ ! -d "$GSDIR/Library/WindowMaker/Styles" ]; then
|
||||
echo "Creating style library $GSDIR/Library/WindowMaker/Styles"
|
||||
make_dir $GSDIR/Library/WindowMaker/Styles
|
||||
else
|
||||
echo "Styles directory already exists. Skipping..."
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -d "$GSDIR/Library/WindowMaker/Themes" ]; then
|
||||
echo "Creating theme library $GSDIR/Library/WindowMaker/Themes"
|
||||
make_dir $GSDIR/Library/WindowMaker/Themes
|
||||
else
|
||||
echo "Themes directory already exists. Skipping..."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ ! -d "$GSDIR/Library/WindowMaker/Backgrounds" ]; then
|
||||
echo "Creating bg image library $GSDIR/Library/WindowMaker/Backgrounds"
|
||||
make_dir $GSDIR/Library/WindowMaker/Backgrounds
|
||||
@@ -198,9 +195,7 @@ else
|
||||
fi
|
||||
|
||||
|
||||
echo "Copying default menu configuration files..."
|
||||
FILES=`(cd $GLOBALDIR;ls -1 menu* plmenu wmmacros)`
|
||||
all=""
|
||||
if test -z #LITE# ; then
|
||||
for i in $FILES; do
|
||||
if [ -f "$GSDIR/Library/WindowMaker/$i" ]; then
|
||||
echo "The file \"$i\" already exists in $GSDIR/Library/WindowMaker"
|
||||
@@ -218,7 +213,7 @@ for i in $FILES; do
|
||||
copy $GLOBALDIR/$i $GSDIR/Library/WindowMaker/$i
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
cp $GLOBALDIR/README $GSDIR/Library/WindowMaker
|
||||
cp -i $GLOBALDIR/autostart.sh $GSDIR/Library/WindowMaker/autostart
|
||||
@@ -234,14 +229,22 @@ show_end_message() {
|
||||
echo
|
||||
echo "Installation Finished"
|
||||
echo
|
||||
echo "There are menus in 2 different file formats. The plain text format and"
|
||||
echo "the property list format. The plain text format is more flexible, but"
|
||||
echo "the menu in the property list format can be edited graphically. The"
|
||||
echo "menu that will be used by default is the plain text. Read"
|
||||
echo "$GSDIR/Library/WindowMaker/README for information on how to change it."
|
||||
|
||||
if test -z #LITE# ; then
|
||||
echo "There are menus in 2 different file formats. The plain text format and"
|
||||
echo "the property list format. The plain text format is more flexible, but"
|
||||
echo "the menu in the property list format can be edited graphically. The"
|
||||
echo "menu that will be used by default is the plain text. Read"
|
||||
echo "$GSDIR/Library/WindowMaker/README for information on how to change it."
|
||||
else
|
||||
echo "Your copy of Window Maker is configured especially for KDE."
|
||||
echo "Window Maker application menus are not available."
|
||||
fi
|
||||
}
|
||||
|
||||
if test -z `grep wmaker ~/.xinitrc`; then
|
||||
show_end_message
|
||||
exit 0
|
||||
fi
|
||||
|
||||
trap "show_end_message;exit" 2
|
||||
|
||||
|
||||
1450
util/wmsetbg.c
1450
util/wmsetbg.c
File diff suppressed because it is too large
Load Diff
@@ -15,18 +15,20 @@
|
||||
# Nikolaos Papagrigoriou <papanikos@usa.net>
|
||||
# Quote bug fix info from:
|
||||
# Luke Kendall <luke@research.canon.com.au>
|
||||
# Bug fix info for Korean font section from:
|
||||
# CHOI Junho <junker@jazz.snu.ac.kr>
|
||||
|
||||
VERSION="Version 0.4 1998/11/10"
|
||||
VERSION="Version 0.5 1998/12/07"
|
||||
|
||||
WDWRITE="wdwrite"
|
||||
|
||||
PROGRAM=`basename $0`
|
||||
|
||||
if test $# != 1; then
|
||||
echo
|
||||
echo "$0 - font/language setting utility for Window Maker"
|
||||
echo "$PROGRAM - font/language setting utility for Window Maker"
|
||||
echo
|
||||
echo "Usage: $VERSION"
|
||||
echo " $0 <option> "
|
||||
echo " $PROGRAM <option> "
|
||||
cat <<EOF
|
||||
-----------------------------------------------------------------------
|
||||
[Option] [Fontset] [Font Information]
|
||||
@@ -34,11 +36,11 @@ if test $# != 1; then
|
||||
latin1 helvetica(iso8859-1)
|
||||
latin2 helvetica(iso8859-2) See *Note1.
|
||||
greek helvetica(iso8859-7) See *Note1.
|
||||
japanese helvetica/-*-fixed(jisx02XX) Included in X11R6/XFree("fnon" pkg)
|
||||
japanese helvetica/-*-fixed(jisx02XX) Included in X11R6/XFree86("fnon" pkg)
|
||||
korean helvetica/-*-kodig(ksc5601) See *Note1.
|
||||
korean2 helvetica/daewoo(ksc5601) Included in X11R6/XFree("fnon" pkg)
|
||||
russian helvetica(koi8-r) Included in X11R6/XFree("fcyr" pkg)
|
||||
turkish unknown See *Note2
|
||||
korean2 helvetica/daewoo(ksc5601) Included in X11R6/XFree86("fnon" pkg)
|
||||
russian helvetica(koi8-r) Included in X11R6/XFree86("fcyr" pkg)
|
||||
turkish unknown See *Note2.
|
||||
-----------------------------------------------------------------------
|
||||
Latin1 Languages: Danish/Dutch/English/Finnish/French/Galician/German/
|
||||
Italian/Norwegian/Portuguese/Spanish/Swedish/...
|
||||
@@ -118,14 +120,14 @@ case $1 in
|
||||
DisplayFont=\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*,-*-*-medium-r-normal-*-14-*,-*-*-medium-r-normal-*-*-*\"
|
||||
;;
|
||||
korean)
|
||||
SystemFont=\"-*-helvetica-medium-r-normal-*-%d-*-*-*-*-*-*-*,*-kodig-medium-r-normal--*-%d-*-*-*-*-*-*,*-*-medium-r-normal--*-%d-*-*-*-*-*-*,*-*-*-*-*--%d-*-*-*-*-*-*-*,*\"
|
||||
BoldSystemFont=\"-*-helvetica-bold-r-normal-*-%d-*-*-*-*-*-*-*,-*-kodig-bold-r-normal--*-%d-*-*-*-*-*-*,*-*-bold-r-normal--*-%d-*-*-*-*-*-*,*-*-*-*-*--%d-*-*-*-*-*-*-*,*\"
|
||||
WindowTitleFont=\"7x14,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,-*-*-medium-r-normal--14-*-*-*-*-*-*-*,-*-*-medium-r-normal--*-*-*-*-*-*-*-*,-*-*-*-r-normal--*-*-*-*-*-*-*-*,-*-*-*-*-*--*-*-*-*-*-*-*-*,*\"
|
||||
MenuTitleFont=\"7x14,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,-*-*-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
MenuTextFont=\"7x14,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
IconTitleFont=\"7x14,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
ClipTitleFont=\"7x14,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
DisplayFont=\"7x14,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
SystemFont=\"-*-helvetica-medium-r-normal-*-%d-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--%d-*-*-*-*-*-*-*,*-*-medium-r-normal-*-%d-*-*-*-*-*-*-*,*-*-*-*-*--%d-*-*-*-*-*-*-*,*\"
|
||||
BoldSystemFont=\"-*-helvetica-bold-r-normal-*-%d-*-*-*-*-*-*-*,-*-kodig-bold-r-normal--%d-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--%d-*-*-*-*-*-*-*,*-*-bold-r-normal-*-%d-*-*-*-*-*-*-*,*-*-*-*-*--%d-*-*-*-*-*-*-*,*\"
|
||||
WindowTitleFont=\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--12-*-*-*-*-*-*-*,-*-*-medium-r-normal--12-*-*-*-*-*-*-*,-*-*-medium-r-normal--*-*-*-*-*-*-*-*,-*-*-*-r-normal--*-*-*-*-*-*-*-*,-*-*-*-*-*--*-*-*-*-*-*-*-*,*\"
|
||||
MenuTitleFont=\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,-*-*-medium-r-normal--12-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
MenuTextFont=\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--14-*-*-*-*-*-*-*,*-*-medium-r-normal--12-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
IconTitleFont=\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--10-*-*-*-*-*-*-*,*-*-medium-r-normal--10-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
ClipTitleFont=\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--10-*-*-*-*-*-*-*,*-*-medium-r-normal--10-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
DisplayFont=\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*,-*-kodig-medium-r-normal--12-*-*-*-*-*-*-*,*-*-medium-r-normal--12-*-*-*-*-*-*-*,*-*-medium-r-normal--*-*-*-*-*-*-*-*,*-*-*-r-normal--*-*-*-*-*-*-*-*,*\"
|
||||
;;
|
||||
korean2)
|
||||
SystemFont=\"-*-helvetica-medium-r-normal-*-%d-*-*-*-*-*-*-*,-*-medium-r-normal-*-%d-*,-*-medium-r-normal-*\"
|
||||
|
||||
Reference in New Issue
Block a user