From 7e07b7b5b933663b0893fcce4e9380cb379eb21d Mon Sep 17 00:00:00 2001 From: kojima Date: Sat, 10 Apr 1999 19:32:34 +0000 Subject: [PATCH] *** empty log message *** --- ChangeLog | 4 + Makefile.in | 54 +- WINGs/wcolorpanel.c | 781 ++++++++++++++++++--------- WPrefs.app/po/Makefile.am | 14 +- WPrefs.app/po/Makefile.in | 2 +- WPrefs.app/po/README | 2 +- WPrefs.app/po/pt.po | 1071 ++++++++++++++++++++++--------------- po/README | 2 +- po/pt.po | 1296 ++++++++++++++++++++++++++++++--------------- src/Makefile.am | 2 + src/Makefile.in | 8 +- src/actions.c | 11 +- src/application.c | 9 +- src/dock.c | 4 - src/event.c | 41 +- src/main.c | 7 +- src/menu.c | 7 +- src/menu.h | 3 + src/startup.c | 8 - src/usermenu.c | 389 ++++++++++++++ src/usermenu.h | 10 + src/wconfig.h.in | 10 +- src/wmsound.c | 54 +- src/wmsound.h | 3 +- util/wmaker.inst.in | 28 +- 25 files changed, 2568 insertions(+), 1252 deletions(-) create mode 100644 src/usermenu.c create mode 100644 src/usermenu.h diff --git a/ChangeLog b/ChangeLog index 084afc04..44f14fa9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,10 @@ Changes since version 0.52.0: - fixed crash bug when hiding apps with appicon disabled - fixed wrong initial workspace # being shown on attributes panel - XSMP updates +- update colorpanel +- applied WMSound patch from "Quinn, Anthony" +- fixed focus bug with unfocusable window (I swear I had fixed that before...) +- applied windoze cycle patch from Paul Warren Changes since version 0.51.2: ............................. diff --git a/Makefile.in b/Makefile.in index 43ea29c1..1f123309 100644 --- a/Makefile.in +++ b/Makefile.in @@ -97,9 +97,9 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ./src/config.h CONFIG_CLEAN_FILES = DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \ -Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 config.guess \ -config.sub configure configure.in install-sh ltconfig ltmain.sh missing \ -mkinstalldirs src/config.h.in src/stamp-h.in +Makefile.in NEWS TODO acinclude.m4 aclocal.m4 config.guess config.sub \ +configure configure.in install-sh ltconfig ltmain.sh missing \ +mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) @@ -123,34 +123,6 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) -src/config.h: src/stamp-h - @if test ! -f $@; then \ - rm -f src/stamp-h; \ - $(MAKE) src/stamp-h; \ - else :; fi -src/stamp-h: $(srcdir)/src/config.h.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=src/config.h \ - $(SHELL) ./config.status - @echo timestamp > src/stamp-h 2> /dev/null -$(srcdir)/src/config.h.in: $(srcdir)/src/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/src/stamp-h.in; \ - $(MAKE) $(srcdir)/src/stamp-h.in; \ - else :; fi -$(srcdir)/src/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/src/stamp-h.in 2> /dev/null - -mostlyclean-hdr: - -clean-hdr: - -distclean-hdr: - -rm -f src/config.h - -maintainer-clean-hdr: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -340,33 +312,33 @@ distclean-generic: -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-tags mostlyclean-generic mostlyclean: mostlyclean-recursive -clean-am: clean-hdr clean-tags clean-generic mostlyclean-am +clean-am: clean-tags clean-generic mostlyclean-am clean: clean-recursive -distclean-am: distclean-hdr distclean-tags distclean-generic clean-am +distclean-am: distclean-tags distclean-generic clean-am -rm -f libtool distclean: distclean-recursive -rm -f config.status -maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ - maintainer-clean-generic distclean-am +maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." maintainer-clean: maintainer-clean-recursive -rm -f config.status -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -install-data-recursive uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ +.PHONY: install-data-recursive uninstall-data-recursive \ +install-exec-recursive uninstall-exec-recursive installdirs-recursive \ +uninstalldirs-recursive all-recursive check-recursive \ +installcheck-recursive info-recursive dvi-recursive \ +mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ diff --git a/WINGs/wcolorpanel.c b/WINGs/wcolorpanel.c index 0f07a587..a22ba4ec 100644 --- a/WINGs/wcolorpanel.c +++ b/WINGs/wcolorpanel.c @@ -2,13 +2,14 @@ * ColorPanel for WINGs * * by ]d : Original idea and basic initial code - * Pascal Hofstee : Code for wheeldrawing and calculating colors from it. + * Pascal Hofstee : Code for wheeldrawing and calculating + * colors from it. * Primary coder of this Color Panel. * Alban Hertroys : Optimizations for algorithms for color- - * wheel. Also custom ColorPalettes and magnifying - * glass. Secondary coder ;) - * Alfredo K. Kojima : For pointing out memory-allocation problems - * and similair code-issues + * wheel. Also custom ColorPalettes and + * magnifying glass. Secondary coder ;) + * Alfredo K. Kojima : For pointing out memory-allocation + * problems and similair code-issues * Marco van Hylckama-Vlieg : For once again doing the artwork ;-) * * small note: Tabstop size = 4 @@ -88,13 +89,16 @@ typedef struct MovingView { typedef struct WheelMatrix { unsigned int width, height; /* Size of the colorwheel */ unsigned char *data[3]; /* Wheel data (R,G,B) */ - unsigned char values[256]; /* Precalculated values for R,G & B values 0..255 */ + unsigned char values[256]; /* Precalculated values R,G & B = 0-255 */ } wheelMatrix; typedef struct W_ColorPanel { WMWindow *win; WMFont *font8; WMFont *font12; + + void *clientData; + WMAction *action; /* Common Stuff */ WMColorWell *colorWell; @@ -184,19 +188,24 @@ typedef struct W_ColorPanel { /* Common Data Fields */ RColor color; /* Current color */ + Bool colorSet; /* Is color already set ? */ RHSVColor hsvcolor; /* Backup HSV Color */ WMColorPanelMode mode; /* Current color selection mode */ - WMColorPanelMode slidersmode; /* Current color selection mode at sliders panel */ - WMColorPanelMode lastChanged; /* Panel that last changed the color */ - int colx, coly; /* (x,y) of selection-marker in WheelMode */ - int palx, paly; /* (x,y) of selection-marker in CustomPaletteMode */ - float palXRatio, palYRatio; /* Ratios in x & y between original and scaled palettesize */ + WMColorPanelMode slidersmode;/* Current color sel. mode sliders panel */ + WMColorPanelMode lastChanged;/* Panel that last changed the color */ + int colx, coly; /* (x,y) of sel.-marker in WheelMode */ + int palx, paly; /* (x,y) of sel.-marker in + CustomPaletteMode */ + float palXRatio, palYRatio; /* Ratios in x & y between + original and scaled + palettesize */ int currentPalette; char *configurationPath; struct { + unsigned int continuous:1; + unsigned int dragging:1; - unsigned int done:1; } flags; } W_ColorPanel; @@ -234,7 +243,8 @@ enum { #define RGBTXT "/usr/X11R6/lib/X11/rgb.txt" #define MAX_LENGTH 1024 -static int fetchFile(char* toPath, char *imageSrcFile, char *imageDestFileName); +static int fetchFile(char* toPath, char *imageSrcFile, + char *imageDestFileName); char *generateNewFilename(char *curName); static void modeButtonCallback(WMWidget *w, void *data); @@ -242,11 +252,14 @@ static int getPickerPart(W_ColorPanel *panel, int x, int y); static void readConfiguration(W_ColorPanel *panel); static void readXColors(W_ColorPanel *panel); +static void closeWindowCallback(WMWidget *w, void *data); + static Cursor magnifyGrabPointer(W_ColorPanel *panel); static WMPoint magnifyInitialize(W_ColorPanel *panel); static void magnifyPutCursor(WMWidget *w, void *data); static Pixmap magnifyCreatePixmap(WMColorPanel *panel); -static Pixmap magnifyGetStorePixmap(W_ColorPanel *panel, int x1, int y1, int x2, int y2); +static Pixmap magnifyGetStorePixmap(W_ColorPanel *panel, int x1, int y1, + int x2, int y2); static Pixmap magnifyGetImage(WMScreen *scr, int x, int y); static wheelMatrix* wheelCreateMatrix(unsigned int width , unsigned int height); @@ -264,22 +277,27 @@ static void wheelUndrawSelection(W_ColorPanel *panel); static void wheelPositionSelection(W_ColorPanel *panel, int x, int y); static void wheelPositionSelectionOutBounds(W_ColorPanel *panel, int x, int y); -static void wheelUpdateBrightnessGradientFromHSV (W_ColorPanel *panel, RHSVColor topColor); +static void wheelUpdateBrightnessGradientFromHSV (W_ColorPanel *panel, + RHSVColor topColor); static void wheelUpdateBrightnessGradientFromLocation (W_ColorPanel *panel); static void wheelUpdateBrightnessGradient(W_ColorPanel *panel, RColor topColor); static void grayBrightnessSliderCallback(WMWidget *w, void *data); static void grayPresetButtonCallback(WMWidget *w, void *data); -static void grayBrightnessTextFieldCallback(void *observerData, WMNotification *notification); +static void grayBrightnessTextFieldCallback(void *observerData, + WMNotification *notification); static void rgbSliderCallback(WMWidget *w, void *data); -static void rgbTextFieldCallback(void *observerData, WMNotification *notification); +static void rgbTextFieldCallback(void *observerData, + WMNotification *notification); static void cmykSliderCallback(WMWidget *w, void *data); -static void cmykTextFieldCallback(void *observerData, WMNotification *notification); +static void cmykTextFieldCallback(void *observerData, + WMNotification *notification); static void hsbSliderCallback(WMWidget *w, void *data); -static void hsbTextFieldCallback(void *observerData, WMNotification *notification); +static void hsbTextFieldCallback(void *observerData, + WMNotification *notification); static void hsbUpdateBrightnessGradient(W_ColorPanel *panel); static void hsbUpdateSaturationGradient(W_ColorPanel *panel); static void hsbUpdateHueGradient(W_ColorPanel *panel); @@ -289,7 +307,8 @@ static void customSetPalette(W_ColorPanel *panel); static void customPaletteHandleEvents(XEvent *event, void *data); static void customPaletteHandleActionEvents(XEvent *event, void *data); static void customPalettePositionSelection(W_ColorPanel *panel, int x, int y); -static void customPalettePositionSelectionOutBounds(W_ColorPanel *panel, int x, int y); +static void customPalettePositionSelectionOutBounds(W_ColorPanel *panel, + int x, int y); static void customPaletteMenuCallback(WMWidget *w, void *data); static void customPaletteHistoryCallback(WMWidget *w, void *data); @@ -297,7 +316,8 @@ static void customPaletteMenuNewFromFile(W_ColorPanel *panel); static void customPaletteMenuRename(W_ColorPanel *panel); static void customPaletteMenuRemove(W_ColorPanel *panel); -static void colorListPaintItem(WMList *lPtr, int index, Drawable d, char *text, int state, WMRect *rect); +static void colorListPaintItem(WMList *lPtr, int index, Drawable d, char *text, + int state, WMRect *rect); static void colorListSelect(WMWidget *w, void *data); static void colorListColorMenuCallback(WMWidget *w, void *data); static void colorListListMenuCallback(WMWidget *w, void *data); @@ -310,6 +330,14 @@ static void cmykInit(W_ColorPanel *panel); static void hsbInit(W_ColorPanel *panel); + +void +WMSetColorPanelAction(WMColorPanel *panel, WMAction *action, void *data) +{ + panel->action = action; + panel->clientData = data; +} + static WMColorPanel* makeColorPanel(WMScreen *scrPtr, char *name) { @@ -326,55 +354,65 @@ makeColorPanel(WMScreen *scrPtr, char *name) panel = wmalloc(sizeof(WMColorPanel)); memset(panel, 0, sizeof(WMColorPanel)); + panel->colorSet = False; /* Color has not been set yet */ + panel->font8 = WMSystemFontOfSize(scrPtr, 8); panel->font12 = WMSystemFontOfSize(scrPtr, 12); - panel->win = WMCreateWindowWithStyle(scrPtr, name, WMTitledWindowMask | WMClosableWindowMask | WMResizableWindowMask); + panel->win = WMCreateWindowWithStyle(scrPtr, name, + WMTitledWindowMask | WMClosableWindowMask | WMResizableWindowMask); WMResizeWidget(panel->win, PWIDTH, PHEIGHT); WMSetWindowTitle(panel->win, "Colors"); + WMSetWindowCloseAction(panel->win, closeWindowCallback, panel); /* Set Default ColorPanel Mode(s) */ panel->mode = WMWheelModeColorPanel; panel->lastChanged = WMWheelModeColorPanel; panel->slidersmode = WMRGBModeColorPanel; - panel->configurationPath = wstrappend(wusergnusteppath(), "/Library/Colors/"); + panel->configurationPath = wstrappend(wusergnusteppath(), + "/Library/Colors/"); - /* Some Generic Purpose Widgets */ + /* Some General Purpose Widgets */ panel->colorWell = WMCreateColorWell(panel->win); WMResizeWidget(panel->colorWell, 134, 36); WSetColorWellBordered(panel->colorWell, False); WMMoveWidget(panel->colorWell, 56, 4); - panel->magnifyBtn = WMCreateCustomButton(panel->win, WBBStateLightMask|WBBStateChangeMask); + panel->magnifyBtn = WMCreateCustomButton(panel->win, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->magnifyBtn, 46, 36); WMMoveWidget(panel->magnifyBtn, 6,4); WMSetButtonAction(panel->magnifyBtn, magnifyPutCursor, panel); WMSetButtonImagePosition(panel->magnifyBtn, WIPImageOnly); WMSetButtonImage(panel->magnifyBtn, scrPtr->magnifyIcon); - panel->wheelBtn = WMCreateCustomButton(panel->win, WBBStateLightMask|WBBStateChangeMask); + panel->wheelBtn = WMCreateCustomButton(panel->win, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->wheelBtn, 46, 32); WMMoveWidget(panel->wheelBtn, 6, 44); WMSetButtonAction(panel->wheelBtn, modeButtonCallback, panel); WMSetButtonImagePosition(panel->wheelBtn, WIPImageOnly); WMSetButtonImage(panel->wheelBtn, scrPtr->wheelIcon); - panel->slidersBtn = WMCreateCustomButton(panel->win, WBBStateLightMask|WBBStateChangeMask); + panel->slidersBtn = WMCreateCustomButton(panel->win, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->slidersBtn, 46, 32); WMMoveWidget(panel->slidersBtn, 52, 44); WMSetButtonAction(panel->slidersBtn, modeButtonCallback, panel); WMSetButtonImagePosition(panel->slidersBtn, WIPImageOnly); WMSetButtonImage(panel->slidersBtn, scrPtr->rgbIcon); - panel->customPaletteBtn = WMCreateCustomButton(panel->win, WBBStateLightMask|WBBStateChangeMask); + panel->customPaletteBtn = WMCreateCustomButton(panel->win, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->customPaletteBtn, 46, 32); WMMoveWidget(panel->customPaletteBtn, 98, 44); WMSetButtonAction(panel->customPaletteBtn, modeButtonCallback, panel); WMSetButtonImagePosition(panel->customPaletteBtn, WIPImageOnly); WMSetButtonImage(panel->customPaletteBtn, scrPtr->customPaletteIcon); - panel->colorListBtn = WMCreateCustomButton(panel->win, WBBStateLightMask|WBBStateChangeMask); + panel->colorListBtn = WMCreateCustomButton(panel->win, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->colorListBtn, 46, 32); WMMoveWidget(panel->colorListBtn, 144, 44); WMSetButtonAction(panel->colorListBtn, modeButtonCallback, panel); @@ -397,18 +435,21 @@ makeColorPanel(WMScreen *scrPtr, char *name) W_ResizeView(panel->wheelView, colorWheelSize+4, colorWheelSize+4); W_MoveView(panel->wheelView, 0, 0); - /* Create an event handler to handle expose/click events in the ColorWheel */ - WMCreateEventHandler(panel->wheelView, ButtonPressMask|ButtonReleaseMask|EnterWindowMask - |LeaveWindowMask|ButtonMotionMask, wheelHandleActionEvents, panel); + /* Create an event handler to handle expose/click events in ColorWheel */ + WMCreateEventHandler(panel->wheelView, + ButtonPressMask|ButtonReleaseMask|EnterWindowMask| + LeaveWindowMask|ButtonMotionMask, wheelHandleActionEvents, panel); - WMCreateEventHandler(panel->wheelView, ExposureMask, wheelHandleEvents, panel); + WMCreateEventHandler(panel->wheelView, ExposureMask, wheelHandleEvents, + panel); panel->wheelBrightnessS = WMCreateSlider(panel->wheelFrm); WMResizeWidget(panel->wheelBrightnessS, 16, 153); WMMoveWidget(panel->wheelBrightnessS, 5+colorWheelSize+14, 1); WMSetSliderMinValue(panel->wheelBrightnessS, 0); WMSetSliderMaxValue(panel->wheelBrightnessS, 255); - WMSetSliderAction(panel->wheelBrightnessS, wheelBrightnessSliderCallback, panel); + WMSetSliderAction(panel->wheelBrightnessS, wheelBrightnessSliderCallback, + panel); WMSetSliderKnobThickness(panel->wheelBrightnessS, knobThickness); @@ -423,28 +464,32 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->seperatorFrm, PWIDTH - 8, 2); WMMoveWidget(panel->seperatorFrm, 0, 1); - panel->grayBtn = WMCreateCustomButton(panel->slidersFrm, WBBStateLightMask|WBBStateChangeMask); + panel->grayBtn = WMCreateCustomButton(panel->slidersFrm, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->grayBtn, 46, 24); WMMoveWidget(panel->grayBtn, 1, 8); WMSetButtonAction(panel->grayBtn, modeButtonCallback, panel); WMSetButtonImagePosition(panel->grayBtn, WIPImageOnly); WMSetButtonImage(panel->grayBtn, scrPtr->grayIcon); - panel->rgbBtn = WMCreateCustomButton(panel->slidersFrm, WBBStateLightMask|WBBStateChangeMask); + panel->rgbBtn = WMCreateCustomButton(panel->slidersFrm, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->rgbBtn, 46, 24); WMMoveWidget(panel->rgbBtn, 47, 8); WMSetButtonAction(panel->rgbBtn, modeButtonCallback, panel); WMSetButtonImagePosition(panel->rgbBtn, WIPImageOnly); WMSetButtonImage(panel->rgbBtn, scrPtr->rgbIcon); - panel->cmykBtn = WMCreateCustomButton(panel->slidersFrm, WBBStateLightMask|WBBStateChangeMask); + panel->cmykBtn = WMCreateCustomButton(panel->slidersFrm, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->cmykBtn, 46, 24); WMMoveWidget(panel->cmykBtn, 93, 8); WMSetButtonAction(panel->cmykBtn, modeButtonCallback, panel); WMSetButtonImagePosition(panel->cmykBtn, WIPImageOnly); WMSetButtonImage(panel->cmykBtn, scrPtr->cmykIcon); - panel->hsbBtn = WMCreateCustomButton(panel->slidersFrm, WBBStateLightMask|WBBStateChangeMask); + panel->hsbBtn = WMCreateCustomButton(panel->slidersFrm, + WBBStateLightMask|WBBStateChangeMask); WMResizeWidget(panel->hsbBtn, 46, 24); WMMoveWidget(panel->hsbBtn, 139, 8); WMSetButtonAction(panel->hsbBtn, modeButtonCallback, panel); @@ -486,7 +531,8 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMSetSliderMinValue(panel->grayBrightnessS, 0); WMSetSliderMaxValue(panel->grayBrightnessS, 100); WMSetSliderKnobThickness(panel->grayBrightnessS, knobThickness); - WMSetSliderAction(panel->grayBrightnessS, grayBrightnessSliderCallback, panel); + WMSetSliderAction(panel->grayBrightnessS, grayBrightnessSliderCallback, + panel); from.red = 0; from.green = 0; @@ -499,7 +545,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); RDestroyImage(image); - W_PaintText(W_VIEW(panel->grayBrightnessS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->white), False, "Brightness", strlen("Brightness")); + W_PaintText(W_VIEW(panel->grayBrightnessS), pixmap->pixmap, + panel->font12, 2, 0, 100, WALeft, WMColorGC(scrPtr->white), + False, "Brightness", strlen("Brightness")); WMSetSliderImage(panel->grayBrightnessS, pixmap); WMReleasePixmap(pixmap); @@ -507,7 +555,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->grayBrightnessT, 40, 18); WMMoveWidget(panel->grayBrightnessT, 146, 13); WMSetTextFieldAlignment(panel->grayBrightnessT, WALeft); - WMAddNotificationObserver(grayBrightnessTextFieldCallback, panel, \ + WMAddNotificationObserver(grayBrightnessTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->grayBrightnessT); image = RCreateImage(13,13,False); @@ -522,7 +570,8 @@ makeColorPanel(WMScreen *scrPtr, char *name) panel->grayPresetBtn[i] = WMCreateCommandButton(panel->grayFrm); WMResizeWidget(panel->grayPresetBtn[i], 20, 24); WMMoveWidget(panel->grayPresetBtn[i], 2+(i*20), 34); - WMSetButtonAction(panel->grayPresetBtn[i], grayPresetButtonCallback, panel); + WMSetButtonAction(panel->grayPresetBtn[i], + grayPresetButtonCallback, panel); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); WMSetButtonImage(panel->grayPresetBtn[i], pixmap); WMSetButtonImagePosition(panel->grayPresetBtn[i], WIPImageOnly); @@ -567,7 +616,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->rgbRedS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->white), False, "Red", strlen("Red")); + W_PaintText(W_VIEW(panel->rgbRedS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->white), False, "Red", + strlen("Red")); RDestroyImage(image); WMSetSliderImage(panel->rgbRedS, pixmap); WMReleasePixmap(pixmap); @@ -576,7 +627,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->rgbRedT, 40, 18); WMMoveWidget(panel->rgbRedT, 146, 13); WMSetTextFieldAlignment(panel->rgbRedT, WALeft); - WMAddNotificationObserver(rgbTextFieldCallback, panel, \ + WMAddNotificationObserver(rgbTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->rgbRedT); @@ -594,7 +645,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->rgbGreenS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->white), False, "Green", strlen("Green")); + W_PaintText(W_VIEW(panel->rgbGreenS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->white), False, "Green", + strlen("Green")); RDestroyImage(image); WMSetSliderImage(panel->rgbGreenS, pixmap); WMReleasePixmap(pixmap); @@ -603,7 +656,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->rgbGreenT, 40, 18); WMMoveWidget(panel->rgbGreenT, 146, 35); WMSetTextFieldAlignment(panel->rgbGreenT, WALeft); - WMAddNotificationObserver(rgbTextFieldCallback, panel, \ + WMAddNotificationObserver(rgbTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->rgbGreenT); @@ -621,7 +674,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->rgbBlueS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->white), False, "Blue", strlen("Blue")); + W_PaintText(W_VIEW(panel->rgbBlueS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->white), False, "Blue", + strlen("Blue")); RDestroyImage(image); WMSetSliderImage(panel->rgbBlueS, pixmap); WMReleasePixmap(pixmap); @@ -630,7 +685,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->rgbBlueT, 40, 18); WMMoveWidget(panel->rgbBlueT, 146, 57); WMSetTextFieldAlignment(panel->rgbBlueT, WALeft); - WMAddNotificationObserver(rgbTextFieldCallback, panel, \ + WMAddNotificationObserver(rgbTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->rgbBlueT); /* End of RGB Panel */ @@ -674,7 +729,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->cmykCyanS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->black), False, "Cyan", strlen("Cyan")); + W_PaintText(W_VIEW(panel->cmykCyanS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->black), False, "Cyan", + strlen("Cyan")); RDestroyImage(image); WMSetSliderImage(panel->cmykCyanS, pixmap); WMReleasePixmap(pixmap); @@ -683,7 +740,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->cmykCyanT, 40, 18); WMMoveWidget(panel->cmykCyanT, 146, 13); WMSetTextFieldAlignment(panel->cmykCyanT, WALeft); - WMAddNotificationObserver(cmykTextFieldCallback, panel, \ + WMAddNotificationObserver(cmykTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->cmykCyanT); @@ -701,7 +758,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->cmykMagentaS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->black), False, "Magenta", strlen("Magenta")); + W_PaintText(W_VIEW(panel->cmykMagentaS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->black), False, "Magenta", + strlen("Magenta")); RDestroyImage(image); WMSetSliderImage(panel->cmykMagentaS, pixmap); WMReleasePixmap(pixmap); @@ -710,7 +769,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->cmykMagentaT, 40, 18); WMMoveWidget(panel->cmykMagentaT, 146, 35); WMSetTextFieldAlignment(panel->cmykMagentaT, WALeft); - WMAddNotificationObserver(cmykTextFieldCallback, panel, \ + WMAddNotificationObserver(cmykTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->cmykMagentaT); @@ -728,7 +787,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->cmykYellowS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->black), False, "Yellow", strlen("Yellow")); + W_PaintText(W_VIEW(panel->cmykYellowS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->black), False, "Yellow", + strlen("Yellow")); RDestroyImage(image); WMSetSliderImage(panel->cmykYellowS, pixmap); WMReleasePixmap(pixmap); @@ -737,7 +798,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->cmykYellowT, 40, 18); WMMoveWidget(panel->cmykYellowT, 146, 57); WMSetTextFieldAlignment(panel->cmykYellowT, WALeft); - WMAddNotificationObserver(cmykTextFieldCallback, panel, \ + WMAddNotificationObserver(cmykTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->cmykYellowT); @@ -756,7 +817,9 @@ makeColorPanel(WMScreen *scrPtr, char *name) image = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); pixmap = WMCreatePixmapFromRImage(scrPtr, image, 0); - W_PaintText(W_VIEW(panel->cmykBlackS), pixmap->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scrPtr->black), False, "Black", strlen("Black")); + W_PaintText(W_VIEW(panel->cmykBlackS), pixmap->pixmap, panel->font12, + 2, 0, 100, WALeft, WMColorGC(scrPtr->black), False, "Black", + strlen("Black")); RDestroyImage(image); WMSetSliderImage(panel->cmykBlackS, pixmap); WMReleasePixmap(pixmap); @@ -765,7 +828,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->cmykBlackT, 40, 18); WMMoveWidget(panel->cmykBlackT, 146, 79); WMSetTextFieldAlignment(panel->cmykBlackT, WALeft); - WMAddNotificationObserver(cmykTextFieldCallback, panel, \ + WMAddNotificationObserver(cmykTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->cmykBlackT); /* End of CMYK Panel */ @@ -787,7 +850,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->hsbHueT, 40, 18); WMMoveWidget(panel->hsbHueT, 146, 13); WMSetTextFieldAlignment(panel->hsbHueT, WALeft); - WMAddNotificationObserver(hsbTextFieldCallback, panel, \ + WMAddNotificationObserver(hsbTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->hsbHueT); @@ -803,7 +866,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->hsbSaturationT, 40, 18); WMMoveWidget(panel->hsbSaturationT, 146, 35); WMSetTextFieldAlignment(panel->hsbSaturationT, WALeft); - WMAddNotificationObserver(hsbTextFieldCallback, panel, \ + WMAddNotificationObserver(hsbTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->hsbSaturationT); @@ -819,7 +882,7 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->hsbBrightnessT, 40, 18); WMMoveWidget(panel->hsbBrightnessT, 146, 57); WMSetTextFieldAlignment(panel->hsbBrightnessT, WALeft); - WMAddNotificationObserver(hsbTextFieldCallback, panel, \ + WMAddNotificationObserver(hsbTextFieldCallback, panel, WMTextDidEndEditingNotification, panel->hsbBrightnessT); /* End of HSB Panel */ @@ -832,10 +895,13 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->customPaletteFrm, PWIDTH - 8, PHEIGHT - 80 - 26); WMMoveWidget(panel->customPaletteFrm, 5, 80); - panel->customPaletteHistoryBtn = WMCreatePopUpButton(panel->customPaletteFrm); + panel->customPaletteHistoryBtn = WMCreatePopUpButton( + panel->customPaletteFrm); WMAddPopUpButtonItem(panel->customPaletteHistoryBtn, "Spectrum"); - WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, WMGetPopUpButtonNumberOfItems(panel->customPaletteHistoryBtn)-1); - WMSetPopUpButtonAction(panel->customPaletteHistoryBtn, customPaletteHistoryCallback, panel); + WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, + WMGetPopUpButtonNumberOfItems(panel->customPaletteHistoryBtn)-1); + WMSetPopUpButtonAction(panel->customPaletteHistoryBtn, + customPaletteHistoryCallback, panel); WMResizeWidget(panel->customPaletteHistoryBtn, PWIDTH - 8, 20); WMMoveWidget(panel->customPaletteHistoryBtn, 0, 0); @@ -844,21 +910,27 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMResizeWidget(panel->customPaletteContentFrm, PWIDTH - 8, PHEIGHT - 156); WMMoveWidget(panel->customPaletteContentFrm, 0, 23); - panel->customPaletteContentView = W_CreateView(W_VIEW(panel->customPaletteContentFrm)); + panel->customPaletteContentView = W_CreateView( + W_VIEW(panel->customPaletteContentFrm)); /* XXX Can we create a view ? */ - W_ResizeView(panel->customPaletteContentView, customPaletteWidth, customPaletteHeight); + W_ResizeView(panel->customPaletteContentView, customPaletteWidth, + customPaletteHeight); W_MoveView(panel->customPaletteContentView, 2, 2); - /* Create an event handler to handle expose/click events in the CustomPalette */ - WMCreateEventHandler(panel->customPaletteContentView, ButtonPressMask|ButtonReleaseMask|EnterWindowMask - |LeaveWindowMask|ButtonMotionMask, customPaletteHandleActionEvents, panel); + /* Create event handler to handle expose/click events in CustomPalette */ + WMCreateEventHandler(panel->customPaletteContentView, + ButtonPressMask|ButtonReleaseMask|EnterWindowMask| + LeaveWindowMask|ButtonMotionMask, customPaletteHandleActionEvents, + panel); - WMCreateEventHandler(panel->customPaletteContentView, ExposureMask, customPaletteHandleEvents, panel); + WMCreateEventHandler(panel->customPaletteContentView, ExposureMask, + customPaletteHandleEvents, panel); panel->customPaletteMenuBtn = WMCreatePopUpButton(panel->customPaletteFrm); WMSetPopUpButtonPullsDown(panel->customPaletteMenuBtn, 1); WMSetPopUpButtonText(panel->customPaletteMenuBtn, "Palette"); - WMSetPopUpButtonAction(panel->customPaletteMenuBtn, customPaletteMenuCallback, panel); + WMSetPopUpButtonAction(panel->customPaletteMenuBtn, + customPaletteMenuCallback, panel); WMResizeWidget(panel->customPaletteMenuBtn, PWIDTH - 8, 20); WMMoveWidget(panel->customPaletteMenuBtn, 0, PHEIGHT - 130); @@ -871,7 +943,8 @@ makeColorPanel(WMScreen *scrPtr, char *name) WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuRename, 0); WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuRemove, 0); WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuCopy, 0); - WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuNewFromClipboard, 0); + WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, + CPmenuNewFromClipboard, 0); customRenderSpectrum(panel); panel->currentPalette = 0; @@ -885,8 +958,10 @@ makeColorPanel(WMScreen *scrPtr, char *name) panel->colorListHistoryBtn = WMCreatePopUpButton(panel->colorListFrm); WMAddPopUpButtonItem(panel->colorListHistoryBtn, "X11-Colors"); - WMSetPopUpButtonSelectedItem(panel->colorListHistoryBtn, WMGetPopUpButtonNumberOfItems(panel->colorListHistoryBtn)-1); - /* WMSetPopUpButtonAction(panel->colorListHistoryBtn, colorListHistoryCallback, panel); */ + WMSetPopUpButtonSelectedItem(panel->colorListHistoryBtn, + WMGetPopUpButtonNumberOfItems(panel->colorListHistoryBtn)-1); + /* WMSetPopUpButtonAction(panel->colorListHistoryBtn, + * colorListHistoryCallback, panel); */ WMResizeWidget(panel->colorListHistoryBtn, PWIDTH - 8, 20); WMMoveWidget(panel->colorListHistoryBtn, 0, 0); @@ -900,7 +975,8 @@ makeColorPanel(WMScreen *scrPtr, char *name) panel->colorListColorMenuBtn = WMCreatePopUpButton(panel->colorListFrm); WMSetPopUpButtonPullsDown(panel->colorListColorMenuBtn, 1); WMSetPopUpButtonText(panel->colorListColorMenuBtn, "Color"); - WMSetPopUpButtonAction(panel->colorListColorMenuBtn, colorListColorMenuCallback, panel); + WMSetPopUpButtonAction(panel->colorListColorMenuBtn, + colorListColorMenuCallback, panel); WMResizeWidget(panel->colorListColorMenuBtn, (PWIDTH - 16)/2, 20); WMMoveWidget(panel->colorListColorMenuBtn, 0, PHEIGHT - 130); @@ -915,9 +991,11 @@ makeColorPanel(WMScreen *scrPtr, char *name) panel->colorListListMenuBtn = WMCreatePopUpButton(panel->colorListFrm); WMSetPopUpButtonPullsDown(panel->colorListListMenuBtn, 1); WMSetPopUpButtonText(panel->colorListListMenuBtn, "List"); - WMSetPopUpButtonAction(panel->colorListListMenuBtn, colorListListMenuCallback, panel); + WMSetPopUpButtonAction(panel->colorListListMenuBtn, + colorListListMenuCallback, panel); WMResizeWidget(panel->colorListListMenuBtn, (PWIDTH - 16)/2, 20); - WMMoveWidget(panel->colorListListMenuBtn, (PWIDTH - 16)/2 + 8, PHEIGHT - 130); + WMMoveWidget(panel->colorListListMenuBtn, (PWIDTH - 16)/2 + 8, + PHEIGHT - 130); WMAddPopUpButtonItem(panel->colorListListMenuBtn, "New..."); WMAddPopUpButtonItem(panel->colorListListMenuBtn, "Rename..."); @@ -968,17 +1046,21 @@ WMFreeColorPanel(WMColorPanel *panel) W_Screen *scr = WMWidgetScreen(panel->win); if (panel == scr->sharedColorPanel) { - WMWidgetScreen(panel->win)->sharedColorPanel = NULL; + scr->sharedColorPanel = NULL; } + WMRemoveNotificationObserver(panel); + WMUnmapWidget(panel->win); WMDestroyWidget(panel->win); + + /* fonts */ if (panel->font8) WMReleaseFont(panel->font8); if (panel->font12) WMReleaseFont(panel->font12); - if (panel->magnifyGlass->pixmap) - XFreePixmap(scr->display, panel->magnifyGlass->pixmap); + + /* pixmaps */ if (panel->wheelMtrx) wheelDestroyMatrix(panel->wheelMtrx); if (panel->wheelImg) @@ -989,6 +1071,8 @@ WMFreeColorPanel(WMColorPanel *panel) XFreePixmap(scr->display, panel->selectionBackImg); if (panel->customPaletteImg) RDestroyImage(panel->customPaletteImg); + + /* structs */ if (panel->lastBrowseDir) free(panel->lastBrowseDir); if (panel->configurationPath) @@ -998,52 +1082,40 @@ WMFreeColorPanel(WMColorPanel *panel) } -int -WMRunColorPanel(WMColorPanel *panel, WMWindow *owner, RColor color) +void +WMCloseColorPanel(WMColorPanel *panel) { - WMScreen *scr = WMWidgetScreen(panel->win); - XEvent event; - RHSVColor hsvcolor; - GC bgc = W_GC(scr->black); - GC wgc = W_GC(scr->white); - - WMChangePanelOwner(panel->win, owner); - - WMSetColorPanelColor(panel, color); - panel->wheelMtrx = wheelInitMatrix(panel); /* Needs to be done After Color is set */ + WMCloseWindow(panel->win); + WMFreeColorPanel(panel); +} - /* Maybe put this in sub-function ... Initialising selection images */ - RRGBtoHSV(&color, &hsvcolor); - panel->colx = 2 + rint((colorWheelSize / 2.0) * (1 + (hsvcolor.saturation/255.0) * cos( hsvcolor.hue*M_PI/180.0))); - panel->coly = 2 + rint((colorWheelSize / 2.0) * (1 + (hsvcolor.saturation/255.0) * sin(-hsvcolor.hue*M_PI/180.0))); - wheelUpdateBrightnessGradientFromHSV(panel, hsvcolor); - WMSetSliderValue(panel->wheelBrightnessS, 255 - hsvcolor.value); - panel->selectionImg = XCreatePixmap(scr->display, W_VIEW(panel->wheelFrm)->window, 4, 4, scr->depth); - XFillRectangle(scr->display, panel->selectionImg, bgc, 0, 0, 4, 4); - XFillRectangle(scr->display, panel->selectionImg, wgc, 1, 1, 2, 2); - /* End of initialisation section */ +void +WMShowColorPanel(WMColorPanel *panel) +{ + WMScreen *scr = WMWidgetScreen(panel->win); + WMColor *white = WMWhiteColor(scr); - panel->palx = customPaletteWidth/2; - panel->paly = customPaletteHeight/2; - - WMSetPickerMode(panel, WMWheelModeColorPanel); + if (!panel->colorSet ) + WMSetColorPanelColor(panel, white); + WMReleaseColor(white); + + WMSetColorPanelPickerMode(panel, WMWheelModeColorPanel); + wheelInit(panel); - panel->flags.done = 0; - WMMapWidget(panel->win); - - while (!panel->flags.done) { - WMNextEvent(scr->display, &event); - WMHandleEvent(&event); - } - - WMCloseWindow(panel->win); - - return 0; } +static void +closeWindowCallback(WMWidget *w, void *data) +{ + W_ColorPanel *panel = (W_ColorPanel*)data; + + WMCloseColorPanel(panel); +/* WMUnmapWidget(panel->win); */ +} + static void readConfiguration(W_ColorPanel *panel) @@ -1056,12 +1128,16 @@ readConfiguration(W_ColorPanel *panel) if (stat(panel->configurationPath, &stat_buf)!=0) { - if (mkdir(panel->configurationPath, S_IRWXU|S_IRGRP|S_IROTH|S_IXGRP|S_IXOTH)!=0) { - wsyserror("ColorPanel could not create directory %s needed to store configurations", panel->configurationPath); + if (mkdir(panel->configurationPath, + S_IRWXU|S_IRGRP|S_IROTH|S_IXGRP|S_IXOTH)!=0) { + wsyserror("ColorPanel could not create directory %s needed" + " to store configurations", panel->configurationPath); WMSetPopUpButtonEnabled(panel->customPaletteMenuBtn, False); WMSetPopUpButtonEnabled(panel->colorListColorMenuBtn, False); WMSetPopUpButtonEnabled(panel->colorListListMenuBtn, False); - WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win, "File Error", "Could not create ColorPanel configuration directory", "OK", NULL, NULL); + WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win, + "File Error", "Could not create ColorPanel configuration" + " directory", "OK", NULL, NULL); } return; } @@ -1113,14 +1189,15 @@ readXColors(W_ColorPanel *panel) void -WMSetPickerMode(WMColorPanel *panel, WMColorPanelMode mode) +WMSetColorPanelPickerMode(WMColorPanel *panel, WMColorPanelMode mode) { W_Screen *scr = WMWidgetScreen(panel->win); if (mode != WMWheelModeColorPanel) { WMUnmapWidget(panel->wheelFrm); if (panel->selectionBackImg) { - XFreePixmap(WMWidgetScreen(panel->win)->display, panel->selectionBackImg); + XFreePixmap(WMWidgetScreen(panel->win)->display, + panel->selectionBackImg); panel->selectionBackImg = None; } } @@ -1135,13 +1212,14 @@ WMSetPickerMode(WMColorPanel *panel, WMColorPanelMode mode) if (mode != WMCustomPaletteModeColorPanel) { WMUnmapWidget(panel->customPaletteFrm); if (panel->selectionBackImg) { - XFreePixmap(WMWidgetScreen(panel->win)->display, panel->selectionBackImg); + XFreePixmap(WMWidgetScreen(panel->win)->display, + panel->selectionBackImg); panel->selectionBackImg = None; } } if (mode != WMColorListModeColorPanel) WMUnmapWidget(panel->colorListFrm); - if ((mode != WMGrayModeColorPanel) && (mode != WMRGBModeColorPanel) && \ + if ((mode != WMGrayModeColorPanel) && (mode != WMRGBModeColorPanel) && (mode != WMCMYKModeColorPanel) && (mode != WMHSBModeColorPanel)) WMUnmapWidget(panel->slidersFrm); else @@ -1200,17 +1278,78 @@ WMSetPickerMode(WMColorPanel *panel, WMColorPanelMode mode) } void -WMSetColorPanelColor(WMColorPanel *panel, RColor color) +WMSetColorPanelColor(WMColorPanel *panel, WMColor *color) { WMScreen *scr = WMWidgetScreen(panel->win); - WMColor *wellcolor; + RHSVColor hsvcolor; + RColor intcolor; + GC bgc = WMColorGC(scr->black); + GC wgc = WMColorGC(scr->white); int originalHue; - wellcolor = WMCreateRGBColor(scr, color.red << 8, color.green << 8, color.blue << 8, True); + WMSetColorWellColor(panel->colorWell, color); + + intcolor.red = color->color.red >> 8; + intcolor.green = color->color.green >> 8; + intcolor.blue = color->color.blue >> 8; + + panel->color = intcolor; + panel->colorSet = True; + + /* If color was set by HSB-Panel do not convert back to hsv */ + if (panel->lastChanged != WMHSBModeColorPanel) { + + /* if color is black, hue is undetermined, so it must be restored */ + if ((panel->color.red == 0) && + (panel->color.green == 0) && + (panel->color.blue == 0) && + (panel->hsvcolor.hue <= 359)) + { + originalHue = panel->hsvcolor.hue; + RRGBtoHSV(&panel->color, &panel->hsvcolor); + panel->hsvcolor.hue = originalHue; + } else { + RRGBtoHSV(&panel->color, &panel->hsvcolor); + } + } + + panel->wheelMtrx = wheelInitMatrix(panel); /* Needs to be done After Color is set */ + + /* Maybe put this in a sub-function ... Initialising selected images */ + RRGBtoHSV(&intcolor, &hsvcolor); + panel->colx = 2 + rint((colorWheelSize / 2.0) * (1 + + (hsvcolor.saturation/255.0) * cos( hsvcolor.hue*M_PI/180.0))); + panel->coly = 2 + rint((colorWheelSize / 2.0) * (1 + + (hsvcolor.saturation/255.0) * sin(-hsvcolor.hue*M_PI/180.0))); + wheelUpdateBrightnessGradientFromHSV(panel, hsvcolor); + WMSetSliderValue(panel->wheelBrightnessS, 255 - hsvcolor.value); + + panel->selectionImg = XCreatePixmap(scr->display, + W_VIEW(panel->wheelFrm)->window, 4, 4, scr->depth); + XFillRectangle(scr->display, panel->selectionImg, bgc, 0, 0, 4, 4); + XFillRectangle(scr->display, panel->selectionImg, wgc, 1, 1, 2, 2); + /* End of initialisation section */ + + panel->palx = customPaletteWidth/2; + panel->paly = customPaletteHeight/2; + + WMSetColorPanelPickerMode(panel, panel->mode); +} + + +updateSwatch(WMColorPanel *panel, RColor color) +{ + WMScreen *scr = WMWidgetScreen(panel->win); + WMColor *wellcolor; + int originalHue; + + wellcolor = WMCreateRGBColor(scr, color.red << 8, color.green << 8, + color.blue << 8, True); + WMSetColorWellColor(panel->colorWell, wellcolor); WMReleaseColor(wellcolor); - - panel->color = color; + + panel->color = color; /* If color was set by HSB-Panel do not convert back to hsv */ if (panel->lastChanged != WMHSBModeColorPanel) { @@ -1228,6 +1367,10 @@ WMSetColorPanelColor(WMColorPanel *panel, RColor color) RRGBtoHSV(&panel->color, &panel->hsvcolor); } } + + if (panel->action && (!panel->flags.dragging || panel->flags.continuous)) { + (*panel->action)(panel, panel->clientData); + } } static void @@ -1236,21 +1379,21 @@ modeButtonCallback(WMWidget *w, void *data) W_ColorPanel *panel = (W_ColorPanel*)(data); if (w == panel->wheelBtn) - WMSetPickerMode(panel, WMWheelModeColorPanel); + WMSetColorPanelPickerMode(panel, WMWheelModeColorPanel); else if (w == panel->slidersBtn) - WMSetPickerMode(panel, panel->slidersmode); + WMSetColorPanelPickerMode(panel, panel->slidersmode); else if (w == panel->customPaletteBtn) - WMSetPickerMode(panel, WMCustomPaletteModeColorPanel); + WMSetColorPanelPickerMode(panel, WMCustomPaletteModeColorPanel); else if (w == panel->colorListBtn) - WMSetPickerMode(panel, WMColorListModeColorPanel); + WMSetColorPanelPickerMode(panel, WMColorListModeColorPanel); else if (w == panel->grayBtn) - WMSetPickerMode(panel, WMGrayModeColorPanel); + WMSetColorPanelPickerMode(panel, WMGrayModeColorPanel); else if (w == panel->rgbBtn) - WMSetPickerMode(panel, WMRGBModeColorPanel); + WMSetColorPanelPickerMode(panel, WMRGBModeColorPanel); else if (w == panel->cmykBtn) - WMSetPickerMode(panel, WMCMYKModeColorPanel); + WMSetColorPanelPickerMode(panel, WMCMYKModeColorPanel); else if (w == panel->hsbBtn) - WMSetPickerMode(panel, WMHSBModeColorPanel); + WMSetColorPanelPickerMode(panel, WMHSBModeColorPanel); } @@ -1266,7 +1409,8 @@ magnifyGetImage(WMScreen *scr, int x, int y) const int half_mask_width = (Cursor_mask_width +1)/2; const int half_mask_height = (Cursor_mask_height +1)/2; - /* Coordinate correction for back pixmap */ + /* Coordinate correction for back pixmap + * if magnifying glass is at screen-borders */ x0 = 0; y0 = 0; w0 = Cursor_mask_width; h0 = Cursor_mask_height; if (x < half_mask_width) { @@ -1290,6 +1434,7 @@ magnifyGetImage(WMScreen *scr, int x, int y) if (y > displayHeight) y = displayHeight; h0 = Cursor_mask_height - (half_mask_height - (displayHeight - y)); } + /* end of coordinate correction */ image = XGetImage(scr->display, scr->rootWin, x + x0 - Cursor_x_hot, y + y0 - Cursor_y_hot, w0, h0, AllPlanes, ZPixmap); @@ -1297,6 +1442,7 @@ magnifyGetImage(WMScreen *scr, int x, int y) pixmap = XCreatePixmap(scr->display, W_DRAWABLE(scr), Cursor_mask_width, Cursor_mask_height, scr->depth); XPutImage(scr->display, pixmap, scr->copyGC, image, 0, 0, x0, y0, w0, h0); + XDestroyImage(image); return pixmap; } @@ -1385,7 +1531,8 @@ magnifyCreatePixmap(WMColorPanel *panel) for (v=0; v<5+1; v++) for (i=u*5; i < (u+1)*5; i++) /* magnify it 5 times */ for (j=v*5; j < (v+1)*5; j++) - XCopyArea(scr->display, backPix, magPix, scr->copyGC, u +9, v +9, 1, 1, i, j); + XCopyArea(scr->display, backPix, magPix, scr->copyGC, + u +9, v +9, 1, 1, i, j); /* Get color under hotspot */ ofs = half_mask_width + half_mask_height * Cursor_mask_width; @@ -1395,12 +1542,13 @@ magnifyCreatePixmap(WMColorPanel *panel) panel->magnifyGlass->color.blue = pixelImg->data[2][ofs]; RDestroyImage(pixelImg); - /* Copy the magnified pixmap, with the clip mask, to the background pixmap */ + /* Copy the magnified pixmap, with the clip mask, to background pixmap */ XSetClipMask(scr->display, scr->clipGC, panel->magnifyGlass->mask); XSetClipOrigin(scr->display, scr->clipGC, 0, 0); - XCopyArea(scr->display, magPix, backPix, scr->clipGC, 2, 2, Cursor_mask_width, - Cursor_mask_height, 0, 0); /* (2,2) puts center pixel on center of glass */ + XCopyArea(scr->display, magPix, backPix, scr->clipGC, 2, 2, + Cursor_mask_width, Cursor_mask_height, 0, 0); + /* (2,2) puts center pixel on center of glass */ XFreePixmap(scr->display, magPix); @@ -1425,7 +1573,6 @@ magnifyCreateView(W_ColorPanel *panel) magView->attribs.save_under = True; W_RealizeView(magView); - W_MapView(magView); return magView; } @@ -1437,7 +1584,7 @@ magnifyGrabPointer(W_ColorPanel *panel) W_Screen *scr = WMWidgetScreen(panel->win); Pixmap magPixmap, magPixmap2; Cursor magCursor; - XColor fgColor = {0, 0,0,0, DoRed|DoGreen|DoBlue}; + XColor fgColor = {0, 0,0,0, DoRed|DoGreen|DoBlue}; XColor bgColor = {0, 0xbf00, 0xa000, 0x5000, DoRed|DoGreen|DoBlue}; /* Cursor creation stuff */ @@ -1489,9 +1636,9 @@ magnifyInitialize(W_ColorPanel *panel) panel->magnifyGlass->valid = True; pixmap = magnifyCreatePixmap(panel); - W_MoveView(panel->magnifyGlass->view, x - Cursor_x_hot +1, y - Cursor_y_hot +1); - XSetWindowBackgroundPixmap(scr->display, panel->magnifyGlass->view->window, pixmap); + XSetWindowBackgroundPixmap(scr->display, panel->magnifyGlass->view->window, + pixmap); XClearWindow(scr->display, panel->magnifyGlass->view->window); XFlush(scr->display); @@ -1517,20 +1664,24 @@ magnifyPutCursor(WMWidget *w, void *data) /* Destroy wheelBackImg, so it'll update properly */ if (panel->selectionBackImg) { - XFreePixmap(WMWidgetScreen(panel->win)->display, panel->selectionBackImg); + XFreePixmap(WMWidgetScreen(panel->win)->display, + panel->selectionBackImg); panel->selectionBackImg = None; } /* Create magnifying glass */ panel->magnifyGlass = wmalloc(sizeof(MovingView)); - panel->magnifyGlass->view = magnifyCreateView(panel); - magCursor = magnifyGrabPointer(panel); initialPosition = magnifyInitialize(panel); x = initialPosition.x; y = initialPosition.y; + W_MoveView(panel->magnifyGlass->view, x - Cursor_x_hot +1, + y - Cursor_y_hot +1); + W_MapView(panel->magnifyGlass->view); + + magCursor = magnifyGrabPointer(panel); while(panel->magnifyGlass->valid) { @@ -1540,7 +1691,7 @@ magnifyPutCursor(WMWidget *w, void *data) { case ButtonPress: if (event.xbutton.button == Button1) { - WMSetColorPanelColor(panel, panel->magnifyGlass->color); + updateSwatch(panel, panel->magnifyGlass->color); switch (panel->mode) { case WMWheelModeColorPanel: wheelInit(panel); @@ -1572,24 +1723,50 @@ magnifyPutCursor(WMWidget *w, void *data) case MotionNotify: /* Get a "dirty rectangle" */ panel->magnifyGlass->pixmap = magnifyGetStorePixmap( - panel, x+1, y+1, /* Cool, a circular reference ! */ - event.xmotion.x_root+1, event.xmotion.y_root+1); /* also free's magnifyGlass->pixmap */ + panel, x+1, y+1, + event.xmotion.x_root+1, event.xmotion.y_root+1); + /* also free's magnifyGlass->pixmap */ /* Update coordinates */ x = event.xmotion.x_root; y = event.xmotion.y_root; /* Move view */ - W_MoveView(panel->magnifyGlass->view, x - Cursor_x_hot +1, y - Cursor_y_hot +1); + W_MoveView(panel->magnifyGlass->view, x - Cursor_x_hot +1, + y - Cursor_y_hot +1); /* Put new image (with magn.) in view */ pixmap = magnifyCreatePixmap(panel); - XSetWindowBackgroundPixmap(scr->display, panel->magnifyGlass->view->window, pixmap); + XSetWindowBackgroundPixmap(scr->display, + panel->magnifyGlass->view->window, pixmap); XClearWindow(scr->display, panel->magnifyGlass->view->window); XFreePixmap(scr->display, pixmap); break; + case FocusOut: /* fall through */ + case FocusIn: + /* + * Color Panel window (panel->win) lost or received focus. + * We need to update the pixmap in the magnifying glass. + */ + XUngrabPointer(scr->display, CurrentTime); + W_UnmapView(panel->magnifyGlass->view); + + magnifyInitialize(panel); + + W_MapView(panel->magnifyGlass->view); + XGrabPointer (scr->display, + panel->magnifyGlass->view->window, + True, + PointerMotionMask | ButtonPressMask, + GrabModeAsync, + GrabModeAsync, + scr->rootWin, + magCursor, + CurrentTime); + break; + default: WMHandleEvent(&event); break; @@ -1602,7 +1779,11 @@ magnifyPutCursor(WMWidget *w, void *data) W_DestroyView(panel->magnifyGlass->view); XFreePixmap(scr->display, panel->magnifyGlass->mask); + panel->magnifyGlass->mask = None; + XFreePixmap(scr->display, panel->magnifyGlass->pixmap); + panel->magnifyGlass->pixmap = None; + free(panel->magnifyGlass); } @@ -1703,14 +1884,19 @@ wheelInitMatrix(W_ColorPanel *panel) /* offsets are counterclockwise (in triangles) */ + + /* top quarter */ if (y < (colorWheelSize+4)/2) ofs[0]++; - /* top quarter */ - ofs[1] += colorWheelSize + 4; /* left quarter */ + /* left quarter */ + ofs[1] += colorWheelSize + 4; + + /* bottom quarter */ + ofs[2] = (colorWheelSize + 4) * (colorWheelSize + 4) - 1 - ofs[0]; - ofs[2] = (colorWheelSize + 4) * (colorWheelSize + 4) - 1 - ofs[0]; /* bottom quarter */ - ofs[3] = (colorWheelSize + 4) * (colorWheelSize + 4) - 1 - ofs[1]; /* right quarter */ + /* right quarter */ + ofs[3] = (colorWheelSize + 4) * (colorWheelSize + 4) - 1 - ofs[1]; if (sat < 256) { cur_hsv.saturation = (unsigned char)sat; @@ -1807,9 +1993,12 @@ wheelRender(W_ColorPanel *panel) bp = image->data[2] + ofs; if (wheelInsideColorWheel(panel, ofs)) { - *rp = (unsigned int)(panel->wheelMtrx->values[ panel->wheelMtrx->data[0][ofs] ]); - *gp = (unsigned int)(panel->wheelMtrx->values[ panel->wheelMtrx->data[1][ofs] ]); - *bp = (unsigned int)(panel->wheelMtrx->values[ panel->wheelMtrx->data[2][ofs] ]); + *rp = (unsigned int)(panel->wheelMtrx->values[ + panel->wheelMtrx->data[0][ofs] ]); + *gp = (unsigned int)(panel->wheelMtrx->values[ + panel->wheelMtrx->data[1][ofs] ]); + *bp = (unsigned int)(panel->wheelMtrx->values[ + panel->wheelMtrx->data[2][ofs] ]); } else { *rp = (unsigned char)(gray.red); @@ -1822,14 +2011,17 @@ wheelRender(W_ColorPanel *panel) if (panel->wheelImg) XFreePixmap(scr->display, panel->wheelImg); - panel->wheelImg = XCreatePixmap(scr->display, W_DRAWABLE(scr), colorWheelSize+4, colorWheelSize+4, scr->depth); + panel->wheelImg = XCreatePixmap(scr->display, W_DRAWABLE(scr), + colorWheelSize+4, colorWheelSize+4, scr->depth); RConvertImage(scr->rcontext, image, &panel->wheelImg); - /* Check backimage existence. If it doesn't exist, allocate it and fill it */ + /* Check if backimage exists. If it doesn't, allocate and fill it */ if (!panel->selectionBackImg) { - panel->selectionBackImg = XCreatePixmap(scr->display, W_VIEW(panel->wheelFrm)->window, 4, 4, scr->depth); - XCopyArea(scr->display, panel->wheelImg, panel->selectionBackImg, scr->copyGC, - panel->colx -2, panel->coly -2, 4, 4, 0, 0); /* -2 is for hot spot correction */ + panel->selectionBackImg = XCreatePixmap(scr->display, + W_VIEW(panel->wheelFrm)->window, 4, 4, scr->depth); + XCopyArea(scr->display, panel->wheelImg, panel->selectionBackImg, + scr->copyGC, panel->colx -2, panel->coly -2, 4, 4, 0, 0); + /* -2 is hot spot correction */ } RDestroyImage(image); @@ -1848,12 +2040,12 @@ wheelPaint (W_ColorPanel *panel) { W_Screen *scr = WMWidgetScreen(panel->win); - XCopyArea(scr->display, panel->wheelImg, panel->wheelView->window, scr->copyGC, - 0, 0, colorWheelSize+4, colorWheelSize+4, 0, 0); + XCopyArea(scr->display, panel->wheelImg, panel->wheelView->window, + scr->copyGC, 0, 0, colorWheelSize+4, colorWheelSize+4, 0, 0); /* Draw selection image */ - XCopyArea(scr->display, panel->selectionImg, panel->wheelView->window, scr->copyGC, - 0, 0, 4, 4, panel->colx -2, panel->coly -2); + XCopyArea(scr->display, panel->selectionImg, panel->wheelView->window, + scr->copyGC, 0, 0, 4, 4, panel->colx -2, panel->coly -2); } static void @@ -1877,23 +2069,32 @@ wheelHandleActionEvents(XEvent *event, void *data) switch (event->type) { case ButtonPress: - if (getPickerPart(panel, event->xbutton.x, event->xbutton.y) == COLORWHEEL_PART) { + if (getPickerPart(panel, event->xbutton.x, event->xbutton.y) == + COLORWHEEL_PART) { panel->flags.dragging = 1; - wheelPositionSelection(panel, event->xbutton.x, event->xbutton.y); + wheelPositionSelection(panel, event->xbutton.x, + event->xbutton.y); } break; case ButtonRelease: panel->flags.dragging = 0; + if (!panel->flags.continuous) { + if (panel->action) + (*panel->action)(panel->action, panel->clientData); + } break; case MotionNotify: if (panel->flags.dragging) { - if (getPickerPart(panel, event->xmotion.x, event->xmotion.y) == COLORWHEEL_PART) { - wheelPositionSelection(panel, event->xmotion.x, event->xmotion.y); + if (getPickerPart(panel, event->xmotion.x, event->xmotion.y) == + COLORWHEEL_PART) { + wheelPositionSelection(panel, event->xmotion.x, + event->xmotion.y); } else - wheelPositionSelectionOutBounds(panel, event->xmotion.x, event->xmotion.y); + wheelPositionSelectionOutBounds(panel, event->xmotion.x, + event->xmotion.y); } break; } @@ -1910,7 +2111,9 @@ getPickerPart(W_ColorPanel *panel, int x, int y) ly = y; if (panel->mode == WMWheelModeColorPanel) { - if ((lx >= 2) && (lx <= 2+colorWheelSize) && (ly >= 2) && (ly <= 2+colorWheelSize)) { + if ((lx >= 2) && (lx <= 2+colorWheelSize) && (ly >= 2) && + (ly <= 2+colorWheelSize)) { + ofs = ly*panel->wheelMtrx->width+lx; if (wheelInsideColorWheel(panel, ofs)) @@ -1919,7 +2122,8 @@ getPickerPart(W_ColorPanel *panel, int x, int y) } if (panel->mode == WMCustomPaletteModeColorPanel) { - if ((lx >= 2) && (lx < customPaletteWidth-2) && (ly >= 2) && (ly < customPaletteHeight-2)) { + if ((lx >= 2) && (lx < customPaletteWidth-2) && (ly >= 2) && + (ly < customPaletteHeight-2)) { return CUSTOMPALETTE_PART; } } @@ -1963,9 +2167,12 @@ wheelBrightnessSliderCallback(WMWidget *w, void *data) panel->color = cur_rgb; } else { - panel->color.red = panel->wheelMtrx->values[ panel->wheelMtrx->data[0][ofs] ]; - panel->color.green = panel->wheelMtrx->values[ panel->wheelMtrx->data[1][ofs] ]; - panel->color.blue = panel->wheelMtrx->values[ panel->wheelMtrx->data[2][ofs] ]; + panel->color.red = panel->wheelMtrx->values[ + panel->wheelMtrx->data[0][ofs] ]; + panel->color.green = panel->wheelMtrx->values[ + panel->wheelMtrx->data[1][ofs] ]; + panel->color.blue = panel->wheelMtrx->values[ + panel->wheelMtrx->data[2][ofs] ]; } wheelRender(panel); @@ -1979,14 +2186,16 @@ wheelUpdateSelection(W_ColorPanel *panel) { W_Screen *scr = WMWidgetScreen(panel->win); - WMSetColorPanelColor(panel, panel->color); + updateSwatch(panel, panel->color); panel->lastChanged = WMWheelModeColorPanel; /* Redraw color selector (and make a backup of the part it will cover) */ - XCopyArea(scr->display, panel->wheelImg, panel->selectionBackImg, scr->copyGC, - panel->colx -2, panel->coly -2, 4, 4, 0, 0); /* "-2" is correction for hotspot location */ - XCopyArea(scr->display, panel->selectionImg, panel->wheelView->window, scr->copyGC, - 0, 0, 4, 4, panel->colx -2, panel->coly -2); /* see above */ + XCopyArea(scr->display, panel->wheelImg, panel->selectionBackImg, + scr->copyGC, panel->colx -2, panel->coly -2, 4, 4, 0, 0); + /* "-2" is correction for hotspot location */ + XCopyArea(scr->display, panel->selectionImg, panel->wheelView->window, + scr->copyGC, 0, 0, 4, 4, panel->colx -2, panel->coly -2); + /* see above */ } static void @@ -1994,8 +2203,9 @@ wheelUndrawSelection(W_ColorPanel *panel) { W_Screen *scr = WMWidgetScreen(panel->win); - XCopyArea(scr->display, panel->selectionBackImg, panel->wheelView->window, scr->copyGC, - 0, 0, 4, 4, panel->colx -2, panel->coly -2); /* see above */ + XCopyArea(scr->display, panel->selectionBackImg, panel->wheelView->window, + scr->copyGC, 0, 0, 4, 4, panel->colx -2, panel->coly -2); + /* see above */ } static void @@ -2004,9 +2214,12 @@ wheelPositionSelection(W_ColorPanel *panel, int x, int y) unsigned long ofs = (y * panel->wheelMtrx->width)+ x; - panel->color.red = panel->wheelMtrx->values[ panel->wheelMtrx->data[0][ofs] ]; - panel->color.green = panel->wheelMtrx->values[ panel->wheelMtrx->data[1][ofs] ]; - panel->color.blue = panel->wheelMtrx->values[ panel->wheelMtrx->data[2][ofs] ]; + panel->color.red = panel->wheelMtrx->values[ + panel->wheelMtrx->data[0][ofs] ]; + panel->color.green = panel->wheelMtrx->values[ + panel->wheelMtrx->data[1][ofs] ]; + panel->color.blue = panel->wheelMtrx->values[ + panel->wheelMtrx->data[2][ofs] ]; wheelUndrawSelection(panel); @@ -2054,8 +2267,11 @@ wheelPositionSelectionOutBounds(W_ColorPanel *panel, int x, int y) wheelUndrawSelection(panel); - panel->colx = 2 + rint((colorWheelSize * (1.0 + cos( cur_hsv.hue*M_PI/180))) /2.0); /* "+2" because of "colorWheelSize + 4" */ - panel->coly = 2 + rint((colorWheelSize * (1.0 + sin(-cur_hsv.hue*M_PI/180))) /2.0); + panel->colx = 2 + rint((colorWheelSize * (1.0 + + cos( cur_hsv.hue*M_PI/180))) /2.0); + /* "+2" because of "colorWheelSize + 4" */ + panel->coly = 2 + rint((colorWheelSize * (1.0 + + sin(-cur_hsv.hue*M_PI/180))) /2.0); wheelUpdateSelection(panel); wheelUpdateBrightnessGradientFromHSV(panel, cur_hsv); @@ -2098,7 +2314,8 @@ wheelUpdateBrightnessGradient(W_ColorPanel *panel, RColor topColor) to.red = to.green = to.blue = 0; sliderImg = RRenderGradient(16, 153, &topColor, &to, RGRD_VERTICAL); - sliderPxmp = WMCreatePixmapFromRImage(WMWidgetScreen(panel->win), sliderImg, 0); + sliderPxmp = WMCreatePixmapFromRImage(WMWidgetScreen(panel->win), + sliderImg, 0); RDestroyImage(sliderImg); WMSetSliderImage(panel->wheelBrightnessS, sliderPxmp); WMReleasePixmap(sliderPxmp); @@ -2122,7 +2339,7 @@ grayBrightnessSliderCallback(WMWidget *w, void *data) WMSetTextFieldText(panel->grayBrightnessT, tmp); color.red = color.green = color.blue = rint(2.55*value); - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMGrayModeColorPanel; } @@ -2150,12 +2367,13 @@ grayPresetButtonCallback(WMWidget *w, void *data) WMSetSliderValue(panel->grayBrightnessS, rint(100.0*i/6.0)); - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMGrayModeColorPanel; } static void -grayBrightnessTextFieldCallback(void *observerData, WMNotification *notification) +grayBrightnessTextFieldCallback(void *observerData, + WMNotification *notification) { RColor color; char tmp[4]; @@ -2173,7 +2391,7 @@ grayBrightnessTextFieldCallback(void *observerData, WMNotification *notification WMSetSliderValue(panel->grayBrightnessS, value); color.red = color.green = color.blue = rint(255.0*value/100.0); - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMGrayModeColorPanel; } @@ -2203,7 +2421,7 @@ rgbSliderCallback(WMWidget *w, void *data) color.green = value[1]; color.blue = value[2]; - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMRGBModeColorPanel; } @@ -2242,7 +2460,7 @@ rgbTextFieldCallback(void *observerData, WMNotification *notification) color.green = value[1]; color.blue = value[2]; - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMRGBModeColorPanel; } @@ -2273,10 +2491,10 @@ cmykSliderCallback(WMWidget *w, void *data) WMSetTextFieldText(panel->cmykBlackT, tmp); color.red = rint((255.0 - (value[0] * 2.55)) * (1.0 - (value[3] / 100.0))); - color.green = rint((255.0 - (value[1] * 2.55)) * (1.0 - (value[3] / 100.0))); - color.blue = rint((255.0 - (value[2] * 2.55)) * (1.0 - (value[3] / 100.0))); + color.green = rint((255.0 - (value[1] * 2.55)) * (1.0 - (value[3]/100.0))); + color.blue = rint((255.0 - (value[2] * 2.55)) * (1.0 - (value[3] /100.0))); - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMCMYKModeColorPanel; } @@ -2316,10 +2534,10 @@ cmykTextFieldCallback(void *observerData, WMNotification *notification) WMSetSliderValue(panel->cmykBlackS, value[3]); color.red = rint((255.0 - (value[0] * 2.55)) * (1.0 - (value[3] / 100.0))); - color.green = rint((255.0 - (value[1] * 2.55)) * (1.0 - (value[3] / 100.0))); - color.blue = rint((255.0 - (value[2] * 2.55)) * (1.0 - (value[3] / 100.0))); + color.green = rint((255.0 - (value[1] * 2.55)) * (1.0 - (value[3]/100.0))); + color.blue = rint((255.0 - (value[2] * 2.55)) * (1.0 - (value[3] /100.0))); - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); panel->lastChanged = WMCMYKModeColorPanel; } @@ -2352,7 +2570,7 @@ hsbSliderCallback(WMWidget *w, void *data) RHSVtoRGB(&panel->hsvcolor, &color); panel->lastChanged = WMHSBModeColorPanel; - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); if (w != panel->hsbBrightnessS) hsbUpdateBrightnessGradient(panel); @@ -2405,7 +2623,7 @@ hsbTextFieldCallback(void *observerData, WMNotification *notification) RHSVtoRGB(&panel->hsvcolor, &color); panel->lastChanged = WMHSBModeColorPanel; - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); hsbUpdateBrightnessGradient(panel); hsbUpdateSaturationGradient(panel); @@ -2431,7 +2649,9 @@ hsbUpdateBrightnessGradient(W_ColorPanel *panel) sliderImg = RRenderGradient(141, 16, &from, &to, RGRD_HORIZONTAL); sliderPxmp = WMCreatePixmapFromRImage(scr, sliderImg, 0); RDestroyImage(sliderImg); - W_PaintText(W_VIEW(panel->hsbBrightnessS), sliderPxmp->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scr->white), False, "Brightness", strlen("Brightness")); + W_PaintText(W_VIEW(panel->hsbBrightnessS), sliderPxmp->pixmap, + panel->font12, 2, 0, 100, WALeft, WMColorGC(scr->white), False, + "Brightness", strlen("Brightness")); WMSetSliderImage(panel->hsbBrightnessS, sliderPxmp); WMReleasePixmap(sliderPxmp); } @@ -2457,9 +2677,13 @@ hsbUpdateSaturationGradient(W_ColorPanel *panel) sliderPxmp = WMCreatePixmapFromRImage(scr, sliderImg, 0); RDestroyImage(sliderImg); if (hsvcolor.value < 128) - W_PaintText(W_VIEW(panel->hsbSaturationS), sliderPxmp->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scr->white), False, "Saturation", strlen("Saturation")); + W_PaintText(W_VIEW(panel->hsbSaturationS), sliderPxmp->pixmap, + panel->font12, 2, 0, 100, WALeft, WMColorGC(scr->white), False, + "Saturation", strlen("Saturation")); else - W_PaintText(W_VIEW(panel->hsbSaturationS), sliderPxmp->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scr->black), False, "Saturation", strlen("Saturation")); + W_PaintText(W_VIEW(panel->hsbSaturationS), sliderPxmp->pixmap, + panel->font12, 2, 0, 100, WALeft, WMColorGC(scr->black), False, + "Saturation", strlen("Saturation")); WMSetSliderImage(panel->hsbSaturationS, sliderPxmp); WMReleasePixmap(sliderPxmp); @@ -2489,9 +2713,13 @@ hsbUpdateHueGradient(W_ColorPanel *panel) sliderPxmp = WMCreatePixmapFromRImage(scr, sliderImg, 0); RDestroyImage(sliderImg); if (hsvcolor.value < 128) - W_PaintText(W_VIEW(panel->hsbHueS), sliderPxmp->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scr->white), False, "Hue", strlen("Hue")); + W_PaintText(W_VIEW(panel->hsbHueS), sliderPxmp->pixmap, + panel->font12, 2, 0, 100, WALeft, WMColorGC(scr->white), False, + "Hue", strlen("Hue")); else - W_PaintText(W_VIEW(panel->hsbHueS), sliderPxmp->pixmap, panel->font12, 2, 0, 100, WALeft, W_GC(scr->black), False, "Hue", strlen("Hue")); + W_PaintText(W_VIEW(panel->hsbHueS), sliderPxmp->pixmap, + panel->font12, 2, 0, 100, WALeft, WMColorGC(scr->black), False, + "Hue", strlen("Hue")); WMSetSliderImage(panel->hsbHueS, sliderPxmp); WMReleasePixmap(sliderPxmp); @@ -2564,31 +2792,42 @@ customSetPalette(W_ColorPanel *panel) Pixmap image; int item; - image = XCreatePixmap(scr->display, W_DRAWABLE(scr), customPaletteWidth, customPaletteHeight, scr->depth); + image = XCreatePixmap(scr->display, W_DRAWABLE(scr), customPaletteWidth, + customPaletteHeight, scr->depth); - scaledImg = RScaleImage(panel->customPaletteImg, customPaletteWidth, customPaletteHeight); + scaledImg = RScaleImage(panel->customPaletteImg, customPaletteWidth, + customPaletteHeight); RConvertImage(scr->rcontext, scaledImg, &image); RDestroyImage(scaledImg); - XCopyArea(scr->display, image, panel->customPaletteContentView->window, scr->copyGC, 0, 0, customPaletteWidth, customPaletteHeight, 0, 0); + XCopyArea(scr->display, image, panel->customPaletteContentView->window, + scr->copyGC, 0, 0, customPaletteWidth, customPaletteHeight, 0, 0); - /* Check backimage existence. If it doesn't exist, allocate it and fill it */ + /* Check backimage exists. If it doesn't, allocate and fill it */ if (!panel->selectionBackImg) { - panel->selectionBackImg = XCreatePixmap(scr->display, panel->customPaletteContentView->window, 4, 4, scr->depth); + panel->selectionBackImg = XCreatePixmap(scr->display, + panel->customPaletteContentView->window, 4, 4, scr->depth); } - XCopyArea(scr->display, image, panel->selectionBackImg, scr->copyGC, panel->palx-2, panel->paly-2, 4, 4, 0, 0); - XCopyArea(scr->display, panel->selectionImg, panel->customPaletteContentView->window, scr->copyGC, 0 , 0, 4, 4, panel->palx-2, panel->paly-2); + XCopyArea(scr->display, image, panel->selectionBackImg, scr->copyGC, + panel->palx-2, panel->paly-2, 4, 4, 0, 0); + XCopyArea(scr->display, panel->selectionImg, + panel->customPaletteContentView->window, scr->copyGC, 0 , 0, 4, 4, + panel->palx-2, panel->paly-2); XFreePixmap(scr->display, image); - panel->palXRatio = (float)(panel->customPaletteImg->width) / (float)(customPaletteWidth); - panel->palYRatio = (float)(panel->customPaletteImg->height) / (float)(customPaletteHeight); + panel->palXRatio = (float)(panel->customPaletteImg->width) / + (float)(customPaletteWidth); + panel->palYRatio = (float)(panel->customPaletteImg->height) / + (float)(customPaletteHeight); item = WMGetPopUpButtonSelectedItem (panel->customPaletteHistoryBtn); /* if palette != "Spectrum", we are allowed to rename and remove it */ - WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuRename, (item > 0) ); - WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuRemove, (item > 0) ); + WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuRename, + (item > 0) ); + WMSetPopUpButtonItemEnabled(panel->customPaletteMenuBtn, CPmenuRemove, + (item > 0) ); } @@ -2600,23 +2839,30 @@ customPalettePositionSelection(W_ColorPanel *panel, int x, int y) /* undraw selection */ - XCopyArea(scr->display, panel->selectionBackImg, panel->customPaletteContentView->window, scr->copyGC, 0, 0, 4, 4, panel->palx-2, panel->paly-2); + XCopyArea(scr->display, panel->selectionBackImg, + panel->customPaletteContentView->window, scr->copyGC, 0, 0, 4, 4, + panel->palx-2, panel->paly-2); panel->palx = x; panel->paly = y; - ofs = rint(x * panel->palXRatio) + rint(y * panel->palYRatio) * panel->customPaletteImg->width; + ofs = rint(x * panel->palXRatio) + rint(y * panel->palYRatio) * + panel->customPaletteImg->width; panel->color.red = panel->customPaletteImg->data[0][ofs]; panel->color.green = panel->customPaletteImg->data[1][ofs]; panel->color.blue = panel->customPaletteImg->data[2][ofs]; - WMSetColorPanelColor(panel, panel->color); + updateSwatch(panel, panel->color); panel->lastChanged = WMCustomPaletteModeColorPanel; /* Redraw color selector (and make a backup of the part it will cover) */ - XCopyArea(scr->display, panel->customPaletteContentView->window, panel->selectionBackImg, scr->copyGC, panel->palx-2, panel->paly-2, 4, 4, 0, 0); /* "-2" is correction for hotspot location */ - XCopyArea(scr->display, panel->selectionImg, panel->customPaletteContentView->window, scr->copyGC, 0, 0, 4, 4, panel->palx-2, panel->paly-2); /* see above */ + XCopyArea(scr->display, panel->customPaletteContentView->window, + panel->selectionBackImg, scr->copyGC, panel->palx-2, panel->paly-2, + 4, 4, 0, 0); /* "-2" is correction for hotspot location */ + XCopyArea(scr->display, panel->selectionImg, + panel->customPaletteContentView->window, scr->copyGC, 0, 0, 4, 4, + panel->palx-2, panel->paly-2); /* see above */ } @@ -2669,6 +2915,10 @@ customPaletteHandleActionEvents(XEvent *event, void *data) case ButtonRelease: panel->flags.dragging = 0; + if (!panel->flags.continuous) { + if (panel->action) + (*panel->action)(panel->action, panel->clientData); + } break; case MotionNotify: @@ -2733,7 +2983,7 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel) WMSetFilePanelCanChooseFiles(browseP, 1); /* Get a filename */ - if (WMRunModalOpenPanelForDirectory(browseP, panel->win, spath, + if (WMRunModalFilePanelForDirectory(browseP, panel->win, spath, "Open Palette", RSupportedFileFormats()) ) { filepath = WMGetFilePanelFileName(browseP); @@ -2768,7 +3018,8 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel) } free(tmp); - /* Copy the image to $(gnustepdir)/Library/Colors/ & Add the filename to the history menu */ + /* Copy image to $(gnustepdir)/Library/Colors/ & + * Add filename to history menu */ if (fetchFile (panel->configurationPath, filepath, filename) == 0) { /* filepath is a "local" path now the file has been copied */ @@ -2785,7 +3036,8 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel) customSetPalette(panel); WMAddPopUpButtonItem(panel->customPaletteHistoryBtn, filename); - panel->currentPalette = WMGetPopUpButtonNumberOfItems(panel->customPaletteHistoryBtn)-1; + panel->currentPalette = WMGetPopUpButtonNumberOfItems( + panel->customPaletteHistoryBtn)-1; WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, panel->currentPalette); @@ -2796,10 +3048,13 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel) tmp = wstrappend(panel->configurationPath, filename); i = remove(tmp); /* Delete the file, it doesn't belong here */ - WMRunAlertPanel(scr, panel->win, "File Error", "Invalid file format !", "OK", NULL, NULL); + WMRunAlertPanel(scr, panel->win, "File Error", + "Invalid file format !", "OK", NULL, NULL); if (i != 0) { wsyserror("can't remove file %s", tmp); - WMRunAlertPanel(scr, panel->win, "File Error", "Couldn't remove file from Configuration Directory !", "OK", NULL, NULL); + WMRunAlertPanel(scr, panel->win, "File Error", + "Couldn't remove file from Configuration Directory !", + "OK", NULL, NULL); } free(tmp); } @@ -2840,22 +3095,27 @@ customPaletteMenuRename(W_ColorPanel *panel) fromPath = wstrappend(panel->configurationPath, fromName); toPath = wstrappend(panel->configurationPath, toName); - if (access (toPath, F_OK) == 0) { /* Careful, this palette exists already */ + if (access (toPath, F_OK) == 0) { + /* Careful, this palette exists already */ if (WMRunAlertPanel(scr, panel->win, "Warning", - "Palette already exists !\n\nOverwrite ?", "No", "Yes", NULL) == 1) { + "Palette already exists !\n\nOverwrite ?", "No", "Yes", + NULL) == 1) { /* "No" = 0, "Yes" = 1 */ - int items = WMGetPopUpButtonNumberOfItems(panel->customPaletteHistoryBtn); + int items = WMGetPopUpButtonNumberOfItems( + panel->customPaletteHistoryBtn); remove(toPath); /* Remove from History list too */ index = 1; - while ((index < items) && - (strcmp(WMGetPopUpButtonItem(panel->customPaletteHistoryBtn, index), toName) != 0 )) + while ((index < items) && (strcmp(WMGetPopUpButtonItem( + panel->customPaletteHistoryBtn, index), + toName) != 0 )) index++; if (index < items) { - WMRemovePopUpButtonItem(panel->customPaletteHistoryBtn, index); + WMRemovePopUpButtonItem(panel->customPaletteHistoryBtn, + index); if (index < item) item--; } @@ -2873,7 +3133,8 @@ customPaletteMenuRename(W_ColorPanel *panel) wsyserror("Couldn't rename palette %s to %s\n", fromName, toName); else { WMRemovePopUpButtonItem(panel->customPaletteHistoryBtn, item); - WMInsertPopUpButtonItem(panel->customPaletteHistoryBtn, item, toName); + WMInsertPopUpButtonItem(panel->customPaletteHistoryBtn, item, + toName); WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item); } @@ -2897,7 +3158,8 @@ customPaletteMenuRemove(W_ColorPanel *panel) tmp = wstrappend( "This will permanently remove the palette ", WMGetPopUpButtonItem(panel->customPaletteHistoryBtn, item )); - text = wstrappend( tmp, ".\n\nAre you sure you want to remove this palette ?"); + text = wstrappend( tmp, ".\n\nAre you sure you want to remove this" + " palette ?"); free(tmp); choice = WMRunAlertPanel(scr, panel->win, NULL, text, "Yes", "No", NULL); @@ -2913,7 +3175,9 @@ customPaletteMenuRemove(W_ColorPanel *panel) wsyserror("Couldn't remove palette %s\n", tmp); free(tmp); - WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item-1); /* item -1 always exists */ + /* item -1 always exists */ + WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item-1); + customPaletteHistoryCallback(panel->customPaletteHistoryBtn, panel); customSetPalette(panel); @@ -2939,9 +3203,11 @@ customPaletteHistoryCallback(WMWidget *w, void *data) customRenderSpectrum(panel); else { /* Load file from configpath */ - filename = wstrappend( panel->configurationPath, WMGetPopUpButtonItem(panel->customPaletteHistoryBtn, item) ); + filename = wstrappend( panel->configurationPath, + WMGetPopUpButtonItem(panel->customPaletteHistoryBtn, item) ); - /* XXX To do: Check existence of file and remove it from the history if it doesn't exist */ + /* XXX To do: Check existence of file and remove it from the history + * if it doesn't exist */ tmp = RLoadImage(scr->rcontext, filename, 0); if (tmp) { @@ -2973,8 +3239,10 @@ wheelInit(W_ColorPanel *panel) WMSetSliderValue(panel->wheelBrightnessS, 255-cur_hsv.value); wheelUpdateBrightnessGradientFromHSV(panel, cur_hsv); - panel->colx = 2 + rint((colorWheelSize / 2.0) * (1 + (cur_hsv.saturation/255.0) * cos( cur_hsv.hue*M_PI/180.0))); - panel->coly = 2 + rint((colorWheelSize / 2.0) * (1 + (cur_hsv.saturation/255.0) * sin(-cur_hsv.hue*M_PI/180.0))); + panel->colx = 2 + rint((colorWheelSize / 2.0) * (1 + ( + cur_hsv.saturation/255.0) * cos( cur_hsv.hue*M_PI/180.0))); + panel->coly = 2 + rint((colorWheelSize / 2.0) * (1 + ( + cur_hsv.saturation/255.0) * sin(-cur_hsv.hue*M_PI/180.0))); for (i = 0; i < 256; i++) { /* We divide by 128 in advance, and check whether that number divides @@ -3074,7 +3342,8 @@ hsbInit(W_ColorPanel *panel) /************************* ColorList Panel Functions **********************/ static void -colorListPaintItem(WMList *lPtr, int index, Drawable d, char *text, int state, WMRect *rect) +colorListPaintItem(WMList *lPtr, int index, Drawable d, char *text, + int state, WMRect *rect) { int width, height, x, y; RColor color = *((RColor *)WMGetListItem(lPtr, index)->clientData); @@ -3095,13 +3364,15 @@ colorListPaintItem(WMList *lPtr, int index, Drawable d, char *text, int state, W else XClearArea(dpy, d, x +15, y, width -15, height, False); - fillColor = WMCreateRGBColor(scr, color.red*256, color.green*256, color.blue*256, False); + fillColor = WMCreateRGBColor(scr, color.red*256, color.green*256, + color.blue*256, False); WMSetColorInGC(fillColor, WMColorGC(fillColor)); WMPaintColorSwatch(fillColor, d, x, y, 15, 15); WMReleaseColor(fillColor); - WMDrawString(scr, d, WMColorGC(black), panel->font12, x+18, y, text, strlen(text)); + WMDrawString(scr, d, WMColorGC(black), panel->font12, x+18, y, text, + strlen(text)); WMReleaseColor(white); WMReleaseColor(black); @@ -3115,7 +3386,7 @@ colorListSelect(WMWidget *w, void *data) RColor color = *((RColor *)WMGetListSelectedItem(w)->clientData); panel->lastChanged = WMColorListModeColorPanel; - WMSetColorPanelColor(panel, color); + updateSwatch(panel, color); } @@ -3178,7 +3449,8 @@ fetchFile(char *toPath, char *srcFile, char *destFile) } tmp = wstrappend(toPath, destFile); - if ((dest = open( tmp, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) == 0) { + if ((dest = open( tmp, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) + == 0) { wsyserror("Could not create %s", tmp); free(tmp); return -1; @@ -3208,12 +3480,15 @@ generateNewFilename(char *curName) char *ptr; char *newName; + + assert(curName); + ptr = curName; - while ((ptr = strrchr(ptr, '{')) && !(sscanf(ptr, "{%i}%c", &n, &c)==1)) { - ptr++; - } - if (!ptr) + if ( + ((ptr = strrchr(ptr, '{')) == 0) || + sscanf(ptr, "{%i}%c", &n, &c) != 1 + ) return wstrappend(curName, " {1}"); baseLen = ptr - curName -1; diff --git a/WPrefs.app/po/Makefile.am b/WPrefs.app/po/Makefile.am index 633ebed5..5c856366 100644 --- a/WPrefs.app/po/Makefile.am +++ b/WPrefs.app/po/Makefile.am @@ -7,6 +7,9 @@ CLEANFILES = $(CATALOGS) EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po POTFILES = \ + $(top_builddir)/WPrefs.app/main.c \ + $(top_builddir)/WPrefs.app/WPrefs.c \ + $(top_builddir)/WPrefs.app/Appearance.c \ $(top_builddir)/WPrefs.app/Configurations.c \ $(top_builddir)/WPrefs.app/Expert.c \ $(top_builddir)/WPrefs.app/Focus.c \ @@ -14,19 +17,20 @@ POTFILES = \ $(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/NoMenuAlert.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/TexturePanel.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 + $(top_builddir)/WPrefs.app/double.c \ + $(top_builddir)/WPrefs.app/editmenu.c \ + $(top_builddir)/WPrefs.app/MenuGuru.c \ + $(top_builddir)/WPrefs.app/xmodifier.c SUFFIXES = .po .mo diff --git a/WPrefs.app/po/Makefile.in b/WPrefs.app/po/Makefile.in index d40cc2a7..fa2909a4 100644 --- a/WPrefs.app/po/Makefile.in +++ b/WPrefs.app/po/Makefile.in @@ -96,7 +96,7 @@ CLEANFILES = $(CATALOGS) EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po -POTFILES = $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TextureAndColor.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/xmodifier.c +POTFILES = $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/Appearance.c $(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/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/NoMenuAlert.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TexturePanel.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/double.c $(top_builddir)/WPrefs.app/editmenu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/xmodifier.c SUFFIXES = .po .mo diff --git a/WPrefs.app/po/README b/WPrefs.app/po/README index b553c8ed..fbd1a8e9 100644 --- a/WPrefs.app/po/README +++ b/WPrefs.app/po/README @@ -4,7 +4,7 @@ in the top of the WindowMaker source tree. File Language Current Maintainer ------------------------------------------------------------------------------ -pt.po Portuguese Alfredo K. Kojima +pt.po Portuguese Eliphas Levy Theodoro hr.po Croatian Toni Biliæ fr.po French Bastien NOCERA ko.po Korean Byeong-Chan, Kim diff --git a/WPrefs.app/po/pt.po b/WPrefs.app/po/pt.po index 76f131ce..077bf8b0 100644 --- a/WPrefs.app/po/pt.po +++ b/WPrefs.app/po/pt.po @@ -1,110 +1,156 @@ # # Mensagens do WPrefs.app traduzidas p/ Português # +# Update History: +# Alfredo K. Kojima +# Eliphas Levy Theodoro # -# + msgid "" msgstr "" -"Date: 1998-08-24 03:51:26-0300\n" -"From: Alfredo K. Kojima,,,, \n" +"Project-Id-Version: 0.52.0\n" +"POT-Creation-Date: 1998-08-24 03:51:26-0300\n" "Language-Team: Portuguese \n" "Content-Type: text/plain; charset=\n" -"Xgettext-Options: --default-domain=WPrefs --add-comments --keyword=_\n" -"Files: ../../WPrefs/Configurations.c ../../WPrefs/Expert.c ../../WPrefs/Focus.c ../../WPrefs/KeyboardSettings.c ../../WPrefs/KeyboardShortcuts.c ../../WPrefs/Menu.c ../../WPrefs/MenuGuru.c ../../WPrefs/MenuPreferences.c ../../WPrefs/MouseSettings.c ../../WPrefs/Paths.c ../../WPrefs/Preferences.c ../../WPrefs/Text.c ../../WPrefs/TextureAndColor.c ../../WPrefs/WPrefs.c ../../WPrefs/WindowHandling.c ../../WPrefs/Workspace.c ../../WPrefs/main.c ../../WPrefs/xmodifier.c\n" +"Content-Transfer-Encoding: 8-bit\n" +"MIME-Version: 1.0\n" +"Date: 1998-08-24 03:51:26-0300\n" +"PO-Revision-Date: 1999-04-01 18:16-0300\n" +"From: Eliphas Levy Theodoro \n" -#: ../../WPrefs/Configurations.c:141 ../../WPrefs/Configurations.c:147 ../../WPrefs/MouseSettings.c:456 ../../WPrefs/WindowHandling.c:274 ../../WPrefs/WindowHandling.c:286 ../../WPrefs/Workspace.c:78 ../../WPrefs/Workspace.c:84 +"Xgettext-Options: --default-domain=WPrefs --add-comments --keyword=_\n" +"Files: ../../WPrefs/Configurations.c ../../WPrefs/Expert.c " +"../../WPrefs/Focus.c ../../WPrefs/KeyboardSettings.c " +"../../WPrefs/KeyboardShortcuts.c ../../WPrefs/Menu.c ../../WPrefs/MenuGuru.c " +"../../WPrefs/MenuPreferences.c ../../WPrefs/MouseSettings.c " +"../../WPrefs/Paths.c ../../WPrefs/Preferences.c ../../WPrefs/Text.c " +"../../WPrefs/TextureAndColor.c ../../WPrefs/WPrefs.c " +"../../WPrefs/WindowHandling.c ../../WPrefs/Workspace.c ../../WPrefs/main.c " +"../../WPrefs/xmodifier.c\n" + +#: ../../WPrefs.app/Configurations.c:142 ../../WPrefs.app/Configurations.c:148 +#: ../../WPrefs.app/MouseSettings.c:547 ../../WPrefs.app/WindowHandling.c:311 +#: ../../WPrefs.app/WindowHandling.c:323 ../../WPrefs.app/Workspace.c:71 +#: ../../WPrefs.app/Workspace.c:77 +#, c-format msgid "could not load icon %s" msgstr "ícone %s não pôde ser carregado" -#: ../../WPrefs/Configurations.c:154 ../../WPrefs/Workspace.c:91 +#: ../../WPrefs.app/Configurations.c:156 ../../WPrefs.app/Workspace.c:85 +#, c-format msgid "could not process icon %s:" msgstr "ícone %s não pôde ser processado:" -#: ../../WPrefs/Configurations.c:179 ../../WPrefs/Workspace.c:158 +#: ../../WPrefs.app/Configurations.c:181 ../../WPrefs.app/Workspace.c:124 +#, c-format msgid "could not load image file %s" msgstr "arquivo de imagem %s não pôde ser carregado" -#: ../../WPrefs/Configurations.c:193 +#: ../../WPrefs.app/Configurations.c:195 msgid "Icon Slide Speed" msgstr "Velocidade dos Ícones " -#: ../../WPrefs/Configurations.c:199 +#: ../../WPrefs.app/Configurations.c:201 msgid "Shade Animation Speed" msgstr "Velocidade da Animação do Shade" -#: ../../WPrefs/Configurations.c:232 ../../WPrefs/Configurations.c:244 ../../WPrefs/Focus.c:310 ../../WPrefs/Focus.c:321 ../../WPrefs/MenuPreferences.c:135 ../../WPrefs/MenuPreferences.c:146 ../../WPrefs/MenuPreferences.c:174 ../../WPrefs/MenuPreferences.c:189 ../../WPrefs/MouseSettings.c:484 ../../WPrefs/MouseSettings.c:495 ../../WPrefs/MouseSettings.c:550 ../../WPrefs/MouseSettings.c:561 ../../WPrefs/MouseSettings.c:597 ../../WPrefs/MouseSettings.c:612 ../../WPrefs/MouseSettings.c:628 ../../WPrefs/WPrefs.c:393 ../../WPrefs/WPrefs.c:411 +#: ../../WPrefs.app/Configurations.c:234 ../../WPrefs.app/Configurations.c:246 +#: ../../WPrefs.app/Focus.c:314 ../../WPrefs.app/Focus.c:325 +#: ../../WPrefs.app/MenuPreferences.c:135 +#: ../../WPrefs.app/MenuPreferences.c:146 +#: ../../WPrefs.app/MenuPreferences.c:174 +#: ../../WPrefs.app/MenuPreferences.c:189 ../../WPrefs.app/MouseSettings.c:575 +#: ../../WPrefs.app/MouseSettings.c:586 ../../WPrefs.app/MouseSettings.c:650 +#: ../../WPrefs.app/MouseSettings.c:661 ../../WPrefs.app/MouseSettings.c:717 +#: ../../WPrefs.app/MouseSettings.c:732 ../../WPrefs.app/MouseSettings.c:748 +#: ../../WPrefs.app/WPrefs.c:411 ../../WPrefs.app/WPrefs.c:428 +#, c-format msgid "could not load icon file %s" msgstr "arquivo de ícone %s não pôde ser carregado" -#: ../../WPrefs/Configurations.c:260 +#: ../../WPrefs.app/Configurations.c:262 msgid "Titlebar Style" msgstr "Estilo da Barra de Título" -#: ../../WPrefs/Configurations.c:297 +#: ../../WPrefs.app/Configurations.c:299 msgid "Animations and Sound" msgstr "Som e Animações" -#: ../../WPrefs/Configurations.c:303 +#: ../../WPrefs.app/Configurations.c:305 msgid "Animations" msgstr "Animações" -#: ../../WPrefs/Configurations.c:319 +#: ../../WPrefs.app/Configurations.c:321 msgid "Superfluous" msgstr "Enfeite" -#: ../../WPrefs/Configurations.c:335 +#: ../../WPrefs.app/Configurations.c:337 msgid "Sounds" msgstr "Sons" -#: ../../WPrefs/Configurations.c:352 +#: ../../WPrefs.app/Configurations.c:354 msgid "Note: sound requires a module distributed separately" -msgstr "Nota: é necessário um módulo distribuído separadamante para se ter sons" +msgstr "" +"Nota: é necessário um módulo distribuído separadamante para se ter sons" -#: ../../WPrefs/Configurations.c:362 +#: ../../WPrefs.app/Configurations.c:364 msgid "Dithering colormap for 8bpp" msgstr "No.de cores para dithering em 8bpp" -#: ../../WPrefs/Configurations.c:367 +#: ../../WPrefs.app/Configurations.c:369 msgid "Disable dithering in any visual/depth" msgstr "Desabilitar dithering" -#: ../../WPrefs/Configurations.c:388 +#: ../../WPrefs.app/Configurations.c:390 msgid "More colors for applications" msgstr "Mais cores para applicações" -#: ../../WPrefs/Configurations.c:395 +#: ../../WPrefs.app/Configurations.c:397 msgid "More colors for WindowMaker" msgstr "Mais cores para o WindowMaker" -#: ../../WPrefs/Configurations.c:448 +#: ../../WPrefs.app/Configurations.c:450 msgid "Other Configurations" msgstr "Outras Configurações" -#: ../../WPrefs/Expert.c:69 +#: ../../WPrefs.app/Expert.c:72 +msgid "" +"Disable miniwindows (icons for miniaturized windows). For use with KDE/GNOME." +msgstr "" +"Desabilita minijanelas (ícones para janelas minimizadas)." + +#: ../../WPrefs.app/Expert.c:73 msgid "Do not set non-WindowMaker specific parameters (do not use xset)" -msgstr "Não configurar parâmetros não pertencentes ao WindowMaker (não usar xset)" +msgstr "" +"Não configurar parâmetros não pertencentes ao WindowMaker (não usar xset)" -#: ../../WPrefs/Expert.c:70 +#: ../../WPrefs.app/Expert.c:74 msgid "Automatically save session when exiting WindowMaker" msgstr "Salvar sessão automaticamente ao sair do WindowMaker" -#: ../../WPrefs/Expert.c:71 -msgid "Use SaveUnders in icons, menus and other objects" -msgstr "Usar SaveUnders nos ícones, menus e outros objetos" +#: ../../WPrefs.app/Expert.c:75 +msgid "Use SaveUnder in window frames, icons, menus and other objects" +msgstr "Usar SaveUnder nos ícones, menus e outros objetos" + +#: ../../WPrefs.app/Expert.c:76 +msgid "Disable cycling color highlighting of icons." +msgstr "Desabilitar ciclagem de cores nos ícones." -#: ../../WPrefs/Expert.c:100 +#: ../../WPrefs.app/Expert.c:108 msgid "Expert User Preferences" msgstr "Preferências para Usuários Avançados" -#: ../../WPrefs/Focus.c:79 +#: ../../WPrefs.app/Focus.c:81 +#, c-format msgid "bad option value %s for option FocusMode. Using default Manual" msgstr "valor %s inválido para opção FocusMode. Usando default Manual" -#: ../../WPrefs/Focus.c:92 -msgid "bad option value %s for option ColormapMode. Using default Manual" -msgstr "value %s inválido para opção ColormapMode. Usando default Manual" +#: ../../WPrefs.app/Focus.c:96 +#, c-format +msgid "bad option value %s for option ColormapMode. Using default Auto" +msgstr "valor %s inválido para opção ColormapMode. Usando default Auto" -#: ../../WPrefs/Focus.c:190 +#: ../../WPrefs.app/Focus.c:194 msgid "" "Click on the window to set\n" "keyboard input focus." @@ -112,7 +158,7 @@ msgstr "" "Clicar na janelar para mudar\n" "o foco do teclado." -#: ../../WPrefs/Focus.c:194 +#: ../../WPrefs.app/Focus.c:198 msgid "" "Set keyboard input focus to\n" "the window under the mouse pointer,\n" @@ -122,7 +168,7 @@ msgstr "" "janela sob o cursor do mouse,\n" "inclusive a janela raiz." -#: ../../WPrefs/Focus.c:199 +#: ../../WPrefs.app/Focus.c:203 msgid "" "Set keyboard input focus to\n" "the window under the mouse pointer,\n" @@ -132,675 +178,839 @@ msgstr "" "janela sob o cursor do mouse,\n" "exceto a janela raiz." -#: ../../WPrefs/Focus.c:243 +#: ../../WPrefs.app/Focus.c:247 msgid "Input Focus Mode" msgstr "Modo de Foco do Teclado" -#: ../../WPrefs/Focus.c:248 +#: ../../WPrefs.app/Focus.c:252 msgid "Click window to focus" msgstr "Clicar na janela para focar" -#: ../../WPrefs/Focus.c:249 +#: ../../WPrefs.app/Focus.c:253 msgid "Focus follows mouse" msgstr "\"Focus follows mouse\"" -#: ../../WPrefs/Focus.c:250 +#: ../../WPrefs.app/Focus.c:254 msgid "\"Sloppy\" focus" msgstr "\"Sloppy focus\"" -#: ../../WPrefs/Focus.c:265 +#: ../../WPrefs.app/Focus.c:269 msgid "Install colormap in the window..." msgstr "Instalar colormap na janela..." -#: ../../WPrefs/Focus.c:270 +#: ../../WPrefs.app/Focus.c:274 msgid "...that has the input focus." msgstr "...que tem o foco do teclado." -#: ../../WPrefs/Focus.c:275 +#: ../../WPrefs.app/Focus.c:279 msgid "...that is under the mouse pointer." msgstr "...que está sob o cursor do mouse." -#: ../../WPrefs/Focus.c:284 +#: ../../WPrefs.app/Focus.c:288 msgid "Automatic Window Raise Delay" msgstr "Levantar Janela Depois de..." -#: ../../WPrefs/Focus.c:341 +#: ../../WPrefs.app/Focus.c:345 msgid "msec" msgstr "mseg" -#: ../../WPrefs/Focus.c:358 -msgid "Do not let aplications receive the click used to focus windows." +#: ../../WPrefs.app/Focus.c:362 +msgid "Do not let applications receive the click used to focus windows." msgstr "Não deixar aplicação receber o clique usado para focar janelas." -#: ../../WPrefs/Focus.c:364 +#: ../../WPrefs.app/Focus.c:368 msgid "Automatically focus new windows." msgstr "Focar janelas novas automaticamente." -#: ../../WPrefs/Focus.c:385 +#: ../../WPrefs.app/Focus.c:389 msgid "Window Focus Preferences" msgstr "Preferências sobre Foco de Janela" -#: ../../WPrefs/KeyboardSettings.c:72 +#: ../../WPrefs.app/Icons.c:180 +msgid "Icon Positioning" +msgstr "Posicionamento de ícones" + +#: ../../WPrefs.app/Icons.c:227 +msgid "Iconification Animation" +msgstr "Animação de ícones" + +#: ../../WPrefs.app/Icons.c:238 +msgid "Shrinking/Zooming" +msgstr "Zoom" + +#: ../../WPrefs.app/Icons.c:239 +msgid "Spinning/Twisting" +msgstr "Girar" + +#: ../../WPrefs.app/Icons.c:240 +msgid "3D-flipping" +msgstr "Giro 3D" + +#: ../../WPrefs.app/Icons.c:241 +msgid "None" +msgstr "Nenhum" + +#: ../../WPrefs.app/Icons.c:249 +msgid "Icon Display" +msgstr "Disposição de Ícones" + +#: ../../WPrefs.app/Icons.c:254 +msgid "Auto-arrange icons" +msgstr "Auto-alinhar ícones" + +#: ../../WPrefs.app/Icons.c:259 +msgid "Omnipresent miniwindows" +msgstr "Minijanelas onipresentes" + +#: ../../WPrefs.app/Icons.c:267 +msgid "Icon Size" +msgstr "Tamanho do Ícone" + +#: ../../WPrefs.app/Icons.c:337 +msgid "Icon Preferences" +msgstr "Preferências de ícones" + +#: ../../WPrefs.app/KeyboardSettings.c:72 msgid "Initial Key Repeat" -msgstr "" +msgstr "Repetição de teclas" -#: ../../WPrefs/KeyboardSettings.c:113 +#: ../../WPrefs.app/KeyboardSettings.c:113 msgid "Key Repeat Rate" -msgstr "" +msgstr "Taxa de repetição do teclado" -#: ../../WPrefs/KeyboardSettings.c:153 +#: ../../WPrefs.app/KeyboardSettings.c:153 msgid "Type here to test" -msgstr "" +msgstr "Tecle aqui para testar" -#: ../../WPrefs/KeyboardSettings.c:172 +#: ../../WPrefs.app/KeyboardSettings.c:172 msgid "Keyboard Preferences" -msgstr "" +msgstr "Preferências de teclado" -#: ../../WPrefs/KeyboardShortcuts.c:161 ../../WPrefs/Menu.c:891 ../../WPrefs/MenuGuru.c:261 +#: ../../WPrefs.app/KeyboardShortcuts.c:183 ../../WPrefs.app/Menu.c:962 +#: ../../WPrefs.app/MenuGuru.c:263 msgid "Cancel" msgstr "Cancelar" -#: ../../WPrefs/KeyboardShortcuts.c:162 +#: ../../WPrefs.app/KeyboardShortcuts.c:184 msgid "Press the desired shortcut key(s) or click Cancel to stop capturing." -msgstr "Tecle a(s) tecla(s) de atalho desejada(s) ou clique Cancelar para parar a captura." +msgstr "" +"Tecle a(s) tecla(s) de atalho desejada(s) ou clique Cancelar para parar a " +"captura." -#: ../../WPrefs/KeyboardShortcuts.c:180 ../../WPrefs/KeyboardShortcuts.c:372 ../../WPrefs/Menu.c:902 ../../WPrefs/Menu.c:1122 +#: ../../WPrefs.app/KeyboardShortcuts.c:204 +#: ../../WPrefs.app/KeyboardShortcuts.c:444 ../../WPrefs.app/Menu.c:974 +#: ../../WPrefs.app/Menu.c:1193 msgid "Capture" msgstr "Capturar" -#: ../../WPrefs/KeyboardShortcuts.c:181 ../../WPrefs/KeyboardShortcuts.c:379 +#: ../../WPrefs.app/KeyboardShortcuts.c:205 +#: ../../WPrefs.app/KeyboardShortcuts.c:451 msgid "Click Capture to interactively define the shortcut key." msgstr "Clique Capturar para definir a(s) tecla(s) de atalho interativamente." -#: ../../WPrefs/KeyboardShortcuts.c:297 +#: ../../WPrefs.app/KeyboardShortcuts.c:359 msgid "Actions" msgstr "Ações" -#: ../../WPrefs/KeyboardShortcuts.c:311 +#: ../../WPrefs.app/KeyboardShortcuts.c:375 msgid "Open applications menu" msgstr "Abrir menu de aplicações" -#: ../../WPrefs/KeyboardShortcuts.c:312 +#: ../../WPrefs.app/KeyboardShortcuts.c:376 msgid "Open window list menu" msgstr "Abrir lista de janelas" -#: ../../WPrefs/KeyboardShortcuts.c:313 +#: ../../WPrefs.app/KeyboardShortcuts.c:377 msgid "Open window commands menu" msgstr "Abrir menu de comandos para janelas" -#: ../../WPrefs/KeyboardShortcuts.c:314 +#: ../../WPrefs.app/KeyboardShortcuts.c:378 msgid "Hide active application" msgstr "Esconder (hide) aplicação ativa" -#: ../../WPrefs/KeyboardShortcuts.c:315 +#: ../../WPrefs.app/KeyboardShortcuts.c:379 msgid "Miniaturize active window" msgstr "Miniaturizar janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:316 +#: ../../WPrefs.app/KeyboardShortcuts.c:380 msgid "Close active window" msgstr "Fechar janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:317 +#: ../../WPrefs.app/KeyboardShortcuts.c:381 msgid "Maximize active window" msgstr "Maximizar janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:318 +#: ../../WPrefs.app/KeyboardShortcuts.c:382 msgid "Maximize active window vertically" msgstr "Maximizar janela ativa verticalmente" -#: ../../WPrefs/KeyboardShortcuts.c:319 +#: ../../WPrefs.app/KeyboardShortcuts.c:383 msgid "Raise active window" msgstr "Levantar janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:320 +#: ../../WPrefs.app/KeyboardShortcuts.c:384 msgid "Lower active window" msgstr "Rebaixar janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:321 +#: ../../WPrefs.app/KeyboardShortcuts.c:385 msgid "Raise/Lower window under mouse pointer" msgstr "Levantar/Rebaixar janela sob cursor" -#: ../../WPrefs/KeyboardShortcuts.c:322 +#: ../../WPrefs.app/KeyboardShortcuts.c:386 msgid "Shade active window" msgstr "Shadear janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:323 +#: ../../WPrefs.app/KeyboardShortcuts.c:387 +msgid "Move/Resize active window" +msgstr "Mover/Redimensionar janela ativa" + +#: ../../WPrefs.app/KeyboardShortcuts.c:388 msgid "Select active window" msgstr "Selectionar janela ativa" -#: ../../WPrefs/KeyboardShortcuts.c:324 +#: ../../WPrefs.app/KeyboardShortcuts.c:389 msgid "Focus next window" msgstr "Focar/ativar próxima janela" -#: ../../WPrefs/KeyboardShortcuts.c:325 +#: ../../WPrefs.app/KeyboardShortcuts.c:390 msgid "Focus previous window" msgstr "Focar/ativar janela anterior" -#: ../../WPrefs/KeyboardShortcuts.c:326 +#: ../../WPrefs.app/KeyboardShortcuts.c:391 msgid "Switch to next workspace" msgstr "Ir para próxima área de trabalho" -#: ../../WPrefs/KeyboardShortcuts.c:327 +#: ../../WPrefs.app/KeyboardShortcuts.c:392 msgid "Switch to previous workspace" msgstr "Ir para área de trabalho anterior" -#: ../../WPrefs/KeyboardShortcuts.c:328 +#: ../../WPrefs.app/KeyboardShortcuts.c:393 msgid "Switch to next ten workspaces" msgstr "Ir para as próximas 10 áreas de trabalho" -#: ../../WPrefs/KeyboardShortcuts.c:329 +#: ../../WPrefs.app/KeyboardShortcuts.c:394 msgid "Switch to previous ten workspaces" msgstr "Ir para as 10 áreas de trabalho anteriores" -#: ../../WPrefs/KeyboardShortcuts.c:330 +#: ../../WPrefs.app/KeyboardShortcuts.c:395 msgid "Switch to workspace 1" msgstr "Ir para área de trabalho 1" -#: ../../WPrefs/KeyboardShortcuts.c:331 +#: ../../WPrefs.app/KeyboardShortcuts.c:396 msgid "Switch to workspace 2" msgstr "Ir para área de trabalho 2" -#: ../../WPrefs/KeyboardShortcuts.c:332 +#: ../../WPrefs.app/KeyboardShortcuts.c:397 msgid "Switch to workspace 3" msgstr "Ir para área de trabalho 3" -#: ../../WPrefs/KeyboardShortcuts.c:333 +#: ../../WPrefs.app/KeyboardShortcuts.c:398 msgid "Switch to workspace 4" msgstr "Ir para área de trabalho 4" -#: ../../WPrefs/KeyboardShortcuts.c:334 +#: ../../WPrefs.app/KeyboardShortcuts.c:399 msgid "Switch to workspace 5" msgstr "Ir para área de trabalho 5" -#: ../../WPrefs/KeyboardShortcuts.c:335 +#: ../../WPrefs.app/KeyboardShortcuts.c:400 msgid "Switch to workspace 6" msgstr "Ir para área de trabalho 6" -#: ../../WPrefs/KeyboardShortcuts.c:336 +#: ../../WPrefs.app/KeyboardShortcuts.c:401 msgid "Switch to workspace 7" msgstr "Ir para área de trabalho 7" -#: ../../WPrefs/KeyboardShortcuts.c:337 +#: ../../WPrefs.app/KeyboardShortcuts.c:402 msgid "Switch to workspace 8" msgstr "Ir para área de trabalho 8" -#: ../../WPrefs/KeyboardShortcuts.c:338 +#: ../../WPrefs.app/KeyboardShortcuts.c:403 msgid "Switch to workspace 9" msgstr "Ir para área de trabalho 9" -#: ../../WPrefs/KeyboardShortcuts.c:339 +#: ../../WPrefs.app/KeyboardShortcuts.c:404 msgid "Switch to workspace 10" msgstr "Ir para área de trabalho 10" -#: ../../WPrefs/KeyboardShortcuts.c:340 +#: ../../WPrefs.app/KeyboardShortcuts.c:405 +msgid "Shortcut for window 1" +msgstr "Atalho para janela 1" + +#: ../../WPrefs.app/KeyboardShortcuts.c:406 +msgid "Shortcut for window 2" +msgstr "Atalho para janela 2" + +#: ../../WPrefs.app/KeyboardShortcuts.c:407 +msgid "Shortcut for window 3" +msgstr "Atalho para janela 3" + +#: ../../WPrefs.app/KeyboardShortcuts.c:408 +msgid "Shortcut for window 4" +msgstr "Atalho para janela 4" + +#: ../../WPrefs.app/KeyboardShortcuts.c:409 msgid "Raise Clip" msgstr "Levantar Clip" -#: ../../WPrefs/KeyboardShortcuts.c:341 +#: ../../WPrefs.app/KeyboardShortcuts.c:410 msgid "Lower Clip" msgstr "Rebaixar Clip" -#: ../../WPrefs/KeyboardShortcuts.c:342 +#: ../../WPrefs.app/KeyboardShortcuts.c:411 msgid "Raise/Lower Clip" msgstr "Levantar/Rebaixar Clip" -#: ../../WPrefs/KeyboardShortcuts.c:355 ../../WPrefs/Menu.c:1111 +#: ../../WPrefs.app/KeyboardShortcuts.c:413 +msgid "Toggle keyboard language" +msgstr "Mudar mapa de teclado" + +#: ../../WPrefs.app/KeyboardShortcuts.c:427 ../../WPrefs.app/Menu.c:1182 msgid "Shortcut" msgstr "Tecla de Atalho" -#: ../../WPrefs/KeyboardShortcuts.c:366 +#: ../../WPrefs.app/KeyboardShortcuts.c:438 msgid "Clear" msgstr "Limpar" -#: ../../WPrefs/KeyboardShortcuts.c:427 +#: ../../WPrefs.app/KeyboardShortcuts.c:499 msgid "Keyboard Shortcut Preferences" msgstr "Preferências de Teclas de Atalho" -#: ../../WPrefs/Menu.c:364 +#: ../../WPrefs.app/Menu.c:404 msgid "Window Manager" msgstr "Gerenciador de Janelas" -#: ../../WPrefs/Menu.c:366 +#: ../../WPrefs.app/Menu.c:406 msgid "Program to open files" msgstr "Abrir arquivos com..." -#: ../../WPrefs/Menu.c:368 ../../WPrefs/Menu.c:1098 +#: ../../WPrefs.app/Menu.c:408 ../../WPrefs.app/Menu.c:1169 msgid "Program to Run" msgstr "Programa a Executar" -#: ../../WPrefs/Menu.c:418 ../../WPrefs/Menu.c:419 +#: ../../WPrefs.app/Menu.c:456 ../../WPrefs.app/Menu.c:457 +#, c-format msgid "New Command %i" msgstr "Comando %i" -#: ../../WPrefs/Menu.c:426 +#: ../../WPrefs.app/Menu.c:464 msgid "New Submenu" msgstr "Submenu" -#: ../../WPrefs/Menu.c:431 +#: ../../WPrefs.app/Menu.c:469 msgid "External Menu" msgstr "Menu Externo" -#: ../../WPrefs/Menu.c:438 +#: ../../WPrefs.app/Menu.c:476 msgid "Workspaces" msgstr "Áreas de Trabalho" -#: ../../WPrefs/Menu.c:982 ../../WPrefs/Menu.c:997 +#: ../../WPrefs.app/Menu.c:1053 ../../WPrefs.app/Menu.c:1068 msgid "Commands" msgstr "Comandos" -#: ../../WPrefs/Menu.c:983 ../../WPrefs/Menu.c:998 +#: ../../WPrefs.app/Menu.c:1054 ../../WPrefs.app/Menu.c:1069 msgid "Add Command" msgstr "Novo Comando" -#: ../../WPrefs/Menu.c:984 ../../WPrefs/Menu.c:999 +#: ../../WPrefs.app/Menu.c:1055 ../../WPrefs.app/Menu.c:1070 msgid "Add Submenu" msgstr "Novo Submenu" -#: ../../WPrefs/Menu.c:985 ../../WPrefs/Menu.c:1000 +#: ../../WPrefs.app/Menu.c:1056 ../../WPrefs.app/Menu.c:1071 msgid "Add External Menu" msgstr "Menu Externo" -#: ../../WPrefs/Menu.c:986 ../../WPrefs/Menu.c:1001 +#: ../../WPrefs.app/Menu.c:1057 ../../WPrefs.app/Menu.c:1072 msgid "Add Workspace Menu" msgstr "Menu de Áreas de Trab." -#: ../../WPrefs/Menu.c:987 ../../WPrefs/Menu.c:1002 +#: ../../WPrefs.app/Menu.c:1058 ../../WPrefs.app/Menu.c:1073 msgid "Remove Item" msgstr "Remover Item" -#: ../../WPrefs/Menu.c:988 ../../WPrefs/Menu.c:1003 +#: ../../WPrefs.app/Menu.c:1059 ../../WPrefs.app/Menu.c:1074 msgid "Cut Item" msgstr "Cortar Item" -#: ../../WPrefs/Menu.c:989 ../../WPrefs/Menu.c:1004 +#: ../../WPrefs.app/Menu.c:1060 ../../WPrefs.app/Menu.c:1075 msgid "Copy Item" msgstr "Copiar Item" -#: ../../WPrefs/Menu.c:990 ../../WPrefs/Menu.c:1005 +#: ../../WPrefs.app/Menu.c:1061 ../../WPrefs.app/Menu.c:1076 msgid "Paste Item" msgstr "Colar Item" -#: ../../WPrefs/Menu.c:1034 +#: ../../WPrefs.app/Menu.c:1105 msgid "Label" msgstr "Título" -#: ../../WPrefs/Menu.c:1047 +#: ../../WPrefs.app/Menu.c:1118 msgid "Command" msgstr "Comando" -#: ../../WPrefs/Menu.c:1052 +#: ../../WPrefs.app/Menu.c:1123 msgid "Run Program" msgstr "Executar Programa" -#: ../../WPrefs/Menu.c:1053 +#: ../../WPrefs.app/Menu.c:1124 msgid "Arrange Icons" msgstr "Alinhar Ícones" -#: ../../WPrefs/Menu.c:1054 +#: ../../WPrefs.app/Menu.c:1125 msgid "Hide Others" msgstr "Esconder (hide) Outros" -#: ../../WPrefs/Menu.c:1055 +#: ../../WPrefs.app/Menu.c:1126 msgid "Show All Windows" msgstr "Mostrar Todas as Janelas" -#: ../../WPrefs/Menu.c:1056 +#: ../../WPrefs.app/Menu.c:1127 msgid "Exit WindowMaker" msgstr "Sair do WindowMaker" -#: ../../WPrefs/Menu.c:1057 +#: ../../WPrefs.app/Menu.c:1128 msgid "Exit X Session" msgstr "Sair da Sessão do X" -#: ../../WPrefs/Menu.c:1058 +#: ../../WPrefs.app/Menu.c:1129 msgid "Start window manager" msgstr "Iniciar ger.de janelas" -#: ../../WPrefs/Menu.c:1059 +#: ../../WPrefs.app/Menu.c:1130 msgid "Restart WindowMaker" msgstr "Reiniciar WindowMaker" -#: ../../WPrefs/Menu.c:1060 +#: ../../WPrefs.app/Menu.c:1131 msgid "Save Session" msgstr "Salvar Sessão" -#: ../../WPrefs/Menu.c:1061 +#: ../../WPrefs.app/Menu.c:1132 msgid "Clear Session" msgstr "Limpar Sessão" -#: ../../WPrefs/Menu.c:1062 +#: ../../WPrefs.app/Menu.c:1133 msgid "Refresh Screen" msgstr "Refresh da Tela" -#: ../../WPrefs/Menu.c:1063 +#: ../../WPrefs.app/Menu.c:1134 msgid "Info Panel" msgstr "Janela de Informações" -#: ../../WPrefs/Menu.c:1064 +#: ../../WPrefs.app/Menu.c:1135 msgid "Legal Panel" msgstr "Janela de Inform.Legais" -#: ../../WPrefs/Menu.c:1072 +#: ../../WPrefs.app/Menu.c:1143 msgid "Open workspace menu" msgstr "Abrir menu de áreas de trabalho" -#: ../../WPrefs/Menu.c:1079 +#: ../../WPrefs.app/Menu.c:1150 msgid "No confirmation panel" msgstr "Sem janela de confirmação" -#: ../../WPrefs/Menu.c:1085 +#: ../../WPrefs.app/Menu.c:1156 msgid "Menu Path/Directory List" msgstr "Path do menu/Lista de dirs." -#: ../../WPrefs/Menu.c:1130 +#: ../../WPrefs.app/Menu.c:1201 msgid "Ask help to the Guru" msgstr "Pedir ajuda ao Guru" -#: ../../WPrefs/Menu.c:1242 -msgid "The format of the current menu file (%s) is not supported by WPrefs. A new menu will be created." -msgstr "O formato do menu atual (%s) não é suportado pelo WPrefs. Um menu novo será criado." +#. if there is a localized plmenu for the tongue put it's filename here +#: ../../WPrefs.app/Menu.c:1312 ../../WPrefs.app/Menu.c:1319 +#, c-format +msgid "%s/Library/WindowMaker/plmenu" +msgstr "" -#: ../../WPrefs/Menu.c:1245 ../../WPrefs/WPrefs.c:565 -msgid "Warning" -msgstr "Aviso" +#: ../../WPrefs.app/Menu.c:1328 +#, c-format +msgid "Could not open default menu from '%s'" +msgstr "Menu padrão %s não pôde ser aberto" + +#: ../../WPrefs.app/Menu.c:1331 ../../WPrefs.app/MouseSettings.c:149 +#: ../../WPrefs.app/MouseSettings.c:172 ../../WPrefs.app/Text.c:181 +#: ../../WPrefs.app/Themes.c:96 ../../WPrefs.app/WPrefs.c:587 +#: ../../WPrefs.app/WPrefs.c:592 ../../WPrefs.app/WPrefs.c:601 +#: ../../WPrefs.app/WPrefs.c:611 ../../WPrefs.app/WPrefs.c:621 +#: ../../WPrefs.app/WPrefs.c:652 ../../WPrefs.app/WPrefs.c:657 +msgid "Error" +msgstr "Erro" -#: ../../WPrefs/Menu.c:1246 ../../WPrefs/MenuGuru.c:117 ../../WPrefs/MenuGuru.c:124 ../../WPrefs/MenuGuru.c:138 ../../WPrefs/MouseSettings.c:156 ../../WPrefs/Text.c:181 ../../WPrefs/WPrefs.c:527 ../../WPrefs/WPrefs.c:532 ../../WPrefs/WPrefs.c:543 ../../WPrefs/WPrefs.c:552 ../../WPrefs/WPrefs.c:558 ../../WPrefs/WPrefs.c:565 ../../WPrefs/WPrefs.c:587 +#: ../../WPrefs.app/Menu.c:1331 ../../WPrefs.app/MenuGuru.c:119 +#: ../../WPrefs.app/MenuGuru.c:126 ../../WPrefs.app/MenuGuru.c:140 +#: ../../WPrefs.app/MouseSettings.c:151 ../../WPrefs.app/MouseSettings.c:174 +#: ../../WPrefs.app/Text.c:181 ../../WPrefs.app/Themes.c:98 +#: ../../WPrefs.app/WPrefs.c:587 ../../WPrefs.app/WPrefs.c:592 +#: ../../WPrefs.app/WPrefs.c:603 ../../WPrefs.app/WPrefs.c:615 +#: ../../WPrefs.app/WPrefs.c:621 ../../WPrefs.app/WPrefs.c:628 +#: ../../WPrefs.app/WPrefs.c:652 ../../WPrefs.app/WPrefs.c:657 msgid "OK" msgstr "OK" -#: ../../WPrefs/Menu.c:1284 -msgid "Aplications Menu Definition" +#: ../../WPrefs.app/Menu.c:1438 +msgid "Applications Menu Definition" msgstr "Definição do Menu de Aplicações" -#: ../../WPrefs/MenuGuru.c:104 +#: ../../WPrefs.app/MenuGuru.c:106 msgid "Menu Guru - Select Type" msgstr "Guru de Menu - Tipo" -#: ../../WPrefs/MenuGuru.c:109 ../../WPrefs/MenuGuru.c:131 ../../WPrefs/MenuGuru.c:249 +#: ../../WPrefs.app/MenuGuru.c:111 ../../WPrefs.app/MenuGuru.c:133 +#: ../../WPrefs.app/MenuGuru.c:251 msgid "Next" msgstr "Próximo" -#: ../../WPrefs/MenuGuru.c:112 +#: ../../WPrefs.app/MenuGuru.c:114 msgid "Menu Guru - Select Menu File" msgstr "Guru de Menu - Arquivo de Menu" -#: ../../WPrefs/MenuGuru.c:120 +#: ../../WPrefs.app/MenuGuru.c:122 msgid "Menu Guru - Select Pipe Command" msgstr "Guru de Menu - Comando Para Pipe" -#: ../../WPrefs/MenuGuru.c:127 +#: ../../WPrefs.app/MenuGuru.c:129 msgid "Menu Guru - Select Directories" msgstr "Guru de Menu - Diretórios" -#: ../../WPrefs/MenuGuru.c:134 +#: ../../WPrefs.app/MenuGuru.c:136 msgid "Menu Guru - Select Command" msgstr "Guru de Menu - Comando" -#: ../../WPrefs/MenuGuru.c:255 +#: ../../WPrefs.app/MenuGuru.c:257 msgid "Back" msgstr "Voltar" -#: ../../WPrefs/MenuGuru.c:269 +#: ../../WPrefs.app/MenuGuru.c:271 msgid "" -"This process will help you create a submenu which definition is located in another file or is created dynamically.\n" +"This process will help you create a submenu which definition is located in " +"another file or is created dynamically.\n" "What do you want to use as the contents of the submenu?" msgstr "" -"Este processo irá ajudá-lo a criar um submenu cuja definição é criada dinamicamente ou localizada em um outro arquivo.\n" +"Este processo irá ajudá-lo a criar um submenu cuja definição é criada " +"dinamicamente ou localizada em um outro arquivo.\n" "O que deseja usar como o conteúdo do submenu?" -#: ../../WPrefs/MenuGuru.c:277 -msgid "A file containing the menu definition in the plain text (non-property list) menu format." -msgstr "Um arquivo contendo a definição do menu em formato de texto puro (não é property list)." +#: ../../WPrefs.app/MenuGuru.c:279 +msgid "" +"A file containing the menu definition in the plain text (non-property list) " +"menu format." +msgstr "" +"Um arquivo contendo a definição do menu em formato de texto puro (não é " +"property list)." -#: ../../WPrefs/MenuGuru.c:283 +#: ../../WPrefs.app/MenuGuru.c:285 msgid "The menu definition generated by a script/program read through a pipe." msgstr "A definição de um menu gerado por um script/programa lido por um pipe." -#: ../../WPrefs/MenuGuru.c:289 +#: ../../WPrefs.app/MenuGuru.c:291 msgid "The files in one or more directories." msgstr "Os arquivos em um ou mais diretórios." -#: ../../WPrefs/MenuGuru.c:301 +#: ../../WPrefs.app/MenuGuru.c:303 msgid "Type the path for the menu file:" msgstr "Digite o caminho para o arquivo de menu:" -#: ../../WPrefs/MenuGuru.c:316 -msgid "The menu file must contain a menu in the plain text menu file format. This format is described in the menu files included with WindowMaker, probably at ~/GNUstep/Library/WindowMaker/menu" -msgstr "O arquivo de menu deve conter um menu em formato texto puro. Esse formato é descrito no menu incluído no WindowMaker, provavelmente em ~/GNUstep/Library/WindowMaker/menu." +#: ../../WPrefs.app/MenuGuru.c:318 +msgid "" +"The menu file must contain a menu in the plain text menu file format. This " +"format is described in the menu files included with WindowMaker, probably at " +"~/GNUstep/Library/WindowMaker/menu" +msgstr "" +"O arquivo de menu deve conter um menu em formato texto puro. Esse formato é " +"descrito no menu incluído no WindowMaker, provavelmente em " +"~/GNUstep/Library/WindowMaker/menu." -#: ../../WPrefs/MenuGuru.c:326 +#: ../../WPrefs.app/MenuGuru.c:328 msgid "Type the command that will generate the menu definition:" msgstr "Digite o comando que irá gerar a definição do menu:" -#: ../../WPrefs/MenuGuru.c:336 -msgid "The command supplied must generate and output a valid menu definition to stdout. This definition should be in the plain text menu file format, described in the menu files included with WindowMaker, probably at ~/GNUstep/Library/WindowMaker/menu" -msgstr "O comando deverá gerar uma definição de menu válida e mandá-lo para o stdout. Esta definição deve estar no formato descrito em ~/GNUstep/Library/WindowMaker/menu" +#: ../../WPrefs.app/MenuGuru.c:338 +msgid "" +"The command supplied must generate and output a valid menu definition to " +"stdout. This definition should be in the plain text menu file format, " +"described in the menu files included with WindowMaker, usually at " +"~/GNUstep/Library/WindowMaker/menu" +msgstr "" +"O comando deverá gerar uma definição de menu válida e mandá-lo para o " +"stdout. Esta definição deve estar no formato descrito em " +"~/GNUstep/Library/WindowMaker/menu" -#: ../../WPrefs/MenuGuru.c:348 ../../WPrefs/MenuGuru.c:370 ../../WPrefs/MenuGuru.c:392 -msgid "Type the path for the directory. You can type more than one path by separating them with spaces." -msgstr "Digite o caminho para o diretório. Você pode digitar mais de um caminho, separando-os com um espaço." +#: ../../WPrefs.app/MenuGuru.c:350 ../../WPrefs.app/MenuGuru.c:372 +#: ../../WPrefs.app/MenuGuru.c:394 +msgid "" +"Type the path for the directory. You can type more than one path by " +"separating them with spaces." +msgstr "" +"Digite o caminho para o diretório. Você pode digitar mais de um caminho, " +"separando-os com um espaço." -#: ../../WPrefs/MenuGuru.c:359 ../../WPrefs/MenuGuru.c:381 ../../WPrefs/MenuGuru.c:403 -msgid "The menu generated will have an item for each file in the directory. The directories can contain program executables or data files (such as jpeg images)." -msgstr "O menu gerado terá um item para cada arquivo no diretório. Os diretórios podem conter programas ou arquivos de dados (como imagens jpeg, por exemplo)" +#: ../../WPrefs.app/MenuGuru.c:361 ../../WPrefs.app/MenuGuru.c:383 +#: ../../WPrefs.app/MenuGuru.c:405 +msgid "" +"The menu generated will have an item for each file in the directory. The " +"directories can contain program executables or data files (such as jpeg " +"images)." +msgstr "" +"O menu gerado terá um item para cada arquivo no diretório. Os diretórios " +"podem conter programas ou arquivos de dados (como imagens jpeg, por exemplo)" -#: ../../WPrefs/MenuGuru.c:413 -msgid "If the directory contain data files, type the command used to open these files. Otherwise, leave it in blank." -msgstr "Se o diretório contém arquivos de dados, digite o comando que deve ser usado para abri-los. Senão, deixe em branco." +#: ../../WPrefs.app/MenuGuru.c:415 +msgid "" +"If the directory contain data files, type the command used to open these " +"files. Otherwise, leave it in blank." +msgstr "" +"Se o diretório contém arquivos de dados, digite o comando que deve ser usado " +"para abri-los. Senão, deixe em branco." -#: ../../WPrefs/MenuGuru.c:424 -msgid "Each file in the directory will have an item and they will be opened with the supplied command.For example, if the directory contains image files and the command is \"xv -root\", each file in the directory will have a menu item like \"xv -root imagefile\"." -msgstr "Cada arquivo no diretório terá um item que executará o programa com o arquivo como parâmetro." +#: ../../WPrefs.app/MenuGuru.c:426 +msgid "" +"Each file in the directory will have an item and they will be opened with " +"the supplied command.For example, if the directory contains image files and " +"the command is \"xv -root\", each file in the directory will have a menu " +"item like \"xv -root imagefile\"." +msgstr "" +"Cada arquivo no diretório terá um item que executará o programa com o " +"arquivo como parâmetro." -#: ../../WPrefs/MenuPreferences.c:112 +#: ../../WPrefs.app/MenuPreferences.c:112 msgid "Menu Scrolling Speed" msgstr "Velocidade de Rolagem do Menu" -#: ../../WPrefs/MenuPreferences.c:161 +#: ../../WPrefs.app/MenuPreferences.c:161 msgid "Submenu Alignment" msgstr "Alinhamento de Submenus" -#: ../../WPrefs/MenuPreferences.c:204 -msgid "Open submenus to the left if they don't fit inside the screen." -msgstr "Abrir menus para a esquerda se não couberem na tela." +#: ../../WPrefs.app/MenuPreferences.c:204 +msgid "" +"Always open submenus inside the screen, instead of scrolling.\n" +"Note: this can be an annoyance at some circumstances." +msgstr "" +"Sempre abrir submenis dentro da tela, ao invés de rolar.\n" +"Nota: isso pode ser um aborrecimento em certas circunstâncias." -#: ../../WPrefs/MenuPreferences.c:209 +#: ../../WPrefs.app/MenuPreferences.c:209 msgid "Scroll off-screen menus when pointer is moved over them." msgstr "Rolar menus para dentro da tela quando o mouse estiver sobre eles." -#: ../../WPrefs/MenuPreferences.c:229 +#: ../../WPrefs.app/MenuPreferences.c:229 msgid "Menu Preferences" msgstr "Preferências de Menu" -#: ../../WPrefs/MouseSettings.c:154 ../../WPrefs/Text.c:180 ../../WPrefs/WPrefs.c:527 ../../WPrefs/WPrefs.c:532 ../../WPrefs/WPrefs.c:541 ../../WPrefs/WPrefs.c:550 ../../WPrefs/WPrefs.c:558 ../../WPrefs/WPrefs.c:587 -msgid "Error" -msgstr "Erro" +#: ../../WPrefs.app/MouseSettings.c:150 +msgid "Invalid mouse acceleration value. Must be a positive real value." +msgstr "" +"Valor de aceleração inválido. Deve ser um valor positivo real." -#: ../../WPrefs/MouseSettings.c:155 -msgid "Invalid mouse acceleration threshold value. Must be the number of pixels to travel before accelerating." -msgstr "Valor de distância inválida. Deve ser o número de pixels a percorrer antes de acelerar o mouse." +#: ../../WPrefs.app/MouseSettings.c:173 +msgid "" +"Invalid mouse acceleration threshold value. Must be the number of pixels to " +"travel before accelerating." +msgstr "" +"Valor de distância inválida. Deve ser o número de pixels a percorrer antes " +"de acelerar o mouse." -#: ../../WPrefs/MouseSettings.c:209 +#: ../../WPrefs.app/MouseSettings.c:232 +#, c-format msgid "mouse button %s not supported by WPrefs." msgstr "botão de mouse %s não é suportado pelo WPrefs." -#: ../../WPrefs/MouseSettings.c:243 ../../WPrefs/MouseSettings.c:254 ../../WPrefs/MouseSettings.c:265 +#: ../../WPrefs.app/MouseSettings.c:268 ../../WPrefs.app/MouseSettings.c:281 +#: ../../WPrefs.app/MouseSettings.c:294 +#, c-format msgid "bad value %s for option %s" msgstr "valor %s não é válido para opção %s" -#: ../../WPrefs/MouseSettings.c:325 -msgid "modifier key %s for option ModifierKey was not recognized. Using %s as default" -msgstr "tecla modificadora %s da opção ModifierKey não foi reconhecida. Usando default %s" +#: ../../WPrefs.app/MouseSettings.c:362 +#, c-format +msgid "" +"modifier key %s for option ModifierKey was not recognized. Using %s as " +"default" +msgstr "" +"tecla modificadora %s da opção ModifierKey não foi reconhecida. Usando " +"default %s" -#: ../../WPrefs/MouseSettings.c:350 +#: ../../WPrefs.app/MouseSettings.c:387 msgid "could not retrieve keyboard modifier mapping" msgstr "o mapa de modificadores de teclado não pôde ser determinado" -#: ../../WPrefs/MouseSettings.c:443 +#: ../../WPrefs.app/MouseSettings.c:534 msgid "Mouse Speed" msgstr "Velocidade do Mouse" -#: ../../WPrefs/MouseSettings.c:510 +#: ../../WPrefs.app/MouseSettings.c:597 +msgid "Acceler.:" +msgstr "Aceler.:" + +#: ../../WPrefs.app/MouseSettings.c:610 msgid "Threshold:" msgstr "Distância:" -#: ../../WPrefs/MouseSettings.c:525 +#: ../../WPrefs.app/MouseSettings.c:625 msgid "Double-Click Delay" msgstr "Tempo Para Duplo-Clique" -#: ../../WPrefs/MouseSettings.c:569 +#: ../../WPrefs.app/MouseSettings.c:669 msgid "Test" msgstr "Teste" -#: ../../WPrefs/MouseSettings.c:579 +#: ../../WPrefs.app/MouseSettings.c:699 msgid "Workspace Mouse Actions" msgstr "Ações de Mouse na Área de Trabalho" -#: ../../WPrefs/MouseSettings.c:584 +#: ../../WPrefs.app/MouseSettings.c:704 msgid "Disable mouse actions" msgstr "Desabilitar ações de mouse" -#: ../../WPrefs/MouseSettings.c:637 +#: ../../WPrefs.app/MouseSettings.c:757 msgid "Applications menu" msgstr "Menu de Aplicações" -#: ../../WPrefs/MouseSettings.c:643 +#: ../../WPrefs.app/MouseSettings.c:763 msgid "Window list menu" msgstr "Lista de Janelas" -#: ../../WPrefs/MouseSettings.c:649 +#: ../../WPrefs.app/MouseSettings.c:769 msgid "Select windows" msgstr "Selecionar Janelas" -#: ../../WPrefs/MouseSettings.c:681 +#: ../../WPrefs.app/MouseSettings.c:804 msgid "Mouse Grab Modifier" msgstr "Modificador para Grab de Mouse" -#: ../../WPrefs/MouseSettings.c:715 +#: ../../WPrefs.app/MouseSettings.c:838 +#, c-format msgid "could not create %s" msgstr "%s não pôde ser criado" -#: ../../WPrefs/MouseSettings.c:731 +#: ../../WPrefs.app/MouseSettings.c:854 +#, c-format msgid "could not create temporary file %s" msgstr "arquivo temporário %s não pôde ser criado" -#: ../../WPrefs/MouseSettings.c:756 +#: ../../WPrefs.app/MouseSettings.c:879 +#, c-format msgid "could not rename file %s to %s\n" msgstr "arquivo %s não pôde ser renomeado para %s\n" -#: ../../WPrefs/MouseSettings.c:839 +#: ../../WPrefs.app/MouseSettings.c:963 msgid "Mouse Preferences" msgstr "Preferências de Mouse" -#: ../../WPrefs/Paths.c:82 +#: ../../WPrefs.app/Paths.c:82 msgid "bad value in option IconPath. Using default path list" msgstr "valor inválido em IconPath. Usando valor default" -#: ../../WPrefs/Paths.c:99 +#: ../../WPrefs.app/Paths.c:99 msgid "bad value in option PixmapPath. Using default path list" msgstr "valor inválido em PixmapPath. Usando valor default" -#: ../../WPrefs/Paths.c:301 +#: ../../WPrefs.app/Paths.c:302 msgid "Icon Search Paths" msgstr "Diretórios de Ícones" -#: ../../WPrefs/Paths.c:313 ../../WPrefs/Paths.c:349 +#: ../../WPrefs.app/Paths.c:314 ../../WPrefs.app/Paths.c:350 msgid "Add" msgstr "Adicionar" -#: ../../WPrefs/Paths.c:320 ../../WPrefs/Paths.c:356 +#: ../../WPrefs.app/Paths.c:321 ../../WPrefs.app/Paths.c:357 msgid "Remove" msgstr "Remover" -#: ../../WPrefs/Paths.c:337 +#: ../../WPrefs.app/Paths.c:338 msgid "Pixmap Search Paths" msgstr "Diretórios de Pixmaps" -#: ../../WPrefs/Paths.c:385 +#: ../../WPrefs.app/Paths.c:389 msgid "Search Path Configuration" msgstr "Configuração de Diretórios de Procura" -#: ../../WPrefs/Preferences.c:142 +#: ../../WPrefs.app/Preferences.c:155 msgid "Size Display" msgstr "Display de Tamanho" -#: ../../WPrefs/Preferences.c:147 ../../WPrefs/Preferences.c:163 +#: ../../WPrefs.app/Preferences.c:160 ../../WPrefs.app/Preferences.c:176 msgid "Corner of screen" msgstr "Canto da tela" -#: ../../WPrefs/Preferences.c:148 ../../WPrefs/Preferences.c:164 +#: ../../WPrefs.app/Preferences.c:161 ../../WPrefs.app/Preferences.c:177 msgid "Center of screen" msgstr "Meio da tela" -#: ../../WPrefs/Preferences.c:149 ../../WPrefs/Preferences.c:165 +#: ../../WPrefs.app/Preferences.c:162 ../../WPrefs.app/Preferences.c:178 msgid "Center of resized window" msgstr "Meio da janela" -#: ../../WPrefs/Preferences.c:150 +#: ../../WPrefs.app/Preferences.c:163 msgid "Technical drawing-like" msgstr "Desenho Técnico" -#: ../../WPrefs/Preferences.c:158 +#: ../../WPrefs.app/Preferences.c:171 msgid "Position Display" msgstr "Display de Posição" -#: ../../WPrefs/Preferences.c:173 +#: ../../WPrefs.app/Preferences.c:186 msgid "Show balloon text for..." msgstr "Mostrar texto em balão para..." -#: ../../WPrefs/Preferences.c:180 +#: ../../WPrefs.app/Preferences.c:193 msgid "incomplete window titles" msgstr "títulos de janela incompletos" -#: ../../WPrefs/Preferences.c:181 +#: ../../WPrefs.app/Preferences.c:194 msgid "miniwindow titles" msgstr "título de minijanelas" -#: ../../WPrefs/Preferences.c:182 +#: ../../WPrefs.app/Preferences.c:195 msgid "application/dock icons" msgstr "ícones de aplicação/dock" -#: ../../WPrefs/Preferences.c:195 -msgid "Raise window when switching focus with keyboard." -msgstr "Levantar janela ao mudar de foco com teclado." +#: ../../WPrefs.app/Preferences.c:208 +msgid "Raise window when switching focus with keyboard (CirculateRaise)." +msgstr "Levantar janela ao mudar de foco com teclado (CirculateRaise)." + +#: ../../WPrefs.app/Preferences.c:214 +msgid "Keep keyboard language status for each window." +msgstr "Manter mapa de teclado para cada janela." -#: ../../WPrefs/Preferences.c:215 +#: ../../WPrefs.app/Preferences.c:235 msgid "Miscellaneous Ergonomic Preferences" msgstr "Preferências Ergonômicas Diversas" -#: ../../WPrefs/Text.c:179 +#: ../../WPrefs.app/Text.c:179 +#, c-format msgid "Invalid font %s." msgstr "Fonte inválida %s." -#: ../../WPrefs/Text.c:256 +#: ../../WPrefs.app/Text.c:256 msgid "Set Font..." msgstr "Mudar Fonte..." -#: ../../WPrefs/Text.c:262 +#: ../../WPrefs.app/Text.c:262 msgid "Window Title Font" msgstr "Fonte de Título de Janela" -#: ../../WPrefs/Text.c:263 +#: ../../WPrefs.app/Text.c:263 msgid "Menu Title Font" msgstr "Fonte de Título de Menu" -#: ../../WPrefs/Text.c:264 +#: ../../WPrefs.app/Text.c:264 msgid "Menu Item Font" msgstr "Fonte de Item de Menu" -#: ../../WPrefs/Text.c:265 +#: ../../WPrefs.app/Text.c:265 msgid "Icon Title Font" msgstr "Fonte de Título de Ícone" -#: ../../WPrefs/Text.c:266 +#: ../../WPrefs.app/Text.c:266 msgid "Clip Title Font" msgstr "Fonte do Título do Clip" -#: ../../WPrefs/Text.c:267 +#: ../../WPrefs.app/Text.c:267 msgid "Geometry Display Font" msgstr "Fonte do display de tam/pos" -#: ../../WPrefs/Text.c:280 +#: ../../WPrefs.app/Text.c:280 msgid "" "Sample Text\n" "abcdefghijklmnopqrstuvxywz\n" @@ -813,338 +1023,337 @@ msgstr "" "áéíóúÁÉÍÓÚâêîôûãõ\n" "0123456789" -#: ../../WPrefs/Text.c:285 +#: ../../WPrefs.app/Text.c:285 msgid "Alignment" msgstr "Alinhamento" -#: ../../WPrefs/Text.c:290 +#: ../../WPrefs.app/Text.c:290 msgid "Left" msgstr "Esquerdo" -#: ../../WPrefs/Text.c:296 +#: ../../WPrefs.app/Text.c:296 msgid "Center" msgstr "Centro" -#: ../../WPrefs/Text.c:303 +#: ../../WPrefs.app/Text.c:303 msgid "Right" msgstr "Direita" -#: ../../WPrefs/Text.c:325 +#: ../../WPrefs.app/Text.c:325 msgid "Text Preferences" msgstr "Preferências Texto" -#: ../../WPrefs/TextureAndColor.c:339 -msgid "Window Title Bar" -msgstr "Barra de Título da Janela" - -#: ../../WPrefs/TextureAndColor.c:340 -msgid "Menu Title Bar" -msgstr "Barra de Título de Menu" - -#: ../../WPrefs/TextureAndColor.c:341 -msgid "Menu Items" -msgstr "Items de Menu" - -#: ../../WPrefs/TextureAndColor.c:342 -msgid "Workspace/Clip" -msgstr "Área de Trabalho/Clip" - -#: ../../WPrefs/TextureAndColor.c:343 -msgid "Icons" -msgstr "Ícones" - -#: ../../WPrefs/TextureAndColor.c:354 -msgid "Focused Window" -msgstr "Janela Ativa" - -#: ../../WPrefs/TextureAndColor.c:367 ../../WPrefs/TextureAndColor.c:398 ../../WPrefs/TextureAndColor.c:429 -msgid "Texture" -msgstr "Textura" - -#: ../../WPrefs/TextureAndColor.c:373 ../../WPrefs/TextureAndColor.c:404 ../../WPrefs/TextureAndColor.c:435 -msgid "Text Color" -msgstr "Cor do Texto" - -#: ../../WPrefs/TextureAndColor.c:378 ../../WPrefs/TextureAndColor.c:409 ../../WPrefs/TextureAndColor.c:440 ../../WPrefs/TextureAndColor.c:464 ../../WPrefs/TextureAndColor.c:530 ../../WPrefs/TextureAndColor.c:607 -msgid "Set..." -msgstr "Mudar..." - -#: ../../WPrefs/TextureAndColor.c:385 -msgid "Unfocused Window" -msgstr "Janela Inativa" - -#: ../../WPrefs/TextureAndColor.c:416 -msgid "Owner of Focused Window" -msgstr "Dono da Janela Ativa" - -#: ../../WPrefs/TextureAndColor.c:449 -msgid "Unselected Items" -msgstr "Itens não Selecionados" - -#: ../../WPrefs/TextureAndColor.c:459 ../../WPrefs/TextureAndColor.c:513 -msgid "Background" -msgstr "Fundo" - -#: ../../WPrefs/TextureAndColor.c:474 -msgid "Normal Text" -msgstr "Texto Normal" - -#: ../../WPrefs/TextureAndColor.c:484 -msgid "Disabled Text" -msgstr "Text Desativado" - -#: ../../WPrefs/TextureAndColor.c:493 -msgid "Selected Items" -msgstr "Itens Selecionados" - -#: ../../WPrefs/TextureAndColor.c:503 -msgid "Text" -msgstr "Texto" - -#: ../../WPrefs/TextureAndColor.c:521 -msgid "Menu Title Background" -msgstr "Fundo de Título de Menu" +#: ../../WPrefs.app/Themes.c:71 ../../WPrefs.app/Themes.c:82 +msgid "Set" +msgstr "Mudar" -#: ../../WPrefs/TextureAndColor.c:539 -msgid "Menu Title Text" -msgstr "Texto de Título de Menu" +#: ../../WPrefs.app/Themes.c:132 +msgid "Stop" +msgstr "Parar" -#: ../../WPrefs/TextureAndColor.c:551 -msgid "Workspace Background" -msgstr "Fundo de Área de Trabalho" +#: ../../WPrefs.app/Themes.c:143 ../../WPrefs.app/Themes.c:205 +#: ../../WPrefs.app/Themes.c:225 +msgid "Download" +msgstr "Download" -#: ../../WPrefs/TextureAndColor.c:560 -msgid "Change" -msgstr "Mudar" +#: ../../WPrefs.app/Themes.c:173 +msgid "Save Current Theme" +msgstr "Salvar Tema Corrente" -#: ../../WPrefs/TextureAndColor.c:566 -msgid "Clip Title Text" -msgstr "Texto do Título do Clip" +#: ../../WPrefs.app/Themes.c:182 +msgid "Load" +msgstr "Carregar" -#: ../../WPrefs/TextureAndColor.c:576 -msgid "Normal" -msgstr "" +#: ../../WPrefs.app/Themes.c:187 +msgid "Install" +msgstr "Instalar" -#: ../../WPrefs/TextureAndColor.c:586 -msgid "Collapsed" -msgstr "Colapsado" +#: ../../WPrefs.app/Themes.c:195 +msgid "Tile of The Day" +msgstr "Azulejo do dia" -#: ../../WPrefs/TextureAndColor.c:598 -msgid "Icon Background" -msgstr "Fundo de Ícone" +#: ../../WPrefs.app/Themes.c:215 +msgid "Bar of The Day" +msgstr "Barra de título do dia" -#: ../../WPrefs/TextureAndColor.c:632 -msgid "Texture and Color Preferences" -msgstr "Preferências de Cor e Textura" +#: ../../WPrefs.app/Themes.c:252 +msgid "Themes" +msgstr "Temas" -#: ../../WPrefs/WPrefs.c:194 -msgid "WindowMaker Preferences" +#: ../../WPrefs.app/WPrefs.c:220 +msgid "Window Maker Preferences" msgstr "Preferências do WindowMaker" -#: ../../WPrefs/WPrefs.c:216 +#: ../../WPrefs.app/WPrefs.c:244 msgid "Revert Page" msgstr "Reverter Página" -#: ../../WPrefs/WPrefs.c:222 +#: ../../WPrefs.app/WPrefs.c:250 msgid "Revert All" msgstr "Reverter Tudo" -#: ../../WPrefs/WPrefs.c:228 +#: ../../WPrefs.app/WPrefs.c:256 msgid "Save" msgstr "Salvar" -#: ../../WPrefs/WPrefs.c:234 +#: ../../WPrefs.app/WPrefs.c:262 msgid "Close" msgstr "Fechar" -#: ../../WPrefs/WPrefs.c:258 -msgid "Version %s for WindowMaker %s" +#: ../../WPrefs.app/WPrefs.c:280 +msgid "Window Maker Preferences Utility" +msgstr "Preferências do WindowMaker" + +#: ../../WPrefs.app/WPrefs.c:287 +#, c-format +msgid "Version %s for Window Maker %s" msgstr "Versão %s para WindowMaker %s" -#: ../../WPrefs/WPrefs.c:265 +#: ../../WPrefs.app/WPrefs.c:294 msgid "Starting..." msgstr "Iniciando..." -#: ../../WPrefs/WPrefs.c:271 +#: ../../WPrefs.app/WPrefs.c:300 msgid "" "Programming/Design: Alfredo K. Kojima\n" -"Artwork: Marco van Hylckama Vlieg" +"Artwork: Marco van Hylckama Vlieg\n" +"More Programming: James Thompson" msgstr "" "Programação/Projeto: Alfredo K. Kojima\n" -"Arte: Marco van Hylckama Vlieg" +"Arte: Marco van Hylckama Vlieg\n" +"Mais programação: James Thompson" -#: ../../WPrefs/WPrefs.c:358 +#: ../../WPrefs.app/WPrefs.c:388 +#, c-format msgid "could not locate image file %s\n" msgstr "arquivo de imagem %s não encontrado\n" -#: ../../WPrefs/WPrefs.c:476 -msgid "Loading WindowMaker configuration files..." +#: ../../WPrefs.app/WPrefs.c:501 +msgid "could not load image file %s:%s" +msgstr "arquivo de imagem %s não pôde ser carregado" + +#: ../../WPrefs.app/WPrefs.c:520 +msgid "Loading Window Maker configuration files..." msgstr "Carregando arquivos de configuração do WindowMaker..." -#: ../../WPrefs/WPrefs.c:480 +#: ../../WPrefs.app/WPrefs.c:524 msgid "Initializing configuration panels..." msgstr "Inicializando painéis de configuração..." -#: ../../WPrefs/WPrefs.c:526 ../../WPrefs/WPrefs.c:581 -msgid "WindowMaker domain (%s) is corrupted!" +#: ../../WPrefs.app/WPrefs.c:555 +msgid "" +"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." +msgstr "" +"O WPrefs é software livre e distribuído SEM NENHUMA\n" +"GARANTIA pelos termos da GNU General Public License.\n" +"Os ícones neste programa são licenciados pela\n" +"OpenContent License." + +#: ../../WPrefs.app/WPrefs.c:586 ../../WPrefs.app/WPrefs.c:651 +#, c-format +msgid "Window Maker domain (%s) is corrupted!" msgstr "Domínio WindowMaker (%s) corrompido!" -#: ../../WPrefs/WPrefs.c:530 ../../WPrefs/WPrefs.c:585 -msgid "Could not load WindowMaker domain (%s) from defaults database." +#: ../../WPrefs.app/WPrefs.c:590 +#, c-format +msgid "Could not load Window Maker domain (%s) from defaults database." msgstr "Domínio WindowMaker (%s) não pôde ser carregado do BD de defaults." -#: ../../WPrefs/WPrefs.c:538 -msgid "could not extract version information from WindowMaker" +#: ../../WPrefs.app/WPrefs.c:598 +msgid "could not extract version information from Window Maker" msgstr "erro extraindo versão do WindowMaker" -#: ../../WPrefs/WPrefs.c:539 -msgid "Make sure WindowMaker is in your search path." +#: ../../WPrefs.app/WPrefs.c:599 +msgid "Make sure wmaker is in your search path." msgstr "Certifique-se que o WindowMaker está no seu PATH." -#: ../../WPrefs/WPrefs.c:542 -msgid "Could not extract version from WindowMaker. Make sure it is correctly installed." -msgstr "Erro extraindo versão do WindowMaker. Certifique-se que ele está instalado corretamente." +#: ../../WPrefs.app/WPrefs.c:602 +msgid "" +"Could not extract version from Window Maker. Make sure it is correctly " +"installed and is in your PATH environment variable." +msgstr "" +"Erro extraindo versão do WindowMaker. Certifique-se que ele está instalado " +"corretamente e está em seu PATH." -#: ../../WPrefs/WPrefs.c:551 -msgid "Error extracting version from WindowMaker. Make sure it is correctly installed." +#: ../../WPrefs.app/WPrefs.c:612 +msgid "" +"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." msgstr "" +"Erro extraindo versão do WindowMaker. Certifique-se que ele está instalado " +"corretamente e está em seu PATH." -#: ../../WPrefs/WPrefs.c:556 +#: ../../WPrefs.app/WPrefs.c:619 msgid "" -"WPrefs only supports WindowMaker 0.18.0 or newer.\n" +"WPrefs only supports Window Maker 0.18.0 or newer.\n" "The version installed is %i.%i.%i\n" msgstr "" "WPrefs só suporta WindowMaker 0.18.0 or mais recente.\n" "A versão instalada é %i.%i.%i\n" - -#: ../../WPrefs/WPrefs.c:563 -msgid "WindowMaker %i.%i.%i, which is installed in your system, is not fully supported by this version of WPrefs." -msgstr "O WindowMaker %i.%i.%i, que está instalado em seu sistema, não é totalmente suportado por esta versão do WPrefs." -#: ../../WPrefs/WPrefs.c:570 -msgid "could not run \"wmaker -global_defaults_path\"." +#: ../../WPrefs.app/WPrefs.c:626 +#, c-format +msgid "" +"Window Maker %i.%i.%i, which is installed in your system, is not fully " +"supported by this version of WPrefs." msgstr "" +"O WindowMaker %i.%i.%i, que está instalado em seu sistema, não é totalmente " +"suportado por esta versão do WPrefs." -#: ../../WPrefs/WPrefs.c:828 +#: ../../WPrefs.app/WPrefs.c:628 +msgid "Warning" +msgstr "Aviso" + +#: ../../WPrefs.app/WPrefs.c:633 +msgid "could not run \"wmaker --global_defaults_path\"." +msgstr "não foi possível executar \"wmaker --global_defaults_path\"." + +#: ../../WPrefs.app/WPrefs.c:655 +#, c-format +msgid "Could not load global Window Maker domain (%s)." +msgstr "Domínio WindowMaker global (%s) não pôde ser carregado." + +#: ../../WPrefs.app/WPrefs.c:904 +#, c-format msgid "" "bad speed value for option %s\n" -". Using default Medium" +"Using default Medium" msgstr "" "valor de velocidade inválido para opção %s\n" -"Usando default Medium" +"Usando padrão Medium" -#: ../../WPrefs/WindowHandling.c:108 +#: ../../WPrefs.app/WindowHandling.c:134 +#, c-format msgid "bad option value %s in WindowPlacement. Using default value" msgstr "%s não é valor de WindowPlacement. Usando valor default" -#: ../../WPrefs/WindowHandling.c:130 -msgid "invalid data in option WindowPlacementOrigin. Using default (0,0)" -msgstr "WindowPlaceOrigin" +#: ../../WPrefs.app/WindowHandling.c:156 +msgid "invalid data in option WindowPlaceOrigin. Using default (0,0)" +msgstr "Dado inválido na opção WindowPlaceOrigin. Usando padrão (0,0)" -#: ../../WPrefs/WindowHandling.c:192 +#: ../../WPrefs.app/WindowHandling.c:223 msgid "Window Placement" msgstr "Colocação de Janelas" -#: ../../WPrefs/WindowHandling.c:197 +#: ../../WPrefs.app/WindowHandling.c:228 msgid "Automatic" msgstr "Automático" -#: ../../WPrefs/WindowHandling.c:198 +#: ../../WPrefs.app/WindowHandling.c:229 msgid "Random" msgstr "Randômico" -#: ../../WPrefs/WindowHandling.c:199 +#: ../../WPrefs.app/WindowHandling.c:230 msgid "Manual" -msgstr "" +msgstr "Manual" -#: ../../WPrefs/WindowHandling.c:200 +#: ../../WPrefs.app/WindowHandling.c:231 msgid "Cascade" msgstr "Cascata" -#: ../../WPrefs/WindowHandling.c:206 +#: ../../WPrefs.app/WindowHandling.c:237 msgid "Placement Origin" msgstr "Origem da Colocação" -#: ../../WPrefs/WindowHandling.c:260 +#: ../../WPrefs.app/WindowHandling.c:297 msgid "Opaque Move" -msgstr "" +msgstr "Movimento opaco" -#: ../../WPrefs/WindowHandling.c:296 +#: ../../WPrefs.app/WindowHandling.c:333 msgid "When maximizing..." msgstr "Ao maximizar..." -#: ../../WPrefs/WindowHandling.c:301 -msgid "...do not resize over icons" +#: ../../WPrefs.app/WindowHandling.c:338 +msgid "...do not cover icons" msgstr "...não sobrepor ícones" -#: ../../WPrefs/WindowHandling.c:306 -msgid "...do not resize over dock" +#: ../../WPrefs.app/WindowHandling.c:344 +msgid "...do not cover dock" msgstr "...não sobrepor o dock" -#: ../../WPrefs/WindowHandling.c:319 -msgid "Keep transients above their owners" -msgstr "Manter transients acima dos donos" +#: ../../WPrefs.app/WindowHandling.c:353 +msgid "Edge Resistance" +msgstr "Borda Resistente" + +#: ../../WPrefs.app/WindowHandling.c:377 +msgid "Open dialogs in same workspace as their owners" +msgstr "Abrir diálogos na mesma área de trabalho que seus donos" -#: ../../WPrefs/WindowHandling.c:346 +#: ../../WPrefs.app/WindowHandling.c:404 msgid "Window Handling Preferences" msgstr "Preferências de Manipulação de Janelas" -#: ../../WPrefs/Workspace.c:171 +#: ../../WPrefs.app/Workspace.c:137 msgid "Workspace Navigation" msgstr "Navegação de Áreas de Trabalho" -#: ../../WPrefs/Workspace.c:232 -msgid "Dock/Clip" -msgstr "" +#: ../../WPrefs.app/Workspace.c:161 +msgid "drag windows between workspaces." +msgstr "Mover janelas pelas áreas de trabalho." -#: ../../WPrefs/Workspace.c:278 -msgid "Auto-arrange icons" -msgstr "Auto-alinhar ícones" +#: ../../WPrefs.app/Workspace.c:186 +msgid "" +"switch to first workspace when switching past the last workspace and " +"vice-versa" +msgstr "" +"Ir para a primeira área de trabalho quando passar da última e" +"vice-versa" -#: ../../WPrefs/Workspace.c:283 -msgid "Omnipresent miniwindows" -msgstr "Minijanelas onipresentes" +#: ../../WPrefs.app/Workspace.c:210 +msgid "create a new workspace when switching past the last workspace." +msgstr "criar uma nova área de trabalho quando passar a última." -#: ../../WPrefs/Workspace.c:291 -msgid "Icon Size" -msgstr "Tamanho do Ícone" +#: ../../WPrefs.app/Workspace.c:218 +msgid "Dock/Clip" +msgstr "Dock/Clip" -#: ../../WPrefs/Workspace.c:367 +#: ../../WPrefs.app/Workspace.c:287 msgid "Workspace Preferences" msgstr "Preferências da Área de Trabalho" -#: ../../WPrefs/main.c:56 +#: ../../WPrefs.app/main.c:71 +#, c-format msgid "usage: %s [options]\n" msgstr "uso: %s [opções]\n" -#: ../../WPrefs/main.c:57 +#: ../../WPrefs.app/main.c:72 msgid "options:" msgstr "opções:" -#: ../../WPrefs/main.c:58 +#: ../../WPrefs.app/main.c:73 msgid " -display \tdisplay to be used" msgstr " -display \tdisplay a ser usado" -#: ../../WPrefs/main.c:59 -msgid " -version\t\tprint version number and exit" -msgstr " -version\t\tmostra a versão e cai fora" +#: ../../WPrefs.app/main.c:74 +msgid " --version\t\tprint version number and exit" +msgstr " -version\t\tmostra a versão e sai" + +#: ../../WPrefs.app/main.c:75 +msgid " --help\t\tprint this message and exit" +msgstr " -version\t\tmostra a versão e sai" -#: ../../WPrefs/main.c:82 +#: ../../WPrefs.app/main.c:134 +#, c-format msgid "too few arguments for %s" msgstr "falta de argumentos para %s" -#: ../../WPrefs/main.c:104 +#: ../../WPrefs.app/main.c:156 msgid "X server does not support locale" -msgstr "" +msgstr "Servidor X não suporta locales" -#: ../../WPrefs/main.c:107 +#: ../../WPrefs.app/main.c:159 msgid "cannot set locale modifiers" -msgstr "" +msgstr "Impossível configurar modificadores de locale" -#: ../../WPrefs/main.c:113 +#: ../../WPrefs.app/main.c:165 +#, c-format msgid "could not open display %s" msgstr "display %s não pôde ser aberto" -#: ../../WPrefs/main.c:121 +#: ../../WPrefs.app/main.c:173 msgid "could not initialize application" -msgstr "" +msgstr "impossível inicializar aplicação" diff --git a/po/README b/po/README index d597a589..937ea383 100644 --- a/po/README +++ b/po/README @@ -5,7 +5,7 @@ File Language Note Current Maintainer ------------------------------------------------------------------------------ ja.po Japanese 1 ABE Shige MANOME Tomonori -pt.po Portuguese Alfredo K. Kojima +pt.po Portuguese Eliphas Levy Theodoro de.po German Carsten Schaar es.po Spanish Raul Benito Garcia diff --git a/po/pt.po b/po/pt.po index 9cd3cfec..66b6297d 100644 --- a/po/pt.po +++ b/po/pt.po @@ -1,31 +1,50 @@ # Portuguese message file for WindowMaker # Last Update: version 0.17.3 # +# Update History: +# Alfredo Kojima +# Eliphas Levy Theodoro # msgid "" msgstr "" -"Date: 1997-06-02 13:43:55-0300\n" -"From: Alfredo K. Kojima \n" +"Project-Id-Version: 0.52.0\n" +"POT-Creation-Date: 1997-06-02 13:43:55-0300\n" +"PO-Revision-Date: 1999-04-01 18:16-0300\n" "Language-Team: Portuguese \n" -"Content-Type: text/plain; charset=iso8859-1\n" -"Xgettext-Options: --default-domain=WindowMaker --add-comments --keyword=_\n" -"Files: ../main.c ../event.c ../window.c ../startup.c ../shutdown.c ../wcore.c ../properties.c ../texture.c ../actions.c ../menu.c ../client.c ../pixmap.c ../image.c ../gradient.c ../button.c ../screen.c ../icon.c ../rootmenu.c ../dialog.c ../resource.c ../moveres.c ../application.c ../colormap.c ../raster.c ../placement.c ../misc.c ../appmenu.c ../keybind.c ../stacking.c ../appicon.c ../switchmenu.c ../dock.c ../winmenu.c\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" +"From: Eliphas Levy Theodoro \n" +"MIME-Version: 1.0\n" + -#: ../src/appicon.c:542 ../src/dialog.c:273 ../src/dialog.c:329 ../src/dock.c:262 ../src/dock.c:2994 ../src/rootmenu.c:162 ../src/winspector.c:269 ../src/winspector.c:277 +"Xgettext-Options: --default-domain=WindowMaker --add-comments --keyword=_\n" +"Files: ../main.c ../event.c ../window.c ../startup.c ../shutdown.c " +"../wcore.c ../properties.c ../texture.c ../actions.c ../menu.c ../client.c " +"../pixmap.c ../image.c ../gradient.c ../button.c ../screen.c ../icon.c " +"../rootmenu.c ../dialog.c ../resource.c ../moveres.c ../application.c " +"../colormap.c ../raster.c ../placement.c ../misc.c ../appmenu.c ../keybind.c " +"../stacking.c ../appicon.c ../switchmenu.c ../dock.c ../winmenu.c\n" + +#: ../src/appicon.c:540 ../src/dialog.c:216 ../src/dialog.c:272 +#: ../src/dock.c:3079 ../src/dockedapp.c:210 ../src/rootmenu.c:1741 +#: ../src/winspector.c:283 ../src/winspector.c:299 msgid "Error" msgstr "Erro" -#: ../src/appicon.c:543 ../src/dock.c:263 ../src/winspector.c:278 +#: ../src/appicon.c:541 msgid "Could not open specified icon file" msgstr "O ícone especificado não pôde ser aberto" -#: ../src/appicon.c:563 ../src/dock.c:508 ../src/winmenu.c:83 -msgid "Kill Application" -msgstr "Matar Aplicação" +#: ../src/appicon.c:542 ../src/dialog.c:115 ../src/dialog.c:216 +#: ../src/dialog.c:272 ../src/dialog.c:460 ../src/dock.c:438 +#: ../src/dock.c:3080 ../src/dockedapp.c:210 ../src/dockedapp.c:354 +#: ../src/rootmenu.c:1745 ../src/winspector.c:284 ../src/winspector.c:300 +msgid "OK" +msgstr "Ok" -#: ../src/appicon.c:564 ../src/dock.c:509 ../src/winmenu.c:84 +#: ../src/appicon.c:569 ../src/dock.c:281 msgid "" -"This will kill the application.\n" +" will be forcibly closed.\n" "Any unsaved changes will be lost.\n" "Please confirm." msgstr "" @@ -33,957 +52,1358 @@ msgstr "" "Quaisquer modificações não salvas serão perdidas.\n" "Confirme por favor." -#: ../src/appicon.c:580 ../src/dock.c:1140 +#: ../src/appicon.c:575 ../src/dock.c:286 ../src/winmenu.c:124 +msgid "Kill Application" +msgstr "Matar Aplicação" + +#: ../src/appicon.c:576 ../src/dock.c:287 ../src/winmenu.c:126 +msgid "Yes" +msgstr "Sim" + +#: ../src/appicon.c:576 ../src/dock.c:287 ../src/winmenu.c:126 +msgid "No" +msgstr "Não" + +#: ../src/appicon.c:594 ../src/dock.c:1074 msgid "Unhide Here" -msgstr "Unhidear Aqui" +msgstr "Mostrar Aqui" -#: ../src/appicon.c:581 ../src/dock.c:1138 -msgid "(Un)Hide" -msgstr "(Un)hidear" +#: ../src/appicon.c:595 ../src/appicon.c:620 ../src/dock.c:1076 +#: ../src/dock.c:1078 ../src/dock.c:3205 ../src/dock.c:3207 +#: ../src/winmenu.c:446 +msgid "Hide" +msgstr "Esconder" -#: ../src/appicon.c:582 +#: ../src/appicon.c:596 msgid "Set Icon..." msgstr "Mudar ícone..." -#: ../src/appicon.c:583 ../src/dock.c:1142 ../src/winmenu.c:245 +#: ../src/appicon.c:597 ../src/dock.c:1082 ../src/rootmenu.c:226 +#: ../src/rootmenu.c:240 ../src/winmenu.c:493 msgid "Kill" msgstr "Destruir" -#: ../src/defaults.c:552 ../src/screen.c:465 ../src/screen.c:544 ../src/screen.c:550 -msgid "could not read domain \"%s\" from defaults database" -msgstr "domínio \"%s\" do banco de defaults não pôde ser aberto" +#: ../src/appicon.c:618 ../src/dock.c:3203 +msgid "Unhide" +msgstr "Mostrar" -#: ../src/defaults.c:1027 +#: ../src/defaults.c:780 ../src/startup.c:735 ../src/startup.c:753 +#: ../src/startup.c:759 +#, c-format +msgid "could not read domain \"%s\" from defaults database" +msgstr "domínio \"%s\" do banco de padrões não pôde ser aberto" + +#: ../src/defaults.c:826 ../src/defaults.c:950 ../src/defaults.c:989 +#: ../src/defaults.c:1019 +#, c-format +msgid "Domain %s (%s) of defaults database is corrupted!" +msgstr "Domínio %s (%s) de dados padrão está corrompido!" + +#: ../src/defaults.c:831 ../src/defaults.c:971 ../src/defaults.c:1002 +#: ../src/defaults.c:1028 +msgid "could not load domain %s from user defaults database" +msgstr "domínio %s do banco de padrões não pôde ser aberto" + +#: ../src/defaults.c:842 ../src/defaults.c:935 +#, c-format +msgid "Domain %s (%s) of global defaults database is corrupted!" +msgstr "Domínio %s (%s) do banco de padrões globais está corrompido!" + +#: ../src/defaults.c:861 ../src/defaults.c:940 +msgid "could not load domain %s from global defaults database" +msgstr "domínio %s do banco de padrões não pôde ser aberto" + +#: ../src/defaults.c:1340 +#, c-format +msgid "wrong option value for key \"%s\". Should be one of %s" +msgstr "Formato de opção inválido para \"%s\". Deveria ser %s" + +#: ../src/defaults.c:1387 +#, c-format msgid "can't convert \"%s\" to boolean for key \"%s\"" msgstr "valor não booleano \"%s\" em \"%s\"" -#: ../src/defaults.c:1032 ../src/defaults.c:1065 ../src/defaults.c:1097 ../src/defaults.c:1110 ../src/defaults.c:1125 ../src/defaults.c:1140 ../src/defaults.c:1211 ../src/defaults.c:1223 ../src/defaults.c:1277 ../src/defaults.c:1321 ../src/defaults.c:1363 ../src/defaults.c:1409 ../src/defaults.c:1628 ../src/defaults.c:1642 ../src/defaults.c:1675 ../src/defaults.c:1687 ../src/defaults.c:1699 ../src/defaults.c:1723 ../src/defaults.c:1741 ../src/defaults.c:1754 ../src/defaults.c:1767 ../src/defaults.c:1802 ../src/defaults.c:1840 ../src/defaults.c:1904 +#: ../src/defaults.c:1392 ../src/defaults.c:1426 ../src/defaults.c:1458 +#: ../src/defaults.c:1471 ../src/defaults.c:1486 ../src/defaults.c:1500 +#: ../src/defaults.c:1572 ../src/defaults.c:1584 ../src/defaults.c:1990 +#: ../src/defaults.c:2007 ../src/defaults.c:2020 ../src/defaults.c:2053 +#: ../src/defaults.c:2069 ../src/defaults.c:2100 ../src/defaults.c:2188 +#, c-format msgid "using default \"%s\" instead" -msgstr "usando \"%s\" como default" +msgstr "usando \"%s\" como padrão" -#: ../src/defaults.c:1062 +#: ../src/defaults.c:1423 +#, c-format msgid "can't convert \"%s\" to integer for key \"%s\"" msgstr "valor não numérico \"%s\" em \"%s\"" -#: ../src/defaults.c:1092 ../src/defaults.c:1206 ../src/defaults.c:1623 ../src/defaults.c:1670 ../src/wdefaults.c:537 ../src/wdefaults.c:573 +#: ../src/defaults.c:1453 ../src/defaults.c:1567 ../src/defaults.c:1985 +#: ../src/defaults.c:2002 ../src/defaults.c:2048 ../src/defaults.c:2095 +#: ../src/wdefaults.c:546 ../src/wdefaults.c:582 +#, c-format msgid "Wrong option format for key \"%s\". Should be %s." msgstr "Formato de opção inválido para \"%s\". Deveria ser %s." -#: ../src/defaults.c:1105 +#: ../src/defaults.c:1466 +#, c-format msgid "Incorrect number of elements in array for key \"%s\"." msgstr "Número de elementos incorreto na lista da opção \"%s\"." -#: ../src/defaults.c:1120 +#: ../src/defaults.c:1481 +#, c-format msgid "Wrong value for key \"%s\". Should be Coordinate." msgstr "Valor incorreto para \"%s\". Deveriam ser coordenadas." -#: ../src/defaults.c:1135 +#: ../src/defaults.c:1496 +#, c-format msgid "can't convert array to integers for \"%s\"." msgstr "lista de números inválido na opção \"%s\"" -#: ../src/defaults.c:1272 -msgid "Invalid focus mode \"%s\". Should be Manual, Auto or Sloppy." -msgstr "Tipo de focu inválido \"%s\". Deveria ser Manual, Auto ou Sloppy." - -#: ../src/defaults.c:1315 -msgid "Invalid window placement mode \"%s\". Should be Auto, Cascade, Random or Manual." -msgstr "Tipo de layout de janela inválido \"%s\". Deve ser Auto, Cascade, Random ou Manual" - -#: ../src/defaults.c:1357 -msgid "Invalid geometry display type \"%s\". Should be Center, Corner, Floating or Line." -msgstr "Tipo de mostrador de geometria inválido \"%s\". Deve ser Center, Corner, Floating ou Line" - -#: ../src/defaults.c:1404 -msgid "Invalid speed \"%s\". Should be UltraFast, Fast, Medium, Slow or UltraSlow." -msgstr "Tipo de velocidade inválido \"%s\". Deve ser UltraFast, Fast, Medium, Slow ou UltraSlow." - -#: ../src/defaults.c:1470 ../src/defaults.c:1501 ../src/defaults.c:1513 ../src/defaults.c:1554 ../src/defaults.c:1590 +#: ../src/defaults.c:1694 ../src/defaults.c:1726 ../src/defaults.c:1742 +#: ../src/defaults.c:1788 ../src/defaults.c:1828 ../src/defaults.c:1866 +#: ../src/defaults.c:1882 +#, c-format msgid "\"%s\" is not a valid color name" msgstr "\"%s\" não é um nome de cor válido" -#: ../src/defaults.c:1482 +#: ../src/defaults.c:1707 msgid "bad number of arguments in gradient specification" -msgstr "número de argumentos inválido na especificação de gradient" +msgstr "número de argumentos inválido na especificação de gradiente" -#: ../src/defaults.c:1528 +#: ../src/defaults.c:1761 msgid "too few arguments in multicolor gradient specification" -msgstr "cores insuficientes para gradient multicores" - -#: ../src/defaults.c:1637 -msgid "Error in texture specification for key \"%s\"" -msgstr "especificação de textura inválida para opção \"%s\"" - -#: ../src/defaults.c:1683 ../src/defaults.c:1719 -msgid "Too few elements in array for key \"WorkspaceBack\"." -msgstr "elementos insuficientes na da opção \"WorkspaceBack\"." - -#: ../src/defaults.c:1695 -msgid "Wrong type for workspace background. Should be Texture." -msgstr "Valor inválido para fundo de área de trabalho. Deve ser uma textura" +msgstr "cores insuficientes para gradiente multicores" -#: ../src/defaults.c:1737 -msgid "Cannot get color entry for key \"WorkspaceBack\"." -msgstr "Falta uma cor na opção \"WorkspaceBack\"." +#: ../src/defaults.c:1855 +msgid "bad number of arguments in textured gradient specification" +msgstr "número de argumentos inválido na especificação de gradiente" -#: ../src/defaults.c:1749 -msgid "key \"WorkspaceBack\" has invalid color \"%s\"" -msgstr "opção \"WorkspaceBack\" tem uma cor inválida \"%s\"" - -#: ../src/defaults.c:1763 -msgid "Cannot get file entry for key \"WorkspaceBack\"." -msgstr "falta um nome de arquivo na opção \"WorkspaceBack\"." - -#: ../src/defaults.c:1779 -msgid "could not run \"%s\"" -msgstr "não foi possível executar \"%s\"" +#: ../src/defaults.c:1898 +#, c-format +msgid "bad opacity value for tgradient texture \"%s\". Should be [0..255]" +msgstr "" -#: ../src/defaults.c:1785 -msgid "could not find background image \"%s\"" -msgstr "fundo de área de trabalho \"%s\" não encontrado" +#: ../src/defaults.c:1958 +#, c-format +msgid "could not initialize library %s" +msgstr "erro inicializando biblioteca %s" + +#: ../src/defaults.c:1961 +#, c-format +msgid "could not find function %s::%s" +msgstr "função %s::%s não pôde ser encontrada" + +#: ../src/defaults.c:1968 +#, c-format +msgid "invalid texture type %s" +msgstr "Textura inválida: %s" + +#: ../src/defaults.c:2015 +#, c-format +msgid "Error in texture specification for key \"%s\"" +msgstr "especificação de textura inválida para opção \"%s\"" -#: ../src/defaults.c:1798 -msgid "Error in texture specification for key \"WorkspaceBack\"" -msgstr "especificação inválida de textura na opção \"WorkspaceBack\"" +#: ../src/defaults.c:2065 +msgid "Wrong type for workspace background. Should be a texture type." +msgstr "Valor inválido para fundo de área de trabalho. Deve ser uma textura." -#: ../src/defaults.c:1835 -msgid "Invalid justification type \"%s\". Should be Left, Center or Right" -msgstr "Tipo de alinhamento inválido \"%s\". Deve ser Left, Center ou Right" +#: ../src/defaults.c:2113 +#, c-format +msgid "Wrong type for background of workspace %i. Should be a texture." +msgstr "Tipo inválido para o fundo da área de trabalho %i. Deve ser uma textura." -#: ../src/defaults.c:1869 -msgid "could not load any usable font" -msgstr "não foi possível carregar nunhum fonte" +#: ../src/defaults.c:2154 +msgid "could not load any usable font!!!" +msgstr "não foi possível carregar nenhuma fonte!!!" -#: ../src/defaults.c:1899 +#: ../src/defaults.c:2183 +#, c-format msgid "could not get color for key \"%s\"" msgstr "falta uma cor na opção \"%s\"" -#: ../src/defaults.c:1958 -msgid "invalid key modifier \"%s\"" -msgstr "modificador de tecla inválida \"%s\"" +#: ../src/defaults.c:2242 ../src/rootmenu.c:491 +#, c-format +msgid "%s:invalid key modifier \"%s\"" +msgstr "%s:modificador de tecla de atalho inválido \"%s\"" + +#: ../src/defaults.c:2254 +#, c-format +msgid "%s:invalid kbd shortcut specification \"%s\"" +msgstr "%s:tecla de atalho inválido \"%s\"" -#: ../src/defaults.c:1970 -msgid "invalid kbd shortcut specification \"%s\"" -msgstr "especificação de tecla de atalho inválido \"%s\"" +#: ../src/defaults.c:2261 +#, c-format +msgid "%s:invalid key in shortcut \"%s\"" +msgstr "%s:tecla inválida no atalho \"%s\"" -#: ../src/defaults.c:1976 -msgid "invalid key in shortcut \"%s\"" -msgstr "tecla inválida em atalho \"%s\"" +#: ../src/defaults.c:2287 +#, c-format +msgid "%s: modifier key %s is not valid" +msgstr "%s: tecla modificadora %s não é válida" -#: ../src/defaults.c:2070 +#: ../src/defaults.c:2321 +#, c-format +msgid "could not load image in option %s: %s" +msgstr "Erro carregando arquivo de imagem na opção %s: %s" + +#: ../src/defaults.c:2403 msgid "could not render texture for icon background" msgstr "a textura de fundo de ícone não pôde ser gerado" -#: ../src/defaults.c:2416 -msgid "could not render texture for workspace background" -msgstr "a textura de fundo de área de trabalho não pôde ser gerado" - -#: ../src/dialog.c:81 ../src/dialog.c:93 ../src/dialog.c:176 ../src/dialog.c:504 ../src/dock.c:377 -msgid "OK" -msgstr "" - -#: ../src/dialog.c:81 ../src/dialog.c:86 ../src/dialog.c:176 ../src/dialog.c:511 ../src/dock.c:383 +#: ../src/dialog.c:115 ../src/dialog.c:467 ../src/dock.c:438 +#: ../src/dockedapp.c:360 ../src/rootmenu.c:188 ../src/rootmenu.c:226 +#: ../src/rootmenu.c:240 msgid "Cancel" msgstr "Cancelar" -#: ../src/dialog.c:86 ../src/rootmenu.c:203 -msgid "Exit" -msgstr "Sair" - -#: ../src/dialog.c:98 -msgid "Yes" -msgstr "Sim" - -#: ../src/dialog.c:98 -msgid "No" -msgstr "Não" - -#: ../src/dialog.c:268 +#: ../src/dialog.c:211 msgid "Could not open directory " msgstr "Erro abrindo diretório " -#: ../src/dialog.c:324 +#: ../src/dialog.c:267 msgid "Could not load image file " msgstr "Erro carregando arquivo de imagem " -#: ../src/dialog.c:450 +#: ../src/dialog.c:404 msgid "Directories" msgstr "Diretórios" -#: ../src/dialog.c:459 +#: ../src/dialog.c:413 msgid "Icons" msgstr "Ícones" -#: ../src/dialog.c:494 +#: ../src/dialog.c:450 msgid "File Name:" msgstr "Nome de arquivo:" -#: ../src/dialog.c:517 +#: ../src/dialog.c:473 msgid "Choose File" msgstr "Escolher Arquivo" -#: ../src/dialog.c:527 +#: ../src/dialog.c:490 ../src/dialog.c:492 msgid "Icon Chooser" msgstr "Seletor de Ícones" -#: ../src/dock.c:318 -msgid "Command Arguments" -msgstr "Argumentos do Comando" - -#: ../src/dock.c:329 -msgid "Command for files dropped by DND" -msgstr "Comando para arqs.largados por DND" - -#: ../src/dock.c:341 -msgid "%d will be replaced with the file name" -msgstr "%s será substituído pelo nome de arquivo" - -#: ../src/dock.c:345 -msgid "DND support was not compiled in" -msgstr "suporte para DND não foi compilado" - -#: ../src/dock.c:351 -msgid "Icon" -msgstr "Ícone" - -#: ../src/dock.c:363 ../src/winspector.c:1154 -msgid "Browse..." -msgstr "Escolher..." - -#: ../src/dock.c:371 -msgid "Launch this application automatically" -msgstr "Lançar esta aplicação automaticamente" +#: ../src/dock.c:215 +#, c-format +msgid "Type the name for workspace %i:" +msgstr "Digite o nome para a área de trabalho %i:" -#: ../src/dock.c:397 -msgid "Docked Application Settings" -msgstr "Configuração de Aplicação no Dock" +#: ../src/dock.c:216 ../src/dock.c:1053 +msgid "Rename Workspace" +msgstr "Renomear Área de Trabalho" -#: ../src/dock.c:553 +#: ../src/dock.c:436 msgid "Workspace Clip" -msgstr "" +msgstr "Clip" -#: ../src/dock.c:554 +#: ../src/dock.c:437 msgid "All selected icons will be removed!" msgstr "Todos os ícones selecionados serão removidos!" -#: ../src/dock.c:601 +#: ../src/dock.c:484 msgid "Keep Icon" msgstr "Manter Ícone" -#: ../src/dock.c:602 ../src/dock.c:2076 ../src/dock.c:2192 +#: ../src/dock.c:485 ../src/dock.c:1987 ../src/dock.c:2116 msgid "Type the command used to launch the application" msgstr "Digite o comando usado para rodar a aplicação" -#: ../src/dock.c:998 +#: ../src/dock.c:866 +#, c-format +msgid "could not launch application %s\n" +msgstr "não foi possível executar aplicação %s\n" + +#: ../src/dock.c:921 msgid "could not create workspace submenu for Clip menu" msgstr "não foi possível criar submenu para o menu do Clip" -#: ../src/dock.c:1056 +#: ../src/dock.c:984 msgid "could not create options submenu for Clip menu" msgstr "não foi possível criar submenu para o menu do Clip" -#: ../src/dock.c:1058 -msgid "Floating Clip" -msgstr "Clip Flutuante" +#: ../src/dock.c:988 ../src/dock.c:1042 ../src/winmenu.c:388 +msgid "Keep on top" +msgstr "Manter sobre outros" -#: ../src/dock.c:1064 +#: ../src/dock.c:994 msgid "Collapsed" msgstr "Encolhido" -#: ../src/dock.c:1070 +#: ../src/dock.c:1000 msgid "AutoCollapse" msgstr "AutoColapsar" -#: ../src/dock.c:1076 +#: ../src/dock.c:1006 +msgid "AutoRaiseLower" +msgstr "AutoLevantar/Abaixar" + +#: ../src/dock.c:1012 msgid "AutoAttract Icons" msgstr "AutoAtrair Ícones" -#: ../src/dock.c:1082 +#: ../src/dock.c:1018 msgid "Keep Attracted Icons" msgstr "Manter Ícones Atraídos" -#: ../src/dock.c:1106 -msgid "Floating Dock" -msgstr "Dock Flutuante" - -#: ../src/dock.c:1112 +#: ../src/dock.c:1048 msgid "Clip Options" msgstr "Opções do Clip" -#: ../src/dock.c:1117 +#: ../src/dock.c:1055 msgid "(Un)Select Icon" msgstr "(De)selecionar Ícone" -#: ../src/dock.c:1119 +#: ../src/dock.c:1057 msgid "(Un)Select All Icons" msgstr "(De)selecionar Todos Ícones" -#: ../src/dock.c:1122 +#: ../src/dock.c:1060 msgid "Keep Icon(s)" msgstr "Manter Ícone(s)" -#: ../src/dock.c:1124 +#: ../src/dock.c:1062 msgid "Move Icon(s) To" msgstr "Mover Ícone(s) Para" -#: ../src/dock.c:1129 +#: ../src/dock.c:1067 msgid "Remove Icon(s)" msgstr "Remover Ícone(s)" -#: ../src/dock.c:1131 +#: ../src/dock.c:1069 msgid "Attract Icons" msgstr "Atrair Ícones" -#: ../src/dock.c:1134 +#: ../src/dock.c:1072 msgid "Launch" msgstr "Lançar" -#: ../src/dock.c:1136 +#: ../src/dock.c:1080 msgid "Settings..." msgstr "Configurar..." -#: ../src/dock.c:1586 ../src/dock.c:1600 ../src/dock.c:1609 +#: ../src/dock.c:1465 ../src/dock.c:1479 ../src/dock.c:1493 ../src/dock.c:1503 +#, c-format msgid "bad value in docked icon state info %s" msgstr "valor inválido %s em arquivo estado do dock" -#: ../src/dock.c:1617 +#: ../src/dock.c:1511 +#, c-format msgid "bad value in docked icon position %i,%i" msgstr "valor de posição de ícone no dock inválido %i,%i" -#: ../src/dock.c:1846 +#: ../src/dock.c:1754 msgid "there are too many icons stored in dock. Ignoring what doesn't fit" msgstr "excesso de ícones no dock. Ignorando o que não cabe" -#: ../src/dock.c:2075 ../src/dock.c:2191 +#. icon->forced_dock = 1; +#: ../src/dock.c:1986 ../src/dock.c:2115 msgid "Dock Icon" msgstr "Docar Ícone" -#: ../src/dock.c:2987 ../src/dock.c:2991 +#: ../src/dock.c:3072 ../src/dock.c:3076 +#, c-format msgid "Could not execute command \"%s\"" msgstr "Comando \"%s\" não pôde ser executado" -#: ../src/event.c:429 -msgid "stack overflow: too many dead processes" -msgstr "genocídio detectado: excesso de processos mortos" +#: ../src/dockedapp.c:130 +#, c-format +msgid "could not find icon %s, used in a docked application" +msgstr "Ícone %s não encontrado, usado em uma aplicação dock" + +#: ../src/dockedapp.c:209 +#, c-format +msgid "Could not open specified icon file:%s" +msgstr "O arquivo de ícone %s não pôde ser aberto" + +#: ../src/dockedapp.c:295 +msgid "Start when WindowMaker is started" +msgstr "Iniciar junto com o WindowMaker" -#: ../src/framewin.c:515 +#: ../src/dockedapp.c:302 +msgid "Application path and arguments" +msgstr "Caminho da aplicação e argumentos" + +#: ../src/dockedapp.c:313 +msgid "Command for files dropped with DND" +msgstr "Comando para arqs.largados por DND" + +#: ../src/dockedapp.c:325 +#, c-format +msgid "%d will be replaced with the file name" +msgstr "%d será substituído pelo nome de arquivo" + +#: ../src/dockedapp.c:329 +msgid "DND support was not compiled in" +msgstr "suporte para DND não foi compilado" + +#: ../src/dockedapp.c:335 +msgid "Icon Image" +msgstr "Imagem de ícone" + +#: ../src/dockedapp.c:347 ../src/winspector.c:1244 +msgid "Browse..." +msgstr "Escolher..." + +#: ../src/dockedapp.c:392 +msgid "Docked Application Settings" +msgstr "Configuração de Aplicação no Dock" + +#: ../src/framewin.c:489 +#, c-format msgid "could not render gradient: %s" msgstr "erro na geração do degradé: %s" -#: ../src/framewin.c:531 ../src/framewin.c:546 ../src/framewin.c:557 ../src/framewin.c:564 ../src/framewin.c:571 ../src/icon.c:282 ../src/texture.c:503 +#: ../src/framewin.c:505 ../src/framewin.c:520 ../src/framewin.c:531 +#: ../src/framewin.c:538 ../src/framewin.c:545 ../src/icon.c:296 +#: ../src/texture.c:678 +#, c-format msgid "error rendering image:%s" msgstr "erro na conversão da imagem:%s" -#: ../src/icon.c:562 +#: ../src/icon.c:182 ../src/wdefaults.c:416 +#, c-format +msgid "error loading image file \"%s\"" +msgstr "erro carregando imagem \"%s\"" + +#: ../src/icon.c:423 ../src/icon.c:432 +#, c-format +msgid "could not create directory %s" +msgstr "Erro criando diretório %s" + +#: ../src/icon.c:699 +#, c-format msgid "could not find default icon \"%s\"" -msgstr "ícone default \"%s\" não pôde ser encontrado" +msgstr "ícone padrão \"%s\" não pôde ser encontrado" + +#: ../src/icon.c:705 +#, c-format +msgid "could not load default icon \"%s\":%s" +msgstr "ícone padrão \"%s\" não pôde ser carregado" -#: ../src/icon.c:569 -msgid "could not load default icon \"%s\"" -msgstr "ícone default \"%s\" não pôde ser carregado" +#: ../src/main.c:195 +msgid "could not exec window manager" +msgstr "Erro ao executar gerenciador de janelas" -#: ../src/main.c:163 +#: ../src/main.c:196 msgid "Restart failed!!!" msgstr "Falha na reinicialização!!!" -#: ../src/main.c:178 +#: ../src/main.c:243 +#, c-format msgid "%s aborted.\n" msgstr "%s abortado.\n" -#: ../src/main.c:189 -msgid "usage: %s [-options]\n" +#: ../src/main.c:254 +#, c-format +msgid "Usage: %s [options]\n" msgstr "utilização: %s [-opções]\n" -#: ../src/main.c:190 -msgid "options:" -msgstr "opções:" +#: ../src/main.c:255 +msgid "The Window Maker window manager for the X window system" +msgstr "O gerenciador de janelas Window Maker para o sistema X" + +#: ../src/main.c:257 +msgid " -display host:dpy\tdisplay to use" +msgstr " -display host:dpy\tdisplay a ser usado" -#: ../src/main.c:192 -msgid " -nocpp \t\tdisable preprocessing of configuration files" -msgstr " -nocpp \t\tdesativa preprocessamento de arquivos de configuração" +#: ../src/main.c:259 +msgid " --no-cpp \t\tdisable preprocessing of configuration files" +msgstr " --no-cpp \t\tdesativa preprocessamento de arquivos de configuração" -#: ../src/main.c:194 -msgid " -nodock\t\tdo not open the application Dock" -msgstr " -nodock\t\tdesabilitar o Dock" +#: ../src/main.c:261 +msgid " --no-dock\t\tdo not open the application Dock" +msgstr " --no-dock\t\tdesabilitar o Dock" -#: ../src/main.c:195 -msgid " -noclip\t\tdo not open the workspace Clip" -msgstr " -noclip\t\tdesabilitar o Clip" +#: ../src/main.c:262 +msgid " --no-clip\t\tdo not open the workspace Clip" +msgstr " --no-clip\t\tdesabilitar o Clip" #. -#. puts(_(" -locale locale locale to use")); +#. puts(_(" --locale locale locale to use")); #. -#: ../src/main.c:199 -msgid " -visualid visualid\tvisual id of visual to use" -msgstr " -visualid visualid\tvisual id do visual a usar" +#: ../src/main.c:266 +msgid " --visual-id visualid\tvisual id of visual to use" +msgstr " --visual-id visualid\tvisual id do visual a usar" -#: ../src/main.c:200 -msgid " -display host:dpy\tdisplay to use" -msgstr " -display host:dpy\tdisplay a ser usado" +#: ../src/main.c:267 +msgid " --static\t\tdo not update or save configurations" +msgstr " --static\t\tnão salve ou atualiza configurações" -#: ../src/main.c:201 -msgid " -version\t\tprint version and exit" -msgstr " -version\t\tmostra versão e sai" +#: ../src/main.c:268 +msgid " --version\t\tprint version and exit" +msgstr " --version\t\tmostra versão e sai" -#: ../src/main.c:216 -msgid "could not determine home directory" -msgstr "diretório home não pôde ser determinado" +#: ../src/main.c:269 +msgid " --help\t\t\tshow this message" +msgstr " --help\t\t\tmostra esta mensagem" -#: ../src/main.c:226 +#: ../src/main.c:281 +#, c-format msgid "" -"could not find user GNUstep directory.\n" -"Make sure you have installed WindowMaker correctly and run wmaker.inst" +"could not find user GNUstep directory (%s).\n" +"Make sure you have installed Window Maker correctly and run wmaker.inst" msgstr "" "diretório GNUstep pessoal não pôde ser encontrado.\n" -"Certifique-se de que WindowMaker está instalado corretamente e execute wmaker.inst" +"Certifique-se de que WindowMaker está instalado corretamente e execute " +"wmaker.inst" -#: ../src/main.c:246 +#: ../src/main.c:300 +#, c-format msgid "%s:could not execute initialization script" msgstr "%s:não foi possível executar script de inicialização" -#: ../src/main.c:303 ../src/main.c:310 ../src/main.c:317 +#: ../src/main.c:317 +#, c-format +msgid "%s:could not execute exit script" +msgstr "%s:não foi possível executar script de saída" + +#: ../src/main.c:378 ../src/main.c:385 ../src/main.c:393 ../src/main.c:409 +#, c-format msgid "too few arguments for %s" msgstr "parâmetros insuficientes para %s" -#: ../src/main.c:321 +#: ../src/main.c:397 +#, c-format msgid "bad value for visualid: \"%s\"" msgstr "valor inválido de visualID: \"%s\"" -#: ../src/main.c:366 +#: ../src/main.c:417 +#, c-format +msgid "%s: invalid argument '%s'\n" +msgstr "%s: argumento inválido '%s'\n" + +#: ../src/main.c:418 +#, c-format +msgid "Try '%s --help' for more information\n" +msgstr "Tente '%s --help' para mais informações\n" + +#: ../src/main.c:461 msgid "X server does not support locale" msgstr "servidor X não suporta locale" -#: ../src/main.c:369 +#: ../src/main.c:464 msgid "cannot set locale modifiers" -msgstr "" +msgstr "Não foi possível definir modificadores locale" -#: ../src/main.c:383 +#: ../src/main.c:481 +#, c-format msgid "could not open display \"%s\"" msgstr "não foi possível abrir display \"%s\"" -#: ../src/menu.c:281 +#: ../src/menu.c:288 msgid "wrealloc() failed while trying to add menu item" msgstr "falta de memória durante adição de item em menu" #: ../src/misc.c:69 +#, c-format msgid "could not define value for %s for cpp" msgstr "não foi possível definir valor de %s para cpp" #: ../src/misc.c:99 +#, c-format msgid "could not get password entry for UID %i" msgstr "não foi possível achar usernama para UID %i" #: ../src/misc.c:123 +#, c-format msgid "your machine is misconfigured. HOSTNAME is set to %s" msgstr "sua máquina está mal configurada. Valor de HOSTNAME = %s" #: ../src/misc.c:129 +#, c-format msgid "your machine is misconfigured. HOST is set to %s" msgstr "sua máquina está mal configurada. Valor de HOST = %s" -#: ../src/misc.c:700 +#: ../src/misc.c:770 msgid "selection timed-out" msgstr "time-out tentando ler seleção" -#: ../src/misc.c:714 +#: ../src/misc.c:786 msgid "Program Arguments" msgstr "Parâmetros do Programa" -#: ../src/misc.c:733 +#: ../src/misc.c:787 msgid "Enter command arguments:" msgstr "Digite os parâmetros do comando:" -#: ../src/misc.c:754 +#: ../src/misc.c:885 msgid "unable to get dropped data from DND drop" -msgstr "" +msgstr "impossível receber dados jogados por DND" -#: ../src/misc.c:762 +#: ../src/misc.c:893 msgid "error getting dropped data from DND drop" -msgstr "" +msgstr "erro recebendo dados jogados por DND" -#: ../src/misc.c:768 +#: ../src/misc.c:899 msgid "out of memory while getting data from DND drop" msgstr "falta de memória recuperando dados de drag&drop DND" -#: ../src/misc.c:812 ../src/misc.c:931 +#: ../src/misc.c:944 ../src/misc.c:1079 +#, c-format msgid "out of memory during expansion of \"%s\"" msgstr "falta de memória durante expansão de \"%s\"" -#: ../src/misc.c:866 +#: ../src/misc.c:998 msgid "out of memory during expansion of \"%w\"" msgstr "falta de memória durante expansão de \"%w\"" -#: ../src/misc.c:885 +#: ../src/misc.c:1016 +msgid "out of memory during expansion of \"%W\"" +msgstr "falta de memória durante expansão de \"%W\"" + +#: ../src/misc.c:1032 msgid "out of memory during expansion of \"%a\"" msgstr "memória insuficiente na expansão de \"%a\"" -#: ../src/misc.c:907 +#: ../src/misc.c:1058 +#, c-format msgid "out of memory during expansion of \"%d\"" msgstr "falta de memória durante expansão de \"%d\"" -#: ../src/misc.c:919 +#: ../src/misc.c:1072 msgid "selection not available" msgstr "seleção inexistente" -#: ../src/misc.c:997 ../src/misc.c:1003 +#: ../src/misc.c:1144 ../src/misc.c:1150 +#, c-format msgid "bad window name value in %s state info" -msgstr "" +msgstr "nome de janela inválido em %s" + +#: ../src/misc.c:1405 +msgid "could not send message to background image helper" +msgstr "erro mandando mensagem para aplicativo de mudança de fundo" #: ../src/pixmap.c:235 +#, c-format msgid "could not load mask bitmap file \"%s\". Won't use mask" msgstr "arquivo de bitmap \"%s\" não pôde ser aberto." -#: ../src/resources.c:71 -msgid "The following character sets are missing:" +#: ../src/proplist.c:180 +msgid "unterminated string" msgstr "" -#: ../src/resources.c:75 -msgid "The string \"%s\" will be used in place" +#: ../src/proplist.c:247 +msgid "unterminated array" msgstr "" -#: ../src/resources.c:77 -msgid "of any characters from those sets." +#: ../src/proplist.c:256 +msgid "missing , in array or unterminated array" msgstr "" -#: ../src/resources.c:80 -msgid "could not create font set %s. Trying fixed" +#: ../src/proplist.c:267 +msgid "could not get array element" +msgstr "" + +#: ../src/proplist.c:297 +msgid "unterminated dictionary" +msgstr "" + +#: ../src/proplist.c:315 +msgid "missing dictionary key" +msgstr "" + +#: ../src/proplist.c:317 +msgid "missing dictionary entry key or unterminated dictionary" +msgstr "" + +#: ../src/proplist.c:323 +msgid "error parsing dictionary key" msgstr "" -#: ../src/resources.c:97 +#: ../src/proplist.c:332 +msgid "missing = in dictionary entry" +msgstr "" + +#: ../src/proplist.c:351 +msgid "missing ; in dictionary entry" +msgstr "" + +#: ../src/proplist.c:432 +msgid "was expecting a string, dictionary, data or array." +msgstr "" + +#: ../src/proplist.c:434 +msgid "Comments are not allowed inside WindowMaker owned domain files." +msgstr "" + +#: ../src/proplist.c:453 +#, c-format +msgid "could not open domain file %s" +msgstr "arquivo de domínio %s não pôde ser aberto" + +#: ../src/proplist.c:466 +msgid "extra data after end of file" +msgstr "" + +#: ../src/resources.c:71 +#, c-format +msgid "The following character sets are missing in %s:" +msgstr "Os seguintes conjuntos de caracteres estão faltando em %s:" + +#: ../src/resources.c:76 +#, c-format +msgid "The string \"%s\" will be used in place" +msgstr "A seqüência de caracteres \"%s\" será usada no lugar" + +#: ../src/resources.c:78 +msgid "of any characters from those sets." +msgstr "de qualquer caracter destes conjuntos." + +#: ../src/resources.c:81 +#, c-format +msgid "could not create font set %s. Trying fixed" +msgstr "Não foi possível criar conjunto de fonte %s. Tentando fixed" + +#: ../src/resources.c:98 +#, c-format msgid "could not load font %s. Trying fixed" msgstr "fonte %s não pôde ser carregado. Tentando fixed" -#: ../src/resources.c:135 +#: ../src/resources.c:136 +#, c-format msgid "could not parse color \"%s\"" msgstr "\"%s\" não pode ser reconhecido" -#: ../src/resources.c:139 +#: ../src/resources.c:140 +#, c-format msgid "could not allocate color \"%s\"" msgstr "cor \"%s\" não pôde ser alocada" -#: ../src/rootmenu.c:160 -msgid "Program \"%s\" not found or cannot be executed." -msgstr "Programa \"%s\" não encontrado ou não pode ser executado." +#: ../src/rootmenu.c:186 ../src/rootmenu.c:188 +msgid "Exit" +msgstr "Sair" -#: ../src/rootmenu.c:204 +#: ../src/rootmenu.c:187 msgid "Exit window manager?" msgstr "Sair do gerenciador de janelas?" -#: ../src/rootmenu.c:224 +#: ../src/rootmenu.c:223 msgid "Close X session" msgstr "Fechar sessão do X" -#: ../src/rootmenu.c:225 +#: ../src/rootmenu.c:224 msgid "" "Close Window System session?\n" -"(all applications will be closed)" +"Kill might close applications with unsaved data." msgstr "" "Fechar sessão do sistema de janelas?\n" "(todos os aplicativos serão fechados)" -#: ../src/rootmenu.c:227 -msgid "Exiting...\n" -msgstr "Saindo...\n" +#. +#. entry = wMenuAddCallback(menu, _("Select Shortcut"), NULL, NULL); +#. wMenuEntrySetCascade(menu, entry, makeMakeShortcutMenu(scr)); +#. +#: ../src/rootmenu.c:226 ../src/winmenu.c:486 +msgid "Close" +msgstr "Fechar" -#: ../src/rootmenu.c:407 -msgid "%s:invalid key modifier \"%s\"" -msgstr "%s:modificador de tecla de atalho inválido \"%s\"" +#: ../src/rootmenu.c:237 +msgid "Kill X session" +msgstr "Fechar sessão do X" -#: ../src/rootmenu.c:421 -msgid "%s:invalid kbd shortcut specification \"%s\"" -msgstr "%s:tecla de atalho inválido \"%s\"" +#: ../src/rootmenu.c:238 +msgid "" +"Kill Window System session?\n" +"(all applications will be closed)" +msgstr "" +"Fechar sessão do sistema de janelas?\n" +"(todos os aplicativos serão fechados)" -#: ../src/rootmenu.c:429 -msgid "%s:invalid key in shortcut \"%s\"" -msgstr "%s:tecla inválida no atalho \"%s\"" +#: ../src/rootmenu.c:504 +#, c-format +msgid "%s:invalid kbd shortcut specification \"%s\" for entry %s" +msgstr "%s:tecla de atalho inválido \"%s\" para entrada %s" -#: ../src/rootmenu.c:482 +#: ../src/rootmenu.c:512 +#, c-format +msgid "%s:invalid key in shortcut \"%s\" for entry %s" +msgstr "%s:tecla inválida no atalho \"%s\" para entrada %s" + +#: ../src/rootmenu.c:565 +#, c-format msgid "%s: unmatched '\"' in menu file" msgstr "%s: '\"' não fechado no arquivo de menu" -#: ../src/rootmenu.c:531 +#: ../src/rootmenu.c:615 +#, c-format msgid "%s: missing command" msgstr "%s: falta o comando" -#: ../src/rootmenu.c:564 +#: ../src/rootmenu.c:648 +#, c-format msgid "invalid OPEN_MENU specification: %s" msgstr "especificação de OPEN_MENU inválido: %s" -#: ../src/rootmenu.c:629 +#: ../src/rootmenu.c:696 +#, c-format msgid "%s:could not stat menu" msgstr "%s:menu não pôde ser acessado" -#: ../src/rootmenu.c:637 -msgid "%s:could not stat menu :%s" +#: ../src/rootmenu.c:704 +#, c-format +msgid "%s:could not stat menu:%s" msgstr "%s:menu não pôde ser acessado: %s" -#: ../src/rootmenu.c:655 +#: ../src/rootmenu.c:722 +#, c-format msgid "too many parameters in OPEN_MENU: %s" msgstr "excesso de parâmetros em OPEN_MENU: %s" -#: ../src/rootmenu.c:714 ../src/rootmenu.c:737 +#: ../src/rootmenu.c:758 +msgid "" +"There are more than one WORKSPACE_MENU commands in the applications menu. " +"Only one is allowed." +msgstr "" + +#: ../src/rootmenu.c:787 ../src/rootmenu.c:805 +#, c-format msgid "%s:missing parameter for menu command \"%s\"" msgstr "%s:falta parâmetro no comando de menu \"%s\"" -#: ../src/rootmenu.c:794 +#: ../src/rootmenu.c:868 +#, c-format msgid "%s:unknown command \"%s\" in menu config." msgstr "%s:comando inválido \"%s\" na configuração do menu." -#: ../src/rootmenu.c:802 +#: ../src/rootmenu.c:876 +#, c-format msgid "%s:can't add shortcut for entry \"%s\"" msgstr "%s:\"%s\" não pode ter tecla de atalho" -#: ../src/rootmenu.c:934 +#: ../src/rootmenu.c:1013 +#, c-format msgid "%s:maximal line size exceeded in menu config: %s" msgstr "%s:linha muito comprida no arquivo de menu: %s" -#: ../src/rootmenu.c:956 ../src/rootmenu.c:1048 ../src/rootmenu.c:1146 +#: ../src/rootmenu.c:1035 ../src/rootmenu.c:1127 ../src/rootmenu.c:1228 +#, c-format msgid "%s:missing command in menu config: %s" msgstr "%s:falta o comando no menu \"%s\"" -#: ../src/rootmenu.c:986 +#: ../src/rootmenu.c:1065 +#, c-format msgid "%s:syntax error in menu file:END declaration missing" msgstr "%s:erro de sintaxe no menu:falta um END" -#: ../src/rootmenu.c:1015 ../src/rootmenu.c:1111 +#: ../src/rootmenu.c:1094 ../src/rootmenu.c:1193 msgid "could not make arguments for menu file preprocessor" msgstr "não foi possível criar parâmetros para o preprocessador para menu" -#: ../src/rootmenu.c:1021 ../src/rootmenu.c:1118 +#: ../src/rootmenu.c:1100 ../src/rootmenu.c:1200 +#, c-format msgid "%s:could not open/preprocess menu file" msgstr "%s:não foi possível abrir/preprocessar arquivo de menu" -#: ../src/rootmenu.c:1033 ../src/rootmenu.c:1131 +#: ../src/rootmenu.c:1112 ../src/rootmenu.c:1213 +#, c-format msgid "%s:could not open menu file" msgstr "%s:arquivo de menu não pôde ser aberto" -#: ../src/rootmenu.c:1060 -msgid "%s:invalid menu file" -msgstr "%s:arquivo de menu inválido" +#: ../src/rootmenu.c:1139 +#, c-format +msgid "%s:invalid menu file. MENU command is missing" +msgstr "%s:arquivo de menu inválido. Comando MENU não existe" -#: ../src/rootmenu.c:1158 +#: ../src/rootmenu.c:1148 +msgid "error reading preprocessed menu data" +msgstr "" + +#: ../src/rootmenu.c:1240 +#, c-format msgid "%s:no title given for the root menu" msgstr "%s:falta o título do menu de aplicações" -#: ../src/rootmenu.c:1212 ../src/rootmenu.c:1275 ../src/rootmenu.c:1319 +#: ../src/rootmenu.c:1323 ../src/rootmenu.c:1390 ../src/rootmenu.c:1434 +#, c-format msgid "out of memory while constructing directory menu %s" msgstr "faltou memória durante construção do menu de diretório %s" -#: ../src/rootmenu.c:1222 +#: ../src/rootmenu.c:1333 +#, c-format msgid "%s:could not stat file \"%s\" in menu directory" msgstr "$s:arquivo \"%s\" não pôde ser acessado no menu de diretório" -#: ../src/rootmenu.c:1368 +#: ../src/rootmenu.c:1488 msgid "Commands" msgstr "Comandos" -#: ../src/rootmenu.c:1370 +#: ../src/rootmenu.c:1491 +msgid "Restart" +msgstr "Reiniciar" + +#: ../src/rootmenu.c:1492 msgid "Exit..." msgstr "Sair..." -#: ../src/rootmenu.c:1404 -msgid "%s:could not find menu file \"%s\"" -msgstr "%s:arquivo de menu \"%s\" não encontrado" +#: ../src/rootmenu.c:1537 +#, c-format +msgid "could not find menu file \"%s\" referenced in WMRootMenu" +msgstr "arquivo de menu \"%s\" não encontrado" + +#: ../src/rootmenu.c:1544 +#, c-format +msgid "could not access menu \"%s\" referenced in WMRootMenu" +msgstr "" -#: ../src/rootmenu.c:1410 -msgid "%s:could not stat menu \"%s\"" -msgstr "%s:arquivo de menu \"%s\" não pôde ser acessado" +#: ../src/rootmenu.c:1555 +#, c-format +msgid "" +"using default menu file \"%s\" as the menu referenced in WMRootMenu could " +"not be found " +msgstr "" +"usando menu padrão \"%s\" pois o menu referenciado no arquivo WMRootMenu " +"não foi encontrado " -#: ../src/rootmenu.c:1434 ../src/rootmenu.c:1481 +#: ../src/rootmenu.c:1578 ../src/rootmenu.c:1654 +#, c-format msgid "%s:format error in root menu configuration \"%s\"" msgstr "%s:erro no formato do arquivo de configuração de menu \"%s\"" -#: ../src/screen.c:110 -msgid "it seems that there already is a window manager running" -msgstr "aparentemente já há um gerenciador de janelas sendo executado" +#: ../src/rootmenu.c:1742 +msgid "" +"The applications menu could not be loaded.Look at the console output for a " +"detaileddescription of the errors" +msgstr "" -#: ../src/screen.c:346 -msgid "could not load logo image for panels" -msgstr "arquivo de logo para janelas não pôde ser aberto" +#: ../src/screen.c:433 +#, c-format +msgid "could not load logo image for panels: %s" +msgstr "arquivo de logo para painéis não pôde ser aberto: %s" -#: ../src/screen.c:349 +#: ../src/screen.c:437 +#, c-format msgid "error making logo image for panel:%s" msgstr "erro na geração do logo para janelas:%s" -#: ../src/screen.c:510 +#: ../src/screen.c:710 +#, c-format msgid "could not initialize graphics library context: %s" msgstr "erro inicializando contexto da biblioteca gráfica: %s" -#: ../src/session.c:113 ../src/wdefaults.c:555 ../src/winspector.c:323 +#: ../src/screen.c:741 +msgid "could not do initialization of WINGs widget set" +msgstr "não foi possível executar widget set WINGs" + +#: ../src/screen.c:1073 +#, c-format +msgid "could not save session state in %s" +msgstr "erro ao salvar sessão em %s" + +#: ../src/session.c:182 ../src/wdefaults.c:564 ../src/winspector.c:347 +#, c-format msgid "can't convert \"%s\" to boolean" msgstr "\"%s\" não é um valor booleano" -#: ../src/stacking.c:88 +#: ../src/session.c:873 +msgid "out of memory while saving session state" +msgstr "faltou memória ao salvar a sessão" + +#: ../src/session.c:964 +msgid "end of memory while saving session state" +msgstr "faltou memória ao salvar a sessão" + +#. This is not fatal but can mean the session manager exited. +#. * If the session manager exited normally we would get a +#. * Die message, so this probably means an abnormal exit. +#. * If the sm was the last client of session, then we'll die +#. * anyway, otherwise we can continue doing our stuff. +#. +#: ../src/session.c:1098 +msgid "connection to the session manager was lost" +msgstr "" + +#: ../src/stacking.c:72 msgid "could not get window list!!" msgstr "" -#: ../src/startup.c:149 +#: ../src/startup.c:195 +#, c-format msgid "internal X error: %s\n" msgstr "erro interno de X: %s\n" -#: ../src/startup.c:189 +#: ../src/startup.c:259 +#, c-format msgid "got signal %i (%s) - restarting\n" msgstr "sinal %i (%s) recebido - reiniciando\n" -#: ../src/startup.c:191 +#: ../src/startup.c:261 +#, c-format msgid "got signal %i - restarting\n" msgstr "sinal %i recebido - reiniciando\n" -#: ../src/startup.c:198 -msgid "%s: Received signal SIGTERM. Exiting..." -msgstr "%s: Sinal SIGTERM recebido. Saindo..." +#: ../src/startup.c:276 +#, c-format +msgid "got signal %i (%s) - exiting...\n" +msgstr "sinal %i (%s) recebido - saindo...\n" -#: ../src/startup.c:207 +#: ../src/startup.c:278 +#, c-format +msgid "got signal %i - exiting...\n" +msgstr "sinal %i recebido - saindo...\n" + +#: ../src/startup.c:291 +#, c-format msgid "got signal %i (%s)\n" msgstr "signal %i recebido (%s)\n" -#: ../src/startup.c:209 +#: ../src/startup.c:293 +#, c-format msgid "got signal %i\n" msgstr "signal %i recebido\n" +#: ../src/startup.c:299 +msgid "" +"crashed while trying to do some post-crash cleanup. Aborting immediatelly." +msgstr "" + +#: ../src/startup.c:310 +msgid "" +"a fatal error has occured, probably due to a bug. Please fill the included " +"BUGFORM and report it." +msgstr "" + #. restart another window manager so that the X session doesn't #. * go to space -#: ../src/startup.c:218 +#: ../src/startup.c:317 msgid "trying to start alternative window manager..." msgstr "tentando iniciar gerenciador de janelas alternativo..." -#: ../src/switchmenu.c:124 +#: ../src/startup.c:745 +#, c-format +msgid "icon size is configured to %i, but it's too small. Using 16, instead\n" +msgstr "" + +#: ../src/startup.c:789 +msgid "it seems that there already is a window manager running" +msgstr "aparentemente já há um gerenciador de janelas sendo executado" + +#: ../src/startup.c:795 +#, c-format +msgid "could not manage screen %i" +msgstr "não é possível gerenciar janela %i" + +#: ../src/startup.c:855 +msgid "could not manage any screen" +msgstr "não é possível gerenciar qualquer janela" + +#: ../src/switchmenu.c:114 msgid "Windows" msgstr "Janelas" -#: ../src/texture.c:260 +#: ../src/texture.c:294 ../src/texture.c:338 +#, c-format msgid "image file \"%s\" used as texture could not be found." msgstr "arquivo de imagem \"%s\" usado em textura não encontrado." -#: ../src/texture.c:266 +#: ../src/texture.c:300 ../src/texture.c:344 +#, c-format msgid "could not load texture pixmap \"%s\":%s" msgstr "arquivo de imagem \"%s\" não pôde ser aberto" -#: ../src/texture.c:362 ../src/texture.c:499 +#: ../src/texture.c:404 +#, c-format +msgid "library \"%s\" cound not be opened." +msgstr "biblioteca \"%s\" não pôde ser aberta." + +#: ../src/texture.c:413 +#, c-format +msgid "function \"%s\" not found in library \"%s\"" +msgstr "" + +#: ../src/texture.c:420 +msgid "function textures not supported on this system, sorry." +msgstr "" + +#: ../src/texture.c:552 ../src/texture.c:674 +#, c-format msgid "could not render texture: %s" msgstr "erro na geração de textura: %s" -#: ../src/wdefaults.c:387 +#: ../src/wdefaults.c:410 +#, c-format msgid "could not find icon file \"%s\"" msgstr "ícone de arquivo \"%s\" não encontrado" -#: ../src/winmenu.c:179 -msgid "could not create workspace submenu for window menu" -msgstr "não foi possível criar lista de áreas de trabalho para o menu de janela" +#: ../src/window.c:2499 ../src/window.c:2631 +msgid "" +"the NumLock, ScrollLock or similar key seems to be turned on.\n" +"Turn it off or some mouse actions and keyboard shortcuts will not work." +msgstr "" + +#: ../src/winmenu.c:125 +msgid "" +"This will kill the application.\n" +"Any unsaved changes will be lost.\n" +"Please confirm." +msgstr "" +"A aplicação será finalizada (kill).\n" +"Quaisquer modificações não salvas serão perdidas.\n" +"Confirme por favor." + +#: ../src/winmenu.c:252 ../src/winmenu.c:260 +msgid "Set Shortcut" +msgstr "" + +#: ../src/winmenu.c:338 ../src/winmenu.c:384 +msgid "could not create submenu for window menu" +msgstr "não foi possível criar submenu para o menu de janela" + +#: ../src/winmenu.c:393 +msgid "Keep at bottom" +msgstr "Manter embaixo" -#: ../src/winmenu.c:201 -msgid "(Un)Maximize" -msgstr "(De)Maximizar" +#: ../src/winmenu.c:398 ../src/winspector.c:1146 +msgid "Omnipresent" +msgstr "Onipresente" + +#. +#. * Warning: If you make some change that affects the order of the +#. * entries, you must update the command #defines in the top of +#. * this file. +#. +#: ../src/winmenu.c:421 ../src/winmenu.c:556 +msgid "Maximize" +msgstr "Maximizar" -#: ../src/winmenu.c:202 +#: ../src/winmenu.c:429 ../src/winmenu.c:542 msgid "Miniaturize" msgstr "Miniaturizar" -#: ../src/winmenu.c:211 -msgid "(Un)Shade" -msgstr "(De)Shadear" - -#: ../src/winmenu.c:219 -msgid "Hide" -msgstr "" +#: ../src/winmenu.c:438 ../src/winmenu.c:573 +msgid "Shade" +msgstr "Sombrear" -#: ../src/winmenu.c:227 -msgid "Hide Others" -msgstr "Hide Outros" +#: ../src/winmenu.c:454 +msgid "Resize/Move" +msgstr "Redimensionar/Mover" -#: ../src/winmenu.c:229 +#: ../src/winmenu.c:462 msgid "Select" msgstr "Selecionar" -#: ../src/winmenu.c:231 +#: ../src/winmenu.c:470 msgid "Move To" msgstr "Mover Para" -#: ../src/winmenu.c:236 +#: ../src/winmenu.c:475 msgid "Attributes..." msgstr "Atributos..." -#: ../src/winmenu.c:238 -msgid "Close" -msgstr "Fechar" +#: ../src/winmenu.c:477 +msgid "Options" +msgstr "Opções" + +#: ../src/winmenu.c:537 +msgid "Deminiaturize" +msgstr "Restaurar" + +#: ../src/winmenu.c:551 +msgid "Unmaximize" +msgstr "Desmaximizar" -#: ../src/winspector.c:270 -msgid "Could not find specified icon file" -msgstr "Ícone especificado não pôde ser encontrado" +#: ../src/winmenu.c:568 +msgid "Unshade" +msgstr "(Des)sombrear" -#: ../src/winspector.c:928 -msgid "not enough memory to open window inspector panel" -msgstr "falta de memória criando editor de atributos de janela" +#: ../src/winspector.c:281 +#, c-format +msgid "Could not find icon \"%s\" specified for this window" +msgstr "Ícone especificado não pôde ser encontrado: \"%s\"" -#: ../src/winspector.c:955 +#: ../src/winspector.c:297 +#, c-format +msgid "Could not open specified icon \"%s\":%s" +msgstr "O ícone especificado não pôde ser aberto: \"%s\"" + +#: ../src/winspector.c:1021 msgid "Save" msgstr "Salvar" -#: ../src/winspector.c:961 +#: ../src/winspector.c:1029 msgid "Apply" msgstr "Aplicar" -#: ../src/winspector.c:967 -msgid "Revert" -msgstr "Reverter" +#: ../src/winspector.c:1035 +msgid "Reload" +msgstr "Recarregar" -#: ../src/winspector.c:976 ../src/winspector.c:984 +#: ../src/winspector.c:1044 ../src/winspector.c:1054 msgid "Window Specification" msgstr "Especificação de Janelas" -#: ../src/winspector.c:977 +#: ../src/winspector.c:1045 msgid "Window Attributes" msgstr "Atributos de Janela" -#: ../src/winspector.c:978 +#: ../src/winspector.c:1046 msgid "Advanced Options" msgstr "Opções Avançadas" -#: ../src/winspector.c:979 +#: ../src/winspector.c:1047 msgid "Icon and Initial Workspace" msgstr "Ícone e Área de Trabalho Inicial" -#: ../src/winspector.c:980 +#: ../src/winspector.c:1048 msgid "Application Specific" msgstr "Geral da Aplicação" -#: ../src/winspector.c:1019 +#: ../src/winspector.c:1062 msgid "Defaults for all windows" -msgstr "Default para todas as janelas" +msgstr "Padrão para todas as janelas" -#: ../src/winspector.c:1027 +#: ../src/winspector.c:1105 msgid "" "The configuration will apply to all\n" "windows that have their WM_CLASS property set to the above selected\n" "name, when saved." msgstr "" "A configuração será usada para todas as janelas\n" -"que tenham o valor da propriedade WM_CLASS igual ao nome especificado acima,\n" +"que tenham o valor da propriedade WM_CLASS igual ao nome especificado " +"acima,\n" "quando salvo." -#: ../src/winspector.c:1034 +#: ../src/winspector.c:1112 msgid "Attributes" msgstr "Atributos" -#: ../src/winspector.c:1044 -msgid "Disable titlebar" +#: ../src/winspector.c:1122 +msgid "Disable Titlebar" msgstr "Remover barra de título" -#: ../src/winspector.c:1048 -msgid "Disable resizebar" -msgstr "Remover barra inferior" +#: ../src/winspector.c:1126 +msgid "Disable Resizebar" +msgstr "Remover barra de tamanho" -#: ../src/winspector.c:1052 -msgid "Disable close button" +#: ../src/winspector.c:1130 +msgid "Disable Close Button" msgstr "Remover botão de fechar" -#: ../src/winspector.c:1056 -msgid "Disable miniaturize button" +#: ../src/winspector.c:1134 +msgid "Disable Miniaturize Button" msgstr "Remover botão de miniaturização" -#: ../src/winspector.c:1060 -msgid "Keep on top" +#: ../src/winspector.c:1138 +msgid "Keep on Top / Floating" msgstr "Manter sobre outros" -#: ../src/winspector.c:1064 -msgid "Omnipresent" -msgstr "Onipresente" +#: ../src/winspector.c:1142 +msgid "Keep at Bottom / Sunken" +msgstr "Manter abaixo de outros" -#: ../src/winspector.c:1068 +#: ../src/winspector.c:1150 msgid "Start Miniaturized" -msgstr "Iniciar miniaturizado" +msgstr "Iniciar Miniaturizado" -#: ../src/winspector.c:1072 -msgid "Skip window list" +#: ../src/winspector.c:1154 +msgid "Start Maximized" +msgstr "Iniciar Maximizado" + +#: ../src/winspector.c:1158 +msgid "Skip Window List" msgstr "Remover da lista de janelas" -#: ../src/winspector.c:1086 +#: ../src/winspector.c:1172 msgid "Advanced" msgstr "Avançado" -#: ../src/winspector.c:1096 +#: ../src/winspector.c:1182 msgid "Ignore HideOthers" -msgstr "Ignorar HideOthers" +msgstr "Ignorar Esconder Outros" -#: ../src/winspector.c:1100 -msgid "Don't bind keyboard shortcuts" +#: ../src/winspector.c:1186 +msgid "Don't Bind Keyboard Shortcuts" msgstr "Desabilitar teclas de atalho" -#: ../src/winspector.c:1104 -msgid "Don't bind mouse clicks" +#: ../src/winspector.c:1190 +msgid "Don't Bind Mouse Clicks" msgstr "Desabilitar operações de mouse" -#: ../src/winspector.c:1108 -msgid "Keep inside screen" +#: ../src/winspector.c:1194 +msgid "Keep Inside Screen" msgstr "Manter dentro da tela" -#: ../src/winspector.c:1112 -msgid "No application icon" -msgstr "Desabilitar ícone de aplicação" - -#: ../src/winspector.c:1116 -msgid "Don't let it take focus" +#: ../src/winspector.c:1198 +msgid "Don't Let It Take Focus" msgstr "Desabilitar foco de teclado" -#: ../src/winspector.c:1120 +#: ../src/winspector.c:1202 msgid "Don't Save Session" msgstr "Não incluir na sessão salva" -#: ../src/winspector.c:1135 -msgid "Enable the \"Don't bind...\" options to allow the application to receive all mouse or keyboard events." -msgstr "Ligue as opções desabilitar teclas e/ou mouse para permitir que a aplicação receba todos os eventos de teclado e/ou mouse" +#: ../src/winspector.c:1206 +msgid "Emulate Application Icon" +msgstr "Emular ícone de aplicação" -#: ../src/winspector.c:1142 +#: ../src/winspector.c:1210 +msgid "Full Screen Maximization" +msgstr "Maximização em Tela Cheia" + +#: ../src/winspector.c:1225 +msgid "" +"Enable the \"Don't bind...\" options to allow the application to receive all " +"mouse or keyboard events." +msgstr "" +"Ligue as opções desabilitar teclas e/ou mouse para permitir que a aplicação " +"receba todos os eventos de teclado e/ou mouse" + +#: ../src/winspector.c:1232 msgid "Miniwindow Image" msgstr "Imagem do Miniwindow" -#: ../src/winspector.c:1160 +#: ../src/winspector.c:1251 msgid "Update" msgstr "Atualizar" -#: ../src/winspector.c:1165 -msgid "Icon file name:" +#: ../src/winspector.c:1266 +msgid "Icon File Name:" msgstr "Arquivo de ícone:" -#: ../src/winspector.c:1175 +#: ../src/winspector.c:1278 msgid "Ignore client supplied icon" msgstr "Ignorar ícone fornecido pela aplicação" -#: ../src/winspector.c:1181 +#: ../src/winspector.c:1285 msgid "Initial Workspace" msgstr "Área de Trabalho Inicial" -#: ../src/winspector.c:1188 +#: ../src/winspector.c:1290 msgid "Nowhere in particular" msgstr "Nenhum lugar em particular" -#: ../src/winspector.c:1219 +#: ../src/winspector.c:1308 msgid "Application Wide" msgstr "Geral da Aplicação" -#: ../src/winspector.c:1229 +#: ../src/winspector.c:1318 msgid "Start Hidden" msgstr "Iniciar como Hidden (escondido)" -#: ../src/workspace.c:89 ../src/workspace.c:90 ../src/workspace.c:418 +#: ../src/winspector.c:1322 +msgid "No Application Icon" +msgstr "Desabilitar ícone de aplicação" + +#: ../src/workspace.c:102 ../src/workspace.c:103 ../src/workspace.c:480 +#, c-format msgid "Workspace %i" msgstr "Área de Trabalho %i" -#: ../src/workspace.c:442 +#: ../src/workspace.c:537 msgid "Workspaces" msgstr "Áreas de Trabalho" -#: ../src/workspace.c:444 +#: ../src/workspace.c:539 msgid "could not create Workspace menu" msgstr "não foi possível criar menu de Workspace" -#: ../src/workspace.c:451 +#: ../src/workspace.c:546 msgid "New" msgstr "Novo" -#: ../src/workspace.c:452 +#: ../src/workspace.c:547 msgid "Destroy Last" msgstr "Destruir Último" -#: ../src/xutil.c:220 +#: ../src/xutil.c:228 msgid "invalid data in selection" -msgstr "" +msgstr "dados inválidos na seleção" diff --git a/src/Makefile.am b/src/Makefile.am index 19f7f270..d420f70f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -75,6 +75,8 @@ wmaker_SOURCES = \ switchmenu.c \ texture.c \ texture.h \ + usermenu.c \ + usermenu.h \ xde.h \ xde.c \ xmodifier.h \ diff --git a/src/Makefile.in b/src/Makefile.in index 56fb879a..f69afe8a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -96,7 +96,7 @@ bin_PROGRAMS = wmaker EXTRA_DIST = wmnotify.c wmnotdef.h wmnotify.h -wmaker_SOURCES = GNUstep.h WindowMaker.h actions.c actions.h appicon.c appicon.h application.c application.h appmenu.c appmenu.h balloon.c balloon.h client.c client.h colormap.c def_pixmaps.h defaults.c defaults.h dialog.c dialog.h dock.c dockedapp.c dock.h event.c framewin.c framewin.h gnome.c gnome.h funcs.h icon.c icon.h keybind.h kwm.h kwm.c list.c list.h main.c menu.c menu.h misc.c motif.c motif.h moveres.c openlook.c openlook.h pixmap.c pixmap.h placement.c properties.c properties.h proplist.c resources.c resources.h rootmenu.c screen.c screen.h session.h session.c shutdown.c stacking.c stacking.h startup.c superfluous.c superfluous.h switchmenu.c texture.c texture.h xde.h xde.c xmodifier.h xmodifier.c xutil.c xutil.h wconfig.h wcore.c wcore.h wdefaults.c wdefaults.h window.c window.h winmenu.c winspector.h winspector.c workspace.c workspace.h wmsound.c wmsound.h text.c text.h +wmaker_SOURCES = GNUstep.h WindowMaker.h actions.c actions.h appicon.c appicon.h application.c application.h appmenu.c appmenu.h balloon.c balloon.h client.c client.h colormap.c def_pixmaps.h defaults.c defaults.h dialog.c dialog.h dock.c dockedapp.c dock.h event.c framewin.c framewin.h gnome.c gnome.h funcs.h icon.c icon.h keybind.h kwm.h kwm.c list.c list.h main.c menu.c menu.h misc.c motif.c motif.h moveres.c openlook.c openlook.h pixmap.c pixmap.h placement.c properties.c properties.h proplist.c resources.c resources.h rootmenu.c screen.c screen.h session.h session.c shutdown.c stacking.c stacking.h startup.c superfluous.c superfluous.h switchmenu.c texture.c texture.h usermenu.c usermenu.h xde.h xde.c xmodifier.h xmodifier.c xutil.c xutil.h wconfig.h wcore.c wcore.h wdefaults.c wdefaults.h window.c window.h winmenu.c winspector.h winspector.c workspace.c workspace.h wmsound.c wmsound.h text.c text.h CPPFLAGS = @CPPFLAGS@ @DFLAGS@ -DLOCALEDIR=\"$(NLSDIR)\" @@ -123,9 +123,9 @@ client.o colormap.o defaults.o dialog.o dock.o dockedapp.o event.o \ framewin.o gnome.o icon.o kwm.o list.o main.o menu.o misc.o motif.o \ moveres.o openlook.o pixmap.o placement.o properties.o proplist.o \ resources.o rootmenu.o screen.o session.o shutdown.o stacking.o \ -startup.o superfluous.o switchmenu.o texture.o xde.o xmodifier.o \ -xutil.o wcore.o wdefaults.o window.o winmenu.o winspector.o workspace.o \ -wmsound.o text.o +startup.o superfluous.o switchmenu.o texture.o usermenu.o xde.o \ +xmodifier.o xutil.o wcore.o wdefaults.o window.o winmenu.o winspector.o \ +workspace.o wmsound.o text.o wmaker_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.a \ $(top_builddir)/wrlib/libwraster.la wmaker_LDFLAGS = diff --git a/src/actions.c b/src/actions.c index f10d409e..8dbf5ef7 100644 --- a/src/actions.c +++ b/src/actions.c @@ -175,10 +175,7 @@ wSetFocusTo(WScreen *scr, WWindow *wwin) if (napp) napp->last_workspace = wwin->screen_ptr->current_workspace; - if (WFLAGP(wwin, no_focusable)) - return; - - if (wwin->flags.mapped /*&& !WFLAGP(wwin, no_focusable)*/) { + if (wwin->flags.mapped && !WFLAGP(wwin, no_focusable)) { /* install colormap if colormap mode is lock mode */ if (wPreferences.colormap_mode==WKF_CLICK) wColormapInstallForWindow(scr, wwin); @@ -205,6 +202,8 @@ wSetFocusTo(WScreen *scr, WWindow *wwin) } else { XSetInputFocus(dpy, scr->no_focus_win, RevertToParent, timestamp); } + if (WFLAGP(wwin, no_focusable)) + return; /* if this is not the focused window focus it */ if (focused!=wwin) { @@ -231,6 +230,10 @@ wSetFocusTo(WScreen *scr, WWindow *wwin) wWindowFocus(wwin, focused); if (napp && !wasfocused) { +#ifdef USER_MENU + wUserMenuRefreshInstances(napp->menu, wwin); +#endif /* USER_MENU */ + wAppMenuMap(napp->menu, wwin); #ifdef NEWAPPICON wApplicationActivate(napp); diff --git a/src/application.c b/src/application.c index 16f304ad..83813dcf 100644 --- a/src/application.c +++ b/src/application.c @@ -29,6 +29,9 @@ #include "WindowMaker.h" #include "menu.h" #include "window.h" +#ifdef USER_MENU +#include "usermenu.h" +#endif /* USER_MENU */ #include "icon.h" #include "appicon.h" #include "application.h" @@ -291,6 +294,9 @@ wApplicationCreate(WScreen *scr, Window main_window) leader->main_window = main_window; } wapp->menu = wAppMenuGet(scr, main_window); +#ifdef USER_MENU + if (!wapp->menu) wapp->menu = wUserMenuGet(scr, wapp->main_window_desc); +#endif /* USER_MENU */ /* @@ -353,9 +359,6 @@ wApplicationCreate(WScreen *scr, Window main_window) if (wapp->app_icon) { wapp->app_icon->main_window = main_window; -#ifdef WMSOUND - wSoundServerGrab(wapp->app_icon->wm_class, main_window); -#endif } #ifndef REDUCE_APPICONS diff --git a/src/dock.c b/src/dock.c index 829ade18..8805dfde 100644 --- a/src/dock.c +++ b/src/dock.c @@ -55,10 +55,6 @@ #include "list.h" -#ifdef WMSOUND -#include "wmsound.h" -#endif - #include diff --git a/src/event.c b/src/event.c index be3813c3..2d26fb79 100644 --- a/src/event.c +++ b/src/event.c @@ -1268,27 +1268,27 @@ windowUnderPointer(WScreen *scr) static WWindow* nextToFocusAfter(WWindow *wwin) { - WWindow *tmp = wwin->next; + WWindow *tmp = wwin->prev; while (tmp) { if (wWindowCanReceiveFocus(tmp) && !WFLAGP(tmp, skip_window_list)) { return tmp; } - tmp = tmp->next; + tmp = tmp->prev; } tmp = wwin; /* start over from the beginning of the list */ - while (tmp->prev) - tmp = tmp->prev; + while (tmp->next) + tmp = tmp->next; while (tmp && tmp != wwin) { if (wWindowCanReceiveFocus(tmp) && !WFLAGP(tmp, skip_window_list)) { return tmp; } - tmp = tmp->next; + tmp = tmp->prev; } return wwin; @@ -1298,27 +1298,27 @@ nextToFocusAfter(WWindow *wwin) static WWindow* nextToFocusBefore(WWindow *wwin) { - WWindow *tmp = wwin->prev; + WWindow *tmp = wwin->next; while (tmp) { if (wWindowCanReceiveFocus(tmp) && !WFLAGP(tmp, skip_window_list)) { return tmp; } - tmp = tmp->prev; + tmp = tmp->next; } /* start over from the beginning of the list */ tmp = wwin; - while (tmp->next) - tmp = tmp->next; + while (tmp->prev) + tmp = tmp->prev; while (tmp && tmp != wwin) { if (wWindowCanReceiveFocus(tmp) && !WFLAGP(tmp, skip_window_list)) { return tmp; } - tmp = tmp->prev; + tmp = tmp->next; } return wwin; @@ -1329,7 +1329,8 @@ doWindozeCycle(WWindow *wwin, XEvent *event, Bool next) { WScreen *scr = wScreenForRootWindow(event->xkey.root); Bool done = False; - WWindow *newFocused; + Bool openedSwitchMenu = False; + WWindow *newFocused; WWindow *oldFocused; int modifiers; XModifierKeymap *keymap; @@ -1354,9 +1355,16 @@ doWindozeCycle(WWindow *wwin, XEvent *event, Bool next) wWindowFocus(newFocused, scr->focused_window); oldFocused = newFocused; + if (wPreferences.circ_raise) + wRaiseFrame(newFocused->frame->core); - OpenSwitchMenu(scr, scr->scr_width/2, scr->scr_height/2, False); - + if (wPreferences.popup_switchmenu && + (!scr->switch_menu || !scr->switch_menu->flags.mapped)) + { + OpenSwitchMenu(scr, scr->scr_width/2, scr->scr_height/2, False); + openedSwitchMenu = True; + } + while (!done) { XEvent ev; @@ -1378,6 +1386,8 @@ puts("EV"); newFocused = nextToFocusAfter(newFocused); wWindowFocus(newFocused, oldFocused); oldFocused = newFocused; + if (wPreferences.circ_raise) + wRaiseFrame(newFocused->frame->core); UpdateSwitchMenu(scr, newFocused, ACTION_CHANGE_STATE); } else if (ev.type == KeyPress @@ -1388,6 +1398,8 @@ puts("EV"); newFocused = nextToFocusBefore(newFocused); wWindowFocus(newFocused, oldFocused); oldFocused = newFocused; + if (wPreferences.circ_raise) + wRaiseFrame(newFocused->frame->core); UpdateSwitchMenu(scr, newFocused, ACTION_CHANGE_STATE); } if (ev.type == KeyRelease) { @@ -1409,7 +1421,8 @@ puts("OUT"); XUngrabKeyboard(dpy, CurrentTime); wSetFocusTo(scr, newFocused); scr->flags.doing_alt_tab = 0; - OpenSwitchMenu(scr, scr->scr_width/2, scr->scr_height/2, False); + if (openedSwitchMenu) + OpenSwitchMenu(scr, scr->scr_width/2, scr->scr_height/2, False); } diff --git a/src/main.c b/src/main.c index 77724a7b..36f43c8d 100644 --- a/src/main.c +++ b/src/main.c @@ -52,7 +52,6 @@ #include - /****** Global Variables ******/ /* general info */ @@ -299,7 +298,7 @@ execInitScript() file = wfindfile(DEF_CONFIG_PATHS, DEF_INIT_SCRIPT); if (file) { if (fork()==0) { - execl("/bin/sh", "/bin/sh", "-c", file, NULL); + execl("/bin/sh", "/bin/sh", "-c",file, NULL); wsyserror(_("%s:could not execute initialization script"), file); exit(1); } @@ -511,10 +510,6 @@ main(int argc, char **argv) wXModifierInitialize(); -#ifdef SOUNDS - wSoundInitialize(); -#endif - #ifdef XSMP_ENABLED wSessionConnectManager(argv, argc); #endif diff --git a/src/menu.c b/src/menu.c index b7abf244..94736dc1 100644 --- a/src/menu.c +++ b/src/menu.c @@ -266,7 +266,6 @@ insertEntry(WMenu *menu, WMenuEntry *entry, int index) } - WMenuEntry* wMenuInsertCallback(WMenu *menu, int index, char *text, void (*callback)(WMenu *menu, WMenuEntry *entry), @@ -585,6 +584,12 @@ wMenuDestroy(WMenu *menu, int recurse) if (menu->entries[i]->rtext) free(menu->entries[i]->rtext); +#ifdef USER_MENU + + if (menu->entries[i]->instances){ + PLRelease(menu->entries[i]->instances); + } +#endif /* USER_MENU */ if (menu->entries[i]->free_cdata && menu->entries[i]->clientdata) { (*menu->entries[i]->free_cdata)(menu->entries[i]->clientdata); diff --git a/src/menu.h b/src/menu.h index b8b864b4..415ea78a 100644 --- a/src/menu.h +++ b/src/menu.h @@ -38,6 +38,9 @@ typedef struct WMenuEntry { void (*free_cdata)(void *data); /* proc to be used to free clientdata */ void *clientdata; /* data to pass to callback */ int cascade; /* cascade menu index */ +#ifdef USER_MENU + proplist_t instances; /* allowed instances */ +#endif /* USER_MENU */ struct { unsigned int enabled:1; /* entry is selectable */ unsigned int indicator:1; /* left indicator */ diff --git a/src/startup.c b/src/startup.c index ccee2219..e782e864 100644 --- a/src/startup.c +++ b/src/startup.c @@ -58,10 +58,6 @@ #include "xutil.h" -#ifdef WMSOUND -#include "wmsound.h" -#endif - #ifdef KWM_HINTS #include "kwm.h" #endif @@ -766,10 +762,6 @@ StartUp(Bool defaultScreenOnly) XSetErrorHandler((XErrorHandler)catchXError); /* Sound init */ -#ifdef WMSOUND - wSoundInit(dpy); -#endif - #ifdef SHAPE /* ignore j */ wShapeSupported = XShapeQueryExtension(dpy, &wShapeEventBase, &j); diff --git a/src/usermenu.c b/src/usermenu.c new file mode 100644 index 00000000..d8deeff0 --- /dev/null +++ b/src/usermenu.c @@ -0,0 +1,389 @@ +#ifdef USER_MENU +/* User defined menu is good, but beer's always better + * if someone wanna start hacking something, He heard... + * TODO + * - enhance commands. (eg, exit, hide, list all app's member + * window and etc) + * - cache menu... dunno.. if people really use this feature :P + * - Violins, senseless violins! + * that's all, right now :P + * - external! WINGs menu editor. + * TODONOT + * - allow applications to share their menu. ] think it + * looks wierd since there still are more than 1 appicon. + * + * Syntax... + * ( + * "Program Name", + * ("Command 1", SHORTCUT, 1), + * ("Command 2", SHORTCUT, 2, ("Allowed_instant_1", "Allowed_instant_2")), + * ("Command 3", SHORTCUT, (3,4,5), ("Allowed_instant_1")), + * ( + * "Submenu", + * ("Kill Command", KILL), + * ("Hide Command", HIDE), + * ("Hide Others Command", HIDE_OTHERS), + * ("Members", MEMBERS), + * ("Exit Command", EXIT) + * ) + * ) + * + * Tips: + * - If you don't want short cut keys to be listed + * in the right side of entries, you can just put them + * in array instead of using the string directly. + * + */ + +#include "wconfig.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "WindowMaker.h" +#include "wcore.h" +#include "menu.h" +#include "actions.h" +#include "funcs.h" +#include "keybind.h" + +#include "framewin.h" + + +extern proplist_t ReadProplistFromFile(char *file); +/*** var ***/ +extern WPreferences wPreferences; + +typedef struct { + WScreen *screen; + WShortKey *key; + int key_no; +} WUserMenuData; + + +static void +notifyClient(WMenu *menu, WMenuEntry *entry){ + XEvent event; + WUserMenuData *data = entry->clientdata; + WScreen *scr = data->screen; + Window window; + int i; + + window=scr->focused_window->client_win; + + for(i=0;ikey_no;i++){ + event.xkey.type = KeyPress; + event.xkey.display = dpy; + event.xkey.window = window; + event.xkey.subwindow = 0x0; + event.xkey.x = 0x0; + event.xkey.y = 0x0; + event.xkey.x_root = 0x0; + event.xkey.y_root = 0x0; + event.xkey.keycode = data->key[i].keycode; + event.xkey.state = data->key[i].modifier; + event.xkey.same_screen = YES; + XSendEvent(dpy, window, False, NoEventMask, &event); + XFlush(dpy); + /* should i release key too? */ + } +} + +static void +removeUserMenudata(void *menudata){ + WUserMenuData *data = menudata; + free(data->key); + free(data); +} + +static WUserMenuData* +convertShortcut(WScreen *scr, proplist_t shortcut){ + WUserMenuData *data; + KeySym ksym; + char *k; + char buf[128], *b; + + data = malloc(sizeof(WUserMenuData)); + data->key = malloc(sizeof(WUserMenuData)); + data->key[0].modifier = 0; + + strcpy(buf, PLGetString(shortcut)); + b = (char*)buf; + + /* get modifiers */ + while ((k = strchr(b, '+'))!=NULL) { + int mod; + + *k = 0; + mod = wXModifierFromKey(b); + if (mod<0) { + free(data); + return NULL; + } + data->key[0].modifier |= mod; + + b = k+1; + } + + /* get key */ + ksym = XStringToKeysym(b); + + if (ksym==NoSymbol) { + free(data); + return NULL; + } + + data->key[0].keycode = XKeysymToKeycode(dpy, ksym); + if (data->key[0].keycode==0) { + free(data); + return NULL; + } + data->screen = scr; + data->key_no = 1; + + return data; +} + +static WUserMenuData* +convertShortcuts(WScreen *scr, proplist_t shortcut){ + WUserMenuData *data; + KeySym ksym; + char *k; + char *buffer; + char buf[128], *b; + int keycount,i,j,mod; + + if (PLIsString(shortcut)){ + keycount = 1; + } + else if (PLIsArray(shortcut)){ + keycount = PLGetNumberOfElements(shortcut); + } + else return NULL; + /*for (i=0;ikey = malloc(sizeof(WShortKey)*keycount); + + for (i=0,j=0;ikey[j].modifier = 0; + if (PLIsArray(shortcut)) { + strcpy(buf, PLGetString(PLGetArrayElement(shortcut, i))); + } + else { + strcpy(buf, PLGetString(shortcut)); + } + b = (char*)buf; + + while ((k = strchr(b, '+'))!=NULL) { + *k = 0; + mod = wXModifierFromKey(b); + if (mod<0) { + break; + } + data->key[j].modifier |= mod; + b = k+1; + } + if (mod<0) { + continue; + } + + ksym = XStringToKeysym(b); + if (ksym==NoSymbol) { + continue; + } + + data->key[j].keycode = XKeysymToKeycode(dpy, ksym); + if (data->key[j].keycode) { + j++; + } + } + +keyover: + + /* get key */ + if (!j) { + free(data->key); + free(data); + } + data->key_no = j; + data->screen = scr; + + return data; +} + +static WMenu* +configureUserMenu(WScreen *scr, proplist_t plum){ + char *mtitle; + WMenu *menu=NULL; + proplist_t elem, title, command, params; + int count,i; + WUserMenuData *data; + + if (!plum) return NULL; + else if (!PLIsArray(plum)){ + PLRelease(plum); + return NULL; + } + + count = PLGetNumberOfElements(plum); + if (!count) return NULL; + + elem = PLGetArrayElement(plum, 0); + if (!PLIsString(elem)){ + return NULL; + } + + mtitle = PLGetString(elem); + + menu=wMenuCreateForApp(scr, mtitle, True); + + for(i=1; iframe->title,NULL,NULL); + wMenuEntrySetCascade(menu, mentry, submenu); + } + else { + int idx = 0; + proplist_t instances=0; + + title = PLGetArrayElement(elem,idx++); + command = PLGetArrayElement(elem,idx++); + if (PLGetNumberOfElements(elem) >= 3) + params = PLGetArrayElement(elem,idx++); + + if (!title || !command) + return menu; + + if (!strcmp("SHORTCUT",PLGetString(command))){ + WMenuEntry *entry; + data = convertShortcuts(scr, params); + if (data){ + entry = wMenuAddCallback(menu, PLGetString(title), + notifyClient, data); + if (PLIsString(params)) { + entry->rtext = GetShortcutString(PLGetString(params)); + } + if (entry) { + entry->free_cdata = removeUserMenudata; + + if (PLGetNumberOfElements(elem) >= 4){ + instances = PLGetArrayElement(elem,idx++); + if(PLIsArray(instances)) + if (instances && PLGetNumberOfElements(instances) + && PLIsArray(instances)){ + entry->instances = PLRetain(instances); + } + } + } + } + } + /* else if */ + + } + } + return menu; +} + +void +wUserMenuRefreshInstances(WMenu *menu, WWindow *wwin) +{ + WMenuEntry* entry; + int i,j,count,paintflag; + + paintflag=0; + + if(!menu) return; + + for (i=0; ientry_no; i++) { + if (menu->entries[i]->instances){ + proplist_t ins; + int oldflag; + count = PLGetNumberOfElements(menu->entries[i]->instances); + + oldflag = menu->entries[i]->flags.enabled; + menu->entries[i]->flags.enabled = 0; + for (j=0; jentries[i]->instances,j); + if (!strcmp(wwin->wm_instance,PLGetString(ins))){ + menu->entries[i]->flags.enabled = 1; + break; + } + } + if (oldflag != menu->entries[i]->flags.enabled) + paintflag=1; + } + } + for (i=0; i < menu->cascade_no; i++) { + if (!menu->cascades[i]->flags.brother) + wUserMenuRefreshInstances(menu->cascades[i], wwin); + else + wUserMenuRefreshInstances(menu->cascades[i]->brother, wwin); + } + + if(paintflag) + wMenuPaint(menu); +} + + +static WMenu* +readUserMenuFile(WScreen *scr, char *file_name) +{ + WMenu *menu=NULL; + char *mtitle; + + proplist_t plum, elem, title, command, params; + + int count,i; + + plum = ReadProplistFromFile(file_name); + /**/ + + if(plum){ + menu = configureUserMenu(scr, plum); + PLRelease(plum); + } + return menu; +} + + +WMenu* +wUserMenuGet(WScreen *scr, WWindow *wwin){ + WMenu *menu = NULL; + char buffer[100]; + char *prefix, *menufile; + + prefix = getenv("HOME"); + if (!prefix) + prefix = "."; + menufile = malloc(strlen(prefix)+64); + if (!menufile) return NULL; + + if (wwin) { + FILE *f; + sprintf(menufile, "%s/%s.%s.menu", + prefix, wwin->wm_instance, wwin->wm_class); + f = fopen(menufile, "r"); + if (f) { + fclose(f); + menu = readUserMenuFile(scr, menufile); + } + } + + free(menufile); + return menu; +} + +#endif /* USER_MENU */ diff --git a/src/usermenu.h b/src/usermenu.h new file mode 100644 index 00000000..58a9a47c --- /dev/null +++ b/src/usermenu.h @@ -0,0 +1,10 @@ +#ifdef USER_MENU + +#ifndef _WUSERMENU_H_ +#define _WUSERMENU_H_ + +WMenu *wUserMenuGet(WScreen *scr, WWindow *wwin); +void wUserMenuRefreshInstances(WMenu *menu, WWindow *wwin); + +#endif +#endif /* USER_MENU */ diff --git a/src/wconfig.h.in b/src/wconfig.h.in index 02c657e9..5104b26a 100644 --- a/src/wconfig.h.in +++ b/src/wconfig.h.in @@ -45,13 +45,11 @@ #define TEXTURE_PLUGIN -/* undefine WEENDOZE_CYCLING to remove all Windoze style Alt-Tab cycling - * If define, windoze cycling must still be enabled with the - * WindozeCycling = YES and FinishedCyclingKey = Meta_L options - - not working yet +/* + * #define to enable WindozeCycling. Set WindozeCycling = YES in + * your WindowMaker config file */ -#undef WEENDOZE_CYCLING +#define WEENDOZE_CYCLE /* undefine ANIMATIONS if you don't want animations for iconification, diff --git a/src/wmsound.c b/src/wmsound.c index 54c1db8e..4ed1911e 100644 --- a/src/wmsound.c +++ b/src/wmsound.c @@ -19,29 +19,54 @@ extern WPreferences wPreferences; extern Atom _XA_WINDOWMAKER_WM_FUNCTION; void -wSoundServerGrab(char *name, Window window) +wSoundServerGrab(Window wm_win) { - if(soundServer==None && name!=NULL && strcmp(name,"WMSoundServer")==0) { - soundServer = window; + Window *lstChildren; + Window retRoot; + Window retParent; + int indexCount; + u_int numChildren; + XClassHint *retHint; + + if (XQueryTree(dpy, wm_win, &retRoot, &retParent, &lstChildren, &numChildren)) { + for (indexCount = 1; indexCount < numChildren; indexCount++) { + retHint = XAllocClassHint(); + if (!retHint) { + XFree(lstChildren); + return; + } + + XGetClassHint (dpy, lstChildren[indexCount], retHint); + if (retHint->res_class) { + if (strcmp("WMSoundServer", retHint->res_class) == 0) { + soundServer = lstChildren[indexCount]; + XFree(lstChildren); + if(retHint) { + XFree(retHint); + } + return; + } + } + XFree(retHint); + retHint = 0; + } + XFree(lstChildren); } -} - - -void -wSoundInit(Display *dpy) -{ - soundServer = 0; - sound_event.xclient.type = ClientMessage; - sound_event.xclient.message_type = _XA_WINDOWMAKER_WM_FUNCTION; - sound_event.xclient.format = 32; - sound_event.xclient.display = dpy; + return; } void wSoundPlay(long event_sound) { + if (!soundServer) { + wSoundServerGrab(DefaultRootWindow(dpy)); + } if(soundServer!=None && !wPreferences.no_sound) { + sound_event.xclient.type = ClientMessage; + sound_event.xclient.message_type = _XA_WINDOWMAKER_WM_FUNCTION; + sound_event.xclient.format = 32; + sound_event.xclient.display = dpy; sound_event.xclient.window = soundServer; sound_event.xclient.data.l[0] = event_sound; if (XSendEvent(dpy, soundServer, False, @@ -54,5 +79,4 @@ wSoundPlay(long event_sound) } } - #endif /* WMSOUND */ diff --git a/src/wmsound.h b/src/wmsound.h index 334866dc..5ba7f3ec 100644 --- a/src/wmsound.h +++ b/src/wmsound.h @@ -45,7 +45,6 @@ extern WApplication *wSoundApp; void wSoundPlay(long event_sound); -void wSoundInit(Display *dpy); -void wSoundServerGrab(char *name, Window window); +void wSoundServerGrab(Window wm_win); #endif /*WMSOUND_H_*/ diff --git a/util/wmaker.inst.in b/util/wmaker.inst.in index cdaf4658..8d1367ac 100644 --- a/util/wmaker.inst.in +++ b/util/wmaker.inst.in @@ -122,25 +122,25 @@ fi echo "Copying defaults database..." -FILES=`(cd $GLOBALDEFDIR;ls *)` +FILES=`(cd $GLOBALDEFDIR;ls -d *)` all="" for i in $FILES; do -# xx herbert - if [ -f $GSDIR/Defaults/$i -a -z "$BATCH" ]; then -# /xx herbert - echo "The configuration file \"$i\" already exists in your defaults database." - echo "Do you wish to replace it? [n] $all" - if [ "$all" != "a" ]; then - read foo - if [ "$foo" = "a" -o "$foo" = "A" ]; then - all="a" + if [ ! -d $GLOBALDEFDIR/$i ]; then + if [ -f $GSDIR/Defaults/$i -a -z "$BATCH" ]; then + echo "The configuration file \"$i\" already exists in your defaults database." + echo "Do you wish to replace it? [n] $all" + if [ "$all" != "a" ]; then + read foo + if [ "$foo" = "a" -o "$foo" = "A" ]; then + all="a" + fi fi - fi - if [ "$foo" = "y" -o "$foo" = "Y" -o "$all" = "a" ]; then + if [ "$foo" = "y" -o "$foo" = "Y" -o "$all" = "a" ]; then + copy $GLOBALDEFDIR/$i $GSDIR/Defaults/$i + fi + else copy $GLOBALDEFDIR/$i $GSDIR/Defaults/$i fi - else - copy $GLOBALDEFDIR/$i $GSDIR/Defaults/$i fi done -- 2.11.4.GIT