1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-02-07 08:45:48 +01:00

0.51.1 pre snapshot. Be careful, it may be buggy. It fixes some bugs though.

This commit is contained in:
dan
1999-02-17 11:06:40 +00:00
parent 931a37b124
commit e7495baff7
189 changed files with 16952 additions and 9682 deletions

View File

@@ -69,6 +69,8 @@ showData(_Panel *panel)
char buffer[32];
str = GetStringForKey("FocusMode");
if (!str)
str = "manual";
if (strcasecmp(str, "manual")==0 || strcasecmp(str, "clicktofocus")==0)
WMSetPopUpButtonSelectedItem(panel->kfocP, 0);
else if (strcasecmp(str, "auto")==0 || strcasecmp(str, "focusfollowsmouse")==0)
@@ -84,12 +86,14 @@ showData(_Panel *panel)
/**/
str = GetStringForKey("ColormapMode");
if (!str)
str = "auto";
if (strcasecmp(str, "manual")==0 || strcasecmp(str, "clicktofocus")==0) {
WMPerformButtonClick(panel->manB);
} else if (strcasecmp(str, "auto")==0 || strcasecmp(str, "focusfollowsmouse")==0) {
WMPerformButtonClick(panel->autB);
} else {
wwarning(_("bad option value %s for option ColormapMode. Using default Manual"),
wwarning(_("bad option value %s for option ColormapMode. Using default Auto"),
str);
WMPerformButtonClick(panel->manB);
}

View File

@@ -145,6 +145,8 @@ showData(_Panel *panel)
WMSetPopUpButtonSelectedItem(panel->sizeP, i);
str = GetStringForKey("IconificationStyle");
if (!str)
str = "zoom";
if (strcasecmp(str, "none")==0)
WMPerformButtonClick(panel->animB[3]);
else if (strcasecmp(str, "twist")==0)

View File

@@ -1,7 +1,5 @@
SUBDIRS = xpm tiff po
nlsdir = @NLSDIR@
AUTOMAKE_OPTIONS = no-dependencies
wpexecbindir = @wprefsdir@
@@ -28,6 +26,7 @@ WPrefs_SOURCES = \
Menu.c \
MenuPreferences.c \
MouseSettings.c \
NoMenuAlert.c \
Paths.c \
Preferences.c \
Text.c \
@@ -39,26 +38,25 @@ WPrefs_SOURCES = \
Workspace.c \
double.c \
double.h \
editmenu.c \
editmenu.h \
MenuGuru.c \
xmodifier.c
CPPFLAGS = \
@CPPFLAGS@
CPPFLAGS = @CPPFLAGS@ -DLOCALEDIR=\"$(NLSDIR)\"
INCLUDES = \
-I$(top_srcdir)/wrlib \
-I$(top_srcdir)/WINGs \
@XCFLAGS@
-I$(top_srcdir)/WINGs @HEADER_SEARCH_PATH@
WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
WPrefs_LDADD = \
$(top_builddir)/WINGs/libWINGs.a\
$(top_builddir)/wrlib/libwraster.la \
@LIBRARY_SEARCH_PATH@ \
@LIBPL@ \
@GFXLFLAGS@ \
@XLFLAGS@ \
@GFXLIBS@ \
@XLIBS@ \
@X_EXTRA_LIBS@ \

View File

@@ -62,13 +62,13 @@ host_triplet = @host@
CC = @CC@
CPP_PATH = @CPP_PATH@
DFLAGS = @DFLAGS@
GFXFLAGS = @GFXFLAGS@
GFXLFLAGS = @GFXLFLAGS@
GFXLIBS = @GFXLIBS@
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
ICONEXT = @ICONEXT@
INTLIBS = @INTLIBS@
LD = @LD@
LIBPL = @LIBPL@
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
LIBTOOL = @LIBTOOL@
LITE = @LITE@
LN_S = @LN_S@
@@ -89,8 +89,6 @@ wprefsdir = @wprefsdir@
SUBDIRS = xpm tiff po
nlsdir = @NLSDIR@
AUTOMAKE_OPTIONS = no-dependencies
wpexecbindir = @wprefsdir@
@@ -103,18 +101,17 @@ wpdata_DATA = WPrefs.tiff WPrefs.xpm
EXTRA_DIST = $(wpdata_DATA) TexturePanel.icons
WPrefs_SOURCES = main.c WPrefs.c WPrefs.h Appearance.c Configurations.c Expert.c Focus.c Icons.c KeyboardSettings.c KeyboardShortcuts.c Menu.c MenuPreferences.c MouseSettings.c Paths.c Preferences.c Text.c TextureAndColor.c TexturePanel.c TexturePanel.h Themes.c WindowHandling.c Workspace.c double.c double.h MenuGuru.c xmodifier.c
WPrefs_SOURCES = main.c WPrefs.c WPrefs.h Appearance.c Configurations.c Expert.c Focus.c Icons.c KeyboardSettings.c KeyboardShortcuts.c Menu.c MenuPreferences.c MouseSettings.c NoMenuAlert.c Paths.c Preferences.c Text.c TextureAndColor.c TexturePanel.c TexturePanel.h Themes.c WindowHandling.c Workspace.c double.c double.h editmenu.c editmenu.h MenuGuru.c xmodifier.c
CPPFLAGS = @CPPFLAGS@
CPPFLAGS = @CPPFLAGS@ -DLOCALEDIR=\"$(NLSDIR)\"
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs @XCFLAGS@
INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs @HEADER_SEARCH_PATH@
WPrefs_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a
WPrefs_LDADD = $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la @LIBPL@ @GFXLFLAGS@ @XLFLAGS@ @GFXLIBS@ @XLIBS@ @X_EXTRA_LIBS@ @INTLIBS@ -lm
WPrefs_LDADD = $(top_builddir)/WINGs/libWINGs.a $(top_builddir)/wrlib/libwraster.la @LIBRARY_SEARCH_PATH@ @LIBPL@ @GFXLIBS@ @XLIBS@ @X_EXTRA_LIBS@ @INTLIBS@ -lm
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../src/config.h
@@ -130,9 +127,9 @@ X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
WPrefs_OBJECTS = main.o WPrefs.o Appearance.o Configurations.o Expert.o \
Focus.o Icons.o KeyboardSettings.o KeyboardShortcuts.o Menu.o \
MenuPreferences.o MouseSettings.o Paths.o Preferences.o Text.o \
TextureAndColor.o TexturePanel.o Themes.o WindowHandling.o Workspace.o \
double.o MenuGuru.o xmodifier.o
MenuPreferences.o MouseSettings.o NoMenuAlert.o Paths.o Preferences.o \
Text.o TextureAndColor.o TexturePanel.o Themes.o WindowHandling.o \
Workspace.o double.o editmenu.o MenuGuru.o xmodifier.o
WPrefs_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)

View File

@@ -83,7 +83,7 @@ typedef struct _Panel {
extern char *OpenMenuGuru(WMWindow *mainWindow);
extern Bool AskMenuCopy(WMWindow *wwin);
/* must match the indexes of the commands popup */
@@ -631,16 +631,21 @@ fillBrowserColumn(WMBrowser *bPtr, int column)
if (column > 0) {
menuList = getItemOfSelectedEntry(panel->browser);
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
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));
}
WMHangData(WMGetBrowserListInColumn(bPtr, column), menuList);
for (i=1; i<PLGetNumberOfElements(menuList); i++) {
menuItem = PLGetArrayElement(menuList, i);
WMInsertBrowserItem(bPtr, column, -1, getItemTitle(menuItem),
@@ -1298,19 +1303,24 @@ getDefaultMenu(_Panel *panel, int *hasWSMenu)
wwarning("%s:could not read property list menu", menuPath);
}
if (!menu) {
char buffer[512];
sprintf(buffer, _("Could not open default menu from '%s'"),
menuPath);
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
_("Error"), _("Could not copy default plmenu file "
"from ~/GNUstep/Library/WindowMaker"),
_("OK"), NULL, NULL);
return NULL;
_("Error"), buffer, _("OK"), NULL, NULL);
}
}
free(gspath);
free(menuPath);
pmenu = preProcessMenu(menu, hasWSMenu);
PLRelease(menu);
if (menu) {
pmenu = preProcessMenu(menu, hasWSMenu);
PLRelease(menu);
} else {
pmenu = NULL;
}
return pmenu;
}
@@ -1322,8 +1332,7 @@ showData(_Panel *panel)
char *gspath;
char *menuPath;
proplist_t menu, pmenu, plPath;
char buffer[512];
int hasWSMenu=0;
int hasWSMenu = 0;
gspath = wusergnusteppath();
@@ -1336,22 +1345,13 @@ showData(_Panel *panel)
pmenu = NULL;
if (!menu || !PLIsArray(menu)) {
sprintf(buffer, _("The format of the menu in ~/G/D/WMRootMenu is "
"not recognized by WPrefs. It might be in a format different "
"than the one supported by WPrefs or contain a syntax error. "
"Do you want to continue using the current menu to edit "
"it by hand later or replace it with a default menu in the new "
"format?"));
if (WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
_("Warning"), buffer, _("Keep current menu"),
_("Install default menu"), NULL)!=WAPRDefault) {
if (AskMenuCopy(panel->win)) {
panel->dontSave = 0;
pmenu = getDefaultMenu(panel, &hasWSMenu);
} else {
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
_("Warning"), _("Any changes made in this section will not be saved"),
_("OK"), NULL, NULL);
WMSetPopUpButtonEnabled(panel->cmd1P, False);
WMSetPopUpButtonEnabled(panel->cmd2P, False);
panel->dontSave = 1;
}
if (!pmenu) {

View File

@@ -253,6 +253,8 @@ showData(_Panel *panel)
Display *dpy = WMScreenDisplay(WMWidgetScreen(panel->win));
str = GetStringForKey("SelectWindowsMouseButton");
if (!str)
str = "left";
i = getbutton(str);
if (i==-1) {
a = 0;
@@ -264,6 +266,8 @@ showData(_Panel *panel)
}
str = GetStringForKey("WindowListMouseButton");
if (!str)
str = "middle";
i = getbutton(str);
if (i==-1) {
b = 0;
@@ -275,6 +279,8 @@ showData(_Panel *panel)
}
str = GetStringForKey("ApplicationMenuMouseButton");
if (!str)
str = "right";
i = getbutton(str);
if (i==-1) {
c = 0;
@@ -319,9 +325,10 @@ showData(_Panel *panel)
/**/
str = GetStringForKey("ModifierKey");
if (!str)
str = "mod1";
a = ModifierFromKey(dpy, str);
if (a != -1) {
str = modifierNames[a];
@@ -334,7 +341,7 @@ showData(_Panel *panel)
}
}
}
if (a < 1) {
sscanf(WMGetPopUpButtonItem(panel->grabP, 0), "%s", buffer);
WMSetPopUpButtonSelectedItem(panel->grabP, 0);
@@ -528,8 +535,8 @@ createPanel(Panel *p)
free(path);
}
buf1 = wmalloc(strlen(SPEED_IMAGE)+1);
buf2 = wmalloc(strlen(SPEED_IMAGE_S)+1);
buf1 = wmalloc(strlen(SPEED_IMAGE)+2);
buf2 = wmalloc(strlen(SPEED_IMAGE_S)+2);
for (i = 0; i < 5; i++) {
panel->speedB[i] = WMCreateCustomButton(panel->speedF,
@@ -601,8 +608,8 @@ createPanel(Panel *p)
WMMoveWidget(panel->ddelaF, 15, 125);
WMSetFrameTitle(panel->ddelaF, _("Double-Click Delay"));
buf1 = wmalloc(strlen(DELAY_ICON)+1);
buf2 = wmalloc(strlen(DELAY_ICON_S)+1);
buf1 = wmalloc(strlen(DELAY_ICON)+2);
buf2 = wmalloc(strlen(DELAY_ICON_S)+2);
for (i = 0; i < 5; i++) {
panel->ddelaB[i] = WMCreateCustomButton(panel->ddelaF,
@@ -855,18 +862,22 @@ storeData(_Panel *panel)
int i;
char *tmp, *p;
static char *button[3] = {"left", "middle", "right"};
WMUserDefaults *udb = WMGetStandardUserDefaults();
if (!WMGetUDBoolForKey(udb, "NoXSetStuff")) {
tmp = WMGetTextFieldText(panel->threT);
if (strlen(tmp)==0) {
free(tmp);
tmp = wstrdup("4");
}
sprintf(buffer, XSET" m %i/%i %s\n", (int)(panel->acceleration*10),
10, tmp);
storeCommandInScript(XSET" m", buffer);
tmp = WMGetTextFieldText(panel->threT);
if (strlen(tmp)==0) {
free(tmp);
tmp = wstrdup("0");
}
sprintf(buffer, XSET" m %i/%i %s\n", (int)(panel->acceleration*10),10, tmp);
storeCommandInScript(XSET" m", buffer);
free(tmp);
for (i=0; i<5; i++) {
if (WMGetButtonSelected(panel->ddelaB[i]))
break;
@@ -874,7 +885,7 @@ storeData(_Panel *panel)
SetIntegerForKey(DELAY(i), "DoubleClickTime");
SetBoolForKey(WMGetButtonSelected(panel->disaB), "DisableWSMouseActions");
for (i=0; i<3; i++) {
if (WMGetButtonSelected(panel->amb[i]))
break;

127
WPrefs.app/NoMenuAlert.c Normal file
View File

@@ -0,0 +1,127 @@
/* NoMenuAlert.c - warn user that menu can't be edited with WPrefs
*
* WPrefs - Window Maker Preferences Program
*
* Copyright (c) 1999 Alfredo K. Kojima
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
#include "WPrefs.h"
typedef struct NoMenuPanel {
WMWindow *wwin;
WMLabel *text;
WMButton *copyBtn;
WMButton *keepBtn;
int finished;
int copy;
} NoMenuPanel;
#define MESSAGE_TEXT \
" The menu that is being used now could not be opened. "\
"This either means that there is a syntax error in it or that "\
"the menu is in a format not supported by WPrefs (WPrefs only "\
"supports property list menus).\n"\
" If you want to change the current menu, please read "\
"the '%s' file, press 'Keep Current Menu' and edit it with a "\
"text editor.\n"\
" If you want to use this editor, press 'Copy Default Menu'. "\
"It will copy the default menu and will instruct Window Maker "\
"to use it instead of the current one.\n"\
" If you want more flexibility, keep using the current one "\
"as it allows you to use C preprocessor (cpp) macros, while being "\
"easy to edit."
static void
closeCallback(WMWidget *self, void *data)
{
NoMenuPanel *panel = (NoMenuPanel*)data;
panel->finished = True;
}
static void
buttonCallback(WMWidget *self, void *data)
{
NoMenuPanel *panel = (NoMenuPanel*)data;
panel->finished = True;
if (self == panel->keepBtn)
panel->copy = False;
else
panel->copy = True;
}
Bool
AskMenuCopy(WMWindow *wwin)
{
NoMenuPanel panel;
char buffer[1024];
panel.wwin = WMCreatePanelForWindow(wwin, "noMenuAlert");
WMResizeWidget(panel.wwin, 430, 260);
WMSetWindowTitle(panel.wwin, "Warning");
WMSetWindowCloseAction(panel.wwin, closeCallback, &panel);
panel.text = WMCreateLabel(panel.wwin);
WMResizeWidget(panel.text, 370, 200);
WMMoveWidget(panel.text, 30, 20);
sprintf(buffer, _(MESSAGE_TEXT), "shit/ewq/ewq/rweq");
WMSetLabelText(panel.text, buffer);
panel.copyBtn = WMCreateCommandButton(panel.wwin);
WMResizeWidget(panel.copyBtn, 180, 24);
WMMoveWidget(panel.copyBtn, 30, 225);
WMSetButtonText(panel.copyBtn, _("Copy Default Menu"));
WMSetButtonAction(panel.copyBtn, buttonCallback, &panel);
panel.keepBtn = WMCreateCommandButton(panel.wwin);
WMResizeWidget(panel.keepBtn, 180, 24);
WMMoveWidget(panel.keepBtn, 225, 225);
WMSetButtonText(panel.keepBtn, _("Keep Current Menu"));
WMSetButtonAction(panel.keepBtn, buttonCallback, &panel);
WMMapSubwidgets(panel.wwin);
WMRealizeWidget(panel.wwin);
WMMapWidget(panel.wwin);
panel.finished = False;
panel.copy = False;
while (!panel.finished) {
XEvent event;
WMNextEvent(WMScreenDisplay(WMWidgetScreen(panel.wwin)), &event);
WMHandleEvent(&event);
}
WMDestroyWidget(panel.wwin);
return panel.copy;
}

View File

@@ -365,6 +365,9 @@ createPanel(Panel *p)
WMAddNotificationObserver(textBeginObserver, panel,
WMTextDidBeginEditingNotification, panel->pixT);
WMSetTextFieldNextTextField(panel->pixT, panel->icoT);
WMSetTextFieldPrevTextField(panel->pixT, panel->icoT);
WMMapSubwidgets(panel->pixF);
WMRealizeWidget(panel->frame);

View File

@@ -60,6 +60,8 @@ showData(_Panel *panel)
char *str;
str = GetStringForKey("ResizeDisplay");
if (!str)
str = "corner";
if (strcasecmp(str, "corner")==0)
WMSetPopUpButtonSelectedItem(panel->sizeP, 0);
else if (strcasecmp(str, "center")==0)
@@ -70,6 +72,8 @@ showData(_Panel *panel)
WMSetPopUpButtonSelectedItem(panel->sizeP, 3);
str = GetStringForKey("MoveDisplay");
if (!str)
str = "corner";
if (strcasecmp(str, "corner")==0)
WMSetPopUpButtonSelectedItem(panel->posiP, 0);
else if (strcasecmp(str, "center")==0)

View File

@@ -37,12 +37,11 @@ License
-------
Like Window Maker, WPrefs is distributed with through the General Public
License (as stated in the file COPYING). As an exception, the icons and
original graphical artwork included with WPrefs has the additional
restriction that they must not be redistributed without the rest of the
Window Maker distribution. In other words, you can use and distribute the
WPrefs icons freely, as long as they are distributed for use with Window
Maker (ripping the icons and putting them in your program is prohibited).
License (as stated in the file COPYING).
The graphical artwork included with WPrefs is NOT licensed through the GPL.
It is licensed through the OpenContent License, instead. Please read the
COPYING.OPL file for the detailed license.
Notes

View File

@@ -245,9 +245,8 @@ buttonCallback(WMWidget *self, void *data)
/* Pixmap Panel Buttons */
} else if (self == panel->pbrowB) {
op = WMGetOpenPanel(WMWidgetScreen(panel->pbrowB));
if (WMRunModalOpenPanelForDirectory(op, NULL, "/usr/local", NULL, NULL)) {
op = WMGetOpenPanel(WMWidgetScreen(panel->pbrowB));
if (WMRunModalFilePanelForDirectory(op, NULL, "/usr/local", NULL, NULL)) {
char *path;
path = WMGetFilePanelFileName(op);
WMSetTextFieldText(panel->pimagT, path);

View File

@@ -460,7 +460,6 @@ Initialize(WMScreen *scr)
break;
}
}
RFreeStringList(list);
if (TIFFOK)
path = WMPathForResourceOfType("WPrefs.tiff", NULL);
@@ -495,7 +494,7 @@ Initialize(WMScreen *scr)
loadConfigurations(scr, WPrefs.win);
WMSetLabelText(WPrefs.statusL, _("Initializing configuration panels..."));
#if 1
InitWindowHandling(scr, WPrefs.win);
InitFocus(scr, WPrefs.win);
InitMenuPreferences(scr, WPrefs.win);
@@ -505,7 +504,9 @@ Initialize(WMScreen *scr)
InitPaths(scr, WPrefs.win);
InitWorkspace(scr, WPrefs.win);
InitConfigurations(scr, WPrefs.win);
#endif
InitMenu(scr, WPrefs.win);
#if 1
#ifdef not_yet_fully_implemented
InitKeyboardSettings(scr, WPrefs.win);
#endif
@@ -518,15 +519,14 @@ Initialize(WMScreen *scr)
InitThemes(scr, WPrefs.win);
#endif
InitExpert(scr, WPrefs.win);
#endif
WMRealizeWidget(WPrefs.scrollV);
WMSetLabelText(WPrefs.statusL,
_("WPrefs is free software and is distributed WITHOUT ANY "
"WARRANTY under the terms of the GNU General Public License. "
"Redistribution of the icons in this program separately "
"from the program is prohibited."));
_("WPrefs is free software and is distributed WITHOUT ANY\n"
"WARRANTY under the terms of the GNU General Public License.\n"
"The icons in this program are licensed through the\n"
"OpenContent License."));
}
@@ -580,8 +580,10 @@ loadConfigurations(WMScreen *scr, WMWindow *mainw)
if (sscanf(buffer, "Window Maker %i.%i.%i",&v1,&v2,&v3)!=3
&& sscanf(buffer, "WindowMaker %i.%i.%i",&v1,&v2,&v3)!=3) {
WMRunAlertPanel(scr, mainw, _("Error"),
_("Could not extract version from Window Maker. Make sure it is correctly installed."),
_("OK"), NULL, NULL);
_("Could not extract version from Window Maker. "
"Make sure it is correctly installed and the path "
"where it installed is in the PATH environment "
"variable."), _("OK"), NULL, NULL);
exit(1);
}
if (v1 == 0 && (v2 < 18 || v3 < 0)) {
@@ -601,7 +603,14 @@ loadConfigurations(WMScreen *scr, WMWindow *mainw)
if (!file || !fgets(buffer, 1023, file)) {
wsyserror(_("could not run \"wmaker --global_defaults_path\"."));
exit(1);
} else {
char *ptr;
ptr = strchr(buffer, '\n');
if (ptr)
*ptr = 0;
strcat(buffer, "/WindowMaker");
}
if (file)
pclose(file);
@@ -849,6 +858,9 @@ GetSpeedForKey(char *defaultName)
int i;
str = GetStringForKey(defaultName);
if (!str)
return 2;
if (strcasecmp(str, "ultraslow")==0)
i = 0;
else if (strcasecmp(str, "slow")==0)

View File

@@ -42,8 +42,8 @@
/****/
#define WVERSION "0.10"
#define WMVERSION "0.50.x"
#define WVERSION "0.11"
#define WMVERSION "0.51.x"
typedef struct _Panel Panel;

Binary file not shown.

View File

@@ -1,237 +1,426 @@
/* XPM */
static char * image_name[] = {
"45 45 189 2",
static char * WPrefs3D_xpm[] = {
"48 48 375 2",
" c None",
". c #186175D60000",
"X c #000000000000",
"o c #082004100820",
"O c #082008200820",
"+ c #4924A28930C2",
"@ c #514451445144",
"# c #492449244924",
"$ c #49244D344924",
"% c #208179E70820",
"& c #104010401040",
"* c #28A22CB228A2",
"= c #38E338E338E3",
"- c #28A228A228A2",
"; c #30C22CB230C2",
": c #186114511861",
"> c #514455555965",
", c #10400C301040",
"< c #186118611861",
"1 c #208120812081",
"2 c #2081249228A2",
"3 c #186171C60000",
"4 c #28A282071040",
"5 c #28A27DF70820",
"6 c #28A2249228A2",
"7 c #30C230C230C2",
"8 c #410341034103",
"9 c #30C292482081",
"0 c #30C234D338E3",
"q c #79E77DF78617",
"w c #C71BC71BC71B",
"e c #71C675D671C6",
"r c #965892489658",
"t c #FFFFFFFFFFFF",
"y c #EFBEEFBEEFBE",
"u c #5144AAAA38E3",
"i c #A699FFFF8E38",
"p c #596559656185",
"a c #AEBA10401040",
"s c #E79D14511861",
"d c #208104100000",
"f c #FFFF61856185",
"g c #F7DE2CB22081",
"h c #C71BAAAAA699",
"j c #DF7D14511861",
"k c #71C608200820",
"l c #FFFF30C230C2",
"z c #E79D20811861",
"x c #79E714511861",
"c c #28A204100000",
"v c #EFBE18611861",
"b c #79E70C300820",
"n c #FFFFE38DE79D",
"m c #FFFF28A228A2",
"M c #E79D18611861",
"N c #8E381C711861",
"B c #596559655965",
"V c #861749240820",
"C c #D75C24921040",
"Z c #B6DA10401040",
"A c #B6DA14511040",
"S c #10403CF30000",
"D c #69A6C30B5144",
"F c #CF3C96585144",
"G c #EFBE38E328A2",
"H c #BEFB18611861",
"J c #410375D638E3",
"K c #30C28E381861",
"L c #38E33CF34103",
"P c #A69910401040",
"I c #8E380C300820",
"U c #CF3C14511040",
"Y c #FFFF59655965",
"T c #D75C41034103",
"R c #965820811861",
"E c #DF7D20812081",
"W c #596508200820",
"Q c #38E304100820",
"! c #FFFF34D338E3",
"~ c #8E3838E338E3",
"^ c #6185492428A2",
"/ c #F7DE20812081",
"( c #8E388A288E38",
") c #30C204100000",
"_ c #104000000000",
"` c #FFFFD34CD75C",
"' c #FFFF20812081",
"] c #28A220812081",
"[ c #69A6A2895965",
"{ c #F7DE24922081",
"} c #492414511040",
"| c #AEBAAEBAAEBA",
" . c #86170C300820",
".. c #69A608200820",
"X. c #104059650000",
"o. c #FFFF8A288E38",
"O. c #F7DE38E338E3",
"+. c #9E79EFBE8617",
"@. c #71C614511040",
"#. c #861786178617",
"$. c #965810401040",
"%. c #208151441040",
"&. c #FFFF45144103",
"*. c #D75C34D338E3",
"=. c #FFFF49244924",
"-. c #9E791C712081",
";. c #618565956185",
":. c #492404100820",
">. c #38E35D7528A2",
",. c #C71BC30BC71B",
"<. c #8617E38D69A6",
"1. c #FFFF249228A2",
"2. c #69A628A228A2",
"3. c #FFFF65956185",
"4. c #C71B20812081",
"5. c #28A26DB60000",
"6. c #FFFF18611861",
"7. c #E79D1C711861",
"8. c #30C2492428A2",
"9. c #FFFFF3CEEFBE",
"0. c #B6DAB6DAB6DA",
"q. c #FFFFA2899E79",
"w. c #E79D20812081",
"e. c #51445D750820",
"r. c #F7DE1C711861",
"t. c #618549240820",
"y. c #18616DB60000",
"u. c #9E7941031040",
"i. c #A69934D31040",
"p. c #186120811040",
"a. c #BEFBC71B69A6",
"s. c #AEBA92485144",
"d. c #D75C7DF74924",
"f. c #CF3C618538E3",
"g. c #AEBAF3CE8617",
"h. c #104018610820",
"j. c #F7DE1C712081",
"k. c #18610C300820",
"l. c #AEBAA289A699",
"z. c #BEFB45144103",
"x. c #618561856185",
"c. c #104004100820",
"v. c #EFBE28A228A2",
"b. c #69A610401040",
"n. c #79E718611861",
"m. c #51442CB228A2",
"M. c #79E779E779E7",
"N. c #F7DE30C230C2",
"B. c #F7DE18611861",
"V. c #410304100820",
"C. c #E79D34D330C2",
"Z. c #C71B18611861",
"A. c #F7DE28A22081",
"S. c #DF7DA289A699",
"D. c #F7DE28A228A2",
"F. c #E79D30C230C2",
"G. c #D75CD34CD75C",
"H. c #EFBE41034103",
"J. c #C71B14511040",
"K. c #000014510000",
"L. c #514408200820",
"P. c #C71B59655965",
"I. c #B6DA249228A2",
"U. c #492410401040",
"Y. c #208110401040",
"T. c #082010400820",
"R. c #FFFF7DF779E7",
"E. c #618514511040",
"W. c #AEBA45144103",
"Q. c #000008200000",
"!. c #DF7D2CB22081",
"~. c #59655D755965",
"^. c #71C671C671C6",
"/. c #AEBAAAAAAEBA",
"(. c #69A66DB671C6",
"). c #28A282070820",
"_. c #71C6CB2B5965",
"`. c #A699FBEE8E38",
"'. c #69A6C71B5144",
"]. c #E79DE79DE79D",
"[. c #FFFFFBEEFFFF",
"{. c #BEFBBEFBBEFB",
"}. c #8E388E389658",
"|. c #A699A699A699",
" X c #9E79A2899E79",
".X c #DF7DDF7DDF7D",
"XX c #F7DEF7DEF7DE",
"oX c #861782078617",
"OX c #71C6D34C5965",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . ",
". . . . . . ",
". . . . . . ",
". . o X O + @ # # # # # # $ % X . . ",
". . & * $ = - . X X X X X X X X . ; ; o . . ",
". . : > - , X X . X X X X X X X X . X o O , X . . ",
". . < 1 , X X X X . X X X X X X X X . X X X o X 2 . . ",
". . . . . . . . 3 % 4 . . . . . . . . . . . . . . . . . . . . . % 5 . . . . . . . . . . . ",
". % 2 X X X X X X X . X X X X X X X X . X 6 7 ; 7 ; = 8 9 0 0 0 0 . ",
". < % X X X X X X X X . X X X X X X X X . X q w w w w w e % X X X X . ",
". < 6 . X X X X X X X X . X X X X X X X X . X r t t t t t y u X X X X . ",
". X o X . X X X X X X X X . X X X X X X X X . X r t t t t t t i p X X X . ",
". O : X . X X X X a s d X . X X X X X X X X . X r t t t t t f g h : X X . ",
". X < X X . X X X X s j k X . X X X X X X X X . X r t t t t t l z x > X X . ",
". X O X X . X X X c v j b X . X X X X X X X X . X r t t t t n m M N B & X . ",
". . . . . . . . . . . . V C Z A S . . . . . . . . . . . D i i i i F G A H J K . . . . . . ",
". L X X X . X X X Z P I U X . X X X X X X X X . X r t t t t Y T R E 8 @ X . ",
". : X X X . X X X j W Q v X . X X X X X X X X . X r t t t t ! ~ ^ / ; ( , . ",
". X X X X . X X ) v _ X v Q . X X X X X X X X . X r t t t ` ' ] [ { } | : . ",
". X X X X . X X .U X X j ..X.X X X X X X X X . X r t t t o.O., +.! @.#.: . ",
". X X X X . X X U Z X X U $.%.; * ; * * ; ; - K ; | t t t &.*.; i =.-.;.< . ",
". X X X X . X X v :.X X a H >.w ,.w w w w w w <.w y t t t 1.2.$ i 3.4.# : . ",
". X X X ) 5.X ) 6.X X X ..7.8.t t t t t t t t i t ` 9.t ` 6., 0.i q.w.7 : . ",
". . . . % . e.r.t.y.u.i.X . . 5.r.p.i i i i i i i i i a.{ s.+.d.f.X i i g.r.h.5 . . . . . ",
". = X v v s _ U .X X X X j.k.t t t t t t t t i m ' s l.&.z.x.t i t ' c.X . ",
". 6 W 6.Q 6...s c X X X X v.b.y t t t t t t t i 6.} 6.n.m m.M.t i t N...X . ",
"r.B.6.6.6.6.V.X 7.v U X X X X X C.Z.6.1.m m m ' { { A.S.X D.v F.: G.t i t H.J.6.v v v v . ",
"K.X X X X X X X u.v L.X X X X X P.v I.L.U.} } Y., & T.: ,.R.v E.7 t t i y W.v P L.Q Q Q Q.",
". & , X . X X X X X X X r !., ~.t t t t t t i t t t ^.& /.t t i ,.: U X X X X X X.",
". o < X . X X X X X X X r i 7 t t t t t t t i t t t t t t t t i (.X X X . ",
". X X . X X X X X X X r i t t t t t t t t i t t t t t t t t D , X X X . ",
". . . . 3 3 3 . . % ).).).).).)._.i i i i i i i i i i i i i i i i `.'.% . . . . . . . . . ",
". X X X X . - r | | | | | ].i t t t t t t t t i t t t t t [.{.7 . X X X X . ",
". X X X X . , $ w t t t t t i t t t t t t t t i t t t t t }.7 X . X X X X . ",
". X X X X . X X 1 |.t t t t i t t t t t t t t i t t t ].}., X X . X X X X . ",
". X X X X . X X X X 6 X.XXXi t t t t t t t t i XX.X X6 X X X X . X X X X . ",
". X X X X . X X X X X X = oXOXw w t t t t w w OXoX= X X X X X X . X X X X . ",
". X X X X . X X X X X X X X % 7 ; ;.;.;.;.; ; % X X X X X X X X . X X X X . ",
". X X X X 3 X X X X X X X X . X X X X X X X X . X X X X X X X X . X X X X . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". . . . . . ",
". . . . . . ",
". . . . . . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
". c #A3FF84",
"+ c #77B563",
"@ c #4A4A4A",
"# c #39393B",
"$ c #353537",
"% c #323234",
"& c #2E2E31",
"* c #2C2C2E",
"= c #29292B",
"- c #262628",
"; c #73B15F",
"> c #393939",
", c #6C6C6C",
"' c #626266",
") c #83A479",
"! c #808080",
"~ c #6F6F70",
"{ c #626263",
"] c #585859",
"^ c #4E4E4F",
"/ c #444446",
"( c #3C3C3D",
"_ c #303031",
": c #4D6F42",
"< c #242427",
"[ c #292929",
"} c #1C1C1C",
"| c #9A9A9B",
"1 c #9C9C9E",
"2 c #949495",
"3 c #878787",
"4 c #88A67D",
"5 c #6D6D6D",
"6 c #606060",
"7 c #545454",
"8 c #3F3F3F",
"9 c #353535",
"0 c #2C2C2C",
"a c #1F1F1F",
"b c #44633A",
"c c #0D0D0D",
"d c #030303",
"e c #000000",
"f c #7AB765",
"g c #96B88B",
"h c #A0BE97",
"i c #9EBC94",
"j c #91AF87",
"k c #84A37A",
"l c #7D9B73",
"m c #75936B",
"n c #6C8B62",
"o c #66845B",
"p c #607E55",
"q c #59774F",
"r c #537149",
"s c #4E6C43",
"t c #46653C",
"u c #405F36",
"v c #3B5931",
"w c #35542B",
"x c #538144",
"y c #70AD5B",
"z c #1C1C1D",
"A c #8F8F91",
"B c #ADADAD",
"C c #9A9A9A",
"D c #888888",
"E c #777777",
"F c #666666",
"G c #749269",
"H c #525252",
"I c #474747",
"J c #373737",
"K c #2D2D2D",
"L c #262626",
"M c #1D1D1D",
"N c #141414",
"O c #3D5B33",
"P c #020202",
"Q c #050505",
"R c #9F9FA3",
"S c #A9A9A9",
"T c #9D9D9D",
"U c #828282",
"V c #727272",
"W c #5B5B5B",
"X c #6D8B63",
"Y c #414141",
"Z c #303030",
"` c #272727",
" . c #171717",
".. c #39572F",
"+. c #040404",
"@. c #060606",
"#. c #070707",
"$. c #080808",
"%. c #111111",
"&. c #29292D",
"*. c #506E48",
"=. c #28282C",
"-. c #28282B",
";. c #1F1F22",
">. c #050506",
",. c #79B765",
"'. c #939393",
"). c #A5A5A5",
"!. c #999999",
"~. c #737373",
"{. c #696969",
"]. c #565656",
"^. c #6A885F",
"/. c #464646",
"(. c #3C3C3C",
"_. c #232323",
":. c #1B1B1B",
"<. c #090909",
"[. c #37552C",
"}. c #181818",
"|. c #797979",
"1. c #757575",
"2. c #6B6B6B",
"3. c #6F6F6F",
"4. c #0F0F0F",
"5. c #1E1E1E",
"6. c #98B98C",
"7. c #ABABAB",
"8. c #8B8B8B",
"9. c #FF1818",
"0. c #5C5C5C",
"a. c #67855D",
"b. c #424242",
"c. c #313131",
"d. c #202020",
"e. c #505050",
"f. c #DFDFDF",
"g. c #F4F4F4",
"h. c #F1F1F1",
"i. c #ECECEC",
"j. c #BFBFBF",
"k. c #454546",
"l. c #A6C49C",
"m. c #9F9F9F",
"n. c #7D7D7D",
"o. c #717171",
"p. c #4C0000",
"q. c #4D4D4D",
"r. c #64835A",
"s. c #3D3D3D",
"t. c #343434",
"u. c #242424",
"v. c #1A1A1A",
"w. c #131313",
"x. c #0A0A0A",
"y. c #585858",
"z. c #EAEAEA",
"A. c #FFFFFF",
"B. c #FEFEFE",
"C. c #FBFBFB",
"D. c #E9E9E9",
"E. c #A0BE96",
"F. c #919191",
"G. c #818181",
"H. c #494949",
"I. c #617F57",
"J. c #282828",
"K. c #E6E6E6",
"L. c #F5F5F5",
"M. c #E8E8E8",
"N. c #D8D8D8",
"O. c #4E4E51",
"P. c #A3A3A3",
"Q. c #9BBA91",
"R. c #8A8A8A",
"S. c #7B7B7B",
"T. c #707070",
"U. c #5E7D54",
"V. c #363636",
"W. c #555555",
"X. c #E4E4E4",
"Y. c #D9D9D9",
"Z. c #CECECE",
"`. c #747474",
" + c #94B38A",
".+ c #5C7A51",
"++ c #0E0E0E",
"@+ c #E1E1E1",
"#+ c #FAFAFA",
"$+ c #D0D0D0",
"%+ c #77B463",
"&+ c #92B387",
"*+ c #9BB991",
"=+ c #92B188",
"-+ c #89A77F",
";+ c #809E75",
">+ c #7B9971",
",+ c #547249",
"'+ c #4D6B43",
")+ c #47663D",
"!+ c #436139",
"~+ c #3C5B32",
"{+ c #37562D",
"]+ c #CAE8C0",
"^+ c #D9F8CF",
"/+ c #C9E7BF",
"(+ c #BDDCB3",
"_+ c #6CAA58",
":+ c #484849",
"<+ c #929292",
"[+ c #8EAD84",
"}+ c #646464",
"|+ c #56754C",
"1+ c #515151",
"2+ c #EEEEEE",
"3+ c #D6D6D6",
"4+ c #C5C5C5",
"5+ c #9FBD95",
"6+ c #404040",
"7+ c #8D8D8D",
"8+ c #8AA87F",
"9+ c #676767",
"0+ c #5F5F5F",
"a+ c #506E45",
"b+ c #D3D3D3",
"c+ c #E7E7E7",
"d+ c #BDBDBD",
"e+ c #9EBD94",
"f+ c #898989",
"g+ c #86A57C",
"h+ c #636363",
"i+ c #48673E",
"j+ c #161616",
"k+ c #101010",
"l+ c #4E4E4E",
"m+ c #CCCCCC",
"n+ c #E0E0E0",
"o+ c #C8C8C8",
"p+ c #9AB990",
"q+ c #868686",
"r+ c #858585",
"s+ c #84A279",
"t+ c #3B3B3B",
"u+ c #0C0C0C",
"v+ c #010101",
"w+ c #4F4F4F",
"x+ c #C3C3C3",
"y+ c #96B58C",
"z+ c #333333",
"A+ c #809F76",
"B+ c #5A5A5A",
"C+ c #3A3A3A",
"D+ c #3E3E3E",
"E+ c #5B7951",
"F+ c #484848",
"G+ c #DEDEDE",
"H+ c #BABABA",
"I+ c #989898",
"J+ c #92B088",
"K+ c #7E9C73",
"L+ c #CACACA",
"M+ c #D1D1D1",
"N+ c #CBCBCB",
"O+ c #D7D7D7",
"P+ c #C9C9C9",
"Q+ c #BEDCB4",
"R+ c #EDEDED",
"S+ c #E5E5E5",
"T+ c #8EAC84",
"U+ c #7C7C7C",
"V+ c #2B2B2B",
"W+ c #DBF9D0",
"X+ c #F2F2F2",
"Y+ c #B3B3B3",
"Z+ c #86A47B",
"`+ c #2F2F30",
" @ c #191919",
".@ c #F3F3F3",
"+@ c #FCFCFC",
"@@ c #F9F9F9",
"#@ c #EBEBEB",
"$@ c #C7E6BD",
"%@ c #A8A8A8",
"&@ c #5C7A52",
"*@ c #54724A",
"=@ c #4D6B42",
"-@ c #44623A",
";@ c #79976F",
">@ c #6B8961",
",@ c #2A2A2A",
"'@ c #2E2E2F",
")@ c #535353",
"!@ c #EFEFEF",
"~@ c #D5D5D5",
"{@ c #CDCDCD",
"]@ c #C6C6C6",
"^@ c #AFCDA4",
"/@ c #A4A4A4",
"(@ c #9C9C9C",
"_@ c #626262",
":@ c #66845C",
"<@ c #4B4B4C",
"[@ c #323232",
"}@ c #212121",
"|@ c #CFCFCF",
"1@ c #C0C0C0",
"2@ c #B6B6B6",
"3@ c #ABC9A0",
"4@ c #A7A7A7",
"5@ c #9E9E9E",
"6@ c #969696",
"7@ c #8F8F8F",
"8@ c #6E6E6E",
"9@ c #58764E",
"0@ c #5E7C53",
"a@ c #121212",
"b@ c #F8F8F8",
"c@ c #E3E3E3",
"d@ c #C2C2C2",
"e@ c #B1B1B1",
"f@ c #A7C59C",
"g@ c #A1A1A1",
"h@ c #7E7E7E",
"i@ c #416037",
"j@ c #679C56",
"k@ c #87A57D",
"l@ c #DBDBDB",
"m@ c #AAAAAA",
"n@ c #A2C098",
"o@ c #7F7F7F",
"p@ c #679457",
"q@ c #222222",
"r@ c #BCBCBC",
"s@ c #B5B5B5",
"t@ c #949494",
"u@ c #656565",
"v@ c #2A2A2B",
"w@ c #6D6D6E",
"x@ c #B7B7B7",
"y@ c #D2F0C8",
"z@ c #AFAFAF",
"A@ c #98B78E",
"B@ c #575757",
"C@ c #4C4C4C",
"D@ c #F6F6F6",
"E@ c #D7F6CD",
"F@ c #B8B8B8",
"G@ c #B0B0B0",
"H@ c #8E8E8E",
"I@ c #616161",
"J@ c #669356",
"K@ c #6C8A61",
"L@ c #628058",
"M@ c #5A784F",
"N@ c #527148",
"O@ c #4C6B42",
"P@ c #45643B",
"Q@ c #3E5C34",
"R@ c #4F6E45",
"S@ c #739169",
"T@ c #AECCA4",
"U@ c #ADCCA3",
"V@ c #A0BF96",
"W@ c #9CBA92",
"X@ c #97B68D",
"Y@ c #78966D",
"Z@ c #638159",
"`@ c #537249",
" # c #506F46",
".# c #787878",
"+# c #5C7B52",
"@# c #0B0B0B",
"## c #252525",
"$# c #3A5930",
"%# c #517E41",
" ",
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . + @ # $ % & * = - ; . . ",
" . . > , ' ) ! ~ { ] ^ / ( _ : < [ . . ",
" . . } | 1 2 3 4 5 6 7 @ 8 9 0 a b c d e e . . ",
" . . . . . . . . . . . . f g h i j k l m n o p q r s t u v w w w x y . . . . . . . . . . . . ",
" . . z A B C D E F G H I 8 J K L M N O d e e e P Q e . . ",
" . . a R S T U V F W X @ Y > Z ` a .c ..e e +.@.#.$.%.&.*.=.-.;.>. . ",
" . ,.'.).!.D ~.{.6 ].^./.(.9 K _.:.N <.[.e }.W |.1.2.3.4.w e e e e . ",
" . 5.6.7.T 8.|.9.9.0.H a.b.> c.[ d. .4.@.w e e.f.g.h.i.j.9.9.e e e e . ",
" . k.l.m.8.n.o.9.9.p.q.r.s.t.0 u.v.w.x.P w e y.z.A.B.C.D.9.9.p.e e e . ",
" . 1 E.F.G.1.5 9.9.p.H.I.> Z J.d. .4.#.e w e ].K.A.L.M.N.9.9.p.e e e . ",
" . O.P.Q.R.S.T.{.9.9.9./.U.V.0 u.} w.x.d e w e W.X.A.z.Y.Z.9.9.9.e e e . ",
" . `.!. +U `., 9.9.9.9.p..+Z ` a .++@.e e w e 7 @+#+@+$+9.9.9.9.p.e e . ",
" . . . . . . %+&+*+=+-+;+>+9.p.p.9.p.q ,+'+)+!+~+{+w w w w n ]+^+/+(+9.p.p.9.p.w _+. . . . . ",
" . :+C <+[+E , }+9.p.@ 9.p.|+[ d. .4.@.e e e w e 1+Y.2+3+4+9.p.5+9.p.e e . ",
" . 6+7+R.8+o.9+0+9.p./.9.p.a+d.}.%.<.P e e e w e e.b+c+Z.d+9.p.e+9.p.5.e . ",
" . J 3 f+g+5 h+9.9.p.Y 9.9.i+j+k+x.+.e e e e w e l+m+n+o+9.9.p.p+9.9.} e . ",
" . t.q+r+s+{.0+9.p.p.t+9.9.p.u+$.+.v+e e e e w e w+b+f.x+9.p.p.y+9.9.p.e . ",
" . z+r+! A+}+B+9.p.8 c.a 9.p.C+Y D+C+D+z+/.c.E+F+m.D.G+H+9.p.I+J+~.9.p.e . ",
" . t.U S.K+6 9.9.p.t+K M 9.p.L+$+$+M+m+N+O+P+Q+G+R+S+o+9.9.p.<+T+3.9.p.e . ",
" . z+U+9.>+0.9.9.p.J V+} 9.p.g.B.B.B.B.B.B.C.W+X+9.L+Y+9.9.p.8.Z+}+9.p.e . ",
" . `+9.9.9.y.9.p.p.z+L @9.p..@B.B.+@@@X+#@n+$@9.9.9.%@9.p.p.G.l y.9.p.e . ",
" . 9.9.9.9.9.9.9.p.9.p.9.p.&@*@=@-@9.p.9.9.9.9.9.9.9.9.9.9.p.9.p.9.p.j Z+;@>@9.p.9.9.9.9.9.. ",
" . p.p.p.p.p.p.p.p.9.9.9.p.V.,@d.N 9.9.9.p.p.p.p.p.p.p.p.p.p.9.9.9.p.G.3.G C+9.9.9.p.p.p.p.. ",
" . '@)@n 9.p.p.Z L :.k+k+9.p.p.!@f.~@{@]@d+^@B /@(@9.p.p.E _@:@a e 9.p.p. . ",
" . <@a.I p.[@,@}@}.++4.-+p.C.M.Y.|@o+1@2@3@4@5@6@7@p.S.8@W.9@$.e e p. . ",
" . } 0@s.t.[ d. @a@x.++4 h.b@c@b+P+d@H+e@f@g@I+F.D h@T.0.t.i@P e e e . ",
" . j@(.V+ @%.u+<.Q u+k@h.X+l@m+x+H+Y+m@n@C F.f+o@T.F H } [.e e e e . ",
" . @9 c.p@t+` } %.%.k+4.q@e+b@X+3+]@r@s@B P.i t@R.! 3.W e.K x.w e e e e . ",
" . [@u@0.>@s.v@w@m@Y+).m.x@y@B.S+{@1@2@z@4@5@A@8.n.8@B+V.q@<.e w e e e e . ",
" . 0 B@C@I.t.L }., |@K.g.D@E@G+x+F@G@4@m.I+H@8+`.I@W.Z @.e e e w e e e e . ",
" . . . . . . J@K@L@M@N@O@P@Q@R@S@5+T@U@3@V@W@X@=+T+8+s+Y@S@Z@`@Q@w w w w w w w w _+. . . . . ",
" . J.@ V. #d. @w.u+Q #.v.C@A+U ! U+.#o.2.F W +#Z .@.v+e e e e w e e e e . ",
" . v.0 }.i@++@##.+.v+e e e w @} q@` ##_.M .$#e e e e e e e e w e e e e . ",
" . P P e %#e e e e e e e e %#e e e e e e e e %#e e e e e e e e %#e e e e . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . ",
" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
" "};

View File

@@ -41,7 +41,11 @@ typedef struct _Panel {
WMSlider *vsli;
WMSlider *hsli;
WMFrame *resF;
WMSlider *resS;
WMLabel *resL;
WMFrame *maxiF;
WMButton *miconB;
WMButton *mdockB;
@@ -93,9 +97,31 @@ sliderCallback(WMWidget *w, void *data)
}
static void
resistanceCallback(WMWidget *w, void *data)
{
_Panel *panel = (_Panel*)data;
char buffer[64];
int i;
i = WMGetSliderValue(panel->resS);
if (i == 0)
WMSetLabelText(panel->resL, "OFF");
else {
sprintf(buffer, "%i", i);
WMSetLabelText(panel->resL, buffer);
}
}
static int
getPlacement(char *str)
{
if (!str)
return 0;
if (strcasecmp(str, "auto")==0 || strcasecmp(str, "smart")==0)
return 0;
else if (strcasecmp(str, "random")==0)
@@ -139,7 +165,11 @@ showData(_Panel *panel)
WMSetSliderValue(panel->vsli, y);
sliderCallback(NULL, panel);
x = GetIntegerForKey("EdgeResistance");
WMSetSliderValue(panel->resS, x);
resistanceCallback(NULL, panel);
WMSetButtonSelected(panel->tranB, GetBoolForKey("OpenTransientOnOwnerWorkspace"));
WMSetButtonSelected(panel->opaqB, GetBoolForKey("OpaqueMove"));
@@ -166,6 +196,7 @@ storeData(_Panel *panel)
sprintf(y, "%i", WMGetSliderValue(panel->vsli));
arr = PLMakeArrayFromElements(PLMakeString(x), PLMakeString(y), NULL);
SetObjectForKey(arr, "WindowPlaceOrigin");
SetIntegerForKey(WMGetSliderValue(panel->resS), "EdgeResistance");
PLRelease(arr);
}
@@ -187,27 +218,27 @@ createPanel(Panel *p)
/************** Window Placement ***************/
panel->placF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->placF, 270, 150);
WMMoveWidget(panel->placF, 20, 15);
WMResizeWidget(panel->placF, 270, 110);
WMMoveWidget(panel->placF, 20, 10);
WMSetFrameTitle(panel->placF, _("Window Placement"));
panel->placP = WMCreatePopUpButton(panel->placF);
WMResizeWidget(panel->placP, 195, 20);
WMMoveWidget(panel->placP, 35, 20);
WMResizeWidget(panel->placP, 120, 20);
WMMoveWidget(panel->placP, 15, 20);
WMAddPopUpButtonItem(panel->placP, _("Automatic"));
WMAddPopUpButtonItem(panel->placP, _("Random"));
WMAddPopUpButtonItem(panel->placP, _("Manual"));
WMAddPopUpButtonItem(panel->placP, _("Cascade"));
panel->porigL = WMCreateLabel(panel->placF);
WMResizeWidget(panel->porigL, 118, 32);
WMMoveWidget(panel->porigL, 5, 60);
WMResizeWidget(panel->porigL, 138, 32);
WMMoveWidget(panel->porigL, 5, 45);
WMSetLabelTextAlignment(panel->porigL, WACenter);
WMSetLabelText(panel->porigL, _("Placement Origin"));
panel->porigvL = WMCreateLabel(panel->placF);
WMResizeWidget(panel->porigvL, 70, 20);
WMMoveWidget(panel->porigvL, 25, 95);
WMResizeWidget(panel->porigvL, 80, 20);
WMMoveWidget(panel->porigvL, 30, 75);
WMSetLabelTextAlignment(panel->porigvL, WACenter);
color = WMCreateRGBColor(scr, 0x5100, 0x5100, 0x7100, True);
@@ -219,16 +250,16 @@ createPanel(Panel *p)
swidth = WidthOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
sheight = HeightOfScreen(DefaultScreenOfDisplay(WMScreenDisplay(scr)));
if (120*sheight/swidth < 80*swidth/sheight) {
width = 80*swidth/sheight;
height = 80;
if (120*sheight/swidth < 70*swidth/sheight) {
width = 70*swidth/sheight;
height = 70;
} else {
height = 120*sheight/swidth;
width = 120;
}
WMResizeWidget(panel->porigF, width, height);
WMMoveWidget(panel->porigF, 125+(120-width)/2, 45+(80-height)/2);
WMMoveWidget(panel->porigF, 135+(120-width)/2, 20+(70-height)/2);
panel->porigW = WMCreateLabel(panel->porigF);
WMResizeWidget(panel->porigW, THUMB_SIZE, THUMB_SIZE);
WMMoveWidget(panel->porigW, 2, 2);
@@ -237,14 +268,14 @@ createPanel(Panel *p)
panel->hsli = WMCreateSlider(panel->placF);
WMResizeWidget(panel->hsli, width, 12);
WMMoveWidget(panel->hsli, 125+(120-width)/2, 45+(80-height)/2+height+2);
WMMoveWidget(panel->hsli, 135+(120-width)/2, 20+(70-height)/2+height+2);
WMSetSliderAction(panel->hsli, sliderCallback, panel);
WMSetSliderMinValue(panel->hsli, 0);
WMSetSliderMaxValue(panel->hsli, swidth);
panel->vsli = WMCreateSlider(panel->placF);
WMResizeWidget(panel->vsli, 12, height);
WMMoveWidget(panel->vsli, 125+(120-width)/2+width+2, 45+(80-height)/2);
WMMoveWidget(panel->vsli, 135+(120-width)/2+width+2, 20+(70-height)/2);
WMSetSliderAction(panel->vsli, sliderCallback, panel);
WMSetSliderMinValue(panel->vsli, 0);
WMSetSliderMaxValue(panel->vsli, sheight);
@@ -255,13 +286,13 @@ createPanel(Panel *p)
/************** Opaque Move ***************/
panel->opaqF = WMCreateFrame(panel->frame);
WMMoveWidget(panel->opaqF, 300, 15);
WMResizeWidget(panel->opaqF, 205, 125);
WMResizeWidget(panel->opaqF, 205, 110);
WMMoveWidget(panel->opaqF, 300, 10);
WMSetFrameTitle(panel->opaqF, _("Opaque Move"));
panel->opaqB = WMCreateButton(panel->opaqF, WBTToggle);
WMResizeWidget(panel->opaqB, 64, 64);
WMMoveWidget(panel->opaqB, 70, 35);
WMMoveWidget(panel->opaqB, 70, 25);
WMSetButtonImagePosition(panel->opaqB, WIPImageOnly);
path = LocateImage(NON_OPAQUE_MOVE_PIXMAP);
@@ -291,33 +322,53 @@ createPanel(Panel *p)
/**************** Account for Icon/Dock ***************/
panel->maxiF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->maxiF, 205, 70);
WMMoveWidget(panel->maxiF, 300, 145);
WMResizeWidget(panel->maxiF, 205, 95);
WMMoveWidget(panel->maxiF, 300, 125);
WMSetFrameTitle(panel->maxiF, _("When maximizing..."));
panel->miconB = WMCreateSwitchButton(panel->maxiF);
WMResizeWidget(panel->miconB, 185, 20);
WMMoveWidget(panel->miconB, 10, 15);
WMSetButtonText(panel->miconB, _("...do not resize over icons"));
WMResizeWidget(panel->miconB, 185, 30);
WMMoveWidget(panel->miconB, 10, 18);
WMSetButtonText(panel->miconB, _("...do not cover icons"));
panel->mdockB = WMCreateSwitchButton(panel->maxiF);
WMResizeWidget(panel->mdockB, 185, 20);
WMMoveWidget(panel->mdockB, 10, 40);
WMResizeWidget(panel->mdockB, 185, 30);
WMMoveWidget(panel->mdockB, 10, 53);
WMSetButtonText(panel->mdockB, _("...do not resize over dock"));
WMSetButtonText(panel->mdockB, _("...do not cover dock"));
WMMapSubwidgets(panel->maxiF);
/**************** Transients On Top ****************/
/**************** Edge Resistance ****************/
panel->resF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->resF, 270, 45);
WMMoveWidget(panel->resF, 20, 125);
WMSetFrameTitle(panel->resF, _("Edge Resistance"));
panel->resS = WMCreateSlider(panel->resF);
WMResizeWidget(panel->resS, 200, 15);
WMMoveWidget(panel->resS, 10, 20);
WMSetSliderMinValue(panel->resS, 0);
WMSetSliderMaxValue(panel->resS, 200);
WMSetSliderAction(panel->resS, resistanceCallback, panel);
panel->resL = WMCreateLabel(panel->resF);
WMResizeWidget(panel->resL, 40, 15);
WMMoveWidget(panel->resL, 220, 20);
WMMapSubwidgets(panel->resF);
/**************** Transients on Parent Workspace ****************/
panel->tranF = WMCreateFrame(panel->frame);
WMResizeWidget(panel->tranF, 270, 40);
WMMoveWidget(panel->tranF, 20, 175);
WMMoveWidget(panel->tranF, 20, 180);
panel->tranB = WMCreateSwitchButton(panel->tranF);
WMMoveWidget(panel->tranB, 10, 5);
WMResizeWidget(panel->tranB, 250, 30);
WMSetButtonText(panel->tranB, _("Open transients in same workspace as their owners"));
WMSetButtonText(panel->tranB, _("Open dialogs in same workspace as their owners"));
WMMapSubwidgets(panel->tranF);

668
WPrefs.app/editmenu.c Normal file
View File

@@ -0,0 +1,668 @@
/* editmenu.c - editable menus
*
* WPrefs - Window Maker Preferences Program
*
* Copyright (c) 1999 Alfredo K. Kojima
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
#include <WINGsP.h>
#include <WUtil.h>
#include <stdlib.h>
#include <assert.h>
#include <ctype.h>
#include "editmenu.h"
typedef struct W_EditMenuItem {
W_Class widgetClass;
WMView *view;
struct W_EditMenu *menu;
char *label;
WMTextField *textField;
struct W_EditMenu *submenu; /* if it's a cascade, NULL otherwise */
} EditMenuItem;
typedef struct W_EditMenu {
W_Class widgetClass;
WMView *view;
struct W_EditMenu *parent;
char *label;
int itemCount;
int itemsAlloced;
struct W_EditMenuItem **items;
int titleHeight;
int itemHeight;
struct W_EditMenu *next;
struct W_EditMenu *prev;
/* item dragging */
int draggedItem;
int dragX, dragY;
} EditMenu;
/******************** WEditMenuItem ********************/
static void destroyEditMenuItem(WEditMenuItem *iPtr);
static void paintEditMenuItem(WEditMenuItem *iPtr);
static void handleItemEvents(XEvent *event, void *data);
static void handleItemActionEvents(XEvent *event, void *data);
static W_ViewProcedureTable WEditMenuItemViewProcedures = {
NULL,
NULL,
NULL
};
static W_Class EditMenuItemClass = 0;
W_Class
InitEditMenuItem(WMScreen *scr)
{
/* register our widget with WINGs and get our widget class ID */
if (!EditMenuItemClass) {
EditMenuItemClass = W_RegisterUserWidget(&WEditMenuItemViewProcedures);
}
return EditMenuItemClass;
}
WEditMenuItem*
WCreateEditMenuItem(WMWidget *parent, char *title)
{
WEditMenuItem *iPtr;
if (!EditMenuItemClass)
InitEditMenuItem(WMWidgetScreen(parent));
iPtr = wmalloc(sizeof(WEditMenuItem));
memset(iPtr, 0, sizeof(WEditMenuItem));
iPtr->widgetClass = EditMenuItemClass;
iPtr->view = W_CreateView(W_VIEW(parent));
if (!iPtr->view) {
free(iPtr);
return NULL;
}
iPtr->view->self = iPtr;
iPtr->label = wstrdup(title);
WMCreateEventHandler(iPtr->view, ExposureMask|StructureNotifyMask,
handleItemEvents, iPtr);
WMCreateEventHandler(iPtr->view, ButtonPressMask, handleItemActionEvents,
iPtr);
return iPtr;
}
static void
paintEditMenuItem(WEditMenuItem *iPtr)
{
WMScreen *scr = WMWidgetScreen(iPtr);
WMColor *black = scr->black;
Window win = W_VIEW(iPtr)->window;
int w = W_VIEW(iPtr)->size.width;
int h = WMFontHeight(scr->normalFont) + 6;
if (!iPtr->view->flags.realized)
return;
XClearWindow(scr->display, win);
W_DrawRelief(scr, win, 0, 0, w+1, h, WRRaised);
WMDrawString(scr, win, W_GC(black), scr->normalFont, 5, 3, iPtr->label,
strlen(iPtr->label));
}
static void
handleItemEvents(XEvent *event, void *data)
{
WEditMenuItem *iPtr = (WEditMenuItem*)data;
switch (event->type) {
case Expose:
if (event->xexpose.count!=0)
break;
paintEditMenuItem(iPtr);
break;
case DestroyNotify:
destroyEditMenuItem(iPtr);
break;
}
}
static void
handleItemActionEvents(XEvent *event, void *data)
{
WEditMenuItem *iPtr = (WEditMenuItem*)data;
switch (event->type) {
case ButtonPress:
break;
}
}
static void
destroyEditMenuItem(WEditMenuItem *iPtr)
{
if (iPtr->label)
free(iPtr->label);
free(iPtr);
}
/******************** WEditMenu *******************/
static WEditMenu *EditMenuList = NULL;
static void destroyEditMenu(WEditMenu *mPtr);
static void paintEditMenu(WEditMenu *mPtr, int y);
static void updateMenuContents(WEditMenu *mPtr);
static void handleEvents(XEvent *event, void *data);
static void handleActionEvents(XEvent *event, void *data);
static void handleItemDrag(XEvent *event, void *data);
static W_ViewProcedureTable WEditMenuViewProcedures = {
NULL,
NULL,
NULL
};
static W_Class EditMenuClass = 0;
W_Class
InitEditMenu(WMScreen *scr)
{
/* register our widget with WINGs and get our widget class ID */
if (!EditMenuClass) {
EditMenuClass = W_RegisterUserWidget(&WEditMenuViewProcedures);
}
return EditMenuClass;
}
typedef struct {
int flags;
int window_style;
int window_level;
int reserved;
Pixmap miniaturize_pixmap; /* pixmap for miniaturize button */
Pixmap close_pixmap; /* pixmap for close button */
Pixmap miniaturize_mask; /* miniaturize pixmap mask */
Pixmap close_mask; /* close pixmap mask */
int extra_flags;
} GNUstepWMAttributes;
#define GSWindowStyleAttr (1<<0)
#define GSWindowLevelAttr (1<<1)
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;
data[2] = attr->window_level;
data[3] = 0; /* reserved */
/* The X protocol says XIDs are 32bit */
data[4] = attr->miniaturize_pixmap;
data[5] = attr->close_pixmap;
data[6] = attr->miniaturize_mask;
data[7] = attr->close_mask;
data[8] = attr->extra_flags;
XChangeProperty(scr->display, window, scr->attribsAtom, scr->attribsAtom,
32, PropModeReplace, (unsigned char *)data, 9);
}
static void
realizeObserver(void *self, WMNotification *not)
{
WEditMenu *menu = (WEditMenu*)self;
GNUstepWMAttributes attribs;
memset(&attribs, 0, sizeof(GNUstepWMAttributes));
attribs.flags = GSWindowStyleAttr|GSWindowLevelAttr;
attribs.window_style = WMBorderlessWindowMask;
attribs.window_level = WMSubmenuWindowLevel;
writeGNUstepWMAttr(WMWidgetScreen(menu), menu->view->window, &attribs);
}
WEditMenu*
WCreateEditMenu(WMScreen *scr, char *title)
{
WEditMenu *mPtr;
if (!EditMenuClass)
InitEditMenu(scr);
mPtr = wmalloc(sizeof(WEditMenu));
memset(mPtr, 0, sizeof(WEditMenu));
mPtr->widgetClass = EditMenuClass;
mPtr->view = W_CreateTopView(scr);
if (!mPtr->view) {
free(mPtr);
return NULL;
}
mPtr->view->self = mPtr;
WMAddNotificationObserver(realizeObserver, mPtr,
WMViewRealizedNotification, mPtr->view);
W_SetViewBackgroundColor(mPtr->view, mPtr->view->screen->darkGray);
mPtr->label = wstrdup(title);
mPtr->itemsAlloced = 10;
mPtr->items = wmalloc(sizeof(WEditMenuItem*)*mPtr->itemsAlloced);
WMCreateEventHandler(mPtr->view, ExposureMask|StructureNotifyMask,
handleEvents, mPtr);
WMCreateEventHandler(mPtr->view, ButtonPressMask,handleActionEvents, mPtr);
updateMenuContents(mPtr);
mPtr->itemHeight = WMFontHeight(scr->normalFont) + 6;
mPtr->titleHeight = WMFontHeight(scr->boldFont) + 8;
mPtr->draggedItem = -1;
mPtr->next = EditMenuList;
if (EditMenuList)
EditMenuList->prev = mPtr;
EditMenuList = mPtr;
return mPtr;
}
WEditMenuItem*
WInsertMenuItemWithTitle(WEditMenu *mPtr, char *title, int index)
{
WEditMenuItem *item;
item = WCreateEditMenuItem(mPtr, title);
item->menu = mPtr;
WMCreateEventHandler(item->view, ButtonPressMask|ButtonReleaseMask
|Button1MotionMask, handleItemDrag, item);
WMMapWidget(item);
if (index < 0)
index = 0;
else if (index > mPtr->itemCount)
index = mPtr->itemCount;
if (mPtr->itemCount == mPtr->itemsAlloced) {
WEditMenuItem *newList;
newList = wmalloc(sizeof(WEditMenuItem*)*(mPtr->itemsAlloced+10));
memset(newList, 0, sizeof(WEditMenuItem*)*(mPtr->itemsAlloced+10));
memcpy(newList, mPtr->items, mPtr->itemsAlloced*sizeof(WEditMenuItem*));
mPtr->itemsAlloced += 10;
free(mPtr->items);
mPtr->items = newList;
}
if (index < mPtr->itemCount) {
memmove(&mPtr->items[index+1], &mPtr->items[index],
sizeof(WEditMenuItem*));
mPtr->items[index] = item;
mPtr->itemCount++;
} else {
mPtr->items[mPtr->itemCount++] = item;
}
updateMenuContents(mPtr);
return item;
}
void
WSetMenuSubmenu(WEditMenu *mPtr, WEditMenu *submenu, WEditMenuItem *item)
{
item->submenu = submenu;
submenu->parent = mPtr;
paintEditMenuItem(item);
}
void
WRemoveMenuItem(WEditMenu *mPtr, WEditMenuItem *item)
{
}
static void
updateMenuContents(WEditMenu *mPtr)
{
WMScreen *scr = WMWidgetScreen(mPtr);
int i;
int newW, newH;
int w;
int iheight = mPtr->itemHeight;
newW = WMWidthOfString(scr->boldFont, mPtr->label,
strlen(mPtr->label)) + 12 + iheight;
newH = mPtr->titleHeight;
for (i = 0; i < mPtr->itemCount; i++) {
w = WMWidthOfString(scr->normalFont, mPtr->items[i]->label,
strlen(mPtr->items[i]->label)) + 5;
if (w > newW)
newW = w;
W_MoveView(mPtr->items[i]->view, 0, newH);
newH += iheight;
}
newH--;
W_ResizeView(mPtr->view, newW, newH);
for (i = 0; i < mPtr->itemCount; i++) {
W_ResizeView(mPtr->items[i]->view, newW, iheight);
}
paintEditMenu(mPtr, -1);
}
static void
paintMenuTitle(WEditMenu *mPtr)
{
WMScreen *scr = WMWidgetScreen(mPtr);
WMColor *black = scr->black;
WMColor *white = scr->white;
Window win = W_VIEW(mPtr)->window;
int w = W_VIEW(mPtr)->size.width;
int h = mPtr->titleHeight;
XFillRectangle(scr->display, win, W_GC(black), 0, 0, w, h);
W_DrawRelief(scr, win, 0, 0, w+1, h, WRRaised);
WMDrawString(scr, win, W_GC(white), scr->boldFont, 5, 4, mPtr->label,
strlen(mPtr->label));
}
static void
paintEditMenu(WEditMenu *mPtr, int y)
{
if (!mPtr->view->flags.realized)
return;
if (y < mPtr->titleHeight || y < 0)
paintMenuTitle(mPtr);
}
static void
handleEvents(XEvent *event, void *data)
{
WEditMenu *mPtr = (WEditMenu*)data;
switch (event->type) {
case Expose:
paintEditMenu(mPtr, event->xexpose.y);
break;
case DestroyNotify:
destroyEditMenu(mPtr);
break;
}
}
static void
handleActionEvents(XEvent *event, void *data)
{
WEditMenu *mPtr = (WEditMenu*)data;
switch (event->type) {
case ButtonPress:
break;
}
}
static void
editItemLabel(WEditMenuItem *iPtr)
{
WMTextField *tPtr;
tPtr = WMCreateTextField(iPtr);
WMResizeWidget(tPtr, iPtr->view->size.width - 20,
iPtr->view->size.height - 3);
WMMoveWidget(tPtr, 4, 1);
WMSetTextFieldBeveled(tPtr, False);
WMMapWidget(tPtr);
WMRealizeWidget(tPtr);
iPtr->textField = tPtr;
}
static void
handleItemDrag(XEvent *event, void *data)
{
WEditMenuItem *iPtr = (WEditMenuItem*)data;
WEditMenu *mPtr = iPtr->menu;
WMScreen *scr = WMWidgetScreen(mPtr);
Bool done = False;
int y;
int i;
int newIdx, oldIdx;
int newY;
switch (event->type) {
case ButtonPress:
if (WMIsDoubleClick(event)) {
editItemLabel(iPtr);
} else if (event->xbutton.button == Button1) {
mPtr->draggedItem = 1;
mPtr->dragX = event->xbutton.x;
mPtr->dragY = event->xbutton.y;
}
return;
case ButtonRelease:
if (event->xbutton.button == Button1) {
mPtr->draggedItem = -1;
}
return;
case MotionNotify:
if (mPtr->draggedItem >= 0) {
if (abs(event->xmotion.y - mPtr->dragY) > 3
|| abs(event->xmotion.x - mPtr->dragX) > 3) {
mPtr->draggedItem = -1;
} else {
return;
}
} else {
return;
}
break;
default:
return;
}
XRaiseWindow(scr->display, iPtr->view->window);
XGrabPointer(scr->display, mPtr->view->window, False,
PointerMotionMask|ButtonReleaseMask|ButtonPressMask
|ButtonPressMask,
GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
y = iPtr->view->pos.y;
while (!done) {
XEvent ev;
WMMaskEvent(scr->display, ButtonReleaseMask|PointerMotionMask
|ExposureMask, &ev);
switch (ev.type) {
case ButtonRelease:
if (ev.xbutton.button == Button1)
done = True;
break;
case MotionNotify:
y = ev.xbutton.y - mPtr->dragY;
if (y < mPtr->titleHeight)
y = mPtr->titleHeight;
else if (y > mPtr->view->size.height - mPtr->itemHeight + 1)
y = mPtr->view->size.height - mPtr->itemHeight + 1;
W_MoveView(iPtr->view, 0, y);
break;
default:
WMHandleEvent(&ev);
break;
}
}
XUngrabPointer(scr->display, CurrentTime);
for (oldIdx = 0; oldIdx < mPtr->itemCount; oldIdx++) {
if (mPtr->items[oldIdx] == iPtr) {
break;
}
}
assert(oldIdx < mPtr->itemCount);
newIdx = (y - mPtr->titleHeight + mPtr->itemHeight/2) / mPtr->itemHeight;
if (newIdx < 0)
newIdx = 0;
else if (newIdx >= mPtr->itemCount)
newIdx = mPtr->itemCount - 1;
newY = mPtr->titleHeight + newIdx * mPtr->itemHeight;
for (i = 0; i <= 15; i++) {
W_MoveView(iPtr->view, 0, ((newY*i)/15 + (y - (y*i)/15)));
XFlush(scr->display);
}
if (oldIdx != newIdx) {
WEditMenuItem *item;
item = mPtr->items[oldIdx];
mPtr->items[oldIdx] = mPtr->items[newIdx];
mPtr->items[newIdx] = item;
updateMenuContents(mPtr);
}
}
static void
destroyEditMenu(WEditMenu *mPtr)
{
WMRemoveNotificationObserver(mPtr);
if (mPtr->next)
mPtr->next->prev = mPtr->prev;
if (mPtr->prev)
mPtr->prev->next = mPtr->next;
if (EditMenuList == mPtr)
EditMenuList = mPtr->next;
if (mPtr->label)
free(mPtr->label);
if (mPtr->items)
free(mPtr->items);
free(mPtr);
}

40
WPrefs.app/editmenu.h Normal file
View File

@@ -0,0 +1,40 @@
/* editmenu.h - editable menus
*
* WPrefs - Window Maker Preferences Program
*
* Copyright (c) 1999 Alfredo K. Kojima
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
typedef struct W_EditMenu WEditMenu;
typedef struct W_EditMenuItem WEditMenuItem;
WEditMenuItem *WCreateEditMenuItem(WMWidget *parent, char *title);
WEditMenu *WCreateEditMenu(WMScreen *scr, char *title);
WEditMenuItem *WInsertMenuItemWithTitle(WEditMenu *mPtr, char *title,
int index);
void WSetMenuSubmenu(WEditMenu *mPtr, WEditMenu *submenu, WEditMenuItem *item);
void WRemoveMenuItem(WEditMenu *mPtr, WEditMenuItem *item);

View File

@@ -149,7 +149,7 @@ main(int argc, char **argv)
if (getenv("NLSPATH"))
bindtextdomain("WPrefs", getenv("NLSPATH"));
else
bindtextdomain("WPrefs", NLSDIR);
bindtextdomain("WPrefs", LOCALEDIR);
textdomain("WPrefs");
if (!XSupportsLocale()) {
@@ -165,7 +165,7 @@ main(int argc, char **argv)
wfatal(_("could not open display %s"), XDisplayName(display_name));
exit(0);
}
#if 0
#if 1
XSynchronize(dpy, 1);
#endif
scr = WMCreateScreen(dpy, DefaultScreen(dpy));

View File

@@ -1,10 +1,10 @@
nlsdir = @NLSDIR@
CATALOGS = @WPMOFILES@
nlsdir = $(DESTDIR)$(NLSDIR)
CLEANFILES = $(CATALOGS)
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po
POTFILES = \
$(top_builddir)/WPrefs.app/Configurations.c \
@@ -45,15 +45,15 @@ WPrefs.pot: $(POTFILES)
install-data-local: $(CATALOGS)
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
chmod 755 $(DESTDIR)$(nlsdir)
$(mkinstalldirs) $(nlsdir)
chmod 755 $(nlsdir)
for n in $(CATALOGS) __DuMmY ; do \
if test "$$n" -a "$$n" != "__DuMmY" ; then \
l=`basename $$n .mo`; \
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
$(INSTALL) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
chmod 755 $(nlsdir)/$$l; \
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
fi; \
done

View File

@@ -62,13 +62,13 @@ host_triplet = @host@
CC = @CC@
CPP_PATH = @CPP_PATH@
DFLAGS = @DFLAGS@
GFXFLAGS = @GFXFLAGS@
GFXLFLAGS = @GFXLFLAGS@
GFXLIBS = @GFXLIBS@
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
ICONEXT = @ICONEXT@
INTLIBS = @INTLIBS@
LD = @LD@
LIBPL = @LIBPL@
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
LIBTOOL = @LIBTOOL@
LITE = @LITE@
LN_S = @LN_S@
@@ -87,13 +87,13 @@ XLIBS = @XLIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
wprefsdir = @wprefsdir@
nlsdir = @NLSDIR@
CATALOGS = @WPMOFILES@
nlsdir = $(DESTDIR)$(NLSDIR)
CLEANFILES = $(CATALOGS)
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.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
@@ -219,15 +219,15 @@ WPrefs.pot: $(POTFILES)
fi
install-data-local: $(CATALOGS)
$(mkinstalldirs) $(DESTDIR)$(nlsdir)
chmod 755 $(DESTDIR)$(nlsdir)
$(mkinstalldirs) $(nlsdir)
chmod 755 $(nlsdir)
for n in $(CATALOGS) __DuMmY ; do \
if test "$$n" -a "$$n" != "__DuMmY" ; then \
l=`basename $$n .mo`; \
$(mkinstalldirs) $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
chmod 755 $(DESTDIR)$(nlsdir)/$$l; \
chmod 755 $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES; \
$(INSTALL) -m 644 $$n $(DESTDIR)$(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
$(mkinstalldirs) $(nlsdir)/$$l/LC_MESSAGES; \
chmod 755 $(nlsdir)/$$l; \
chmod 755 $(nlsdir)/$$l/LC_MESSAGES; \
$(INSTALL_DATA) -m 644 $$n $(nlsdir)/$$l/LC_MESSAGES/WPrefs.mo; \
fi; \
done

View File

@@ -10,3 +10,4 @@ fr.po French Bastien NOCERA <hadess@writeme.com>
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>

View File

@@ -5,8 +5,8 @@
# Èt pro 3 20:38:36 CET 1998 David Sauer
msgid ""
msgstr ""
"Project-Id-Version: WPrefs 0.9 (WindowMaker 0.50.x)\n"
"POT-Creation-Date: 1999-01-11 07:20+0100\n"
"Project-Id-Version: WPrefs 0.10 (WindowMaker 0.51.0)\n"
"POT-Creation-Date: 1999-01-29 06:48+0100\n"
"PO-Revision-Date: 1999-01-11 07:37+01:00\n"
"Last-Translator: David Sauer <xsauer@fel.cvut.cz>\n"
"Language-Team: czech <cs@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Transfer-Encoding: unknown\n"
#: ../../WPrefs.app/Configurations.c:142 ../../WPrefs.app/Configurations.c:148
#: ../../WPrefs.app/MouseSettings.c:510 ../../WPrefs.app/WindowHandling.c:274
#: ../../WPrefs.app/MouseSettings.c:526 ../../WPrefs.app/WindowHandling.c:274
#: ../../WPrefs.app/WindowHandling.c:286 ../../WPrefs.app/Workspace.c:71
#: ../../WPrefs.app/Workspace.c:77
#, c-format
@@ -45,10 +45,10 @@ msgstr "Rychlost zm
#: ../../WPrefs.app/MenuPreferences.c:135
#: ../../WPrefs.app/MenuPreferences.c:146
#: ../../WPrefs.app/MenuPreferences.c:174
#: ../../WPrefs.app/MenuPreferences.c:189 ../../WPrefs.app/MouseSettings.c:538
#: ../../WPrefs.app/MouseSettings.c:549 ../../WPrefs.app/MouseSettings.c:604
#: ../../WPrefs.app/MouseSettings.c:615 ../../WPrefs.app/MouseSettings.c:651
#: ../../WPrefs.app/MouseSettings.c:666 ../../WPrefs.app/MouseSettings.c:682
#: ../../WPrefs.app/MenuPreferences.c:189 ../../WPrefs.app/MouseSettings.c:554
#: ../../WPrefs.app/MouseSettings.c:565 ../../WPrefs.app/MouseSettings.c:627
#: ../../WPrefs.app/MouseSettings.c:638 ../../WPrefs.app/MouseSettings.c:674
#: ../../WPrefs.app/MouseSettings.c:689 ../../WPrefs.app/MouseSettings.c:705
#: ../../WPrefs.app/WPrefs.c:403 ../../WPrefs.app/WPrefs.c:421
#, c-format
msgid "could not load icon file %s"
@@ -84,7 +84,7 @@ msgstr "Ditherovat na 8bpp"
#: ../../WPrefs.app/Configurations.c:369
msgid "Disable dithering in any visual/depth"
msgstr "Zak jakékoli ditherování"
msgstr "Zakázat jakékoli ditherování"
#: ../../WPrefs.app/Configurations.c:390
msgid "More colors for applications"
@@ -112,7 +112,7 @@ msgstr "Pou
#: ../../WPrefs.app/Expert.c:73
msgid "Disable cycling color highlighting of icons."
msgstr "Zak rotaci barev pøi zvýraznìní ikon"
msgstr "Zakázat rotaci barev pro zvýraznìní ikon"
#: ../../WPrefs.app/Expert.c:103
msgid "Expert User Preferences"
@@ -132,9 +132,7 @@ msgstr "chybn
msgid ""
"Click on the window to set\n"
"keyboard input focus."
msgstr ""
"Click on the window to set\n"
"keyboard input focus."
msgstr "«uk my¹í zamìøí okno."
#: ../../WPrefs.app/Focus.c:194
msgid ""
@@ -142,7 +140,7 @@ msgid ""
"the window under the mouse pointer,\n"
"including the root window."
msgstr ""
"Nastav zamìøení vstupu\n"
"Nastaví zamìøení vstupu\n"
"na okno pod ukazatelem my¹i.\n"
"(vèetnì hlavního okna)"
@@ -152,7 +150,7 @@ msgid ""
"the window under the mouse pointer,\n"
"except the root window."
msgstr ""
"Nastav zamìøení vstupu\n"
"Nastaví zamìøení vstupu\n"
"na okno pod ukazatelem my¹i.\n"
"(mimo hlavního okna)"
@@ -222,7 +220,7 @@ msgstr "V
#: ../../WPrefs.app/Icons.c:238
msgid "3D-flipping"
msgstr "3D-salta"
msgstr "3D salta"
#: ../../WPrefs.app/Icons.c:239
msgid "None"
@@ -230,7 +228,7 @@ msgstr "
#: ../../WPrefs.app/Icons.c:247
msgid "Icon Display"
msgstr "Zobrazení Ikony"
msgstr "Zobrazení ikon"
#: ../../WPrefs.app/Icons.c:252
msgid "Auto-arrange icons"
@@ -258,14 +256,14 @@ msgstr "Rychlost opakov
#: ../../WPrefs.app/KeyboardSettings.c:153
msgid "Type here to test"
msgstr "Zkuste klávesnici zde"
msgstr "Zkuste zde"
#: ../../WPrefs.app/KeyboardSettings.c:172
msgid "Keyboard Preferences"
msgstr "Nastavení klávesnice"
#: ../../WPrefs.app/KeyboardShortcuts.c:183 ../../WPrefs.app/Menu.c:932
#: ../../WPrefs.app/Menu.c:1299 ../../WPrefs.app/MenuGuru.c:263
#: ../../WPrefs.app/KeyboardShortcuts.c:183 ../../WPrefs.app/Menu.c:934
#: ../../WPrefs.app/MenuGuru.c:263
msgid "Cancel"
msgstr "Nic"
@@ -274,8 +272,8 @@ msgid "Press the desired shortcut key(s) or click Cancel to stop capturing."
msgstr "Stisknìte po¾adované klávesy nebo pou¾ijete \"Nic\"."
#: ../../WPrefs.app/KeyboardShortcuts.c:204
#: ../../WPrefs.app/KeyboardShortcuts.c:444 ../../WPrefs.app/Menu.c:944
#: ../../WPrefs.app/Menu.c:1166
#: ../../WPrefs.app/KeyboardShortcuts.c:444 ../../WPrefs.app/Menu.c:946
#: ../../WPrefs.app/Menu.c:1168
msgid "Capture"
msgstr "Snímat"
@@ -342,7 +340,7 @@ msgstr "P
#: ../../WPrefs.app/KeyboardShortcuts.c:388
msgid "Select active window"
msgstr "Vyber okno"
msgstr "Vybrat okno"
#: ../../WPrefs.app/KeyboardShortcuts.c:389
msgid "Focus next window"
@@ -370,43 +368,43 @@ msgstr "P
#: ../../WPrefs.app/KeyboardShortcuts.c:395
msgid "Switch to workspace 1"
msgstr "Pøepni na plochu 1"
msgstr "Pøepnout na plochu 1"
#: ../../WPrefs.app/KeyboardShortcuts.c:396
msgid "Switch to workspace 2"
msgstr "Pøepni na plochu 2"
msgstr "Pøepnout na plochu 2"
#: ../../WPrefs.app/KeyboardShortcuts.c:397
msgid "Switch to workspace 3"
msgstr "Pøepni na plochu 3"
msgstr "Pøepnout na plochu 3"
#: ../../WPrefs.app/KeyboardShortcuts.c:398
msgid "Switch to workspace 4"
msgstr "Pøepni na plochu 4"
msgstr "Pøepnout na plochu 4"
#: ../../WPrefs.app/KeyboardShortcuts.c:399
msgid "Switch to workspace 5"
msgstr "Pøepni na plochu 5"
msgstr "Pøepnout na plochu 5"
#: ../../WPrefs.app/KeyboardShortcuts.c:400
msgid "Switch to workspace 6"
msgstr "Pøepni na plochu 6"
msgstr "Pøepnout na plochu 6"
#: ../../WPrefs.app/KeyboardShortcuts.c:401
msgid "Switch to workspace 7"
msgstr "Pøepni na plochu 7"
msgstr "Pøepnout na plochu 7"
#: ../../WPrefs.app/KeyboardShortcuts.c:402
msgid "Switch to workspace 8"
msgstr "Pøepni na plochu 8"
msgstr "Pøepnout na plochu 8"
#: ../../WPrefs.app/KeyboardShortcuts.c:403
msgid "Switch to workspace 9"
msgstr "Pøepni na plochu 9"
msgstr "Pøepnout na plochu 9"
#: ../../WPrefs.app/KeyboardShortcuts.c:404
msgid "Switch to workspace 10"
msgstr "Pøepni na plochu 10"
msgstr "Pøepnout na plochu 10"
#: ../../WPrefs.app/KeyboardShortcuts.c:405
msgid "Shortcut for window 1"
@@ -438,15 +436,15 @@ msgstr "Sponku v
#: ../../WPrefs.app/KeyboardShortcuts.c:413
msgid "Toggle keyboard language"
msgstr "Nastavit jazyk pro klávesnici"
msgstr "Zmìnit klávesnici"
#: ../../WPrefs.app/KeyboardShortcuts.c:427 ../../WPrefs.app/Menu.c:1155
#: ../../WPrefs.app/KeyboardShortcuts.c:427 ../../WPrefs.app/Menu.c:1157
msgid "Shortcut"
msgstr "Zkratka"
#: ../../WPrefs.app/KeyboardShortcuts.c:438
msgid "Clear"
msgstr "Vyma¾"
msgstr "Vymazat"
#: ../../WPrefs.app/KeyboardShortcuts.c:499
msgid "Keyboard Shortcut Preferences"
@@ -460,7 +458,7 @@ msgstr "Mana
msgid "Program to open files"
msgstr "Program na otvírání souborù"
#: ../../WPrefs.app/Menu.c:377 ../../WPrefs.app/Menu.c:1142
#: ../../WPrefs.app/Menu.c:377 ../../WPrefs.app/Menu.c:1144
msgid "Program to Run"
msgstr "Spustit program"
@@ -481,150 +479,175 @@ msgstr "Extern
msgid "Workspaces"
msgstr "Pracovní plochy"
#: ../../WPrefs.app/Menu.c:1026 ../../WPrefs.app/Menu.c:1041
#: ../../WPrefs.app/Menu.c:1028 ../../WPrefs.app/Menu.c:1043
msgid "Commands"
msgstr "Pøíkazy"
#: ../../WPrefs.app/Menu.c:1027 ../../WPrefs.app/Menu.c:1042
#: ../../WPrefs.app/Menu.c:1029 ../../WPrefs.app/Menu.c:1044
msgid "Add Command"
msgstr "Pøidat pøíkaz"
#: ../../WPrefs.app/Menu.c:1028 ../../WPrefs.app/Menu.c:1043
#: ../../WPrefs.app/Menu.c:1030 ../../WPrefs.app/Menu.c:1045
msgid "Add Submenu"
msgstr "Pøidat podmenu"
#: ../../WPrefs.app/Menu.c:1029 ../../WPrefs.app/Menu.c:1044
#: ../../WPrefs.app/Menu.c:1031 ../../WPrefs.app/Menu.c:1046
msgid "Add External Menu"
msgstr "Pøidat externí menu"
#: ../../WPrefs.app/Menu.c:1030 ../../WPrefs.app/Menu.c:1045
#: ../../WPrefs.app/Menu.c:1032 ../../WPrefs.app/Menu.c:1047
msgid "Add Workspace Menu"
msgstr "Pøidat menu ploch"
#: ../../WPrefs.app/Menu.c:1031 ../../WPrefs.app/Menu.c:1046
msgid "Remove Item"
msgstr "Odstraò polo¾ku"
#: ../../WPrefs.app/Menu.c:1032 ../../WPrefs.app/Menu.c:1047
msgid "Cut Item"
msgstr "Vyøízni polo¾ku"
#: ../../WPrefs.app/Menu.c:1033 ../../WPrefs.app/Menu.c:1048
msgid "Copy Item"
msgstr "Zkopíruj polo¾ku"
msgid "Remove Item"
msgstr "Odstranit polo¾ku"
#: ../../WPrefs.app/Menu.c:1034 ../../WPrefs.app/Menu.c:1049
msgid "Paste Item"
msgstr "Vlo¾ polo¾ku"
msgid "Cut Item"
msgstr "Vyøíznout polo¾ku"
#: ../../WPrefs.app/Menu.c:1078
#: ../../WPrefs.app/Menu.c:1035 ../../WPrefs.app/Menu.c:1050
msgid "Copy Item"
msgstr "Zkopírovat polo¾ku"
#: ../../WPrefs.app/Menu.c:1036 ../../WPrefs.app/Menu.c:1051
msgid "Paste Item"
msgstr "Vlo¾it polo¾ku"
#: ../../WPrefs.app/Menu.c:1080
msgid "Label"
msgstr "Oznaèení"
#: ../../WPrefs.app/Menu.c:1091
#: ../../WPrefs.app/Menu.c:1093
msgid "Command"
msgstr "Pøíkaz"
#: ../../WPrefs.app/Menu.c:1096
msgid "Run Program"
msgstr "Spus» program"
#: ../../WPrefs.app/Menu.c:1097
msgid "Arrange Icons"
msgstr "Srovnej ikony"
#: ../../WPrefs.app/Menu.c:1098
msgid "Hide Others"
msgstr "Skryj ostatní"
msgid "Run Program"
msgstr "Spustit program"
#: ../../WPrefs.app/Menu.c:1099
msgid "Show All Windows"
msgstr "Uka¾ v¹echna okna"
msgid "Arrange Icons"
msgstr "Srovnat ikony"
#: ../../WPrefs.app/Menu.c:1100
msgid "Hide Others"
msgstr "Skrýt ostatní"
#: ../../WPrefs.app/Menu.c:1101
msgid "Show All Windows"
msgstr "Ukázat v¹echna okna"
#: ../../WPrefs.app/Menu.c:1102
msgid "Exit WindowMaker"
msgstr "Ukonèit mana¾era oken"
#: ../../WPrefs.app/Menu.c:1101
#: ../../WPrefs.app/Menu.c:1103
msgid "Exit X Session"
msgstr "Ukonèit sezení X"
#: ../../WPrefs.app/Menu.c:1102
msgid "Start window manager"
msgstr "Odstartovat mana¾er oken"
#: ../../WPrefs.app/Menu.c:1103
msgid "Restart WindowMaker"
msgstr "RestartWindowMakeru"
#: ../../WPrefs.app/Menu.c:1104
msgid "Start window manager"
msgstr "Odstartovat jiný mana¾er"
#: ../../WPrefs.app/Menu.c:1105
msgid "Restart WindowMaker"
msgstr "Restart WindowMakeru"
#: ../../WPrefs.app/Menu.c:1106
msgid "Save Session"
msgstr "Ulo¾it stav sezení"
#: ../../WPrefs.app/Menu.c:1105
#: ../../WPrefs.app/Menu.c:1107
msgid "Clear Session"
msgstr "Vymazat sezení"
#: ../../WPrefs.app/Menu.c:1106
#: ../../WPrefs.app/Menu.c:1108
msgid "Refresh Screen"
msgstr "Obnovit obrazovku"
#: ../../WPrefs.app/Menu.c:1107
#: ../../WPrefs.app/Menu.c:1109
msgid "Info Panel"
msgstr "Informace"
#: ../../WPrefs.app/Menu.c:1108
#: ../../WPrefs.app/Menu.c:1110
msgid "Legal Panel"
msgstr "Copyright"
#: ../../WPrefs.app/Menu.c:1116
#: ../../WPrefs.app/Menu.c:1118
msgid "Open workspace menu"
msgstr "Otevøít menu ploch"
#: ../../WPrefs.app/Menu.c:1123
#: ../../WPrefs.app/Menu.c:1125
msgid "No confirmation panel"
msgstr "Bez ukonèovacího dialogu"
#: ../../WPrefs.app/Menu.c:1129
#: ../../WPrefs.app/Menu.c:1131
msgid "Menu Path/Directory List"
msgstr "Cesta k menu/adresáø"
#: ../../WPrefs.app/Menu.c:1174
#: ../../WPrefs.app/Menu.c:1176
msgid "Ask help to the Guru"
msgstr "Zeptat se Mistra"
#: ../../WPrefs.app/Menu.c:1294
msgid ""
"The format of the current menu in ~/G/D/WMRootMenu is not supported by "
"WPrefs. A new menu will be created.\n"
"You can also replace ~/G/D/WMRootMenu with ~/G/L/W/plmenu to get the default "
"menu."
msgstr ""
"Aktuální formát menu v ~/G/D/WMRootMenu není podporován programem WPrefs. "
"Bude vytvoøeno nové menu.\n"
"Standardní menu získáte pøíkazem \"cp ~/G/L/W/plmenu ~/G/D/WMRootMenu\"."
#. if there is a localized plmenu for the tongue put it's filename here
#: ../../WPrefs.app/Menu.c:1287 ../../WPrefs.app/Menu.c:1294
#, c-format
msgid "%s/Library/WindowMaker/plmenu"
msgstr "%s/Library/WindowMaker/plmenu"
#: ../../WPrefs.app/Menu.c:1299 ../../WPrefs.app/Menu.c:1304
#: ../../WPrefs.app/Menu.c:1302 ../../WPrefs.app/MouseSettings.c:146
#: ../../WPrefs.app/MouseSettings.c:169 ../../WPrefs.app/Text.c:181
#: ../../WPrefs.app/Themes.c:96 ../../WPrefs.app/WPrefs.c:558
#: ../../WPrefs.app/WPrefs.c:563 ../../WPrefs.app/WPrefs.c:572
#: ../../WPrefs.app/WPrefs.c:582 ../../WPrefs.app/WPrefs.c:590
#: ../../WPrefs.app/WPrefs.c:614 ../../WPrefs.app/WPrefs.c:619
msgid "Error"
msgstr "Chyba"
#: ../../WPrefs.app/Menu.c:1302
msgid "Could not copy default plmenu file from ~/GNUstep/Library/WindowMaker"
msgstr "Standardní menu nelze ze souboru plmenu z adresáøe ~/GNUstep/Library/WindowMaker nainstalovat"
#: ../../WPrefs.app/Menu.c:1304 ../../WPrefs.app/Menu.c:1354
#: ../../WPrefs.app/MenuGuru.c:119 ../../WPrefs.app/MenuGuru.c:126
#: ../../WPrefs.app/MenuGuru.c:140 ../../WPrefs.app/MouseSettings.c:148
#: ../../WPrefs.app/MouseSettings.c:171 ../../WPrefs.app/Text.c:181
#: ../../WPrefs.app/Themes.c:98 ../../WPrefs.app/WPrefs.c:558
#: ../../WPrefs.app/WPrefs.c:563 ../../WPrefs.app/WPrefs.c:574
#: ../../WPrefs.app/WPrefs.c:584 ../../WPrefs.app/WPrefs.c:590
#: ../../WPrefs.app/WPrefs.c:597 ../../WPrefs.app/WPrefs.c:614
#: ../../WPrefs.app/WPrefs.c:619
msgid "OK"
msgstr "OK"
#: ../../WPrefs.app/Menu.c:1339
msgid ""
"The format of the menu in ~/G/D/WMRootMenu is not recognized by WPrefs. It "
"might be in a format different than the one supported by WPrefs or contain a "
"syntax error. Do you want to continue using the current menu to edit it by "
"hand later or replace it with a default menu in the new format?"
msgstr "Formát menu v souboru ~/G/D/WMRootMenu nebyl rozposnán. Mù¾e být rozdílný od podporovaných formátù, nebo mù¾e obsahovat syntaktickou chybu. Chcete pokraèovat s pou¾itím souèasného menu a opravit ho pozdìji, nebo má být nainstalováno menu v novém formátu ?"
#: ../../WPrefs.app/Menu.c:1346 ../../WPrefs.app/Menu.c:1353
#: ../../WPrefs.app/WPrefs.c:597
msgid "Warning"
msgstr "Varování"
#: ../../WPrefs.app/Menu.c:1299 ../../WPrefs.app/Menu.c:1305
#: ../../WPrefs.app/MenuGuru.c:119 ../../WPrefs.app/MenuGuru.c:126
#: ../../WPrefs.app/MenuGuru.c:140 ../../WPrefs.app/MouseSettings.c:156
#: ../../WPrefs.app/Text.c:181 ../../WPrefs.app/Themes.c:98
#: ../../WPrefs.app/WPrefs.c:558 ../../WPrefs.app/WPrefs.c:563
#: ../../WPrefs.app/WPrefs.c:574 ../../WPrefs.app/WPrefs.c:584
#: ../../WPrefs.app/WPrefs.c:590 ../../WPrefs.app/WPrefs.c:597
#: ../../WPrefs.app/WPrefs.c:614 ../../WPrefs.app/WPrefs.c:619
msgid "OK"
msgstr "OK"
#: ../../WPrefs.app/Menu.c:1346
msgid "Keep current menu"
msgstr "Ponechat aktuální menu"
#: ../../WPrefs.app/Menu.c:1304
#: ../../WPrefs.app/Menu.c:1347
msgid "Install default menu"
msgstr "Instalovat standardní menu"
#: ../../WPrefs.app/Menu.c:1353
msgid "Any changes made in this section will not be saved"
msgstr "Jakékoli zmìny v této sekci budou zru¹eny"
#: ../../WPrefs.app/Menu.c:1369
#: ../../WPrefs.app/Menu.c:1419
msgid "Applications Menu Definition"
msgstr "Definice menu aplikací"
@@ -754,7 +777,7 @@ msgstr "Rychlost posunu menu"
#: ../../WPrefs.app/MenuPreferences.c:161
msgid "Submenu Alignment"
msgstr "Zarovnání submenu"
msgstr "Zarovnání podmenu"
#: ../../WPrefs.app/MenuPreferences.c:204
msgid ""
@@ -772,20 +795,11 @@ msgstr "Posouvat menu p
msgid "Menu Preferences"
msgstr "Nastavení menu"
#: ../../WPrefs.app/MouseSettings.c:148
#, c-format
msgid "Accel.: %.2f"
msgstr "Zrychl.: %.2f"
#: ../../WPrefs.app/MouseSettings.c:147
msgid "Invalid mouse acceleration value. Must be a positive real value."
msgstr "Chybná hodnota pro zrychlení my¹i. Má být kladné reálné èíslo."
#: ../../WPrefs.app/MouseSettings.c:154 ../../WPrefs.app/Text.c:181
#: ../../WPrefs.app/Themes.c:96 ../../WPrefs.app/WPrefs.c:558
#: ../../WPrefs.app/WPrefs.c:563 ../../WPrefs.app/WPrefs.c:572
#: ../../WPrefs.app/WPrefs.c:582 ../../WPrefs.app/WPrefs.c:590
#: ../../WPrefs.app/WPrefs.c:614 ../../WPrefs.app/WPrefs.c:619
msgid "Error"
msgstr "Chyba"
#: ../../WPrefs.app/MouseSettings.c:155
#: ../../WPrefs.app/MouseSettings.c:170
msgid ""
"Invalid mouse acceleration threshold value. Must be the number of pixels to "
"travel before accelerating."
@@ -793,18 +807,18 @@ msgstr ""
"Chybná hodnota pro práh zrychlení my¹i. Zadejte èíslo oznaèující poèet "
"pixelù pøed akcelarecí."
#: ../../WPrefs.app/MouseSettings.c:209
#: ../../WPrefs.app/MouseSettings.c:225
#, c-format
msgid "mouse button %s not supported by WPrefs."
msgstr "tlaèítko my¹i %s není podporováno."
#: ../../WPrefs.app/MouseSettings.c:243 ../../WPrefs.app/MouseSettings.c:254
#: ../../WPrefs.app/MouseSettings.c:265
#: ../../WPrefs.app/MouseSettings.c:259 ../../WPrefs.app/MouseSettings.c:270
#: ../../WPrefs.app/MouseSettings.c:281
#, c-format
msgid "bad value %s for option %s"
msgstr "chybná hodnota %s pro volbu %s"
#: ../../WPrefs.app/MouseSettings.c:325
#: ../../WPrefs.app/MouseSettings.c:341
#, c-format
msgid ""
"modifier key %s for option ModifierKey was not recognized. Using %s as "
@@ -812,66 +826,70 @@ msgid ""
msgstr ""
"modifikátor klávesy %s pro volbu \"ModifierKey\" není znám. Pou¾ívám %s."
#: ../../WPrefs.app/MouseSettings.c:350
#: ../../WPrefs.app/MouseSettings.c:366
msgid "could not retrieve keyboard modifier mapping"
msgstr "nelze pøevzít mapování modifikátorù kláves"
#: ../../WPrefs.app/MouseSettings.c:497
#: ../../WPrefs.app/MouseSettings.c:513
msgid "Mouse Speed"
msgstr "Rychlost my¹i"
#: ../../WPrefs.app/MouseSettings.c:564
#: ../../WPrefs.app/MouseSettings.c:575
msgid "Acceler.:"
msgstr "Zrychl.:"
#: ../../WPrefs.app/MouseSettings.c:587
msgid "Threshold:"
msgstr "Mez:"
#: ../../WPrefs.app/MouseSettings.c:579
#: ../../WPrefs.app/MouseSettings.c:602
msgid "Double-Click Delay"
msgstr "Prodleva pro dvojité »uknutí"
#: ../../WPrefs.app/MouseSettings.c:623
#: ../../WPrefs.app/MouseSettings.c:646
msgid "Test"
msgstr "Test"
#: ../../WPrefs.app/MouseSettings.c:633
#: ../../WPrefs.app/MouseSettings.c:656
msgid "Workspace Mouse Actions"
msgstr "Akce my¹í"
#: ../../WPrefs.app/MouseSettings.c:638
#: ../../WPrefs.app/MouseSettings.c:661
msgid "Disable mouse actions"
msgstr "Zaka¾ akce my¹í"
#: ../../WPrefs.app/MouseSettings.c:691
#: ../../WPrefs.app/MouseSettings.c:714
msgid "Applications menu"
msgstr "Menu aplikací"
#: ../../WPrefs.app/MouseSettings.c:697
#: ../../WPrefs.app/MouseSettings.c:720
msgid "Window list menu"
msgstr "Seznam oken"
#: ../../WPrefs.app/MouseSettings.c:703
#: ../../WPrefs.app/MouseSettings.c:726
msgid "Select windows"
msgstr "Vyber okna"
msgstr "Vyberte okna"
#: ../../WPrefs.app/MouseSettings.c:738
#: ../../WPrefs.app/MouseSettings.c:761
msgid "Mouse Grab Modifier"
msgstr "Modifikátor pro my¹"
#: ../../WPrefs.app/MouseSettings.c:772
#: ../../WPrefs.app/MouseSettings.c:795
#, c-format
msgid "could not create %s"
msgstr "nelze vytvoøit \"%s\""
#: ../../WPrefs.app/MouseSettings.c:788
#: ../../WPrefs.app/MouseSettings.c:811
#, c-format
msgid "could not create temporary file %s"
msgstr "nelze vytvoøit doèasný soubor %s"
#: ../../WPrefs.app/MouseSettings.c:813
#: ../../WPrefs.app/MouseSettings.c:836
#, c-format
msgid "could not rename file %s to %s\n"
msgstr "soubor %s nelze pøejmenovat na %s\n"
#: ../../WPrefs.app/MouseSettings.c:896
#: ../../WPrefs.app/MouseSettings.c:919
msgid "Mouse Preferences"
msgstr "Nastavení my¹i"
@@ -937,7 +955,7 @@ msgstr "nekompletn
#: ../../WPrefs.app/Preferences.c:190
msgid "miniwindow titles"
msgstr "ikony"
msgstr "titulky minioken"
#: ../../WPrefs.app/Preferences.c:191
msgid "application/dock icons"
@@ -949,7 +967,7 @@ msgstr "P
#: ../../WPrefs.app/Preferences.c:210
msgid "Keep keyboard language status for each window."
msgstr "Pro ka¾dé okno pamatovat nastavení jazyka."
msgstr "Pro ka¾dé okno pamatovat nastavení klávesnice."
#: ../../WPrefs.app/Preferences.c:231
msgid "Miscellaneous Ergonomic Preferences"
@@ -978,7 +996,7 @@ msgstr "Font polo
#: ../../WPrefs.app/Text.c:265
msgid "Icon Title Font"
msgstr "Font titulkù ikon"
msgstr "Font titulku ikon"
#: ../../WPrefs.app/Text.c:266
msgid "Clip Title Font"
@@ -1185,11 +1203,11 @@ msgstr "V
#: ../../WPrefs.app/WPrefs.c:237
msgid "Save"
msgstr "Ulo¾"
msgstr "Ulo¾it"
#: ../../WPrefs.app/WPrefs.c:243
msgid "Close"
msgstr "Uzavøi"
msgstr "Uzavøít"
#: ../../WPrefs.app/WPrefs.c:260
msgid "Window Maker Preferences Utility"
@@ -1222,11 +1240,11 @@ msgstr "nelze naj
#: ../../WPrefs.app/WPrefs.c:474
#, c-format
msgid "could not load image file %s:%s"
msgstr "nelze naèíst soubor sobrázkem %s:%s"
msgstr "nelze naèíst soubor s obrázkem %s:%s"
#: ../../WPrefs.app/WPrefs.c:493
msgid "Loading Window Maker configuration files..."
msgstr "Ètu konfiguraèní soubory Window Makeru"
msgstr "Konfiguraèní soubory Window Makeru se naèítají..."
#: ../../WPrefs.app/WPrefs.c:497
msgid "Initializing configuration panels..."
@@ -1237,7 +1255,10 @@ msgid ""
"WPrefs is free software and is distributed WITHOUT ANY WARRANTY under the "
"terms of the GNU General Public License. Redistribution of the icons in this "
"program separately from the program is prohibited."
msgstr "Program WPrefs je volnì ¹iøitelný software, který je distribuován BEZ JAKÉKOLI ZÁRUKY pod Obecnou Veøejnou Licencí GNU. Redistribuce ikon z tohoto programu bez programu samotného je zakázána."
msgstr ""
"Program WPrefs je volnì ¹iøitelný software, který je distribuován BEZ "
"JAKÉKOLI ZÁRUKY pod Obecnou Veøejnou Licencí GNU. Redistribuce ikon z tohoto "
"programu bez programu samotného není povolena."
#: ../../WPrefs.app/WPrefs.c:557 ../../WPrefs.app/WPrefs.c:613
#, c-format
@@ -1261,7 +1282,9 @@ msgstr "Zajist
msgid ""
"Could not extract version from Window Maker. Make sure it is correctly "
"installed and is in your PATH environment variable."
msgstr "Od Window Makeru nelze získat èíslo verze. Zjistìte, je-li správnì instalován a je v prohledávaných adresáøích."
msgstr ""
"Od Window Makeru nelze získat èíslo verze. Zjistìte, je-li správnì "
"instalován a je v prohledávaných adresáøích."
#: ../../WPrefs.app/WPrefs.c:583
msgid ""
@@ -1290,8 +1313,8 @@ msgstr ""
"podporován."
#: ../../WPrefs.app/WPrefs.c:602
msgid "could not run \"wmaker -global_defaults_path\"."
msgstr "nelze provést \"wmaker -global_defaults_path\""
msgid "could not run \"wmaker --global_defaults_path\"."
msgstr "nelze provést \"wmaker --global_defaults_path\""
#: ../../WPrefs.app/WPrefs.c:617
#, c-format
@@ -1357,8 +1380,8 @@ msgid "...do not resize over dock"
msgstr "... nezvìt¹ovat pøes dok"
#: ../../WPrefs.app/WindowHandling.c:320
msgid "Keep transients above their owners"
msgstr "Dialogy dr¾et nad vlastníky"
msgid "Open transients in same workspace as their owners"
msgstr "Otevøít dialogy na stejné plo¹e, jako je vlastník"
#: ../../WPrefs.app/WindowHandling.c:347
msgid "Window Handling Preferences"
@@ -1376,11 +1399,11 @@ msgstr "t
msgid ""
"switch to first workspace when switching past the last workspace and "
"vice-versa"
msgstr "za poslední plochou pøepni opìt na první a opaènì"
msgstr "za poslední plochou pøepnout na první a opaènì"
#: ../../WPrefs.app/Workspace.c:210
msgid "create a new workspace when switching past the last workspace."
msgstr "za poslední plochou vytvoø pøi pøepnutí novou."
msgstr "za poslední plochou vytvoøit pøi pøepnutí novou."
#: ../../WPrefs.app/Workspace.c:218
msgid "Dock/Clip"
@@ -1388,43 +1411,47 @@ msgstr "Dok/Sponka"
#: ../../WPrefs.app/Workspace.c:287
msgid "Workspace Preferences"
msgstr "Nastavení pracovní plochy "
msgstr "Nastavení pracovní plochy"
#: ../../WPrefs.app/main.c:72
#: ../../WPrefs.app/main.c:71
#, c-format
msgid "usage: %s [options]\n"
msgstr "pou¾ití: %s [volby]\n"
#: ../../WPrefs.app/main.c:73
#: ../../WPrefs.app/main.c:72
msgid "options:"
msgstr "volby:"
#: ../../WPrefs.app/main.c:74
#: ../../WPrefs.app/main.c:73
msgid " -display <display>\tdisplay to be used"
msgstr " -display <display>\tkterý display pou¾ít"
#: ../../WPrefs.app/main.c:75
msgid " -version\t\tprint version number and exit"
msgstr " -version\t\tzobraz verzi a konec"
#: ../../WPrefs.app/main.c:74
msgid " --version\t\tprint version number and exit"
msgstr " --version\t\tzobraz verzi a konec"
#: ../../WPrefs.app/main.c:132
#: ../../WPrefs.app/main.c:75
msgid " --help\t\tprint this message and exit"
msgstr " --help\t\tzobraz nápovìdu a konec"
#: ../../WPrefs.app/main.c:134
#, c-format
msgid "too few arguments for %s"
msgstr "nedostatek argumetù pro %s"
#: ../../WPrefs.app/main.c:154
#: ../../WPrefs.app/main.c:156
msgid "X server does not support locale"
msgstr "X server nepodporuje nastavení místních zvyklostí"
#: ../../WPrefs.app/main.c:157
#: ../../WPrefs.app/main.c:159
msgid "cannot set locale modifiers"
msgstr "nelze nastavit modifikátory místních zvyklostí"
#: ../../WPrefs.app/main.c:163
#: ../../WPrefs.app/main.c:165
#, c-format
msgid "could not open display %s"
msgstr "nelze otevøít displej %s"
#: ../../WPrefs.app/main.c:171
#: ../../WPrefs.app/main.c:173
msgid "could not initialize application"
msgstr "nelze inicializovat aplikaci"

File diff suppressed because it is too large Load Diff

1455
WPrefs.app/po/zh_TW.Big5.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -62,13 +62,13 @@ host_triplet = @host@
CC = @CC@
CPP_PATH = @CPP_PATH@
DFLAGS = @DFLAGS@
GFXFLAGS = @GFXFLAGS@
GFXLFLAGS = @GFXLFLAGS@
GFXLIBS = @GFXLIBS@
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
ICONEXT = @ICONEXT@
INTLIBS = @INTLIBS@
LD = @LD@
LIBPL = @LIBPL@
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
LIBTOOL = @LIBTOOL@
LITE = @LITE@
LN_S = @LN_S@

View File

@@ -62,13 +62,13 @@ host_triplet = @host@
CC = @CC@
CPP_PATH = @CPP_PATH@
DFLAGS = @DFLAGS@
GFXFLAGS = @GFXFLAGS@
GFXLFLAGS = @GFXLFLAGS@
GFXLIBS = @GFXLIBS@
HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@
ICONEXT = @ICONEXT@
INTLIBS = @INTLIBS@
LD = @LD@
LIBPL = @LIBPL@
LIBRARY_SEARCH_PATH = @LIBRARY_SEARCH_PATH@
LIBTOOL = @LIBTOOL@
LITE = @LITE@
LN_S = @LN_S@