mirror of
https://github.com/gryf/wmaker.git
synced 2026-07-07 11:16:38 +02:00
Compare commits
115 Commits
next
...
da676c9e9e
| Author | SHA1 | Date | |
|---|---|---|---|
| da676c9e9e | |||
| 4edf589a5b | |||
| 709eec4bce | |||
| b179803c11 | |||
| 5cd40deb20 | |||
| 9db1ea580d | |||
| 9e56f58742 | |||
| 4b946f69e2 | |||
| d55be193b8 | |||
| e5b227fe8d | |||
| d947095881 | |||
| 93b049356f | |||
| 75f353bef4 | |||
| 2264ed9de6 | |||
| d0aa2cefcd | |||
| a52d13c8b8 | |||
| 215b6ee2e6 | |||
| ab45c6c6c2 | |||
| 3344f2b040 | |||
| ecef2b2890 | |||
| 802cbc0d75 | |||
| 157d1ba85f | |||
| 91e7f37074 | |||
| 18a539b372 | |||
| eae9200c5d | |||
| 25cb9d208a | |||
| 23471b2e21 | |||
| 258ffc8b97 | |||
| 86b7ec1a58 | |||
| 9831e3f72a | |||
| 0a55facac0 | |||
| 0ecf7d3540 | |||
| 4576b5bf1e | |||
| 0526ddfc54 | |||
| 4c52232ee7 | |||
| 43edd37ee2 | |||
| e95aea2e30 | |||
| 038a3588d6 | |||
| 0b2fd6a8c8 | |||
| 3e991badf7 | |||
| ac6d284269 | |||
| 83b94b1616 | |||
| d045ffcf7d | |||
| 6c69dc32a0 | |||
| 3b1c00ad06 | |||
| dd6fe27858 | |||
| 45f3f5d0ae | |||
| 7185af15cf | |||
| 80e8dd43f7 | |||
| a383074c99 | |||
| 52a623729d | |||
| d4ee17f0b5 | |||
| 7475bc5d0a | |||
| 35f87b5592 | |||
| 5e37d13eb6 | |||
| 4b1aee3e79 | |||
| 0ccc5bbde7 | |||
| 59a686d22e | |||
| 26d46f6e16 | |||
| ceafbf0629 | |||
| cf178d011b | |||
| 682c2767c2 | |||
| 0e00c6b605 | |||
| e9717ed719 | |||
| 9e59d19507 | |||
| 94f98dcd25 | |||
| 6c7266c338 | |||
| b4bd6d0cad | |||
| c7f7c10d7c | |||
| d831766572 | |||
| e2ecfbfd54 | |||
| a8ec32d41a | |||
| 1215680b6d | |||
| 77df89396c | |||
| c8883fdbb0 | |||
| 3cc5808dcd | |||
| 8ca89f0141 | |||
| 76fa91d21e | |||
| d2d5297a1e | |||
| 7b317a5fba | |||
| 9f8dc6f5dc | |||
| bc56db0776 | |||
| 15d06ff064 | |||
| 2dd98666f1 | |||
| d1a7db8aea | |||
| 64a8ecb390 | |||
| a9e336256b | |||
| e9b20b51e9 | |||
| 1d8b38b6e0 | |||
| 82ad19d420 | |||
| 492b22d975 | |||
| 62405fbb75 | |||
| f1fef40f0d | |||
| 2fb9308a67 | |||
| d902477efd | |||
| 5ee19c2308 | |||
| fabd4252ab | |||
| 630e9292c2 | |||
| 14d1b8197a | |||
| 4d658341d2 | |||
| ac75047aef | |||
| 6d6f9f6ff5 | |||
| 370adc94e7 | |||
| 532acdc443 | |||
| d7d38aa443 | |||
| a6209cc89b | |||
| 01bd523cee | |||
| 45ab72a78a | |||
| 437b76812d | |||
| e3ee459a78 | |||
| d70b546f2e | |||
| 812930b7cd | |||
| 2a14004fc3 | |||
| 04e9f33437 | |||
| 150816c687 |
@@ -30,6 +30,8 @@ m4/ltversion.m4
|
||||
m4/lt~obsolete.m4
|
||||
|
||||
src/wconfig.h
|
||||
WINGs/WINGs/WINGsP.h
|
||||
wrlib/wraster.h
|
||||
|
||||
# These files are generated by scripts
|
||||
INSTALL-WMAKER
|
||||
@@ -131,6 +133,8 @@ WPrefs.app/WPrefs.desktop
|
||||
/WPrefs.app/po/*.mo
|
||||
/util/po/*.pot
|
||||
/util/po/*.mo
|
||||
/wrlib/po/*.pot
|
||||
/wrlib/po/*.mo
|
||||
|
||||
# Some text editors generate backup files
|
||||
*~
|
||||
|
||||
@@ -21,7 +21,7 @@ Changes since version 0.95.7:
|
||||
- debian: Ignore missing documentation for --runstatedir.
|
||||
- debian: Use dh_autoreconf.
|
||||
- debian: Simplify debian/rules.
|
||||
- debian: Fix typo occured. (Thanks, lintian.)
|
||||
- debian: Fix typo occurred. (Thanks, lintian.)
|
||||
- debian: wmaker manpage moved from 1x to 1.
|
||||
(Andreas Metzler <ametzler@bebt.de>)
|
||||
- debian: Add wmiv to wmaker package.
|
||||
@@ -498,7 +498,7 @@ Changes since version 0.95.6:
|
||||
- doc: Add manpage for wmiv.
|
||||
(Doug Torrance <dtorrance@monmouthcollege.edu>)
|
||||
- wmaker: replaced old email address with the official one
|
||||
- WINGs: Updated news with the API changes that occured between 0.95.6 and
|
||||
- WINGs: Updated news with the API changes that occurred between 0.95.6 and
|
||||
0.95.7
|
||||
- WINGs: ran spell checker on the NEWS file
|
||||
- WINGs: fix non-portable int conversion for printf in font panel size handling
|
||||
@@ -969,7 +969,7 @@ Changes since version 0.95.5:
|
||||
- WMaker: moved XGrab/XUngrabPointer into the conditional code
|
||||
- News: created section dedicated to the changes related to 0.95.3
|
||||
- News: added description of a change that may be interesting to users
|
||||
- News: added section to describe the changes that have occured in 0.95.4
|
||||
- News: added section to describe the changes that have occurred in 0.95.4
|
||||
- News: marked the current changes as part of 0.95.5 and describe the drawers
|
||||
feature
|
||||
- News: described the new features for future 0.95.6 release
|
||||
@@ -1103,7 +1103,7 @@ Changes since version 0.95.5:
|
||||
#50158)
|
||||
- WPrefs: fix NULL pointer handling when getting the Modifiers (Coverity
|
||||
#50200)
|
||||
- WPrefs: add warning when renderTexture encounters some unknow settings
|
||||
- WPrefs: add warning when renderTexture encounters some unknown settings
|
||||
(Christophe CURIS <christophe.curis@free.fr>)
|
||||
- util/wmiv: add image auto orientation detection
|
||||
(David Maciejak <david.maciejak@gmail.com>)
|
||||
|
||||
@@ -1,7 +1,52 @@
|
||||
NEWS for veteran Window Maker users
|
||||
-----------------------------------
|
||||
|
||||
-- 0.95.10
|
||||
-- 0.96.0
|
||||
|
||||
Hot Corners feature
|
||||
--------------------------
|
||||
|
||||
Screen corners can be assigned an external command to be
|
||||
executed when the mouse pointer is entering those areas.
|
||||
In WPrefs, "Hot Corner Shortcut Preferences" can be used
|
||||
for configuration or by manually adding a "HotCorners" key
|
||||
and value to "YES" in the ~/GNUstep/Defaults/WindowMaker file.
|
||||
Hot Corners feature is disabled by default.
|
||||
Actions are specified by the "HotCornerActions" and are defined
|
||||
as a four entries list ("top left action", "top right action",
|
||||
"bottom left action", "bottom right action").
|
||||
A screen corner area is a cube shape defined by the "HotCornerEdge"
|
||||
which is a number of pixels from 2 (by default) to 10.
|
||||
To lower the risk of triggering that feature accidentally a
|
||||
"HotCornerDelay" key can be used which is the time before the action
|
||||
is triggered while the pointer is in one of the screen corner.
|
||||
Default value is 250 ms.
|
||||
|
||||
|
||||
Screenshot capture feature
|
||||
--------------------------
|
||||
|
||||
In WPrefs "Keyboard Shortcut Preferences" tab, three new actions can
|
||||
be configured: "Capture a portion of the screen", "Capture a window",
|
||||
"Capture the entire screen". The file is saved in
|
||||
~/GNUstep/Library/WindowMaker/Screenshots directory under a filename
|
||||
format "screenshot_%Y-%m-%d_at_%H:%M:%S" followed by the extension.
|
||||
Which can be png or jpg based on WRaster dependencies.
|
||||
|
||||
|
||||
libXRes is now an optional dependency
|
||||
-------------------------------------
|
||||
|
||||
XRes the resource extension for the X protocol is used to find the
|
||||
underlying processes (and PIDs) responsible for displaying the windows.
|
||||
|
||||
|
||||
Support for _NET_WM_FULLSCREEN_MONITORS hint
|
||||
--------------------------------------------
|
||||
|
||||
That hint allows applications that support it to be set as fullscreen on multiple heads.
|
||||
It depends on Xinerama extension support.
|
||||
|
||||
|
||||
Keep dock on primary head
|
||||
-------------------------
|
||||
@@ -10,6 +55,7 @@ To keep the dock on the primary head in a multi-head setup, set the option
|
||||
"KeepDockOnPrimaryHead" in ~/GNUstep/Defaults/WindowMaker to "YES" or click
|
||||
"Keep dock on primary head" under the WPrefs "Expert User Preferences" tab.
|
||||
|
||||
|
||||
-- 0.95.9
|
||||
|
||||
Configurable SwitchPanel
|
||||
|
||||
+7
-1
@@ -1,3 +1,9 @@
|
||||
Changes since wmaker 0.96.0:
|
||||
............................
|
||||
|
||||
- added W_KeycodeToKeysym to replace XKeycodeToKeysym/XkbKeycodeToKeysym calls
|
||||
|
||||
|
||||
Changes since wmaker 0.92.0:
|
||||
............................
|
||||
|
||||
@@ -134,7 +140,7 @@ Changes since wmaker 0.64.0:
|
||||
- Moved all internal handlers (timer, idle and input) to handlers.c
|
||||
- simplified wevent.c and wutil.c.
|
||||
- fixed handling of input with poll (was broken)
|
||||
- fixed mem leak that occured when input handling was done with poll
|
||||
- fixed mem leak that occurred when input handling was done with poll
|
||||
- simpler and more straightforward event handling for timer, idle, input
|
||||
and X events (also fixed some problems the old handling logic had)
|
||||
- moved timer, idle and input handler definitions and prototypes from
|
||||
|
||||
@@ -10,7 +10,7 @@ include_HEADERS = wtableview.h wtabledelegates.h
|
||||
|
||||
lib_LTLIBRARIES = libExtraWINGs.la
|
||||
|
||||
noinst_PROGRAMS = test
|
||||
noinst_PROGRAMS = tableview
|
||||
|
||||
EXTRA_DIST =
|
||||
|
||||
@@ -25,6 +25,6 @@ AM_CPPFLAGS = -I$(top_srcdir)/wrlib -I$(top_srcdir)/WINGs \
|
||||
|
||||
LDADD= $(top_builddir)/WINGs/libWINGs.la $(top_builddir)/wrlib/libwraster.la \
|
||||
$(top_builddir)/WINGs/libWUtil.la \
|
||||
@XFT_LIBS@ @INTLIBS@
|
||||
@XFT_LIBS@ @INTLIBS@ @XLIBS@
|
||||
|
||||
test_LDADD = wtableview.o wtabledelegates.o $(LDADD)
|
||||
tableview_LDADD = wtableview.o wtabledelegates.o $(LDADD)
|
||||
|
||||
@@ -19,13 +19,18 @@ static char *options[] = {
|
||||
|
||||
int numberOfRows(WMTableViewDelegate * self, WMTableView * table)
|
||||
{
|
||||
(void) self;
|
||||
(void) table;
|
||||
|
||||
return 20;
|
||||
}
|
||||
|
||||
void *valueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row)
|
||||
{
|
||||
(void) self;
|
||||
/*WMTableView *table = (WMTableView*)WMGetTableColumnTableView(column); */
|
||||
int i;
|
||||
|
||||
if (col1[0] == 0) {
|
||||
for (i = 0; i < 20; i++) {
|
||||
char buf[128];
|
||||
@@ -44,6 +49,8 @@ void *valueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row)
|
||||
|
||||
void setValueForCell(WMTableViewDelegate * self, WMTableColumn * column, int row, void *data)
|
||||
{
|
||||
(void) self;
|
||||
|
||||
if ((uintptr_t)WMGetTableColumnId(column) == 1)
|
||||
col1[row] = data;
|
||||
else
|
||||
@@ -59,6 +66,7 @@ static WMTableViewDelegate delegate = {
|
||||
|
||||
void clickedTable(WMWidget * w, void *self)
|
||||
{
|
||||
(void) w;
|
||||
int row = WMGetTableViewClickedRow((WMTableView *) self);
|
||||
|
||||
WMEditTableViewRow(self, row);
|
||||
@@ -2,6 +2,8 @@
|
||||
#include <WINGs/WINGsP.h>
|
||||
#include <X11/cursorfont.h>
|
||||
#include <stdint.h>
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "wtableview.h"
|
||||
|
||||
@@ -274,7 +276,7 @@ static void adjustScrollers(WMTableView * table)
|
||||
prop = 1.0;
|
||||
} else {
|
||||
oprop = WMGetScrollerKnobProportion(table->hscroll);
|
||||
if (oprop == 0.0)
|
||||
if (fabs(oprop) <= DBL_EPSILON)
|
||||
oprop = 1.0;
|
||||
ovalue = WMGetScrollerValue(table->hscroll);
|
||||
|
||||
@@ -290,7 +292,7 @@ static void adjustScrollers(WMTableView * table)
|
||||
prop = 1.0;
|
||||
} else {
|
||||
oprop = WMGetScrollerKnobProportion(table->vscroll);
|
||||
if (oprop == 0.0)
|
||||
if (fabs(oprop) <= DBL_EPSILON)
|
||||
oprop = 1.0;
|
||||
ovalue = WMGetScrollerValue(table->vscroll);
|
||||
|
||||
@@ -332,7 +334,7 @@ static void doScroll(WMWidget * self, void *data)
|
||||
case WSIncrementWheel:
|
||||
case WSIncrementLine:
|
||||
value += (float)table->rowHeight / size;
|
||||
if (value > 1.0)
|
||||
if (value > (float)1.0)
|
||||
value = 1.0;
|
||||
WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self));
|
||||
repaintTable(table);
|
||||
@@ -344,7 +346,7 @@ static void doScroll(WMWidget * self, void *data)
|
||||
|
||||
case WSDecrementPage:
|
||||
value -= vpsize / size;
|
||||
if (value < 0.0)
|
||||
if (value < (float)0.0)
|
||||
value = 0.0;
|
||||
WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self));
|
||||
repaintTable(table);
|
||||
@@ -352,7 +354,7 @@ static void doScroll(WMWidget * self, void *data)
|
||||
|
||||
case WSIncrementPage:
|
||||
value += vpsize / size;
|
||||
if (value > 1.0)
|
||||
if (value > (float)1.0)
|
||||
value = 1.0;
|
||||
WMSetScrollerParameters(self, value, WMGetScrollerKnobProportion(self));
|
||||
repaintTable(table);
|
||||
@@ -398,6 +400,7 @@ static void doScroll(WMWidget * self, void *data)
|
||||
|
||||
static void splitterHandler(XEvent * event, void *data)
|
||||
{
|
||||
(void) event;
|
||||
WMTableColumn *column = (WMTableColumn *) data;
|
||||
WMTableView *table = column->table;
|
||||
int done = 0;
|
||||
@@ -451,6 +454,8 @@ static void splitterHandler(XEvent * event, void *data)
|
||||
|
||||
static void realizeTable(void *data, WMNotification * notif)
|
||||
{
|
||||
(void) notif;
|
||||
|
||||
repaintTable(data);
|
||||
}
|
||||
|
||||
@@ -790,7 +795,6 @@ void WMSetTableViewRowHeight(WMTableView * table, int height)
|
||||
|
||||
void WMScrollTableViewRowToVisible(WMTableView * table, int row)
|
||||
{
|
||||
WMScroller *scroller;
|
||||
WMRange range;
|
||||
WMRect rect;
|
||||
int newY, tmp;
|
||||
@@ -798,7 +802,6 @@ void WMScrollTableViewRowToVisible(WMTableView * table, int row)
|
||||
rect = getVisibleRect(table);
|
||||
range = rowsInRect(table, rect);
|
||||
|
||||
scroller = table->vscroll;
|
||||
|
||||
if (row < range.position) {
|
||||
newY = row * table->rowHeight - rect.size.height / 2;
|
||||
@@ -1157,6 +1160,8 @@ static void handleEvents(XEvent * event, void *data)
|
||||
|
||||
static void handleResize(W_ViewDelegate * self, WMView * view)
|
||||
{
|
||||
(void) self;
|
||||
|
||||
reorganizeInterior(view->self);
|
||||
}
|
||||
|
||||
@@ -1167,7 +1172,8 @@ static void reorganizeInterior(WMTableView * table)
|
||||
WMSize size = getTotalSize(table);
|
||||
WMView *view = table->view;
|
||||
int vw, vh;
|
||||
int hsThickness, vsThickness;
|
||||
int hsThickness = 0;
|
||||
int vsThickness = 0;
|
||||
|
||||
if (table->vscroll)
|
||||
vsThickness = WMWidgetWidth(table->vscroll);
|
||||
|
||||
+3
-1
@@ -1,7 +1,9 @@
|
||||
** API and ABI modifications since wmaker 0.92.0
|
||||
** API and ABI modifications since wmaker 0.96.0
|
||||
----------------------------------------------------
|
||||
|
||||
** libWINGs **
|
||||
<WINGsP.h>
|
||||
W_KeycodeToKeysym ADDED
|
||||
struct W_DragDestinationInfo: new members added SIZE CHANGE
|
||||
|
||||
<WINGs.h>
|
||||
|
||||
@@ -17,4 +17,5 @@ wtest_DEPENDENCIES = $(top_builddir)/WINGs/libWINGs.la
|
||||
EXTRA_DIST = logo.xpm upbtn.xpm wm.html wm.png
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/WINGs -I$(top_srcdir)/wrlib -I$(top_srcdir)/src \
|
||||
-DRESOURCE_PATH=\"$(datadir)/WINGs\" @XFT_CFLAGS@ @HEADER_SEARCH_PATH@
|
||||
-DRESOURCE_PATH=\"$(datadir)/WINGs\" @XFT_CFLAGS@ @HEADER_SEARCH_PATH@ \
|
||||
@PANGO_CFLAGS@
|
||||
|
||||
@@ -64,6 +64,7 @@ static W_Class myWidgetClass = 0;
|
||||
*/
|
||||
W_Class InitMyWidget(WMScreen * scr)
|
||||
{
|
||||
(void)scr;
|
||||
/* register our widget with WINGs and get our widget class ID */
|
||||
if (!myWidgetClass) {
|
||||
myWidgetClass = W_RegisterUserWidget();
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "mywidget.h"
|
||||
|
||||
void wAbort()
|
||||
_Noreturn void wAbort(void)
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
#include "logo.xpm"
|
||||
|
||||
void wAbort()
|
||||
_Noreturn void wAbort(void)
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
|
||||
char *ProgName;
|
||||
|
||||
void usage(void)
|
||||
_Noreturn void usage(void)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"usage:\n"
|
||||
@@ -53,13 +53,10 @@ int main(int argc, char **argv)
|
||||
WMPixmap *pixmap;
|
||||
WMOpenPanel *oPanel;
|
||||
WMSavePanel *sPanel;
|
||||
/* RImage *image; */
|
||||
char *title = NULL;
|
||||
char *initial = "/";
|
||||
int ch;
|
||||
int panelType = OPEN_PANEL_TYPE;
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
|
||||
if (!dpy) {
|
||||
puts("could not open display");
|
||||
@@ -96,14 +93,14 @@ int main(int argc, char **argv)
|
||||
if (panelType == SAVE_PANEL_TYPE) {
|
||||
sPanel = WMGetSavePanel(scr);
|
||||
if (WMRunModalFilePanelForDirectory(sPanel, NULL, initial,
|
||||
/*title */ NULL, NULL) == True)
|
||||
title, NULL) == True)
|
||||
printf("%s\n", WMGetFilePanelFileName(sPanel));
|
||||
else
|
||||
printf("\n");
|
||||
} else {
|
||||
oPanel = WMGetOpenPanel(scr);
|
||||
if (WMRunModalFilePanelForDirectory(oPanel, NULL, initial,
|
||||
/*title */ NULL, NULL) == True)
|
||||
title, NULL) == True)
|
||||
printf("%s\n", WMGetFilePanelFileName(oPanel));
|
||||
else
|
||||
printf("\n");
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
#include "logo.xpm"
|
||||
|
||||
void wAbort()
|
||||
_Noreturn void wAbort(void)
|
||||
{
|
||||
exit(1);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
char *ProgName;
|
||||
|
||||
void usage(void)
|
||||
_Noreturn void usage(void)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"usage:\n"
|
||||
@@ -45,8 +45,6 @@ int main(int argc, char **argv)
|
||||
char *initial = NULL;
|
||||
char *result = NULL;
|
||||
int ch;
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
|
||||
WMInitializeApplication("WMQuery", &argc, argv);
|
||||
|
||||
|
||||
+13
-2
@@ -14,7 +14,7 @@
|
||||
* This will be called when the application will be terminated because
|
||||
* of a fatal error (only for memory allocation failures ATM).
|
||||
*/
|
||||
void wAbort()
|
||||
_Noreturn void wAbort(void)
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
@@ -25,6 +25,7 @@ int windowCount = 0;
|
||||
|
||||
void closeAction(WMWidget * self, void *data)
|
||||
{
|
||||
(void)data;
|
||||
WMDestroyWidget(self);
|
||||
windowCount--;
|
||||
printf("window closed, window count = %d\n", windowCount);
|
||||
@@ -165,10 +166,13 @@ void testBox(WMScreen * scr)
|
||||
|
||||
static void singleClick(WMWidget * self, void *data)
|
||||
{
|
||||
(void)self;
|
||||
(void)data;
|
||||
}
|
||||
|
||||
static void doubleClick(WMWidget * self, void *data)
|
||||
{
|
||||
(void)data;
|
||||
WMSelectAllListItems((WMList *) self);
|
||||
}
|
||||
|
||||
@@ -480,6 +484,7 @@ void testColorPanel(WMScreen * scr)
|
||||
|
||||
void sliderCallback(WMWidget * w, void *data)
|
||||
{
|
||||
(void)data;
|
||||
printf("SLIDER == %i\n", WMGetSliderValue(w));
|
||||
}
|
||||
|
||||
@@ -749,6 +754,8 @@ void testTabView(WMScreen * scr)
|
||||
|
||||
void splitViewConstrainProc(WMSplitView * sPtr, int indView, int *minSize, int *maxSize)
|
||||
{
|
||||
(void)sPtr;
|
||||
|
||||
switch (indView) {
|
||||
case 0:
|
||||
*minSize = 20;
|
||||
@@ -782,6 +789,7 @@ static void resizeSplitView(XEvent * event, void *data)
|
||||
|
||||
void appendSubviewButtonAction(WMWidget * self, void *data)
|
||||
{
|
||||
(void)self;
|
||||
WMSplitView *sPtr = (WMSplitView *) data;
|
||||
char buf[64];
|
||||
WMLabel *label = WMCreateLabel(sPtr);
|
||||
@@ -796,6 +804,7 @@ void appendSubviewButtonAction(WMWidget * self, void *data)
|
||||
|
||||
void removeSubviewButtonAction(WMWidget * self, void *data)
|
||||
{
|
||||
(void)self;
|
||||
WMSplitView *sPtr = (WMSplitView *) data;
|
||||
int count = WMGetSplitViewSubviewsCount(sPtr);
|
||||
|
||||
@@ -808,12 +817,14 @@ void removeSubviewButtonAction(WMWidget * self, void *data)
|
||||
|
||||
void orientationButtonAction(WMWidget * self, void *data)
|
||||
{
|
||||
(void)self;
|
||||
WMSplitView *sPtr = (WMSplitView *) data;
|
||||
WMSetSplitViewVertical(sPtr, !WMGetSplitViewVertical(sPtr));
|
||||
}
|
||||
|
||||
void adjustSubviewsButtonAction(WMWidget * self, void *data)
|
||||
{
|
||||
(void)self;
|
||||
WMAdjustSplitViewSubviews((WMSplitView *) data);
|
||||
}
|
||||
|
||||
@@ -902,7 +913,7 @@ void testSplitView(WMScreen * scr)
|
||||
WMMapWidget(win);
|
||||
}
|
||||
|
||||
void testUD()
|
||||
void testUD(void)
|
||||
{
|
||||
WMUserDefaults *defs;
|
||||
char str[32];
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
#include <WINGs/WUtil.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define WINGS_H_VERSION 20210726
|
||||
#define WINGS_H_VERSION 20230226
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -494,6 +494,8 @@ void W_SetPreeditPositon(W_View *view, int x, int y);
|
||||
int W_LookupString(W_View *view, XKeyPressedEvent *event, char *buffer,
|
||||
int buflen, KeySym *keysym, Status *status);
|
||||
|
||||
KeySym W_KeycodeToKeysym(Display *display, KeyCode keycode, int index);
|
||||
|
||||
|
||||
/* ---[ wmisc.c ]--------------------------------------------------------- */
|
||||
|
||||
|
||||
+2
-2
@@ -612,10 +612,10 @@ static void menu_parser_condition_ifmacro(WMenuParser parser, Bool check_exists)
|
||||
macro = menu_parser_find_macro(parser, macro_name);
|
||||
parser->cond.stack[0].skip =
|
||||
((check_exists) && (macro == NULL)) ||
|
||||
((!check_exists) && (macro != NULL)) ;
|
||||
((!check_exists) && (macro != NULL));
|
||||
}
|
||||
|
||||
strcpy(parser->cond.stack[0].name, cmd_name);
|
||||
strncpy(parser->cond.stack[0].name, cmd_name, sizeof(parser->cond.stack[0].name) - 1);
|
||||
parser->cond.stack[0].line = parser->line_number;
|
||||
}
|
||||
|
||||
|
||||
@@ -167,6 +167,7 @@ void menu_parser_define_macro(WMenuParser parser)
|
||||
return;
|
||||
}
|
||||
macro = wmalloc(sizeof(*macro));
|
||||
memset(arg_name, 0, MAX_MACRO_ARG_COUNT * sizeof(char *));
|
||||
|
||||
/* Isolate name of macro */
|
||||
idx = 0;
|
||||
@@ -279,7 +280,8 @@ WParserMacro *menu_parser_find_macro(WMenuParser parser, const char *name)
|
||||
continue;
|
||||
|
||||
return macro;
|
||||
check_next_macro: ;
|
||||
check_next_macro:
|
||||
;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -391,6 +393,8 @@ void menu_parser_expand_macro(WMenuParser parser, WParserMacro *macro)
|
||||
unsigned int size;
|
||||
int i, space_left;
|
||||
|
||||
memset(arg_value, 0, MAX_MACRO_ARG_COUNT * sizeof(char *));
|
||||
|
||||
/* Skip the name of the macro, this was not done by caller */
|
||||
for (i = 0; macro->name[i] != '\0'; i++)
|
||||
parser->rd++;
|
||||
@@ -692,7 +696,7 @@ static void w_create_macro(WMenuParser parser, const char *name, WParserMacroFun
|
||||
WParserMacro *macro;
|
||||
|
||||
macro = wmalloc(sizeof(*macro));
|
||||
strcpy(macro->name, name);
|
||||
strncpy(macro->name, name, sizeof(macro->name) - 1);
|
||||
macro->function = handler;
|
||||
macro->arg_count = -1;
|
||||
macro->next = parser->macros;
|
||||
|
||||
@@ -4,7 +4,7 @@ CATALOGS = @WINGSMOFILES@
|
||||
|
||||
CLEANFILES = $(CATALOGS) $(DOMAIN).pot
|
||||
|
||||
EXTRA_DIST = bg.po ca.po cs.po de.po fr.po fy.po hu.po nl.po sk.po
|
||||
EXTRA_DIST = bg.po ca.po cs.po de.po fr.po fy.po hu.po nl.po sk.po sr.po
|
||||
|
||||
# WUtil files:
|
||||
POTFILES = \
|
||||
|
||||
@@ -9,6 +9,7 @@ sk.po Slovak Jan 'judas' Tomka <judas@linux.sk>
|
||||
bg.po Bulgarian Anton Zinoviev <zinoviev@debian.org>
|
||||
nl.po Dutch Alwin <translations@ziggo.nl>
|
||||
fy.po Frisian Alwin <translations@ziggo.nl>
|
||||
sr.po Serbian Strahinya Radich <contact@strahinja.org>
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
@@ -9,6 +9,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2003-02-09 12:10+0200\n"
|
||||
"Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n"
|
||||
"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -14,6 +14,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2003-09-16 23:16+0200\n"
|
||||
"Last-Translator: Ernest Adrogué <eadrogue@gmx.net>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-10-11 22:00+0100\n"
|
||||
"Last-Translator: Jiří Hnídek <jiri.hnidek@vslib.cz>\n"
|
||||
"Language-Team: Czech <cz@li.org>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: unknown\n"
|
||||
|
||||
@@ -15,6 +15,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2004-11-05 23:48+0100\n"
|
||||
"Last-Translator: shlomme@gmx.net\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -10,6 +10,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2002-01-09 21:20+0100\n"
|
||||
"Last-Translator: Emmanuel Benoit <tseeker@neptune.fr>\n"
|
||||
"Language-Team: Français <fr@li.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: unknown\n"
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# Translation into Western Frisian for Window Maker
|
||||
# Copyright (C) 2015-2016 Window Maker Developers Team
|
||||
# Copyright (C) 2015-2019 Window Maker Developers Team
|
||||
# This file is distributed under the same license as the windowmaker package.
|
||||
# Original by Alwin <translations@ziggo.nl>, 2015.
|
||||
#
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2014-02-18 00:25+0100\n"
|
||||
"Last-Translator: BALATON Zoltán <balaton@eik.bme.hu>\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Language: \n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
+1
-7
@@ -1,5 +1,5 @@
|
||||
# New translation into Dutch for Window Maker
|
||||
# Copyright (C) 2014-2015 Window Maker Developers Team
|
||||
# Copyright (C) 2014-2019 Window Maker Developers Team
|
||||
# This file is distributed under the same license as the windowmaker package.
|
||||
# Original by Alwin <translations@ziggo.nl>, 2014.
|
||||
#
|
||||
@@ -843,9 +843,6 @@ msgstr "Kon invoerbestand \"%s\" niet openen"
|
||||
msgid "Could not create target file \"%s\""
|
||||
msgstr "Kon doelbestand \"%s\" niet aanmaken"
|
||||
|
||||
msgid "An error occured browsing '%s'."
|
||||
msgstr "Er trad 'n fout op bij bladeren door '%s'."
|
||||
|
||||
msgid ""
|
||||
"invalid characted '%c' in arg-list for macro \"%s\" while expecting "
|
||||
"parameter name"
|
||||
@@ -860,9 +857,6 @@ msgstr ""
|
||||
"ongeldig letterteken '%c' in arg.-lijst voor macro \"%s\", verwachtte ',' "
|
||||
"of ')'"
|
||||
|
||||
msgid "unknow directive '#%s'"
|
||||
msgstr "onbekende aanwijzing '#%s'"
|
||||
|
||||
msgid "found #%s but have no matching #if"
|
||||
msgstr "#%s gevonden, maar heeft geen bijbehorende #if"
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-12-20 04:00+0100\n"
|
||||
"Last-Translator: Jan \"judas\" Tomka <judas@linux.sk>\n"
|
||||
"Language-Team: Slovak <sk@li.org>\n"
|
||||
"Language: sk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
+806
@@ -0,0 +1,806 @@
|
||||
# Serbian messages for Window Maker
|
||||
# Copyright (C) 1997-2006 Alfredo K. Kojima
|
||||
# 1998-2006 Dan Pascu
|
||||
# 2013-2020 Window Maker Developers Team
|
||||
# This file is distributed under the same license as the Window Maker package.
|
||||
# Strahinya Radich (Страхиња Радић) <contact@strahinja.org>, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WindowMaker 0.96.0\n"
|
||||
"Report-Msgid-Bugs-To: wmaker-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2023-11-02 19:36+0100\n"
|
||||
"PO-Revision-Date: 2023-11-02 19:48+0100\n"
|
||||
"Last-Translator: Страхиња Радић <contact@strahinja.org>\n"
|
||||
"Language-Team: Serbian <sr@li.org>\n"
|
||||
"Language: sr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: poe 1.6.0-1-g10e6dcc\n"
|
||||
|
||||
#: ../../WINGs/error.c:106
|
||||
msgid "fatal: "
|
||||
msgstr "фатално: "
|
||||
|
||||
#: ../../WINGs/error.c:112
|
||||
msgid "error: "
|
||||
msgstr "грешка: "
|
||||
|
||||
#: ../../WINGs/error.c:118
|
||||
msgid "warning: "
|
||||
msgstr "упозорење: "
|
||||
|
||||
#: ../../WINGs/findfile.c:59
|
||||
#, c-format
|
||||
msgid "could not get password entry for UID %i"
|
||||
msgstr "не може се добавити унос лозинке за UID %i"
|
||||
|
||||
#: ../../WINGs/findfile.c:89
|
||||
#, c-format
|
||||
msgid "could not get password entry for user %s"
|
||||
msgstr "не може се добавити унос лозинке за корисника %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:208
|
||||
#, c-format
|
||||
msgid "could not expand %s"
|
||||
msgstr "не може се проширити %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:437
|
||||
#, c-format
|
||||
msgid "Could not open input file \"%s\": %s"
|
||||
msgstr "Не може се отворити улазна датотека „%s“: %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:453
|
||||
#, c-format
|
||||
msgid "Could not create target file \"%s\": %s"
|
||||
msgstr "Не може се креирати одредишна датотека „%s“: %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:461
|
||||
msgid "could not allocate memory for the copy buffer"
|
||||
msgstr "не може се алоцирати меморија за бафер за копирање"
|
||||
|
||||
#: ../../WINGs/findfile.c:478
|
||||
#, c-format
|
||||
msgid "could not read from file \"%s\": %s"
|
||||
msgstr "не може се прочитати датотека „%s“: %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:493
|
||||
#, c-format
|
||||
msgid "could not write data to file \"%s\": %s"
|
||||
msgstr "не могу се уписати подаци у датотеку „%s“: %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:505
|
||||
#, c-format
|
||||
msgid "could not set permission 0%03o on file \"%s\": %s"
|
||||
msgstr "не може се поставити дозвола 0%03o на датотеци „%s“: %s"
|
||||
|
||||
#: ../../WINGs/findfile.c:509
|
||||
#, c-format
|
||||
msgid "could not close the file \"%s\": %s"
|
||||
msgstr "не може се затворити датотека „%s“: %s"
|
||||
|
||||
#: ../../WINGs/menuparser.c:110
|
||||
#, c-format
|
||||
msgid " included from file \"%s\" at line %d"
|
||||
msgstr " укључена из датотеке „%s“ у реду %d"
|
||||
|
||||
#: ../../WINGs/menuparser.c:142
|
||||
#, c-format
|
||||
msgid "missing #endif to match #%s at line %d"
|
||||
msgstr "недостаје #endif који би одговарао #%s у реду %d"
|
||||
|
||||
#: ../../WINGs/menuparser.c:200
|
||||
msgid "multiple SHORTCUT definition not valid"
|
||||
msgstr "вишеструка дефиниција SHORTCUT није исправна"
|
||||
|
||||
#: ../../WINGs/menuparser.c:253
|
||||
msgid "premature end of file while expecting a new line after '\\'"
|
||||
msgstr "прерани крај датотеке док се очекивао нови ред после „\\“"
|
||||
|
||||
#: ../../WINGs/menuparser.c:279
|
||||
#, c-format
|
||||
msgid "reached end of file while searching '*/' for comment started at line %d"
|
||||
msgstr "достигнут крај датотеке приликом тражења „*/“ за коментар започет у реду %d"
|
||||
|
||||
#: ../../WINGs/menuparser.c:344
|
||||
msgid "missing closing double-quote before end-of-line"
|
||||
msgstr "недостаје завршни наводник пре краја реда"
|
||||
|
||||
#: ../../WINGs/menuparser.c:362
|
||||
msgid "missing closing simple-quote before end-of-line"
|
||||
msgstr "недостаје завршни апостроф пре краја реда"
|
||||
|
||||
#: ../../WINGs/menuparser.c:380
|
||||
msgid "too many nested macro expansions, breaking loop"
|
||||
msgstr "превише угњеждених проширења макроа, прекида се петља"
|
||||
|
||||
#: ../../WINGs/menuparser.c:439
|
||||
#, c-format
|
||||
msgid "unknown directive '#%s'"
|
||||
msgstr "непозната директива „#%s“"
|
||||
|
||||
#: ../../WINGs/menuparser.c:444
|
||||
#, c-format
|
||||
msgid "extra text after '#' command is ignored: \"%.16s...\""
|
||||
msgstr "сувишни текст после наредбе „#“ је игнорисан: „%.16s...“"
|
||||
|
||||
#: ../../WINGs/menuparser.c:459
|
||||
msgid "no file name found for #include"
|
||||
msgstr "назив датотеке у #include-у није пронађен"
|
||||
|
||||
#: ../../WINGs/menuparser.c:471
|
||||
msgid "file name must be enclosed in brackets or double-quotes for #define"
|
||||
msgstr "назив датотеке у #define-у мора бити окружен угластим заградама или наводницима"
|
||||
|
||||
#: ../../WINGs/menuparser.c:485
|
||||
#, c-format
|
||||
msgid "missing closing '%c' in filename specification"
|
||||
msgstr "недостаје завршно „%c“ у задавању назива датотеке"
|
||||
|
||||
#: ../../WINGs/menuparser.c:503
|
||||
msgid "too many nested #include's"
|
||||
msgstr "превише угњеждених #include-ова"
|
||||
|
||||
#: ../../WINGs/menuparser.c:568
|
||||
#, c-format
|
||||
msgid "could not find file \"%s\" for #include"
|
||||
msgstr "не може се наћи датотека „%s“ у #include-у"
|
||||
|
||||
#: ../../WINGs/menuparser.c:589
|
||||
#, c-format
|
||||
msgid "missing macro name argument to #%s"
|
||||
msgstr "недостаје аргумент #%s - назив макроа"
|
||||
|
||||
#: ../../WINGs/menuparser.c:600
|
||||
msgid "too many nested #if sequences"
|
||||
msgstr "превише угњеждених секвенци #if"
|
||||
|
||||
#: ../../WINGs/menuparser.c:626 ../../WINGs/menuparser.c:643
|
||||
#, c-format
|
||||
msgid "found #%s but has no matching #if"
|
||||
msgstr "пронађено #%s, али без одговарајућег #if"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:166
|
||||
msgid "no macro name found for #define"
|
||||
msgstr "назив макроа за #define није пронађен"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:188
|
||||
#, c-format
|
||||
msgid "premature end of file while reading arg-list for macro \"%s\""
|
||||
msgstr "прерани крај датотеке приликом читања листе аргумената за макро „%s“"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:195
|
||||
#, c-format
|
||||
msgid "too many parameters for macro \"%s\" definition"
|
||||
msgstr "превише параметара за дефиницију макроа „%s“"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:210
|
||||
#, c-format
|
||||
msgid "invalid character '%c' in arg-list for macro \"%s\" while expecting parameter name"
|
||||
msgstr "неисправни знак „%c“ у листи аргумената за макро „%s“ док се очекивао назив параметра"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:221
|
||||
#, c-format
|
||||
msgid "invalid character '%c' in arg-list for macro \"%s\" while expecting ',' or ')'"
|
||||
msgstr "неисправни знак „%c“ у листи аргумената за макро „%s“ док се очекивало „,“ или „)“"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:254
|
||||
#, c-format
|
||||
msgid "macro \"%s\" already defined, ignoring redefinition"
|
||||
msgstr "макро „%s“ је већ дефинисан, игнорише се поновна дефиниција"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:348
|
||||
#, c-format
|
||||
msgid "more content than supported for the macro \"%s\""
|
||||
msgstr "више садржаја него што је подржано за макро „%s“"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:459
|
||||
#, c-format
|
||||
msgid "expansion for macro \"%s\" too big, line truncated"
|
||||
msgstr "проширење макроа „%s“ је превелико, ред је исечен"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:471
|
||||
#, c-format
|
||||
msgid "macro \"%s\" needs parenthesis for arguments"
|
||||
msgstr "макроу „%s“ су потребне заграде за аргументе"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:502
|
||||
msgid "missing closing quote or double-quote before end-of-line"
|
||||
msgstr "недостаје завршни наводник или апостроф пре краја реда"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:525
|
||||
#, c-format
|
||||
msgid "too many arguments for macro \"%s\", expected only %d"
|
||||
msgstr "превише аргумената за макро „%s“, очекује се само %d"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:534
|
||||
#, c-format
|
||||
msgid "premature end of line while searching for arguments to macro \"%s\""
|
||||
msgstr "прерани крај реда приликом тражења аргумената за макро „%s“"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:540
|
||||
#, c-format
|
||||
msgid "not enough arguments for macro \"%s\", expected %d but got only %d"
|
||||
msgstr "недовољно аргумената за макро „%s“, очекује се %d, али само постоји %d"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:545
|
||||
#, c-format
|
||||
msgid "too much data in parameter list of macro \"%s\", truncated"
|
||||
msgstr "превише података у листи параметара макроа „%s“, исечено"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:565
|
||||
#, c-format
|
||||
msgid "size of value for macro '%s' is too big, truncated"
|
||||
msgstr "величина вредности макроа „%s“ је превелика, исечено"
|
||||
|
||||
#: ../../WINGs/menuparser_macros.c:646 ../../WINGs/menuparser_macros.c:672
|
||||
#, c-format
|
||||
msgid "could not determine %s"
|
||||
msgstr "не може се одредити %s"
|
||||
|
||||
#: ../../WINGs/proplist.c:78
|
||||
#, c-format
|
||||
msgid "syntax error in %s %s, line %i: %s"
|
||||
msgstr "синтаксна грешка у %s %s, ред %i: %s"
|
||||
|
||||
#: ../../WINGs/proplist.c:134
|
||||
msgid "Only string or data is supported for a proplist dictionary key"
|
||||
msgstr "Само ниска или подаци су подржани у proplist речничком кључу"
|
||||
|
||||
#: ../../WINGs/proplist.c:167 ../../WINGs/proplist.c:217
|
||||
#: ../../WINGs/proplist.c:382 ../../WINGs/proplist.c:458
|
||||
#: ../../WINGs/proplist.c:1048 ../../WINGs/proplist.c:1098
|
||||
#: ../../WINGs/proplist.c:1246 ../../WINGs/proplist.c:1326
|
||||
#: ../../WINGs/proplist.c:1431 ../../WINGs/proplist.c:1475
|
||||
msgid "Used proplist functions on non-WMPropLists objects"
|
||||
msgstr "Користе се proplist функције над не-WMPropLists објектима"
|
||||
|
||||
#: ../../WINGs/proplist.c:635
|
||||
msgid "unterminated PropList string"
|
||||
msgstr "незатворена PropList ниска"
|
||||
|
||||
#: ../../WINGs/proplist.c:673
|
||||
msgid "unterminated PropList data"
|
||||
msgstr "незатворен PropList податак"
|
||||
|
||||
#: ../../WINGs/proplist.c:681
|
||||
msgid "unterminated PropList data (missing hexdigit)"
|
||||
msgstr "незатворен PropList податак (недостаје хекс-цифра)"
|
||||
|
||||
#: ../../WINGs/proplist.c:693 ../../WINGs/proplist.c:698
|
||||
msgid "non hexdigit character in PropList data"
|
||||
msgstr "знак који није хекс-цифра у PropList подацима"
|
||||
|
||||
#: ../../WINGs/proplist.c:730
|
||||
msgid "unterminated PropList array"
|
||||
msgstr "незатворен PropList низ"
|
||||
|
||||
#: ../../WINGs/proplist.c:738
|
||||
msgid "missing or unterminated PropList array"
|
||||
msgstr "недостајући или незатворени PropList низ"
|
||||
|
||||
#: ../../WINGs/proplist.c:748
|
||||
msgid "could not get PropList array element"
|
||||
msgstr "не може се добавити елемент PropList низа"
|
||||
|
||||
#: ../../WINGs/proplist.c:775
|
||||
msgid "unterminated PropList dictionary"
|
||||
msgstr "незатворени PropList речник"
|
||||
|
||||
#: ../../WINGs/proplist.c:792
|
||||
msgid "missing PropList dictionary key"
|
||||
msgstr "недостајући кључ PropList речника"
|
||||
|
||||
#: ../../WINGs/proplist.c:794
|
||||
msgid "missing PropList dictionary entry key or unterminated dictionary"
|
||||
msgstr "недостаје кључ PropList речничке ставке или је речник незатворен"
|
||||
|
||||
#: ../../WINGs/proplist.c:802
|
||||
msgid "error parsing PropList dictionary key"
|
||||
msgstr "грешка приликом рашчлањивања кључа PropList речника"
|
||||
|
||||
#: ../../WINGs/proplist.c:810
|
||||
msgid "missing = in PropList dictionary entry"
|
||||
msgstr "недостаје = у ставци PropList речника"
|
||||
|
||||
#: ../../WINGs/proplist.c:818
|
||||
msgid "error parsing PropList dictionary entry value"
|
||||
msgstr "грешка приликом рашчлањивања вредности PropList речничког уноса"
|
||||
|
||||
#: ../../WINGs/proplist.c:826
|
||||
msgid "missing ; in PropList dictionary entry"
|
||||
msgstr "недостаје ; у речничком уносу PropList"
|
||||
|
||||
#: ../../WINGs/proplist.c:885
|
||||
msgid "was expecting a string, data, array or dictionary. If it's a string, try enclosing it with \"."
|
||||
msgstr "очекује се ниска, податак, низ или речник. Ако је у питању ниска, пробајте да је окружите са \"."
|
||||
|
||||
#: ../../WINGs/proplist.c:888
|
||||
msgid "Comments are not allowed inside WindowMaker owned domain files."
|
||||
msgstr "Коментари нису дозвољени унутар датотека домена WindowMaker-а."
|
||||
|
||||
#: ../../WINGs/proplist.c:1495 ../../WINGs/proplist.c:1560
|
||||
#: ../../WINGs/proplist.c:1624
|
||||
msgid "extra data after end of property list"
|
||||
msgstr "вишак података после листе особина"
|
||||
|
||||
#: ../../WINGs/proplist.c:1535
|
||||
#, c-format
|
||||
msgid "could not get size for file '%s'"
|
||||
msgstr "не може се одредити величина датотеке „%s“"
|
||||
|
||||
#: ../../WINGs/proplist.c:1543
|
||||
#, c-format
|
||||
msgid "error reading from file '%s'"
|
||||
msgstr "грешка приликом читања датотеке „%s“"
|
||||
|
||||
#: ../../WINGs/proplist.c:1590
|
||||
#, c-format
|
||||
msgid "%s:could not open menu file"
|
||||
msgstr "%s:не може се отворити датотека менија"
|
||||
|
||||
#: ../../WINGs/proplist.c:1672
|
||||
#, c-format
|
||||
msgid "mkstemp (%s) failed"
|
||||
msgstr "mkstemp (%s) није успео"
|
||||
|
||||
#: ../../WINGs/proplist.c:1682
|
||||
#, c-format
|
||||
msgid "mktemp (%s) failed"
|
||||
msgstr "mktemp (%s) није успео"
|
||||
|
||||
#: ../../WINGs/proplist.c:1689
|
||||
#, c-format
|
||||
msgid "open (%s) failed"
|
||||
msgstr "open (%s) није успео"
|
||||
|
||||
#: ../../WINGs/proplist.c:1696
|
||||
#, c-format
|
||||
msgid "writing to file: %s failed"
|
||||
msgstr "уписивање у датотеку: %s није успело"
|
||||
|
||||
#: ../../WINGs/proplist.c:1706
|
||||
#, c-format
|
||||
msgid "fclose (%s) failed"
|
||||
msgstr "fclose (%s) није успео"
|
||||
|
||||
#: ../../WINGs/proplist.c:1714
|
||||
#, c-format
|
||||
msgid "rename ('%s' to '%s') failed"
|
||||
msgstr "rename („%s“ у „%s“) није успео"
|
||||
|
||||
#: ../../WINGs/proplist.c:1785
|
||||
#, c-format
|
||||
msgid "Could not create component %s"
|
||||
msgstr "Не може се креирати компонента %s"
|
||||
|
||||
#: ../../WINGs/userdefaults.c:68
|
||||
msgid "variable WMAKER_USER_ROOT defined with invalid path, not used"
|
||||
msgstr "променљива WMAKER_USER_ROOT је задата са неисправном путањом, не користи се"
|
||||
|
||||
#. something happened with the file. just overwrite it
|
||||
#: ../../WINGs/userdefaults.c:208 ../../WINGs/userdefaults.c:223
|
||||
#, c-format
|
||||
msgid "cannot read domain from file '%s' when syncing"
|
||||
msgstr "не може се учитати домен из датотеке „%s“ приликом синхронизовања"
|
||||
|
||||
#: ../../WINGs/dragcommon.c:60
|
||||
#, c-format
|
||||
msgid "unknown XDND action %s"
|
||||
msgstr "непозната XDND акција %s"
|
||||
|
||||
#: ../../WINGs/dragcommon.c:142
|
||||
#, c-format
|
||||
msgid "target %lu for XDND message no longer exists"
|
||||
msgstr "одредиште %lu XDND поруке више не постоји"
|
||||
|
||||
#: ../../WINGs/dragcommon.c:220
|
||||
#, c-format
|
||||
msgid "unsupported version %i for XDND enter message"
|
||||
msgstr "неподржана верзија %i XDND улазне поруке"
|
||||
|
||||
#: ../../WINGs/dragsource.c:163
|
||||
msgid "XDND selection lost during drag operation..."
|
||||
msgstr "XDND избор је изгубљен приликом операције превлачења..."
|
||||
|
||||
#: ../../WINGs/dragsource.c:758
|
||||
msgid "could not get XDND version for target of drop"
|
||||
msgstr "не може се одредити верзија XDND-а за одредиште превлачења"
|
||||
|
||||
#: ../../WINGs/dragsource.c:774
|
||||
msgid "could not get ownership of XDND selection"
|
||||
msgstr "не може се одредити власништво над XDND избором"
|
||||
|
||||
#: ../../WINGs/dragsource.c:1070
|
||||
msgid "delay for drag destination response expired"
|
||||
msgstr "пауза за одговор одредишта превлачења је истекла"
|
||||
|
||||
#: ../../WINGs/wcolor.c:204 ../../WINGs/wcolor.c:214 ../../WINGs/wcolor.c:250
|
||||
#: ../../WINGs/wcolor.c:288
|
||||
#, c-format
|
||||
msgid "could not allocate %s color"
|
||||
msgstr "не може се алоцирати боја %s"
|
||||
|
||||
#: ../../WINGs/wcolor.c:204
|
||||
msgid "white"
|
||||
msgstr "бела"
|
||||
|
||||
#: ../../WINGs/wcolor.c:214
|
||||
msgid "black"
|
||||
msgstr "црна"
|
||||
|
||||
#: ../../WINGs/wcolor.c:250
|
||||
msgid "gray"
|
||||
msgstr "сива"
|
||||
|
||||
#: ../../WINGs/wcolor.c:288
|
||||
msgid "dark gray"
|
||||
msgstr "тамно сива"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:390
|
||||
msgid "Colors"
|
||||
msgstr "Боје"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:565 ../../WINGs/wcolorpanel.c:2716
|
||||
msgid "Brightness"
|
||||
msgstr "Светлина"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:567 ../../WINGs/wcolorpanel.c:641
|
||||
#: ../../WINGs/wcolorpanel.c:672 ../../WINGs/wcolorpanel.c:703
|
||||
#: ../../WINGs/wcolorpanel.c:778 ../../WINGs/wcolorpanel.c:809
|
||||
#: ../../WINGs/wcolorpanel.c:841 ../../WINGs/wcolorpanel.c:874
|
||||
#: ../../WINGs/wcolorpanel.c:2010 ../../WINGs/wcolorpanel.c:2718
|
||||
#: ../../WINGs/wcolorpanel.c:2752 ../../WINGs/wcolorpanel.c:2786
|
||||
msgid "Color Panel: Could not allocate memory"
|
||||
msgstr "Панел за боје: Неуспешно алоцирање меморије"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:639
|
||||
msgid "Red"
|
||||
msgstr "Црвена"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:670
|
||||
msgid "Green"
|
||||
msgstr "Зелена"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:701
|
||||
msgid "Blue"
|
||||
msgstr "Плава"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:715
|
||||
msgid "Decimal"
|
||||
msgstr "Децимално"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:723
|
||||
msgid "Hexadecimal"
|
||||
msgstr "Хексадекадно"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:776
|
||||
msgid "Cyan"
|
||||
msgstr "Цијан"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:807
|
||||
msgid "Magenta"
|
||||
msgstr "Магента"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:839
|
||||
msgid "Yellow"
|
||||
msgstr "Жута"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:872
|
||||
msgid "Black"
|
||||
msgstr "Црна"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:947
|
||||
msgid "Spectrum"
|
||||
msgstr "Спектар"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:973
|
||||
msgid "Palette"
|
||||
msgstr "Палета"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:978
|
||||
msgid "New from File..."
|
||||
msgstr "Нова из датотеке..."
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:979 ../../WINGs/wcolorpanel.c:1024
|
||||
#: ../../WINGs/wcolorpanel.c:1039
|
||||
msgid "Rename..."
|
||||
msgstr "Преименуј..."
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:980 ../../WINGs/wcolorpanel.c:1025
|
||||
#: ../../WINGs/wcolorpanel.c:1040 ../../WINGs/wcolorpanel.c:3176
|
||||
msgid "Remove"
|
||||
msgstr "Уклони"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:981
|
||||
msgid "Copy"
|
||||
msgstr "Копирај"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:982
|
||||
msgid "New from Clipboard"
|
||||
msgstr "Нова из клипборда"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1001
|
||||
msgid "X11-Colors"
|
||||
msgstr "X11 боје"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1018
|
||||
msgid "Color"
|
||||
msgstr "Боја"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1023
|
||||
msgid "Add..."
|
||||
msgstr "Додај..."
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1033
|
||||
msgid "List"
|
||||
msgstr "Листа"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1038
|
||||
msgid "New..."
|
||||
msgstr "Нова..."
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1165
|
||||
#, c-format
|
||||
msgid "Color Panel: Could not create directory %s needed to store configurations"
|
||||
msgstr "Панел за боје: Не може се креирати директоријум %s неопходан за чување подешавања"
|
||||
|
||||
#. Delete the file, it doesn't belong here
|
||||
#: ../../WINGs/wcolorpanel.c:1171 ../../WINGs/wcolorpanel.c:3069
|
||||
#: ../../WINGs/wcolorpanel.c:3073
|
||||
msgid "File Error"
|
||||
msgstr "Грешка датотеке"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1172
|
||||
msgid "Could not create ColorPanel configuration directory"
|
||||
msgstr "Не може се креирати директоријум са подешавањима ColorPanel"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1173 ../../WINGs/wcolorpanel.c:3070
|
||||
#: ../../WINGs/wcolorpanel.c:3075 ../../WINGs/wcolorpanel.c:3100
|
||||
#: ../../WINGs/wfilepanel.c:227 ../../WINGs/wfilepanel.c:596
|
||||
#: ../../WINGs/wfilepanel.c:611 ../../WINGs/wfilepanel.c:715
|
||||
#: ../../WINGs/wfilepanel.c:883 ../../WINGs/wfontpanel.c:532
|
||||
msgid "OK"
|
||||
msgstr "ОК"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1178
|
||||
msgid "Color Panel: Could not find file"
|
||||
msgstr "Панел за боје: Не може се пронаћи датотека"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:1374 ../../WINGs/wcolorpanel.c:1435
|
||||
#: ../../WINGs/wcolorpanel.c:1495
|
||||
msgid "Color Panel: X failed request"
|
||||
msgstr "Панел за боје: Неуспешан захтев X-а"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:2750
|
||||
msgid "Saturation"
|
||||
msgstr "Засићење"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:2784
|
||||
msgid "Hue"
|
||||
msgstr "Нијанса"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3008
|
||||
msgid "Open Palette"
|
||||
msgstr "Отвори палету"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3070
|
||||
msgid "Invalid file format !"
|
||||
msgstr "Неисправан формат датотеке !"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3072
|
||||
#, c-format
|
||||
msgid "can't remove file %s"
|
||||
msgstr "не може се уклонити датотека %s"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3074
|
||||
msgid "Couldn't remove file from Configuration Directory !"
|
||||
msgstr "Не може се уклонити датотека из директоријума са подешавањима !"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3099
|
||||
msgid "Rename"
|
||||
msgstr "Преименовање"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3099
|
||||
msgid "Rename palette to:"
|
||||
msgstr "Преименуј палету у:"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3100 ../../WINGs/wfilepanel.c:236
|
||||
#: ../../WINGs/wfilepanel.c:611 ../../WINGs/wfilepanel.c:715
|
||||
msgid "Cancel"
|
||||
msgstr "Поништи"
|
||||
|
||||
#. Careful, this palette exists already
|
||||
#: ../../WINGs/wcolorpanel.c:3116 ../../WINGs/wfilepanel.c:715
|
||||
msgid "Warning"
|
||||
msgstr "Упозорење"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3117
|
||||
msgid "Palette already exists !\n\nOverwrite ?"
|
||||
msgstr "Палета већ постоји !\n\nПреписати ?"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3117 ../../WINGs/wcolorpanel.c:3176
|
||||
msgid "No"
|
||||
msgstr "Не"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3117 ../../WINGs/wcolorpanel.c:3176
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3148
|
||||
#, c-format
|
||||
msgid "Couldn't rename palette %s to %s"
|
||||
msgstr "Палета %s се не може преименовати у %s"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3171
|
||||
msgid "This will permanently remove the palette "
|
||||
msgstr "Ово ће трајно уклонити палету "
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3173
|
||||
msgid ".\n\nAre you sure you want to remove this palette ?"
|
||||
msgstr ".\n\nДа ли сте сигурни да желите да уклоните палету ?"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3195
|
||||
#, c-format
|
||||
msgid "Couldn't remove palette %s"
|
||||
msgstr "Не може се уклонити палета %s"
|
||||
|
||||
#: ../../WINGs/wcolorpanel.c:3498
|
||||
msgid "Color Panel: Color unspecified"
|
||||
msgstr "Панел за боју: Боја није задата"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:216
|
||||
msgid "Name:"
|
||||
msgstr "Назив:"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:306 ../../WINGs/wfilepanel.c:364
|
||||
msgid "Open"
|
||||
msgstr "Отвори"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:322 ../../WINGs/wfilepanel.c:370
|
||||
msgid "Save"
|
||||
msgstr "Сачувај"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:506
|
||||
#, c-format
|
||||
msgid "WINGs: could not open directory %s\n"
|
||||
msgstr "WINGs: не може се отворити директоријум %s\n"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:526
|
||||
#, c-format
|
||||
msgid "WINGs: could not stat %s\n"
|
||||
msgstr "WINGs: не може се stat-овати %s\n"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:596 ../../WINGs/wfilepanel.c:883
|
||||
#: ../../WINGs/wfontpanel.c:531
|
||||
msgid "Error"
|
||||
msgstr "Грешка"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:610
|
||||
msgid "Create Directory"
|
||||
msgstr "Креирање директоријума"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:611
|
||||
msgid "Enter directory name"
|
||||
msgstr "Унесите назив директоријума"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:639
|
||||
#, c-format
|
||||
msgid "Can not create %s: %s"
|
||||
msgstr "Не може се креирати %s: %s"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:705
|
||||
#, c-format
|
||||
msgid "Can not find %s: %s"
|
||||
msgstr "Не може се наћи %s: %s"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:711
|
||||
#, c-format
|
||||
msgid "Delete %s %s?"
|
||||
msgstr "Обрисати %s %s?"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:712
|
||||
msgid "directory"
|
||||
msgstr "директоријум"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:712
|
||||
msgid "file"
|
||||
msgstr "датотеку"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:719
|
||||
#, c-format
|
||||
msgid "Removing %s failed: %s"
|
||||
msgstr "Уклањање %s није успело: %s"
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:751
|
||||
#, c-format
|
||||
msgid "An error occurred browsing '%s'."
|
||||
msgstr "Догодила се грешка приликом прегледања „%s“."
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:754
|
||||
#, c-format
|
||||
msgid "'%s' is not a directory."
|
||||
msgstr "„%s“ није директоријум."
|
||||
|
||||
#: ../../WINGs/wfilepanel.c:883
|
||||
msgid "File does not exist."
|
||||
msgstr "Датотека не постоји."
|
||||
|
||||
#: ../../WINGs/wfont.c:43
|
||||
#, c-format
|
||||
msgid "invalid font: %s. Trying '%s'"
|
||||
msgstr "неисправан фонт: %s. Проба се „%s“"
|
||||
|
||||
#: ../../WINGs/wfont.c:270 ../../WINGs/wfont.c:288
|
||||
#, c-format
|
||||
msgid "could not load font: %s."
|
||||
msgstr "не може се учитати фонт: %s."
|
||||
|
||||
#. WMSetWidgetBackgroundColor(panel->win, WMWhiteColor(scr));
|
||||
#: ../../WINGs/wfontpanel.c:184
|
||||
msgid "Font Panel"
|
||||
msgstr "Панел за фонт"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:220
|
||||
msgid "The quick brown fox jumps over the lazy dog"
|
||||
msgstr "Одбациће кавгаџија плаштом чађ у жељезни фењер"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:226
|
||||
msgid "Family"
|
||||
msgstr "Фамилија"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:237
|
||||
msgid "Typeface"
|
||||
msgstr "Словни лик"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:248
|
||||
msgid "Size"
|
||||
msgstr "Величина"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:267
|
||||
msgid "Set"
|
||||
msgstr "Постави"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:273
|
||||
msgid "Revert"
|
||||
msgstr "Врати"
|
||||
|
||||
#: ../../WINGs/wfontpanel.c:532
|
||||
msgid "Could not init font config library\n"
|
||||
msgstr "Не може се иницијализовати библиотека font config\n"
|
||||
|
||||
#: ../../WINGs/widgets.c:447
|
||||
#, c-format
|
||||
msgid "WINGs: could not load widget images file: %s"
|
||||
msgstr "WINGs: не може се учитати датотека са сликама виџета: %s"
|
||||
|
||||
#: ../../WINGs/widgets.c:543
|
||||
#, c-format
|
||||
msgid "WINGs: could not open display %s"
|
||||
msgstr "WINGs: не може се отворити приказ %s"
|
||||
|
||||
#: ../../WINGs/widgets.c:772
|
||||
msgid "could not load any fonts. Make sure your font installation and locale settings are correct."
|
||||
msgstr "не може се учитати ниједан фонт. Проверите да ли су фонтови исправно инсталирани и да али су подешавања језика исправна."
|
||||
|
||||
#: ../../WINGs/winputmethod.c:65
|
||||
msgid "could not add destroy callback for XIM input method"
|
||||
msgstr "не може се додати destroy callback за XIM метод уноса"
|
||||
|
||||
#: ../../WINGs/wruler.c:175
|
||||
msgid "0 inches"
|
||||
msgstr "0 инча"
|
||||
|
||||
#: ../../WINGs/wtextfield.c:494
|
||||
msgid "only left alignment is supported in textfields"
|
||||
msgstr "у текстуалним пољима је подржано само лево уравнање"
|
||||
|
||||
#: ../../WINGs/wwindow.c:160
|
||||
msgid "window title conversion error... using STRING encoding"
|
||||
msgstr "грешка приликом конверзије наслова прозора... користи се STRING кодирање"
|
||||
|
||||
#: ../../WINGs/wwindow.c:181
|
||||
msgid "icon title conversion error... using STRING encoding"
|
||||
msgstr "грешка приликом конверзије наслова иконе... користи се STRING кодирање"
|
||||
+9
-21
@@ -1732,36 +1732,23 @@ Bool WMWritePropListToFile(WMPropList * plist, const char *path)
|
||||
* file, and the last component is stripped off. the rest is the
|
||||
* the hierarchy to be created.
|
||||
*
|
||||
* refuses to create anything outside $WMAKER_USER_ROOT/Defaults or $WMAKER_USER_ROOT/Library
|
||||
* refuses to create anything outside $WMAKER_USER_ROOT
|
||||
*
|
||||
* returns 1 on success, 0 on failure
|
||||
*/
|
||||
int wmkdirhier(const char *path)
|
||||
{
|
||||
const char *libpath;
|
||||
char *udefpath;
|
||||
int cmp;
|
||||
const char *t;
|
||||
char *thePath = NULL, buf[1024];
|
||||
size_t p, plen;
|
||||
struct stat st;
|
||||
|
||||
/* Only create directories under $WMAKER_USER_ROOT/Defaults or $WMAKER_USER_ROOT/Library */
|
||||
libpath = wuserdatapath();
|
||||
if (strncmp(path, libpath, strlen(libpath)) == 0)
|
||||
if (path[strlen(libpath)] == '/')
|
||||
goto path_in_valid_tree;
|
||||
/* Only create directories under $WMAKER_USER_ROOT */
|
||||
if ((t = wusergnusteppath()) == NULL)
|
||||
return 0;
|
||||
if (strncmp(path, t, strlen(t)) != 0)
|
||||
return 0;
|
||||
|
||||
udefpath = wdefaultspathfordomain("");
|
||||
cmp = strncmp(path, udefpath, strlen(udefpath));
|
||||
wfree(udefpath);
|
||||
if (cmp == 0)
|
||||
/* Note: by side effect, 'udefpath' already contains a final '/' */
|
||||
goto path_in_valid_tree;
|
||||
|
||||
/* If we reach this point, the path is outside the allowed tree */
|
||||
return 0;
|
||||
|
||||
path_in_valid_tree:
|
||||
thePath = wstrdup(path);
|
||||
/* Strip the trailing component if it is a file */
|
||||
p = strlen(thePath);
|
||||
@@ -1784,6 +1771,7 @@ int wmkdirhier(const char *path)
|
||||
}
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
strncpy(buf, t, sizeof(buf) - 1);
|
||||
p = strlen(buf);
|
||||
plen = strlen(thePath);
|
||||
|
||||
@@ -1794,7 +1782,7 @@ int wmkdirhier(const char *path)
|
||||
strncpy(buf, thePath, p);
|
||||
if (mkdir(buf, 0777) == -1 && errno == EEXIST &&
|
||||
stat(buf, &st) == 0 && !S_ISDIR(st.st_mode)) {
|
||||
werror(_("Could not create path component %s"), buf);
|
||||
werror(_("Could not create component %s"), buf);
|
||||
wfree(thePath);
|
||||
return 0;
|
||||
}
|
||||
|
||||
+3
-3
@@ -51,7 +51,7 @@ static WMColor *findCloseColor(WMScreen * scr, unsigned short red, unsigned shor
|
||||
color->refCount = 1;
|
||||
color->color = xcolor;
|
||||
color->alpha = alpha;
|
||||
color->flags.exact = 1;
|
||||
color->flags.exact = 0;
|
||||
color->gc = NULL;
|
||||
|
||||
return color;
|
||||
@@ -91,7 +91,7 @@ WMColor *WMCreateRGBColor(WMScreen * scr, unsigned short red, unsigned short gre
|
||||
color = findCloseColor(scr, red, green, blue, 0xffff);
|
||||
}
|
||||
if (!color)
|
||||
color = WMBlackColor(scr);
|
||||
color = scr->black;
|
||||
|
||||
return color;
|
||||
}
|
||||
@@ -117,7 +117,7 @@ WMColor *WMCreateRGBAColor(WMScreen * scr, unsigned short red, unsigned short gr
|
||||
color = findCloseColor(scr, red, green, blue, alpha);
|
||||
}
|
||||
if (!color)
|
||||
color = WMBlackColor(scr);
|
||||
color = scr->black;
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
+3
-3
@@ -2259,7 +2259,7 @@ static void wheelPositionSelectionOutBounds(W_ColorPanel * panel, int x, int y)
|
||||
|
||||
static void wheelUpdateBrightnessGradientFromLocation(W_ColorPanel * panel)
|
||||
{
|
||||
CPColor from;
|
||||
CPColor from = {};
|
||||
unsigned long ofs;
|
||||
|
||||
ofs = panel->coly * panel->wheelMtrx->width + panel->colx;
|
||||
@@ -2604,7 +2604,7 @@ static void cmykTextFieldCallback(void *observerData, WMNotification * notificat
|
||||
|
||||
static void hsbSliderCallback(WMWidget * w, void *data)
|
||||
{
|
||||
CPColor cpColor;
|
||||
CPColor cpColor = {};
|
||||
int value[3];
|
||||
char tmp[4];
|
||||
W_ColorPanel *panel = (W_ColorPanel *) data;
|
||||
@@ -2640,7 +2640,7 @@ static void hsbSliderCallback(WMWidget * w, void *data)
|
||||
|
||||
static void hsbTextFieldCallback(void *observerData, WMNotification * notification)
|
||||
{
|
||||
CPColor cpColor;
|
||||
CPColor cpColor = {};
|
||||
int value[3];
|
||||
char tmp[12]; /* We only 4 bytes needed, but compilers cannot know that */
|
||||
int n;
|
||||
|
||||
@@ -253,6 +253,9 @@ WMFrame *WMCreateFrame(WMWidget * parent)
|
||||
|
||||
static void destroyFrame(Frame * fPtr)
|
||||
{
|
||||
if (fPtr->textColor)
|
||||
WMReleaseColor(fPtr->textColor);
|
||||
|
||||
if (fPtr->caption)
|
||||
wfree(fPtr->caption);
|
||||
|
||||
|
||||
@@ -213,3 +213,32 @@ int W_LookupString(W_View *view, XKeyPressedEvent *event, char *buffer, int bufl
|
||||
#endif
|
||||
return XLookupString(event, buffer, buflen, keysym, (XComposeStatus *) status);
|
||||
}
|
||||
|
||||
/*
|
||||
* Map a keycode to the corresponding keysym
|
||||
* To replace the deprecated X11 function XKeycodeToKeysym
|
||||
*/
|
||||
KeySym W_KeycodeToKeysym(Display *display, KeyCode keycode, int index)
|
||||
{
|
||||
static int min_kc = -1;
|
||||
static int max_kc;
|
||||
int num_syms;
|
||||
KeySym *key_syms;
|
||||
KeySym ks;
|
||||
|
||||
XDisplayKeycodes(display, &min_kc, &max_kc);
|
||||
if (keycode < min_kc || keycode > max_kc || index < 0) {
|
||||
return NoSymbol;
|
||||
}
|
||||
|
||||
key_syms = XGetKeyboardMapping(display, keycode, 1, &num_syms);
|
||||
if (index >= num_syms) {
|
||||
XFree(key_syms);
|
||||
return NoSymbol;
|
||||
}
|
||||
|
||||
ks = key_syms[index];
|
||||
XFree(key_syms);
|
||||
|
||||
return ks;
|
||||
}
|
||||
|
||||
+3
-3
@@ -25,7 +25,7 @@ static void handleKeyPress(XEvent * event, void *clientData)
|
||||
|
||||
XLookupString(&event->xkey, NULL, 0, &ksym, NULL);
|
||||
|
||||
if (ksym == XK_Return && panel->defBtn) {
|
||||
if ((ksym == XK_Return || ksym == XK_KP_Enter) && panel->defBtn) {
|
||||
WMPerformButtonClick(panel->defBtn);
|
||||
} else if (ksym == XK_Escape) {
|
||||
if (panel->altBtn || panel->othBtn) {
|
||||
@@ -421,7 +421,7 @@ static void handleKeyPress2(XEvent * event, void *clientData)
|
||||
|
||||
XLookupString(&event->xkey, NULL, 0, &ksym, NULL);
|
||||
|
||||
if (ksym == XK_Return && panel->defBtn) {
|
||||
if ((ksym == XK_Return || ksym == XK_KP_Enter) && panel->defBtn) {
|
||||
WMPerformButtonClick(panel->defBtn);
|
||||
} else if (ksym == XK_Escape) {
|
||||
if (panel->altBtn) {
|
||||
@@ -709,7 +709,7 @@ static void handleKeyPress3(XEvent * event, void *clientData)
|
||||
|
||||
XLookupString(&event->xkey, NULL, 0, &ksym, NULL);
|
||||
|
||||
if (ksym == XK_Return && panel->defBtn) {
|
||||
if ((ksym == XK_Return || ksym == XK_KP_Enter) && panel->defBtn) {
|
||||
WMPerformButtonClick(panel->defBtn);
|
||||
} else if (ksym == XK_Escape) {
|
||||
if (panel->altBtn) {
|
||||
|
||||
+4
-1
@@ -166,12 +166,15 @@ typedef struct W_Text {
|
||||
WMArray *xdndDestinationTypes;
|
||||
} Text;
|
||||
|
||||
/* not used */
|
||||
#if 0
|
||||
#define NOTIFY(T,C,N,A) {\
|
||||
WMNotification *notif = WMCreateNotification(N,T,A);\
|
||||
if ((T)->delegate && (T)->delegate->C)\
|
||||
(*(T)->delegate->C)((T)->delegate,notif);\
|
||||
WMPostNotification(notif);\
|
||||
WMReleaseNotification(notif);}
|
||||
#endif
|
||||
|
||||
#define TYPETEXT 0
|
||||
|
||||
@@ -622,7 +625,7 @@ static void paintText(Text * tPtr)
|
||||
TextBlock *tb;
|
||||
WMFont *font;
|
||||
const char *text;
|
||||
int len, y, c, s, done = False, dir /* 1 = down */ ;
|
||||
int len, y, c, s, done = False, dir; /* dir 1 = down */
|
||||
WMScreen *scr = tPtr->view->screen;
|
||||
Display *dpy = tPtr->view->screen->display;
|
||||
Window win = tPtr->view->window;
|
||||
|
||||
+1
-1
@@ -661,7 +661,7 @@ static void didResizeTextField(W_ViewDelegate * self, WMView * view)
|
||||
|
||||
tPtr->offsetWidth = WMAX((tPtr->view->size.height - WMFontHeight(tPtr->font)) / 2, 1);
|
||||
|
||||
tPtr->usableWidth = tPtr->view->size.width - 2 * tPtr->offsetWidth /*+ 2 */ ;
|
||||
tPtr->usableWidth = tPtr->view->size.width - 2 * tPtr->offsetWidth;
|
||||
}
|
||||
|
||||
static char *makeHiddenString(int length)
|
||||
|
||||
@@ -395,7 +395,11 @@ static void setWindowMakerHints(WMWindow * win)
|
||||
|
||||
memset(&attribs, 0, sizeof(GNUstepWMAttributes));
|
||||
attribs.flags = GSWindowStyleAttr | GSWindowLevelAttr | GSExtraFlagsAttr;
|
||||
|
||||
if (win->minSize.width == win->maxSize.width && win->minSize.height == win->maxSize.height)
|
||||
win->flags.style &= ~WMResizableWindowMask;
|
||||
attribs.window_style = win->flags.style;
|
||||
|
||||
attribs.window_level = win->level;
|
||||
if (win->flags.documentEdited)
|
||||
attribs.extra_flags = GSDocumentEditedFlag;
|
||||
|
||||
+17
-5
@@ -1076,6 +1076,8 @@ static void deleteTexture(WMWidget * w, void *data)
|
||||
(void) w;
|
||||
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
if (section < 0)
|
||||
return;
|
||||
row = WMGetListSelectedItemRow(panel->texLs);
|
||||
item = WMGetListItem(panel->texLs, row);
|
||||
titem = (TextureListItem *) item->clientData;
|
||||
@@ -1134,6 +1136,8 @@ static void changePage(WMWidget * w, void *data)
|
||||
|
||||
if (w) {
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
if (section < 0)
|
||||
return;
|
||||
|
||||
WMSelectListItem(panel->texLs, panel->textureIndex[section]);
|
||||
|
||||
@@ -1233,6 +1237,8 @@ static void textureDoubleClick(WMWidget * w, void *data)
|
||||
|
||||
/* unselect old texture */
|
||||
section = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
if (section < 0)
|
||||
return;
|
||||
|
||||
item = WMGetListItem(panel->texLs, panel->textureIndex[section]);
|
||||
titem = (TextureListItem *) item->clientData;
|
||||
@@ -1261,7 +1267,7 @@ static void paintListItem(WMList * lPtr, int index, Drawable d, char *text, int
|
||||
{
|
||||
_Panel *panel = (_Panel *) WMGetHangedData(lPtr);
|
||||
WMScreen *scr = WMWidgetScreen(lPtr);
|
||||
int width, height, x, y;
|
||||
int width, height, x, y, tmp;
|
||||
Display *dpy = WMScreenDisplay(scr);
|
||||
WMColor *back = (state & WLDSSelected) ? WMWhiteColor(scr) : WMGrayColor(scr);
|
||||
WMListItem *item;
|
||||
@@ -1290,7 +1296,8 @@ static void paintListItem(WMList * lPtr, int index, Drawable d, char *text, int
|
||||
XCopyArea(dpy, titem->preview, d, WMColorGC(black), 0, 0,
|
||||
TEXPREV_WIDTH, TEXPREV_HEIGHT, x + 5, y + 5);
|
||||
|
||||
if ((1 << WMGetPopUpButtonSelectedItem(panel->secP)) & titem->selectedFor)
|
||||
tmp = WMGetPopUpButtonSelectedItem(panel->secP);
|
||||
if ((tmp >= 0) && ((1 << tmp) & titem->selectedFor))
|
||||
WMDrawPixmap(panel->onLed, d, x + TEXPREV_WIDTH + 10, y + 6);
|
||||
else if (titem->selectedFor)
|
||||
WMDrawPixmap(panel->offLed, d, x + TEXPREV_WIDTH + 10, y + 6);
|
||||
@@ -1425,6 +1432,10 @@ static void changeColorPage(WMWidget * w, void *data)
|
||||
WMScreen *scr = WMWidgetScreen(panel->box);
|
||||
RContext *rc = WMScreenRContext(scr);
|
||||
|
||||
section = WMGetPopUpButtonSelectedItem(panel->colP);
|
||||
if (section < 0)
|
||||
return;
|
||||
|
||||
if (panel->preview) {
|
||||
GC gc;
|
||||
|
||||
@@ -1436,7 +1447,6 @@ static void changeColorPage(WMWidget * w, void *data)
|
||||
colorOptions[panel->oldcsection].hand.y);
|
||||
}
|
||||
if (w) {
|
||||
section = WMGetPopUpButtonSelectedItem(panel->colP);
|
||||
|
||||
panel->oldcsection = section;
|
||||
if (panel->preview)
|
||||
@@ -1737,6 +1747,8 @@ static void colorWellObserver(void *self, WMNotification * n)
|
||||
(void) n;
|
||||
|
||||
p = WMGetPopUpButtonSelectedItem(panel->colP);
|
||||
if (p < 0)
|
||||
return;
|
||||
|
||||
WMReleaseColor(panel->colors[p]);
|
||||
|
||||
@@ -1831,7 +1843,7 @@ static void createPanel(Panel * p)
|
||||
panel->fprefix = wstrconcat(wuserdatapath(), "/" PACKAGE_TARNAME);
|
||||
|
||||
if (access(panel->fprefix, F_OK) != 0) {
|
||||
if (mkdir(panel->fprefix, 0755) < 0) {
|
||||
if (-1 == mkdir(panel->fprefix, 0755) && errno != EEXIST) {
|
||||
werror("%s", panel->fprefix);
|
||||
ok = False;
|
||||
}
|
||||
@@ -1841,7 +1853,7 @@ static void createPanel(Panel * p)
|
||||
wfree(panel->fprefix);
|
||||
panel->fprefix = tmp;
|
||||
if (access(panel->fprefix, F_OK) != 0) {
|
||||
if (mkdir(panel->fprefix, 0755) < 0) {
|
||||
if (-1 == mkdir(panel->fprefix, 0755) && errno != EEXIST) {
|
||||
werror("%s", panel->fprefix);
|
||||
}
|
||||
}
|
||||
|
||||
+20
-5
@@ -2,8 +2,9 @@
|
||||
*
|
||||
* WPrefs - Window Maker Preferences Program
|
||||
*
|
||||
* Copyright (c) 2014 Window Maker Team
|
||||
* Copyright (c) 2014-2023 Window Maker Team
|
||||
* Copyright (c) 1998-2003 Alfredo K. Kojima
|
||||
* Copyright (c) 2009-2023 Window Maker Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -25,7 +26,7 @@
|
||||
/* This structure containts the list of all the check-buttons to display in the
|
||||
* expert tab of the window with the corresponding information for effect
|
||||
*/
|
||||
static const struct {
|
||||
static struct expert_option {
|
||||
const char *label; /* Text displayed to user */
|
||||
|
||||
int def_state; /* True/False: the default value, if not defined in current config */
|
||||
@@ -88,7 +89,7 @@ static const struct {
|
||||
/* default: */ False, OPTION_WMAKER, "KbdModeLock" },
|
||||
#endif /* XKB_MODELOCK */
|
||||
|
||||
{ N_("Maximize (snap) a window to edge or corner by dragging."),
|
||||
{ N_("Snap a window to edge or corner by dragging."),
|
||||
/* default: */ False, OPTION_WMAKER, "WindowSnapping" },
|
||||
|
||||
{ N_("Distance from edge to begin window snap."),
|
||||
@@ -97,7 +98,7 @@ static const struct {
|
||||
{ N_("Distance from corner to begin window snap."),
|
||||
/* default: */ 10, OPTION_WMAKER_INT, "SnapCornerDetect" },
|
||||
|
||||
{ N_("Snapping a window to the top maximizes it to the full screen."),
|
||||
{ N_("Snap a window to the top to maximize it to the full screen."),
|
||||
/* default: */ False, OPTION_WMAKER, "SnapToTopMaximizesFullscreen" },
|
||||
|
||||
{ N_("Allow move half-maximized windows between multiple screens."),
|
||||
@@ -115,7 +116,7 @@ static const struct {
|
||||
{ N_("Wrap dock-attached icons around the screen edges."),
|
||||
/* default: */ True, OPTION_WMAKER, "WrapAppiconsInDock" },
|
||||
|
||||
{ N_("Double click on titlebar maximize a window to full screen."),
|
||||
{ N_("Double click on titlebar maximizes/minimizes a window to/from full screen."),
|
||||
/* default: */ False, OPTION_WMAKER, "DbClickFullScreen" },
|
||||
|
||||
{ N_("Close rootmenu when mouse (left or right) is clicked outside focus."),
|
||||
@@ -172,6 +173,19 @@ static void upButtonCallback(WMWidget *self, void *data)
|
||||
changeIntTextfield(data, 1);
|
||||
}
|
||||
|
||||
static int cmpExpertOptions(const void *v1, const void *v2)
|
||||
{
|
||||
int rc;
|
||||
const struct expert_option *opt1 = (struct expert_option *)v1;
|
||||
const struct expert_option *opt2 = (struct expert_option *)v2;
|
||||
|
||||
if ((rc = strcmp(opt1->label, opt2->label)) < 0)
|
||||
return -1;
|
||||
else if (rc > 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void createPanel(Panel *p)
|
||||
{
|
||||
_Panel *panel = (_Panel *) p;
|
||||
@@ -195,6 +209,7 @@ static void createPanel(Panel *p)
|
||||
WMSetFrameRelief(f, WRFlat);
|
||||
|
||||
udb = WMGetStandardUserDefaults();
|
||||
qsort(expert_options, wlengthof(expert_options), sizeof(expert_options[0]), cmpExpertOptions);
|
||||
for (i = 0; i < wlengthof(expert_options); i++) {
|
||||
if (expert_options[i].class != OPTION_WMAKER_INT) {
|
||||
panel->swi[i] = WMCreateSwitchButton(f);
|
||||
|
||||
@@ -0,0 +1,465 @@
|
||||
/* HotCornerShortcuts.c - screen corners actions
|
||||
*
|
||||
* WPrefs - Window Maker Preferences Program
|
||||
*
|
||||
* Copyright (c) 2023 Window Maker Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "WPrefs.h"
|
||||
|
||||
typedef struct _Panel {
|
||||
WMBox *box;
|
||||
|
||||
char *sectionName;
|
||||
|
||||
char *description;
|
||||
|
||||
CallbackRec callbacks;
|
||||
|
||||
WMWidget *parent;
|
||||
WMPixmap *icon;
|
||||
Pixmap quarter[4];
|
||||
|
||||
WMFrame *hcF;
|
||||
WMButton *hcB;
|
||||
WMFrame *hceF;
|
||||
WMSlider *hceS;
|
||||
WMLabel *hceL;
|
||||
WMFrame *hcdescF;
|
||||
WMLabel *hcdescL;
|
||||
|
||||
WMFrame *hcdelayF;
|
||||
WMButton *hcdelayB[5];
|
||||
WMTextField *hcdelayT;
|
||||
WMLabel *hcdelayL;
|
||||
WMLabel *icornerL;
|
||||
|
||||
WMFrame *hcactionsF;
|
||||
WMTextField *hcactionsT[4];
|
||||
|
||||
char hotcornerDelaySelected;
|
||||
} _Panel;
|
||||
|
||||
#define ICON_FILE "hotcorners"
|
||||
|
||||
#define DELAY_ICON "timer%i"
|
||||
#define DELAY_ICON_S "timer%is"
|
||||
|
||||
static void edgeCallback(WMWidget * w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel *) data;
|
||||
char buffer[64];
|
||||
int i;
|
||||
|
||||
/* Parameter not used, but tell the compiler that it is ok */
|
||||
(void) w;
|
||||
|
||||
i = WMGetSliderValue(panel->hceS);
|
||||
|
||||
if (i == 0)
|
||||
sprintf(buffer, _("OFF"));
|
||||
else if (i == 1)
|
||||
sprintf(buffer, _("1 pixel"));
|
||||
else if (i <= 4)
|
||||
/* 2-4 */
|
||||
sprintf(buffer, _("%i pixels"), i);
|
||||
else
|
||||
/* >4 */
|
||||
sprintf(buffer, _("%i pixels "), i); /* note space! */
|
||||
WMSetLabelText(panel->hceL, buffer);
|
||||
}
|
||||
|
||||
static void showData(_Panel * panel)
|
||||
{
|
||||
int i;
|
||||
char buffer[32];
|
||||
WMPropList *array;
|
||||
|
||||
if (!GetObjectForKey("HotCornerDelay"))
|
||||
i = 250;
|
||||
else
|
||||
i = GetIntegerForKey("HotCornerDelay");
|
||||
sprintf(buffer, "%i", i);
|
||||
WMSetTextFieldText(panel->hcdelayT, buffer);
|
||||
|
||||
switch (i) {
|
||||
case 0:
|
||||
WMPerformButtonClick(panel->hcdelayB[0]);
|
||||
break;
|
||||
case 250:
|
||||
WMPerformButtonClick(panel->hcdelayB[1]);
|
||||
break;
|
||||
case 500:
|
||||
WMPerformButtonClick(panel->hcdelayB[2]);
|
||||
break;
|
||||
case 750:
|
||||
WMPerformButtonClick(panel->hcdelayB[3]);
|
||||
break;
|
||||
case 1000:
|
||||
WMPerformButtonClick(panel->hcdelayB[4]);
|
||||
break;
|
||||
}
|
||||
|
||||
i = GetIntegerForKey("HotCornerEdge");
|
||||
i = i < 0 ? 2 : i;
|
||||
i = i > 10 ? 10 : i;
|
||||
WMSetSliderValue(panel->hceS, i);
|
||||
edgeCallback(NULL, panel);
|
||||
|
||||
WMSetButtonSelected(panel->hcB, GetBoolForKey("HotCorners"));
|
||||
|
||||
array = GetObjectForKey("HotCornerActions");
|
||||
if (array && (!WMIsPLArray(array) || WMGetPropListItemCount(array) != sizeof(panel->hcactionsT) / sizeof(WMTextField *))) {
|
||||
wwarning(_("invalid data in option HotCornerActions."));
|
||||
} else {
|
||||
if (array) {
|
||||
for (i = 0; i < sizeof(panel->hcactionsT) / sizeof(WMTextField *); i++)
|
||||
if (strcasecmp(WMGetFromPLString(WMGetFromPLArray(array, i)), "None") != 0)
|
||||
WMSetTextFieldText(panel->hcactionsT[i], WMGetFromPLString(WMGetFromPLArray(array, i)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void storeData(_Panel * panel)
|
||||
{
|
||||
WMPropList *list;
|
||||
WMPropList *tmp;
|
||||
char *str;
|
||||
int i;
|
||||
|
||||
SetBoolForKey(WMGetButtonSelected(panel->hcB), "HotCorners");
|
||||
|
||||
str = WMGetTextFieldText(panel->hcdelayT);
|
||||
if (sscanf(str, "%i", &i) != 1)
|
||||
i = 0;
|
||||
SetIntegerForKey(i, "HotCornerDelay");
|
||||
free(str);
|
||||
|
||||
SetIntegerForKey(WMGetSliderValue(panel->hceS), "HotCornerEdge");
|
||||
|
||||
list = WMCreatePLArray(NULL, NULL);
|
||||
for (i = 0; i < sizeof(panel->hcactionsT) / sizeof(WMTextField *); i++) {
|
||||
str = WMGetTextFieldText(panel->hcactionsT[i]);
|
||||
if (strlen(str) == 0)
|
||||
str = "None";
|
||||
tmp = WMCreatePLString(str);
|
||||
WMAddToPLArray(list, tmp);
|
||||
}
|
||||
SetObjectForKey(list, "HotCornerActions");
|
||||
}
|
||||
|
||||
static void pushDelayButton(WMWidget * w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel *) data;
|
||||
|
||||
panel->hotcornerDelaySelected = 1;
|
||||
if (w == panel->hcdelayB[0]) {
|
||||
WMSetTextFieldText(panel->hcdelayT, "0");
|
||||
} else if (w == panel->hcdelayB[1]) {
|
||||
WMSetTextFieldText(panel->hcdelayT, "250");
|
||||
} else if (w == panel->hcdelayB[2]) {
|
||||
WMSetTextFieldText(panel->hcdelayT, "500");
|
||||
} else if (w == panel->hcdelayB[3]) {
|
||||
WMSetTextFieldText(panel->hcdelayT, "700");
|
||||
} else if (w == panel->hcdelayB[4]) {
|
||||
WMSetTextFieldText(panel->hcdelayT, "1000");
|
||||
}
|
||||
}
|
||||
|
||||
static void delayTextChanged(void *observerData, WMNotification * notification)
|
||||
{
|
||||
_Panel *panel = (_Panel *) observerData;
|
||||
int i;
|
||||
|
||||
/* Parameter not used, but tell the compiler that it is ok */
|
||||
(void) notification;
|
||||
|
||||
if (panel->hotcornerDelaySelected) {
|
||||
for (i = 0; i < 5; i++) {
|
||||
WMSetButtonSelected(panel->hcdelayB[i], False);
|
||||
}
|
||||
panel->hotcornerDelaySelected = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void createPanel(Panel * p)
|
||||
{
|
||||
_Panel *panel = (_Panel *) p;
|
||||
int i;
|
||||
char *buf1, *buf2;
|
||||
WMColor *color;
|
||||
WMFont *font;
|
||||
char *path;
|
||||
RImage *xis = NULL;
|
||||
WMScreen *scr = WMWidgetScreen(panel->parent);
|
||||
RContext *rc = WMScreenRContext(scr);
|
||||
GC gc = XCreateGC(scr->display, WMWidgetXID(panel->parent), 0, NULL);
|
||||
|
||||
path = LocateImage(ICON_FILE);
|
||||
if (path) {
|
||||
xis = RLoadImage(rc, path, 0);
|
||||
if (!xis) {
|
||||
wwarning(_("could not load image file %s"), path);
|
||||
}
|
||||
wfree(path);
|
||||
}
|
||||
|
||||
panel->box = WMCreateBox(panel->parent);
|
||||
WMSetViewExpandsToParent(WMWidgetView(panel->box), 2, 2, 2, 2);
|
||||
|
||||
|
||||
/***************** Hot Corner lelf side frames *****************/
|
||||
panel->hcF = WMCreateFrame(panel->box);
|
||||
WMResizeWidget(panel->hcF, 240, 53);
|
||||
WMMoveWidget(panel->hcF, 15, 17);
|
||||
|
||||
panel->hcB = WMCreateSwitchButton(panel->hcF);
|
||||
WMResizeWidget(panel->hcB, 150, 30);
|
||||
WMMoveWidget(panel->hcB, 15, 12);
|
||||
WMSetButtonText(panel->hcB, _("Enable Hot Corners"));
|
||||
|
||||
WMMapSubwidgets(panel->hcF);
|
||||
|
||||
panel->hceF = WMCreateFrame(panel->box);
|
||||
WMSetFrameTitle(panel->hceF, _("Hot Corner Edge"));
|
||||
WMResizeWidget(panel->hceF, 240, 40);
|
||||
WMMoveWidget(panel->hceF, 15, 77);
|
||||
|
||||
panel->hceS = WMCreateSlider(panel->hceF);
|
||||
WMResizeWidget(panel->hceS, 80, 15);
|
||||
WMMoveWidget(panel->hceS, 15, 18);
|
||||
WMSetSliderMinValue(panel->hceS, 2);
|
||||
WMSetSliderMaxValue(panel->hceS, 10);
|
||||
WMSetSliderAction(panel->hceS, edgeCallback, panel);
|
||||
|
||||
panel->hceL = WMCreateLabel(panel->hceF);
|
||||
WMResizeWidget(panel->hceL, 100, 15);
|
||||
WMMoveWidget(panel->hceL, 105, 18);
|
||||
|
||||
WMMapSubwidgets(panel->hceF);
|
||||
|
||||
panel->hcdescF = WMCreateFrame(panel->box);
|
||||
WMResizeWidget(panel->hcdescF, 240, 95);
|
||||
WMMoveWidget(panel->hcdescF, 15, 130);
|
||||
|
||||
panel->hcdescL = WMCreateLabel(panel->hcdescF);
|
||||
WMResizeWidget(panel->hcdescL, 200, 60);
|
||||
WMMoveWidget(panel->hcdescL, 15, 10);
|
||||
WMSetLabelText(panel->hcdescL,
|
||||
_("Instructions:\n\n"
|
||||
" - assign command to corner\n"
|
||||
" - or leave it empty\n"));
|
||||
|
||||
WMMapSubwidgets(panel->hcdescF);
|
||||
|
||||
/***************** Hot Corner Action Delay *****************/
|
||||
panel->hcdelayF = WMCreateFrame(panel->box);
|
||||
WMResizeWidget(panel->hcdelayF, 245, 60);
|
||||
WMMoveWidget(panel->hcdelayF, 265, 10);
|
||||
|
||||
WMSetFrameTitle(panel->hcdelayF, _("Hot Corner Delay"));
|
||||
|
||||
buf1 = wmalloc(strlen(DELAY_ICON) + 1);
|
||||
buf2 = wmalloc(strlen(DELAY_ICON_S) + 1);
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
char *path;
|
||||
|
||||
panel->hcdelayB[i] = WMCreateCustomButton(panel->hcdelayF, WBBStateChangeMask);
|
||||
WMResizeWidget(panel->hcdelayB[i], 25, 25);
|
||||
WMMoveWidget(panel->hcdelayB[i], 12 + (30 * i), 25);
|
||||
WMSetButtonBordered(panel->hcdelayB[i], False);
|
||||
WMSetButtonImagePosition(panel->hcdelayB[i], WIPImageOnly);
|
||||
WMSetButtonAction(panel->hcdelayB[i], pushDelayButton, panel);
|
||||
if (i > 0)
|
||||
WMGroupButtons(panel->hcdelayB[0], panel->hcdelayB[i]);
|
||||
sprintf(buf1, DELAY_ICON, i);
|
||||
sprintf(buf2, DELAY_ICON_S, i);
|
||||
path = LocateImage(buf1);
|
||||
if (path) {
|
||||
panel->icon = WMCreatePixmapFromFile(scr, path);
|
||||
if (panel->icon) {
|
||||
WMSetButtonImage(panel->hcdelayB[i], panel->icon);
|
||||
WMReleasePixmap(panel->icon);
|
||||
} else {
|
||||
wwarning(_("could not load icon file %s"), path);
|
||||
}
|
||||
wfree(path);
|
||||
}
|
||||
path = LocateImage(buf2);
|
||||
if (path) {
|
||||
panel->icon = WMCreatePixmapFromFile(scr, path);
|
||||
if (panel->icon) {
|
||||
WMSetButtonAltImage(panel->hcdelayB[i], panel->icon);
|
||||
WMReleasePixmap(panel->icon);
|
||||
} else {
|
||||
wwarning(_("could not load icon file %s"), path);
|
||||
}
|
||||
wfree(path);
|
||||
}
|
||||
}
|
||||
wfree(buf1);
|
||||
wfree(buf2);
|
||||
|
||||
panel->hcdelayT = WMCreateTextField(panel->hcdelayF);
|
||||
|
||||
WMResizeWidget(panel->hcdelayT, 36, 20);
|
||||
WMMoveWidget(panel->hcdelayT, 165, 28);
|
||||
WMAddNotificationObserver(delayTextChanged, panel, WMTextDidChangeNotification, panel->hcdelayT);
|
||||
|
||||
panel->hcdelayL = WMCreateLabel(panel->hcdelayF);
|
||||
WMResizeWidget(panel->hcdelayL, 36, 16);
|
||||
WMMoveWidget(panel->hcdelayL, 205, 32);
|
||||
WMSetLabelText(panel->hcdelayL, _("ms"));
|
||||
|
||||
color = WMDarkGrayColor(scr);
|
||||
font = WMSystemFontOfSize(scr, 10);
|
||||
|
||||
WMSetLabelTextColor(panel->hcdelayL, color);
|
||||
WMSetLabelFont(panel->hcdelayL, font);
|
||||
|
||||
WMReleaseColor(color);
|
||||
WMReleaseFont(font);
|
||||
|
||||
WMMapSubwidgets(panel->hcdelayF);
|
||||
|
||||
/***************** Set Hot Corner Actions ****************/
|
||||
panel->hcactionsF = WMCreateFrame(panel->box);
|
||||
WMSetFrameTitle(panel->hcactionsF, _("Hot Corner Actions"));
|
||||
WMResizeWidget(panel->hcactionsF, 245, 148);
|
||||
WMMoveWidget(panel->hcactionsF, 265, 77);
|
||||
|
||||
panel->icornerL = WMCreateLabel(panel->hcactionsF);
|
||||
WMResizeWidget(panel->icornerL, 24, 24);
|
||||
WMMoveWidget(panel->icornerL, 10, 18);
|
||||
WMSetLabelImagePosition(panel->icornerL, WIPImageOnly);
|
||||
CreateImages(scr, rc, xis, ICON_FILE, &panel->icon, NULL);
|
||||
if (panel->icon)
|
||||
{
|
||||
WMPixmap *nicon;
|
||||
|
||||
panel->quarter[0] = XCreatePixmap(scr->display, WMWidgetXID(panel->parent), panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
XCopyArea(scr->display, WMGetPixmapXID(panel->icon), panel->quarter[0], gc, 0, 0, panel->icon->width/2, panel->icon->height/2, 0, 0);
|
||||
nicon = WMCreatePixmapFromXPixmaps(scr, panel->quarter[0], WMGetPixmapMaskXID(panel->icon),
|
||||
panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
WMSetLabelImage(panel->icornerL, nicon);
|
||||
WMReleasePixmap(nicon);
|
||||
}
|
||||
|
||||
panel->hcactionsT[0] = WMCreateTextField(panel->hcactionsF);
|
||||
WMResizeWidget(panel->hcactionsT[0], 180, 20);
|
||||
WMMoveWidget(panel->hcactionsT[0], 50, 20);
|
||||
|
||||
panel->icornerL = WMCreateLabel(panel->hcactionsF);
|
||||
WMResizeWidget(panel->icornerL, 24, 24);
|
||||
WMMoveWidget(panel->icornerL, 10, 48);
|
||||
WMSetLabelImagePosition(panel->icornerL, WIPImageOnly);
|
||||
if (panel->icon)
|
||||
{
|
||||
WMPixmap *nicon;
|
||||
|
||||
panel->quarter[1] = XCreatePixmap(scr->display, WMWidgetXID(panel->parent), panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
XCopyArea(scr->display, WMGetPixmapXID(panel->icon), panel->quarter[1], gc, panel->icon->width/2, 0, panel->icon->width/2, panel->icon->height/2, 0, 0);
|
||||
nicon = WMCreatePixmapFromXPixmaps(scr, panel->quarter[1], WMGetPixmapMaskXID(panel->icon),
|
||||
panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
WMSetLabelImage(panel->icornerL, nicon);
|
||||
WMReleasePixmap(nicon);
|
||||
}
|
||||
|
||||
panel->hcactionsT[1] = WMCreateTextField(panel->hcactionsF);
|
||||
WMResizeWidget(panel->hcactionsT[1], 180, 20);
|
||||
WMMoveWidget(panel->hcactionsT[1], 50, 50);
|
||||
|
||||
panel->icornerL = WMCreateLabel(panel->hcactionsF);
|
||||
WMResizeWidget(panel->icornerL, 24, 24);
|
||||
WMMoveWidget(panel->icornerL, 10, 78);
|
||||
WMSetLabelImagePosition(panel->icornerL, WIPImageOnly);
|
||||
if (panel->icon)
|
||||
{
|
||||
WMPixmap *nicon;
|
||||
|
||||
panel->quarter[2] = XCreatePixmap(scr->display, WMWidgetXID(panel->parent), panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
XCopyArea(scr->display, WMGetPixmapXID(panel->icon), panel->quarter[2], gc, 0, panel->icon->height/2, panel->icon->width/2, panel->icon->height/2, 0, 0);
|
||||
nicon = WMCreatePixmapFromXPixmaps(scr, panel->quarter[2], WMGetPixmapMaskXID(panel->icon),
|
||||
panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
WMSetLabelImage(panel->icornerL, nicon);
|
||||
WMReleasePixmap(nicon);
|
||||
}
|
||||
panel->hcactionsT[2] = WMCreateTextField(panel->hcactionsF);
|
||||
WMResizeWidget(panel->hcactionsT[2], 180, 20);
|
||||
WMMoveWidget(panel->hcactionsT[2], 50, 80);
|
||||
|
||||
panel->icornerL = WMCreateLabel(panel->hcactionsF);
|
||||
WMResizeWidget(panel->icornerL, 24, 24);
|
||||
WMMoveWidget(panel->icornerL, 10, 108);
|
||||
WMSetLabelImagePosition(panel->icornerL, WIPImageOnly);
|
||||
if (panel->icon)
|
||||
{
|
||||
WMPixmap *nicon;
|
||||
|
||||
panel->quarter[3] = XCreatePixmap(scr->display, WMWidgetXID(panel->parent), panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
XCopyArea(scr->display, WMGetPixmapXID(panel->icon), panel->quarter[3], gc, panel->icon->width/2, panel->icon->height/2, panel->icon->width/2, panel->icon->height/2, 0, 0);
|
||||
nicon = WMCreatePixmapFromXPixmaps(scr, panel->quarter[3], WMGetPixmapMaskXID(panel->icon),
|
||||
panel->icon->width/2, panel->icon->height/2, WMScreenDepth(scr));
|
||||
WMSetLabelImage(panel->icornerL, nicon);
|
||||
WMReleasePixmap(nicon);
|
||||
}
|
||||
|
||||
panel->hcactionsT[3] = WMCreateTextField(panel->hcactionsF);
|
||||
WMResizeWidget(panel->hcactionsT[3], 180, 20);
|
||||
WMMoveWidget(panel->hcactionsT[3], 50, 107);
|
||||
|
||||
WMMapSubwidgets(panel->hcactionsF);
|
||||
|
||||
if (xis)
|
||||
RReleaseImage(xis);
|
||||
XFreeGC(scr->display, gc);
|
||||
|
||||
WMRealizeWidget(panel->box);
|
||||
WMMapSubwidgets(panel->box);
|
||||
|
||||
showData(panel);
|
||||
}
|
||||
static void prepareForClose(_Panel *panel)
|
||||
{
|
||||
int i;
|
||||
WMScreen *scr = WMWidgetScreen(panel->parent);
|
||||
|
||||
WMReleasePixmap(panel->icon);
|
||||
for (i = 0; i < sizeof(panel->quarter) / sizeof(Pixmap); i++)
|
||||
XFreePixmap(scr->display, panel->quarter[i]);
|
||||
}
|
||||
|
||||
Panel *InitHotCornerShortcuts(WMWidget *parent)
|
||||
{
|
||||
_Panel *panel;
|
||||
|
||||
panel = wmalloc(sizeof(_Panel));
|
||||
|
||||
panel->sectionName = _("Hot Corner Shortcut Preferences");
|
||||
panel->description = _("Choose actions to perform when you move the\n"
|
||||
"mouse pointer to the screen corners.");
|
||||
panel->parent = parent;
|
||||
|
||||
panel->callbacks.createWidgets = createPanel;
|
||||
panel->callbacks.updateDomain = storeData;
|
||||
panel->callbacks.prepareForClose = prepareForClose;
|
||||
|
||||
AddSection(panel, ICON_FILE);
|
||||
|
||||
return panel;
|
||||
}
|
||||
@@ -65,7 +65,7 @@ typedef struct _Panel {
|
||||
* First parameter is the internal keyword known by WMaker
|
||||
* Second is the text displayed to the user
|
||||
*/
|
||||
static const struct {
|
||||
static struct keyOption {
|
||||
const char *key;
|
||||
const char *title;
|
||||
} keyOptions[] = {
|
||||
@@ -84,11 +84,12 @@ static const struct {
|
||||
{ "RHMaximizeKey", N_("Maximize active window right half") },
|
||||
{ "THMaximizeKey", N_("Maximize active window top half") },
|
||||
{ "BHMaximizeKey", N_("Maximize active window bottom half") },
|
||||
{ "LTCMaximizeKey", N_("Maximize active window left top corner") },
|
||||
{ "RTCMaximizeKey", N_("Maximize active window right top corner") },
|
||||
{ "LBCMaximizeKey", N_("Maximize active window left bottom corner") },
|
||||
{ "RBCMaximizeKey", N_("Maximize active window right bottom corner") },
|
||||
{ "MaximusKey", N_("Maximus: Tiled maximization ") },
|
||||
{ "TLCMaximizeKey", N_("Maximize active window top left corner") },
|
||||
{ "TRCMaximizeKey", N_("Maximize active window top right corner") },
|
||||
{ "BLCMaximizeKey", N_("Maximize active window bottom left corner") },
|
||||
{ "BRCMaximizeKey", N_("Maximize active window bottom right corner") },
|
||||
{ "MaximusKey", N_("Tile active window") },
|
||||
{ "CenterKey", N_("Center active window") },
|
||||
{ "KeepOnTopKey", N_("Toggle window on top status") },
|
||||
{ "KeepAtBottomKey",N_("Toggle window at bottom status") },
|
||||
{ "OmnipresentKey", N_("Toggle window omnipresent status") },
|
||||
@@ -154,10 +155,14 @@ static const struct {
|
||||
|
||||
/* Misc. */
|
||||
{ "WindowRelaunchKey", N_("Launch new instance of application") },
|
||||
{ "ScreenSwitchKey", N_("Switch to Next Screen/Monitor") },
|
||||
{ "ScreenSwitchKey", N_("Switch to next screen/monitor") },
|
||||
{ "RunKey", N_("Run application") },
|
||||
{ "ExitKey", N_("Exit Window Maker") },
|
||||
{ "DockRaiseLowerKey", N_("Raise/Lower Dock") },
|
||||
{ "ClipRaiseLowerKey", N_("Raise/Lower Clip") }
|
||||
{ "ClipRaiseLowerKey", N_("Raise/Lower Clip") },
|
||||
{ "ScreenCaptureKey", N_("Capture the entire screen") },
|
||||
{ "WindowCaptureKey", N_("Capture a window") },
|
||||
{ "PartialCaptureKey", N_("Capture a portion of the screen") }
|
||||
#ifdef XKB_MODELOCK
|
||||
,{ "ToggleKbdModeKey", N_("Toggle keyboard language") }
|
||||
#endif /* XKB_MODELOCK */
|
||||
@@ -316,11 +321,8 @@ char *capture_shortcut(Display *dpy, Bool *capturing, Bool convert_case)
|
||||
if (ev.type == KeyPress && ev.xkey.keycode != 0) {
|
||||
numlock_mask = NumLockMask(dpy);
|
||||
|
||||
if (xext_xkb_supported)
|
||||
/* conditional mask check to get numeric keypad keys */
|
||||
ksym = XkbKeycodeToKeysym(dpy, ev.xkey.keycode, 0, ev.xkey.state & numlock_mask?1:0);
|
||||
else
|
||||
ksym = XKeycodeToKeysym(dpy, ev.xkey.keycode, 0);
|
||||
/* conditional mask check to get numeric keypad keys */
|
||||
ksym = W_KeycodeToKeysym(dpy, ev.xkey.keycode, ev.xkey.state & numlock_mask?1:0);
|
||||
|
||||
if (!IsModifierKey(ksym)) {
|
||||
if (convert_case) {
|
||||
@@ -368,6 +370,36 @@ char *capture_shortcut(Display *dpy, Bool *capturing, Bool convert_case)
|
||||
return wstrdup(buffer);
|
||||
}
|
||||
|
||||
/*
|
||||
* check if the keystr entered is already set to another action
|
||||
* if found it returns the position in the keyOptions
|
||||
*/
|
||||
static int isKeySet(_Panel *panel, char *keystr)
|
||||
{
|
||||
int i;
|
||||
char *str;
|
||||
|
||||
for (i = 0; i < panel->actionCount; i++) {
|
||||
str = NULL;
|
||||
if (panel->shortcuts[i]) {
|
||||
str = wtrimspace(panel->shortcuts[i]);
|
||||
if (strlen(str) == 0) {
|
||||
wfree(str);
|
||||
str = NULL;
|
||||
}
|
||||
}
|
||||
if (str) {
|
||||
if (strcmp(keystr, str) == 0) {
|
||||
wfree(str);
|
||||
return i;
|
||||
}
|
||||
wfree(str);
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void captureClick(WMWidget * w, void *data)
|
||||
{
|
||||
_Panel *panel = (_Panel *) data;
|
||||
@@ -382,17 +414,31 @@ static void captureClick(WMWidget * w, void *data)
|
||||
XGrabKeyboard(dpy, WMWidgetXID(panel->parent), True, GrabModeAsync, GrabModeAsync, CurrentTime);
|
||||
shortcut = capture_shortcut(dpy, &panel->capturing, 1);
|
||||
if (shortcut) {
|
||||
int key_idx = -1;
|
||||
int row = WMGetListSelectedItemRow(panel->actLs);
|
||||
|
||||
WMSetTextFieldText(panel->shoT, shortcut);
|
||||
if (row >= 0) {
|
||||
if (panel->shortcuts[row])
|
||||
wfree(panel->shortcuts[row]);
|
||||
panel->shortcuts[row] = shortcut;
|
||||
key_idx = isKeySet(panel, shortcut);
|
||||
if (key_idx >= 0 && (key_idx != row)) {
|
||||
char *msg;
|
||||
|
||||
WMRedisplayWidget(panel->actLs);
|
||||
} else {
|
||||
msg = wstrconcat(_("Key shortcut already in use by the "), _(keyOptions[key_idx].title));
|
||||
WMRunAlertPanel(WMWidgetScreen(w), GetWindow(),
|
||||
_("Error"),
|
||||
msg,
|
||||
_("OK"), NULL, NULL);
|
||||
wfree(msg);
|
||||
wfree(shortcut);
|
||||
} else {
|
||||
WMSetTextFieldText(panel->shoT, shortcut);
|
||||
if (row >= 0) {
|
||||
if (panel->shortcuts[row])
|
||||
wfree(panel->shortcuts[row]);
|
||||
panel->shortcuts[row] = shortcut;
|
||||
|
||||
WMRedisplayWidget(panel->actLs);
|
||||
} else {
|
||||
wfree(shortcut);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -499,6 +545,20 @@ static void paintItem(WMList * lPtr, int index, Drawable d, char *text, int stat
|
||||
WMDrawString(scr, d, panel->black, panel->font, x + 20, y, text, strlen(text));
|
||||
}
|
||||
|
||||
static int cmpKeyOptions(const void *v1, const void *v2)
|
||||
{
|
||||
int rc;
|
||||
const struct keyOption *opt1 = (struct keyOption *)v1;
|
||||
const struct keyOption *opt2 = (struct keyOption *)v2;
|
||||
|
||||
if ((rc = strncmp(opt1->title, opt2->title, 20)) < 0)
|
||||
return -1;
|
||||
else if (rc > 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void createPanel(Panel * p)
|
||||
{
|
||||
_Panel *panel = (_Panel *) p;
|
||||
@@ -538,6 +598,7 @@ static void createPanel(Panel * p)
|
||||
WMSetListUserDrawProc(panel->actLs, paintItem);
|
||||
WMHangData(panel->actLs, panel);
|
||||
|
||||
qsort(keyOptions, wlengthof(keyOptions), sizeof(keyOptions[0]), cmpKeyOptions);
|
||||
for (i = 0; i < wlengthof(keyOptions); i++) {
|
||||
WMAddListItem(panel->actLs, _(keyOptions[i].title));
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ WPrefs_SOURCES = \
|
||||
Expert.c \
|
||||
Focus.c \
|
||||
FontSimple.c \
|
||||
HotCornerShortcuts.c \
|
||||
Icons.c \
|
||||
KeyboardShortcuts.c \
|
||||
Menu.c \
|
||||
|
||||
@@ -291,6 +291,8 @@ static void changedItemPad(WMWidget * w, void *data)
|
||||
_Panel *panel = (_Panel *) data;
|
||||
int padn = WMGetPopUpButtonSelectedItem(w);
|
||||
|
||||
if (padn < 0)
|
||||
return;
|
||||
WMUnmapWidget(panel->itemPad[panel->currentPad]);
|
||||
WMMapWidget(panel->itemPad[padn]);
|
||||
|
||||
|
||||
@@ -381,10 +381,7 @@ static void fillModifierPopUp(WMPopUpButton * pop)
|
||||
if (mapping->modifiermap[idx] != 0) {
|
||||
int l;
|
||||
for (l = 0; l < 4; l++) {
|
||||
if (xext_xkb_supported)
|
||||
ksym = XkbKeycodeToKeysym(dpy, mapping->modifiermap[idx], 0, l);
|
||||
else
|
||||
ksym = XKeycodeToKeysym(dpy, mapping->modifiermap[idx], 0);
|
||||
ksym = W_KeycodeToKeysym(dpy, mapping->modifiermap[idx], l);
|
||||
if (ksym != NoSymbol)
|
||||
break;
|
||||
}
|
||||
@@ -751,6 +748,8 @@ static void storeData(_Panel * panel)
|
||||
int action;
|
||||
|
||||
action = WMGetPopUpButtonSelectedItem(panel->mouse_action[i].popup);
|
||||
if (action < 0)
|
||||
continue;
|
||||
if (button_list[i].type == T_BUTTON)
|
||||
db_value = button_actions[action].db_value;
|
||||
else
|
||||
|
||||
@@ -196,9 +196,13 @@ static void storeData(_Panel * panel)
|
||||
int i;
|
||||
|
||||
i = WMGetPopUpButtonSelectedItem(panel->sizeP);
|
||||
if (i < 0)
|
||||
return;
|
||||
SetStringForKey(resize_display[i].db_value, "ResizeDisplay");
|
||||
|
||||
i = WMGetPopUpButtonSelectedItem(panel->posiP);
|
||||
if (i < 0)
|
||||
return;
|
||||
SetStringForKey(move_display[i].db_value, "MoveDisplay");
|
||||
|
||||
lr = WMGetButtonSelected(panel->lrB);
|
||||
|
||||
@@ -689,7 +689,7 @@ static void changeTypeCallback(WMWidget *w, void *data)
|
||||
int i;
|
||||
|
||||
newType = WMGetPopUpButtonSelectedItem(w);
|
||||
if (newType == panel->currentType)
|
||||
if (newType < 0 || newType == panel->currentType)
|
||||
return;
|
||||
|
||||
if (panel->currentType >= 0) {
|
||||
|
||||
@@ -575,6 +575,7 @@ void Initialize(WMScreen * scr)
|
||||
InitKeyboardSettings(WPrefs.banner);
|
||||
#endif
|
||||
InitKeyboardShortcuts(WPrefs.banner);
|
||||
InitHotCornerShortcuts(WPrefs.banner);
|
||||
InitMouseSettings(WPrefs.banner);
|
||||
|
||||
InitAppearance(WPrefs.banner);
|
||||
|
||||
+2
-1
@@ -33,6 +33,7 @@
|
||||
#include <wraster.h>
|
||||
|
||||
#include <WINGs/WINGs.h>
|
||||
#include <WINGs/WINGsP.h>
|
||||
|
||||
/* Needed for HAVE_LIBINTL_H and EXTENDED_WINDOWSHORTCUT */
|
||||
#include "../src/wconfig.h"
|
||||
@@ -54,7 +55,6 @@
|
||||
/****/
|
||||
|
||||
extern char *NOptionValueChanged;
|
||||
extern Bool xext_xkb_supported;
|
||||
|
||||
typedef struct _Panel Panel;
|
||||
|
||||
@@ -155,6 +155,7 @@ Panel *InitDocks(WMWidget *parent);
|
||||
Panel *InitExpert(WMWidget *parent);
|
||||
Panel *InitFocus(WMWidget *parent);
|
||||
Panel *InitFontSimple(WMWidget *parent);
|
||||
Panel *InitHotCornerShortcuts(WMWidget *parent);
|
||||
Panel *InitIcons(WMWidget *parent);
|
||||
Panel *InitKeyboardShortcuts(WMWidget *parent);
|
||||
Panel *InitMenu(WMWidget *parent);
|
||||
|
||||
@@ -207,12 +207,15 @@ static void createPanel(Panel * p)
|
||||
|
||||
static void storeData(_Panel * panel)
|
||||
{
|
||||
int tmp = WMGetPopUpButtonSelectedItem(panel->posP);
|
||||
|
||||
if (tmp < 0)
|
||||
return;
|
||||
SetBoolForKey(!WMGetButtonSelected(panel->linkB), "DontLinkWorkspaces");
|
||||
SetBoolForKey(WMGetButtonSelected(panel->cyclB), "CycleWorkspaces");
|
||||
SetBoolForKey(WMGetButtonSelected(panel->newB), "AdvanceToNewWorkspace");
|
||||
|
||||
SetStringForKey(WSNamePositions[WMGetPopUpButtonSelectedItem(panel->posP)],
|
||||
"WorkspaceNameDisplayPosition");
|
||||
SetStringForKey(WSNamePositions[tmp], "WorkspaceNameDisplayPosition");
|
||||
}
|
||||
|
||||
Panel *InitWorkspace(WMWidget *parent)
|
||||
|
||||
@@ -1150,7 +1150,7 @@ static void dragItem(WEditMenu * menu, WEditMenuItem * item, Bool copy)
|
||||
static XColor back = { 0, 0xffff, 0xffff, 0xffff, DoRed | DoGreen | DoBlue, 0 };
|
||||
Display *dpy = W_VIEW_DISPLAY(menu->view);
|
||||
WMScreen *scr = W_VIEW_SCREEN(menu->view);
|
||||
int x, y;
|
||||
int x = 0, y = 0;
|
||||
int dx, dy;
|
||||
Bool done = False;
|
||||
Window blaw;
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
#endif
|
||||
|
||||
char *NOptionValueChanged = "NOptionValueChanged";
|
||||
Bool xext_xkb_supported = False;
|
||||
|
||||
|
||||
#define MAX_DEATHS 64
|
||||
|
||||
@@ -157,8 +155,6 @@ int main(int argc, char **argv)
|
||||
exit(0);
|
||||
}
|
||||
|
||||
xext_xkb_supported = XkbQueryExtension(dpy, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
WMPLSetCaseSensitive(False);
|
||||
|
||||
Initialize(scr);
|
||||
|
||||
@@ -5,7 +5,8 @@ CATALOGS = @WPREFSMOFILES@
|
||||
CLEANFILES = $(DOMAIN).pot $(CATALOGS)
|
||||
|
||||
EXTRA_DIST = bg.po ca.po cs.po de.po es.po et.po fi.po fr.po fy.po hr.po hu.po \
|
||||
it.po ja.po ko.po nl.po pt.po ru.po sk.po tr.po uk.po zh_CN.po zh_TW.po
|
||||
it.po ja.po ko.po nl.po pt.po ru.po sk.po sr.po tr.po uk.po zh_CN.po \
|
||||
zh_TW.po
|
||||
|
||||
POTFILES = \
|
||||
$(top_srcdir)/WPrefs.app/Appearance.c \
|
||||
@@ -14,6 +15,7 @@ POTFILES = \
|
||||
$(top_srcdir)/WPrefs.app/Expert.c \
|
||||
$(top_srcdir)/WPrefs.app/Focus.c \
|
||||
$(top_srcdir)/WPrefs.app/FontSimple.c \
|
||||
$(top_srcdir)/WPrefs.app/HotCornerShortcuts.c \
|
||||
$(top_srcdir)/WPrefs.app/Icons.c \
|
||||
$(top_srcdir)/WPrefs.app/KeyboardShortcuts.c \
|
||||
$(top_srcdir)/WPrefs.app/Menu.c \
|
||||
|
||||
@@ -26,3 +26,4 @@ et.po Estonian Ivar Smolin <okul@linux.ee>
|
||||
ca.po Catalan Ernest Adrogué <eadrogue@gmx.net>
|
||||
nl.po Dutch Alwin <translations@ziggo.nl>
|
||||
fy.po Frisian Alwin <translations@ziggo.nl>
|
||||
sr.po Serbian Strahinya Radich <contact@strahinja.org>
|
||||
|
||||
@@ -8,6 +8,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-04-18 23:22+03:00\n"
|
||||
"Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n"
|
||||
"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -14,6 +14,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2003-09-16 23:15+0200\n"
|
||||
"Last-Translator: Ernest Adrogué <eadrogue@gmx.net>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -16,6 +16,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-10-14 21:07+0000\n"
|
||||
"Last-Translator: Jiří Hnídek <jiri.hnidek@vslib.cz>\n"
|
||||
"Language-Team: czech <cs@li.org>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: unknown\n"
|
||||
|
||||
@@ -18,6 +18,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2010-02-02 10:49+0100\n"
|
||||
"Last-Translator: Carlos R. Mafra <crmafra@gmail.com>\n"
|
||||
"Language-Team: German <>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -8,6 +8,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2003-09-19 03:05-0400\n"
|
||||
"Last-Translator: Alberto Giménez <algibe@teleline.es>\n"
|
||||
"Language-Team: Spanish \n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: unknown\n"
|
||||
|
||||
+3
-2
@@ -8,6 +8,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-09-05 09:40+0200\n"
|
||||
"Last-Translator: Ivar Smolin <okul@linux.ee>\n"
|
||||
"Language-Team: Estonian <linux-ee@eenet.ee>\n"
|
||||
"Language: et\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -475,7 +476,7 @@ msgstr "Window Maker vőttis vastu signaali %i."
|
||||
|
||||
#: ../src/dialog.c:1707
|
||||
msgid ""
|
||||
" This fatal error occured probably due to a bug. Please fill the included "
|
||||
" This fatal error occurred probably due to a bug. Please fill the included "
|
||||
"BUGFORM and report it to bugs@windowmaker.info."
|
||||
msgstr ""
|
||||
" See fataalviga on arvatavasti pőhjustatud programmi veast. Palun täitke "
|
||||
@@ -1437,7 +1438,7 @@ msgstr "ei őnnestu käivitada alternatiivset aknahaldurit. Annan alla."
|
||||
|
||||
#: ../src/startup.c:419
|
||||
msgid ""
|
||||
"a fatal error has occured, probably due to a bug. Please fill the included "
|
||||
"a fatal error has occurred, probably due to a bug. Please fill the included "
|
||||
"BUGFORM and report it."
|
||||
msgstr ""
|
||||
"aset on leidnud fataalne viga, arvatavasti programmi viga. Palun täida "
|
||||
|
||||
@@ -11,6 +11,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-09-03 22:18+03:00\n"
|
||||
"Last-Translator: Tomi Kajala <tomi@iki.fi>\n"
|
||||
"Language-Team: Finnish <fi@li.org>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 1999-07-28 16:31-0100\n"
|
||||
"Last-Translator: Antoine Hulin <antoine.hulin@origan.fdn.org>\n"
|
||||
"Language-Team: French <fr@li.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
@@ -9,6 +9,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 1998-08-24 14:36:41-0300\n"
|
||||
"Last-Translator: Toni Bilić tbilic@oliver.efos.hr \n"
|
||||
"Language-Team: Croatian \n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2014-02-18 00:33+0100\n"
|
||||
"Last-Translator: BALATON Zoltán <balaton@eik.bme.hu>\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Language: \n"
|
||||
"Language: hu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -11,6 +11,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-05-21\n"
|
||||
"Last-Translator: Michele Campeotto <micampe@f2s.com\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: unknown\n"
|
||||
|
||||
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2013-08-13 19:26+0900\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Language: ko\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2000-01-04 18:25-0300\n"
|
||||
"Last-Translator: Eliphas Levy Theodoro <eliphas@conectiva.com.br>\n"
|
||||
"Language-Team: Portuguese \n"
|
||||
"Language: pt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2002-09-12 17:45+0300\n"
|
||||
"Last-Translator: awn@bcs.zp.ua\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -18,6 +18,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2001-10-15 20:40+0100\n"
|
||||
"Last-Translator: Jan \"judas\" Tomka <judas@linux.sk>\n"
|
||||
"Language-Team: Slovak <sk@li.org>\n"
|
||||
"Language: sk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
+2654
File diff suppressed because it is too large
Load Diff
@@ -5,6 +5,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2004-09-06 21:42+4000\n"
|
||||
"Last-Translator: Victor Forsyuk <victor@ksi-linux.com>\n"
|
||||
"Language-Team: KSI Linux Ukrainian <uk@ksi-linux.com>\n"
|
||||
"Language: uk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
@@ -9,6 +9,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 1999-07-05 23:20+0800\n"
|
||||
"Last-Translator: Wang Jian <larkw@263.net>\n"
|
||||
"Language-Team: chinese <zh@li.org>\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
@@ -10,6 +10,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2005-01-11 17:46+0800\n"
|
||||
"Last-Translator: Li Wei Jih <lwj83@cs.ccu.edu.tw>\n"
|
||||
"Language-Team: chinese <zh@li.org>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
@@ -15,6 +15,7 @@ dist_tiffdata_DATA = \
|
||||
ergonomic.tiff \
|
||||
expert.tiff \
|
||||
fonts.tiff \
|
||||
hotcorners.tiff \
|
||||
iconprefs.tiff \
|
||||
keyboard.tiff \
|
||||
keyboardprefs.tiff \
|
||||
|
||||
Binary file not shown.
@@ -171,10 +171,7 @@ static void x_reset_modifier_mapping(Display * display)
|
||||
KeySym sym;
|
||||
|
||||
if (code) {
|
||||
if (xext_xkb_supported)
|
||||
sym = XkbKeycodeToKeysym(display, code, 0, column);
|
||||
else
|
||||
sym = XKeycodeToKeysym(display, code, column);
|
||||
sym = W_KeycodeToKeysym(display, code, column);
|
||||
} else {
|
||||
sym = NoSymbol;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ dist_xpmdata_DATA = \
|
||||
ergonomic.xpm \
|
||||
expert.xpm \
|
||||
fonts.xpm \
|
||||
hotcorners.xpm \
|
||||
iconprefs.xpm \
|
||||
keyboard.xpm \
|
||||
keyboardprefs.xpm \
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
/* XPM */
|
||||
static char * hotcorners_xpm[] = {
|
||||
"48 48 86 1",
|
||||
" c #2C2C2C",
|
||||
". c #FEFEFE",
|
||||
"+ c #505075",
|
||||
"@ c #4E4E74",
|
||||
"# c #515176",
|
||||
"$ c #4B4B72",
|
||||
"% c #494971",
|
||||
"& c #515175",
|
||||
"* c #4F4F74",
|
||||
"= c #4C4C73",
|
||||
"- c #696984",
|
||||
"; c #545477",
|
||||
"> c #5E5E7D",
|
||||
", c #676783",
|
||||
"' c #58587A",
|
||||
") c #5B5B7C",
|
||||
"! c #B1B1BB",
|
||||
"~ c #A5A5B1",
|
||||
"{ c #A1A1AE",
|
||||
"] c #AEAEB9",
|
||||
"^ c #79798F",
|
||||
"/ c #5C5C7C",
|
||||
"( c #D5D5DA",
|
||||
"_ c #E6E6E9",
|
||||
": c #E8E8EB",
|
||||
"< c #EDEDEF",
|
||||
"[ c #E7E7EA",
|
||||
"} c #FDFDFD",
|
||||
"| c #FFFFFF",
|
||||
"1 c #EBEBEC",
|
||||
"2 c #7F7F93",
|
||||
"3 c #484871",
|
||||
"4 c #7B7B85",
|
||||
"5 c #EFEFEF",
|
||||
"6 c #A6A6A6",
|
||||
"7 c #292959",
|
||||
"8 c #464670",
|
||||
"9 c #8C8C96",
|
||||
"0 c #F4F4F4",
|
||||
"a c #F5F5F6",
|
||||
"b c #F2F2F2",
|
||||
"c c #9797A6",
|
||||
"d c #474770",
|
||||
"e c #4D4D73",
|
||||
"f c #9393A3",
|
||||
"g c #F4F4F5",
|
||||
"h c #F3F3F3",
|
||||
"i c #EBEBEE",
|
||||
"j c #6D6D87",
|
||||
"k c #9D9DAB",
|
||||
"l c #F9F9F9",
|
||||
"m c #F1F1F1",
|
||||
"n c #A5A5A5",
|
||||
"o c #EAEAEA",
|
||||
"p c #6A6A86",
|
||||
"q c #D3D3D6",
|
||||
"r c #717171",
|
||||
"s c #848484",
|
||||
"t c #9F9FA3",
|
||||
"u c #47476F",
|
||||
"v c #323256",
|
||||
"w c #9B9B9A",
|
||||
"x c #888889",
|
||||
"y c #000012",
|
||||
"z c #6B6B6D",
|
||||
"A c #757587",
|
||||
"B c #46466D",
|
||||
"C c #3B3B47",
|
||||
"D c #2E2E50",
|
||||
"E c #242447",
|
||||
"F c #838383",
|
||||
"G c #919191",
|
||||
"H c #202041",
|
||||
"I c #4F4F73",
|
||||
"J c #4E4E72",
|
||||
"K c #232343",
|
||||
"L c #4F4F4F",
|
||||
"M c #252548",
|
||||
"N c #505074",
|
||||
"O c #3A3A57",
|
||||
"P c #404060",
|
||||
"Q c #505076",
|
||||
"R c #49496B",
|
||||
"S c #31314E",
|
||||
"T c #2F2F49",
|
||||
"U c #434362",
|
||||
" .",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++@#$%&*=+++++++++++++++++++++++++++%-;>,')@++.",
|
||||
" ++)!~{]]^@++++++++++++++++++++++++++/(_:<[!#++.",
|
||||
" ++'[.}|12*++++++++++++++++++++++++++345||.~$++.",
|
||||
" ++,<||}67+++++++++++++++++++++++++++890||}{%++a",
|
||||
" ++>:|||bcd+++++++++++++++++++++++++efg||}|]&++.",
|
||||
" ++;_5h||ij+++++++++++++++++++++++++@kl|mno]*++.",
|
||||
" ++pqrshltu++++++++++++++++++++++++++vwoxyzAe++.",
|
||||
" ++BCDEFGHI++++++++++++++++++++++++++JKLMNOP+++.",
|
||||
" ++QR+*STJ++++++++++++++++++++++++++++JU*++++++.",
|
||||
" +++++++*++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++QR+*STJ++++++++++++++++++++++++++++JTS*+RQ++.",
|
||||
" ++BCDEFGHI++++++++++++++++++++++++++IHGFEDCB++.",
|
||||
" ++pqrshltu++++++++++++++++++++++++++utlhsrqp++.",
|
||||
" ++;_5h||ij++++++++++++++++++++++++++ji||h5_;++.",
|
||||
" ++>:|||bcd++++++++++++++++++++++++++dcb|||:>++.",
|
||||
" ++,<||}67++++++++++++++++++++++++++++76}||<,++.",
|
||||
" ++'[.}|12*++++++++++++++++++++++++++*21|}.['++.",
|
||||
" ++)!~{]]^@++++++++++++++++++++++++++@^]]{~!)++.",
|
||||
" ++@#$%&*=++++++++++++++++++++++++++++=*&%$#@++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
" ++++++++++++++++++++++++++++++++++++++++++++++.",
|
||||
"................................................"};
|
||||
@@ -2,9 +2,9 @@
|
||||
static char *magick[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"50 40 95 2",
|
||||
" c Gray0",
|
||||
" c #000000",
|
||||
". c #010101",
|
||||
"X c Gray2",
|
||||
"X c #050505",
|
||||
"o c #040406",
|
||||
"O c #070707",
|
||||
"+ c #0a0a0d",
|
||||
@@ -20,14 +20,14 @@ static char *magick[] = {
|
||||
": c #4e4e4e",
|
||||
"> c #505055",
|
||||
", c #585858",
|
||||
"< c Gray37",
|
||||
"< c #5e5e5e",
|
||||
"1 c #494d62",
|
||||
"2 c #545066",
|
||||
"3 c #57556f",
|
||||
"4 c #5d627c",
|
||||
"5 c #604e42",
|
||||
"6 c Gray39",
|
||||
"7 c Gray41",
|
||||
"6 c #636363",
|
||||
"7 c #696969",
|
||||
"8 c #646475",
|
||||
"9 c #7e6a63",
|
||||
"0 c #75746d",
|
||||
@@ -67,36 +67,36 @@ static char *magick[] = {
|
||||
"D c #989799",
|
||||
"F c #9b9b9b",
|
||||
"G c #999e98",
|
||||
"H c Gray62",
|
||||
"H c #9e9e9e",
|
||||
"J c #9e9f9f",
|
||||
"K c #8d8cba",
|
||||
"L c #9995a0",
|
||||
"P c #a2a2a3",
|
||||
"I c #a7a7a8",
|
||||
"U c Gray66",
|
||||
"U c #a8a8a8",
|
||||
"Y c #acacac",
|
||||
"T c Gray68",
|
||||
"R c Gray69",
|
||||
"T c #adadad",
|
||||
"R c #b0b0b0",
|
||||
"E c #b2b2b2",
|
||||
"W c #b4b4b4",
|
||||
"Q c Gray71",
|
||||
"Q c #b5b5b5",
|
||||
"! c #b9b9b9",
|
||||
"~ c Gray73",
|
||||
"~ c #bababa",
|
||||
"^ c #bbbbbb",
|
||||
"/ c #a7a7c5",
|
||||
"( c #acadcf",
|
||||
") c #c0c0c0",
|
||||
"_ c #c3c3c3",
|
||||
"` c #c8c8c8",
|
||||
"' c Gray79",
|
||||
"] c Gray80",
|
||||
"' c #c9c9c9",
|
||||
"] c #cccccc",
|
||||
"[ c #dfdfdf",
|
||||
"{ c #e2e2e2",
|
||||
"} c Gray91",
|
||||
"} c #e8e8e8",
|
||||
"| c #e9e9e9",
|
||||
" . c Gray95",
|
||||
" . c #f2f2f2",
|
||||
".. c #fbfbfb",
|
||||
"X. c Gray100",
|
||||
"X. c #ffffff",
|
||||
/* pixels */
|
||||
"$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ } ",
|
||||
"$ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 } } } } } } } } ",
|
||||
|
||||
@@ -171,10 +171,10 @@
|
||||
RHMaximizeKey = None;
|
||||
THMaximizeKey = None;
|
||||
BHMaximizeKey = None;
|
||||
LTCMaximizeKey = None;
|
||||
RTCMaximizeKey = None;
|
||||
LBCMaximizeKey = None;
|
||||
RBCMaximizeKey = None;
|
||||
TLCMaximizeKey = None;
|
||||
TRCMaximizeKey = None;
|
||||
BLCMaximizeKey = None;
|
||||
BRCMaximizeKey = None;
|
||||
MaximusKey = None;
|
||||
KeepOnTopKey = None;
|
||||
KeepAtBottomKey = None;
|
||||
@@ -232,6 +232,10 @@
|
||||
WindowRelaunchKey = None;
|
||||
ScreenSwitchKey = None;
|
||||
RunKey = None;
|
||||
ExitKey = None;
|
||||
ScreenCaptureKey = Print;
|
||||
WindowCaptureKey = None;
|
||||
PartialCaptureKey = None;
|
||||
NormalCursor = (builtin, left_ptr);
|
||||
ArrowCursor = (builtin, top_left_arrow);
|
||||
MoveCursor = (builtin, fleur);
|
||||
|
||||
@@ -9,6 +9,7 @@ GENERATED_MENUS =\
|
||||
appearance.menu\
|
||||
appearance.menu.fy\
|
||||
appearance.menu.nl\
|
||||
appearance.menu.sr\
|
||||
menu\
|
||||
menu.bg\
|
||||
menu.fi\
|
||||
@@ -18,6 +19,7 @@ GENERATED_MENUS =\
|
||||
menu.nl\
|
||||
menu.ro\
|
||||
menu.sk\
|
||||
menu.sr\
|
||||
menu.zh_TW\
|
||||
plmenu\
|
||||
plmenu.bg\
|
||||
@@ -30,6 +32,7 @@ GENERATED_MENUS =\
|
||||
plmenu.pl\
|
||||
plmenu.ro\
|
||||
plmenu.sk\
|
||||
plmenu.sr\
|
||||
plmenu.zh_CN\
|
||||
plmenu.zh_TW\
|
||||
wmmacros
|
||||
@@ -67,6 +70,7 @@ dist_prefsdata_DATA =\
|
||||
background.menu\
|
||||
background.menu.fy\
|
||||
background.menu.nl\
|
||||
background.menu.sr\
|
||||
exitscript.sh\
|
||||
README\
|
||||
README.themes\
|
||||
|
||||
@@ -6,9 +6,9 @@ static char *magick[] = {
|
||||
". c #ededee",
|
||||
"X c #e7e7e7",
|
||||
"o c #e2e2e2",
|
||||
"O c gray87",
|
||||
"+ c gray85",
|
||||
"@ c gray76",
|
||||
"O c #dedede",
|
||||
"+ c #d9d9d9",
|
||||
"@ c #c2c2c2",
|
||||
"# c #010101",
|
||||
"$ c #4d505a",
|
||||
"% c #e0e0e6",
|
||||
|
||||
@@ -64,6 +64,7 @@ menu.bg Bulgarian Slavei Karadjov <slaff@exco.net>
|
||||
menu.sk Slovak judas@hell <tomka@oalevice.sk>
|
||||
menu.nl Dutch Alwin <translations@ziggo.nl>
|
||||
menu.fy Frisian Alwin <translations@ziggo.nl>
|
||||
menu.sr Serbian Strahinya Radich <contact@strahinja.org>
|
||||
|
||||
|
||||
|
||||
@@ -80,4 +81,5 @@ plmenu.sk Slovak judas@hell <tomka@oalevice.sk>
|
||||
plmenu.ja Japanese Seiichi SATO <sato@cvs-net.co.jp>
|
||||
plmenu.nl Dutch Alwin <translations@ziggo.nl>
|
||||
plmenu.fy Frisian Alwin <translations@ziggo.nl>
|
||||
plmenu.sr Serbian Strahinya Radich <contact@strahinja.org>
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#include "wmmacros"
|
||||
|
||||
"Изглед" MENU
|
||||
"Позадина" OPEN_MENU background.menu
|
||||
"Стилови" OPEN_MENU -noext STYLES_DIR USER_STYLES_DIR WITH setstyle
|
||||
"Теме" OPEN_MENU -noext THEMES_DIR USER_THEMES_DIR WITH setstyle
|
||||
"Сетови икона" OPEN_MENU -noext ICON_SETS_DIR USER_ICON_SETS_DIR WITH seticons
|
||||
"Сачувај сет икона" EXEC geticonset USER_ICON_SETS_DIR/"%a(Назив сета икона)"
|
||||
"Сачувај тему" EXEC getstyle -p "%a(Назив теме)"
|
||||
"Алат за подешавања" EXEC #wprefs#
|
||||
"Изглед" END
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
#include "wmmacros"
|
||||
|
||||
"Позадина" MENU
|
||||
"Једнобојна" MENU
|
||||
"Црна" WS_BACK '(solid, black)'
|
||||
"Плава" WS_BACK '(solid, "#505075")'
|
||||
"Индиго" WS_BACK '(solid, "#243e6c")'
|
||||
"Маринско плава" WS_BACK '(solid, "#224477")'
|
||||
"Тамно плава" WS_BACK '(solid, "#180090")'
|
||||
"Љубичаста" WS_BACK '(solid, "#554466")'
|
||||
"Боја жита" WS_BACK '(solid, "wheat4")'
|
||||
"Тамно сива" WS_BACK '(solid, "#333340")'
|
||||
"Боја вина" WS_BACK '(solid, "#400020")'
|
||||
"Једнобојна" END
|
||||
"Претапање" MENU
|
||||
"Залазак сунца" WS_BACK '(mvgradient, deepskyblue4, black, deepskyblue4, tomato4)'
|
||||
"Небо" WS_BACK '(vgradient, blue4, white)'
|
||||
"Нијансе плаве" WS_BACK '(vgradient, "#7080a5", "#101020")'
|
||||
"Индиго нијансе" WS_BACK '(vgradient, "#746ebc", "#242e4c")'
|
||||
"Нијансе љубичасте" WS_BACK '(vgradient, "#654c66", "#151426")'
|
||||
"Нијансе боје жита" WS_BACK '(vgradient, "#a09060", "#302010")'
|
||||
"Нијансе сиве" WS_BACK '(vgradient, "#636380", "#131318")'
|
||||
"Нијансе боје вина" WS_BACK '(vgradient, "#600040", "#180010")'
|
||||
"Претапање" END
|
||||
"Слике" MENU
|
||||
"Поплочано" OPEN_MENU BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH wmsetbg -u -t
|
||||
"Развучене" OPEN_MENU BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH wmsetbg -u -s
|
||||
"Центриране" OPEN_MENU BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH wmsetbg -u -e
|
||||
"Максимизоване" OPEN_MENU BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH wmsetbg -u -a
|
||||
"Попуњене" OPEN_MENU BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH wmsetbg -u -f
|
||||
"Слике" END
|
||||
"Позадина" END
|
||||
@@ -0,0 +1,199 @@
|
||||
/*
|
||||
* Root Menu definition for WindowMaker
|
||||
*
|
||||
* Syntax is:
|
||||
*
|
||||
* <Title> [SHORTCUT <Shortcut>] <Command> <Parameters>
|
||||
*
|
||||
* <Title> is any string to be used as title. Must be enclosed with " if it
|
||||
* has spaces
|
||||
*
|
||||
* SHORTCUT specifies a shortcut for that item. <Shortcut> has the
|
||||
* same syntax of the shortcuts key options in the
|
||||
* $HOME/GNUstep/Defaults/WindowMaker file, such as RootMenuKey or MiniaturizeKey.
|
||||
*
|
||||
* You can't specify a shortcut for a MENU or OPEN_MENU entry.
|
||||
*
|
||||
* <Command> one of the valid commands:
|
||||
* MENU - starts (sub)menu definition
|
||||
* END - end (sub)menu definition
|
||||
* OPEN_MENU - opens a menu from a file, pipe or directory(ies) contents
|
||||
* and eventually precede each with a command.
|
||||
* WORKSPACE_MENU - adds a submenu for workspace operations. Only one
|
||||
* workspace_menu is allowed.
|
||||
* EXEC <program> - executes an external program
|
||||
* SHEXEC <command> - executes a shell command (like gimp > /dev/null)
|
||||
* EXIT - exits the window manager
|
||||
* RESTART [<window manager>] - restarts WindowMaker or start another
|
||||
* window manager
|
||||
* REFRESH - refreshes the desktop
|
||||
* ARRANGE_ICONS - rearranges the icons on the workspace
|
||||
* SHUTDOWN - kills all clients (and close the X window session)
|
||||
* SHOW_ALL - unhides all windows on workspace
|
||||
* HIDE_OTHERS - hides all windows on the workspace, except the
|
||||
* focused one (or the last one that received focus)
|
||||
* SAVE_SESSION - saves the current state of the desktop, which include
|
||||
* all running applications, all their hints (geometry,
|
||||
* position on screen, workspace they live on, the dock
|
||||
* or clip from where they were launched, and
|
||||
* if minimized, shaded or hidden. Also saves the current
|
||||
* workspace the user is on. All will be restored on every
|
||||
* start of windowmaker until another SAVE_SESSION or
|
||||
* CLEAR_SESSION is used. If SaveSessionOnExit = Yes; in
|
||||
* WindowMaker domain file, then saving is automatically
|
||||
* done on every windowmaker exit, overwriting any
|
||||
* SAVE_SESSION or CLEAR_SESSION (see below).
|
||||
* CLEAR_SESSION - clears any previous saved session. This will not have
|
||||
* any effect if SaveSessionOnExit is True.
|
||||
* INFO - shows the Info Panel
|
||||
*
|
||||
* OPEN_MENU syntax:
|
||||
* 1. File menu handling.
|
||||
* // opens file.menu which must contain a valid menu file and inserts
|
||||
* // it in current position
|
||||
* OPEN_MENU file.menu
|
||||
* 2. Pipe menu handling.
|
||||
* // opens command and uses its stdout to construct menu.
|
||||
* // Command's output must be a valid menu description.
|
||||
* // The space between '|' and command itself is optional.
|
||||
* // Use '||' instead of '|' if you want the menu to always update
|
||||
* // when opened. It might be slow.
|
||||
* OPEN_MENU | command
|
||||
* OPEN_MENU || command
|
||||
* 3. Directory handling.
|
||||
* // Opens one or more directories and constructs a menu with all
|
||||
* // the subdirectories and executable files in them sorted
|
||||
* // alphabetically.
|
||||
* OPEN_MENU /some/dir [/some/other/dir ...]
|
||||
* 4. Directory handling with command.
|
||||
* // Opens one or more directories and constructs menu with all
|
||||
* // subdirectories and readable files in them sorted alphabetically,
|
||||
* // preceding each of them with command.
|
||||
* OPEN_MENU [options] /some/dir [/some/other/dir ...] WITH command -options
|
||||
* Options:
|
||||
* -noext strip whatever is after the last dot in the
|
||||
* file name
|
||||
*
|
||||
* // Use #usergnusteppath# as a placeholder for the path to the user
|
||||
* // GNUstep directory. Window Maker will replace this with the value
|
||||
* // of WMAKER_USER_ROOT, if this environment variable is set, or
|
||||
* // "~/GNUstep" otherwise
|
||||
*
|
||||
* <Parameters> is the program to execute.
|
||||
*
|
||||
* ** Options for command line in EXEC:
|
||||
* %s - substitute with current selection
|
||||
* %a(title[,prompt]) - opens an input box with the specified title and the
|
||||
* optional prompt and do substitution with what you typed
|
||||
* %w - substitute with XID for the current focused window
|
||||
* %W - substitute with the number of the current workspace
|
||||
*
|
||||
* You can override special characters (as % and ") with the \ character:
|
||||
* ex: xterm -T "\"Hello World\""
|
||||
*
|
||||
* You can also use character escapes, like \n
|
||||
*
|
||||
* Each MENU statement must have one mathching END statement at the end.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* "Test" MENU
|
||||
* "XTerm" EXEC xterm
|
||||
* // creates a submenu with the contents of /usr/openwin/bin
|
||||
* "XView apps" OPEN_MENU "/usr/openwin/bin"
|
||||
* // some X11 apps in different directories
|
||||
* "X11 apps" OPEN_MENU /usr/X11/bin $HOME/bin/X11
|
||||
* // set some background images
|
||||
* "Background" OPEN_MENU -noext $HOME/images /usr/share/images WITH wmsetbg -u -t
|
||||
* // inserts the style.menu in this entry
|
||||
* "Style" OPEN_MENU style.menu
|
||||
* "Test" END
|
||||
*/
|
||||
|
||||
#include "wmmacros"
|
||||
|
||||
"Апликације" MENU
|
||||
"Информације" MENU
|
||||
"Информациони панел" INFO_PANEL
|
||||
"Права" LEGAL_PANEL
|
||||
"Системска конзола" EXEC xconsole
|
||||
"Искоришћеност система" SHEXEC xosview || xload
|
||||
"Листа процеса" EXEC xterm -e top
|
||||
"Прегледач упутства" EXEC xman
|
||||
"Информације" END
|
||||
"Покрени..." SHEXEC %a(Покрени,Унесите наредбу за покретање:)
|
||||
"XTerm" EXEC xterm -sb
|
||||
"Mozilla Firefox" EXEC firefox
|
||||
"Радне површине" WORKSPACE_MENU
|
||||
"Апликације" MENU
|
||||
"Gimp" SHEXEC gimp >/dev/null
|
||||
"Ghostview" EXEC ghostview %a(GhostView,Enter file to view)
|
||||
"Xpdf" EXEC xpdf %a(Xpdf,Enter PDF to view)
|
||||
"Abiword" EXEC abiword
|
||||
"Dia" EXEC dia
|
||||
"OpenOffice.org" MENU
|
||||
"OpenOffice.org" EXEC ooffice
|
||||
"Писач" EXEC oowriter
|
||||
"Табела" EXEC oocalc
|
||||
"Цртање" EXEC oodraw
|
||||
"Презентације" EXEC ooimpress
|
||||
"OpenOffice.org" END
|
||||
|
||||
"Уређивачи" MENU
|
||||
"XEmacs" EXEC xemacs
|
||||
"Emacs" EXEC emacs
|
||||
"XJed" EXEC xjed
|
||||
"VI" EXEC xterm -e vi
|
||||
"GVIM" EXEC gvim
|
||||
"NEdit" EXEC nedit
|
||||
"Xedit" EXEC xedit
|
||||
"Уређивачи" END
|
||||
|
||||
"Мултимедија" MENU
|
||||
"XMMS" MENU
|
||||
"XMMS" EXEC xmms
|
||||
"XMMS пусти/паузирај" EXEC xmms -t
|
||||
"XMMS заустави" EXEC xmms -s
|
||||
"XMMS" END
|
||||
"Видео плејер Xine" EXEC xine
|
||||
"MPlayer" EXEC mplayer
|
||||
"Мултимедија" END
|
||||
"Апликације" END
|
||||
|
||||
"Помоћни програми" MENU
|
||||
"Калкулатор" EXEC xcalc
|
||||
"Особине прозора" SHEXEC xprop | xmessage -center -title 'xprop' -file -
|
||||
"Бирач фонта" EXEC xfontsel
|
||||
"Лупа" EXEC wmagnify
|
||||
"Мапа боја" EXEC xcmap
|
||||
"Убиј X апликацију" EXEC xkill
|
||||
"Помоћни програми" END
|
||||
|
||||
"Избор" MENU
|
||||
"Копирај" SHEXEC echo '%s' | wxcopy
|
||||
"Пошаљи мејлом на" EXEC xterm -name mail -T "Pine" -e pine %s
|
||||
"Прегледај веб читачем" EXEC netscape %s
|
||||
"Тражи у упутству" SHEXEC MANUAL_SEARCH(%s)
|
||||
"Избор" END
|
||||
|
||||
"Наредбе" MENU
|
||||
"Сакриј остале" HIDE_OTHERS
|
||||
"Прикажи све" SHOW_ALL
|
||||
"Поређај иконе" ARRANGE_ICONS
|
||||
"Освежи" REFRESH
|
||||
"Закључај" EXEC xlock -allowroot -usefirst
|
||||
"Наредбе" END
|
||||
|
||||
"Изглед" OPEN_MENU "appearance.menu"
|
||||
|
||||
"Сесија" MENU
|
||||
"Сачувај сесију" SAVE_SESSION
|
||||
"Очисти сесију" CLEAR_SESSION
|
||||
"Поново покрени Window Maker" RESTART
|
||||
"Покрени BlackBox" RESTART blackbox
|
||||
"Покрени IceWM" RESTART icewm
|
||||
"Изађи" EXIT
|
||||
"Сесија" END
|
||||
"Апликације" END
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
("Апликације",
|
||||
("Информације",
|
||||
("Информациони панел", INFO_PANEL),
|
||||
("Права", LEGAL_PANEL),
|
||||
("Системска конзола", EXEC, "xconsole"),
|
||||
("Искоришћеност система", SHEXEC, "xosview || xload"),
|
||||
("Листа процеса", EXEC, "xterm -e top"),
|
||||
("Прегледач упутства", EXEC, "xman")
|
||||
),
|
||||
("Покрени...", SHEXEC, "%a(Покрени,Унесите наредбу за покретање:)"),
|
||||
("XTerm", EXEC, "xterm -sb"),
|
||||
("Mozilla Firefox", EXEC, "firefox"),
|
||||
("Радне површине", WORKSPACE_MENU),
|
||||
("Апликације",
|
||||
("Gimp", SHEXEC, "gimp >/dev/null"),
|
||||
("Ghostview", EXEC, "ghostview %a(Enter file to view)"),
|
||||
("Xpdf", EXEC, "xpdf %a(Enter PDF to view)"),
|
||||
("Abiword", EXEC, "abiword"),
|
||||
("Dia", EXEC, "dia"),
|
||||
("OpenOffice.org",
|
||||
("OpenOffice.org", EXEC, "ooffice"),
|
||||
("Писач", EXEC, "oowriter"),
|
||||
("Табела", EXEC, "oocalc"),
|
||||
("Цртање", EXEC, "oodraw"),
|
||||
("Презентације", EXEC, "ooimpress")
|
||||
),
|
||||
("Уређивачи",
|
||||
("XEmacs", EXEC, "xemacs"),
|
||||
("Emacs", EXEC, "emacs"),
|
||||
("XJed", EXEC, "xjed"),
|
||||
("VI", EXEC, "xterm -e vi"),
|
||||
("GVIM", EXEC, "gvim"),
|
||||
("NEdit", EXEC, "nedit"),
|
||||
("Xedit", EXEC, "xedit")
|
||||
),
|
||||
("Мултимедија",
|
||||
("XMMS",
|
||||
("XMMS", EXEC, "xmms"),
|
||||
("XMMS пусти/паузирај", EXEC, "xmms -t"),
|
||||
("XMMS заустави", EXEC, "xmms -s")
|
||||
),
|
||||
("Видео плејер Xine", EXEC, "xine"),
|
||||
("MPlayer", EXEC, "mplayer")
|
||||
)
|
||||
),
|
||||
("Помоћни програми",
|
||||
("Калкулатор", EXEC, "xcalc"),
|
||||
("Особине прозора", SHEXEC, "xprop | xmessage -center -title 'xprop' -file -"),
|
||||
("Бирач фонта", EXEC, "xfontsel"),
|
||||
("Лупа", EXEC, "wmagnify"),
|
||||
("Мапа боја", EXEC, "xcmap"),
|
||||
("Убиј X апликацију", EXEC, "xkill")
|
||||
),
|
||||
("Избор",
|
||||
("Копирај", SHEXEC, "echo '%s' | wxcopy"),
|
||||
("Пошаљи мејлом на", EXEC, "xterm -name mail -T Pine -e pine %s"),
|
||||
("Прегледај веб читачем", EXEC, "mozilla %s"),
|
||||
("Тражи у упутству", EXEC, "MANUAL_SEARCH(%s)")
|
||||
),
|
||||
("Наредбе",
|
||||
("Сакриј остале", HIDE_OTHERS),
|
||||
("Прикажи све", SHOW_ALL),
|
||||
("Поређај иконе", ARRANGE_ICONS),
|
||||
("Освежи", REFRESH),
|
||||
("Закључај", EXEC, "xlock -allowroot -usefirst")
|
||||
),
|
||||
("Изглед", OPEN_MENU, "appearance.menu"),
|
||||
("Сесија",
|
||||
("Сачувај сесију", SAVE_SESSION),
|
||||
("Очисти сесију", CLEAR_SESSION),
|
||||
("Поново покрени Window Maker", RESTART),
|
||||
("Покрени BlackBox", RESTART, blackbox),
|
||||
("Покрени IceWM", RESTART, icewm),
|
||||
("Изађи", EXIT)
|
||||
)
|
||||
)
|
||||
+9
-19
@@ -1,26 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
srcdir=$(dirname $0)
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
# Generate the documentation about compiling Window Maker
|
||||
./script/generate-txt-from-texi.sh "doc/build/Compilation.texi" -o "INSTALL-WMAKER"
|
||||
./script/generate-txt-from-texi.sh "doc/build/Translations.texi" -o "README.i18n"
|
||||
$srcdir/script/generate-txt-from-texi.sh "$srcdir/doc/build/Compilation.texi" \
|
||||
-o "$srcdir/INSTALL-WMAKER"
|
||||
$srcdir/script/generate-txt-from-texi.sh "$srcdir/doc/build/Translations.texi" \
|
||||
-o "$srcdir/README.i18n"
|
||||
|
||||
# Change date of the files to the past so they will be regenerated by 'make'
|
||||
touch -d '2000-01-01' INSTALL-WMAKER README.i18n
|
||||
touch -d '2000-01-01' $srcdir/INSTALL-WMAKER $srcdir/README.i18n
|
||||
|
||||
# Generate the configure script from the 'configure.ac'
|
||||
autoreconf -vfi -I m4
|
||||
|
||||
exit 0
|
||||
|
||||
if [ -x config.status -a -z "$*" ]; then
|
||||
./config.status --recheck
|
||||
else
|
||||
if test -z "$*"; then
|
||||
echo "I am going to run ./configure with no arguments - if you wish "
|
||||
echo "to pass any to it, please specify them on the $0 command line."
|
||||
echo "If you do not wish to run ./configure, press Ctrl-C now."
|
||||
trap 'echo "configure aborted" ; exit 0' 1 2 15
|
||||
sleep 1
|
||||
fi
|
||||
./configure "$@"
|
||||
fi
|
||||
autoreconf -vfi -I m4 $srcdir
|
||||
|
||||
+21
-11
@@ -2,7 +2,7 @@ dnl ============================================================================
|
||||
dnl
|
||||
dnl Window Maker autoconf input
|
||||
dnl
|
||||
AC_COPYRIGHT([Copyright (c) 2001-2015 The Window Maker Team])
|
||||
AC_COPYRIGHT([Copyright (c) 2001-2023 The Window Maker Team])
|
||||
dnl
|
||||
dnl ============================================================================
|
||||
dnl
|
||||
@@ -34,7 +34,7 @@ AC_PREREQ([2.69])
|
||||
|
||||
dnl Configuration for Autoconf and Automake
|
||||
dnl =======================================
|
||||
AC_INIT([WindowMaker],[0.95.9],[wmaker-dev@googlegroups.com],[WindowMaker],[http://www.windowmaker.org/])
|
||||
AC_INIT([WindowMaker],[0.96.0],[wmaker-dev@googlegroups.com],[WindowMaker],[http://www.windowmaker.org/])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
@@ -71,16 +71,16 @@ dnl 6. If any interfaces have been removed or changed since the last
|
||||
dnl public release, then set age to 0.
|
||||
dnl
|
||||
dnl libwraster
|
||||
WRASTER_CURRENT=6
|
||||
WRASTER_CURRENT=7
|
||||
WRASTER_REVISION=0
|
||||
WRASTER_AGE=0
|
||||
WRASTER_AGE=1
|
||||
WRASTER_VERSION=$WRASTER_CURRENT:$WRASTER_REVISION:$WRASTER_AGE
|
||||
AC_SUBST(WRASTER_VERSION)
|
||||
dnl
|
||||
dnl libWINGs
|
||||
WINGS_CURRENT=4
|
||||
WINGS_CURRENT=5
|
||||
WINGS_REVISION=0
|
||||
WINGS_AGE=1
|
||||
WINGS_AGE=2
|
||||
WINGS_VERSION=$WINGS_CURRENT:$WINGS_REVISION:$WINGS_AGE
|
||||
AC_SUBST(WINGS_VERSION)
|
||||
dnl
|
||||
@@ -97,7 +97,6 @@ dnl ===================
|
||||
AC_PROG_CC
|
||||
WM_PROG_CC_C11
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
LT_INIT
|
||||
|
||||
|
||||
@@ -270,8 +269,8 @@ supported_gfx=""
|
||||
dnl Platform-specific Makefile setup
|
||||
dnl ================================
|
||||
AS_CASE(["$host"],
|
||||
[*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
|
||||
[*-*-freebsd*|*-k*bsd-gnu*], [WM_OSDEP="bsd" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
|
||||
[*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=700"],
|
||||
[*-*-freebsd*|*-k*bsd-gnu*], [WM_OSDEP="bsd" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=700 -DFREEBSD"],
|
||||
[*-*-netbsd*], [WM_OSDEP="bsd" ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
|
||||
[*-*-openbsd*], [WM_OSDEP="bsd" ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
|
||||
[*-*-dragonfly*], [WM_OSDEP="bsd" ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
|
||||
@@ -387,7 +386,7 @@ AC_FUNC_MEMCMP
|
||||
AC_FUNC_VPRINTF
|
||||
WM_FUNC_SECURE_GETENV
|
||||
AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
|
||||
setsid mallinfo mkstemp sysconf)
|
||||
setsid mallinfo2 mkstemp sysconf)
|
||||
AC_SEARCH_LIBS([strerror], [cposix])
|
||||
|
||||
dnl nanosleep is generally available in standard libc, although not always the
|
||||
@@ -455,7 +454,6 @@ AC_CHECK_HEADERS([syslog.h], [AC_DEFINE([HAVE_SYSLOG], [1], [Check for syslog])]
|
||||
dnl Checks for header files
|
||||
dnl =======================
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_HEADER_TIME
|
||||
AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
|
||||
string.h strings.h)
|
||||
|
||||
@@ -580,6 +578,18 @@ AS_IF([test "x$enable_wmreplace" = "xyes"],
|
||||
[define to support ICCCM protocol for window manager replacement])
|
||||
supported_xext="$supported_xext WMReplace"])
|
||||
|
||||
dnl XRes support
|
||||
dnl ==============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([res],
|
||||
[AS_HELP_STRING([--disable-res], [disable resource window extension support])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-res]) ]) ],
|
||||
[enable_res=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
WM_XEXT_CHECK_XRES
|
||||
|
||||
dnl XShape support
|
||||
dnl ==============
|
||||
|
||||
Vendored
+4
@@ -551,6 +551,10 @@ Disable use of the @emph{MIT shared memory} extension.
|
||||
This will slow down texture generation a little bit, but in some cases it seems to be necessary due
|
||||
to a bug that manifests as messed icons and textures.
|
||||
|
||||
@item --disable-res
|
||||
Disables support for @emph{XRes} resource window extension support.
|
||||
Which is used to find the underlying processes (and PIDs) displaying the windows.
|
||||
|
||||
@item --disable-shape
|
||||
Disables support for @emph{shaped} windows (for @command{oclock}, @command{xeyes}, etc.).
|
||||
|
||||
|
||||
@@ -80,14 +80,14 @@ AS_VAR_PUSHDEF([VAR],[ax_cv_cflags_gcc_option_$2])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
AC_LANG(C)
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC
|
||||
"-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[return 0;])],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
@@ -116,14 +116,14 @@ AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_gcc_option_$2])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_LANG(C++)
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC
|
||||
"-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[return 0;])],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
@@ -151,14 +151,14 @@ AS_VAR_PUSHDEF([VAR],[ax_cv_cflags_gcc_option_$1])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
AC_LANG(C)
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC
|
||||
"-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[return 0;])],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
@@ -187,14 +187,14 @@ AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_gcc_option_$1])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_LANG(C++)
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC
|
||||
"-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[return 0;])],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
|
||||
+3
-2
@@ -47,14 +47,15 @@ AC_DEFUN([WM_CHECK_XFT_VERSION],
|
||||
AC_CACHE_CHECK([whether libXft is at least version $1], [ac_cv_lib_xft_version_ok],
|
||||
[CPPFLAGS_save="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $XFT_CFLAGS $inc_search_path"
|
||||
AC_TRY_LINK([
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xft/Xft.h>
|
||||
], [
|
||||
#if !defined(XFT_VERSION) || XFT_VERSION < ]XFT_REQUIRED_VERSION[
|
||||
#error libXft on this system is too old. Consider upgrading to at least $1
|
||||
#endif
|
||||
], [ac_cv_lib_xft_version_ok=yes], [ac_cv_lib_xft_version_ok=no])
|
||||
])], [ac_cv_lib_xft_version_ok=yes], [ac_cv_lib_xft_version_ok=no])
|
||||
CPPFLAGS="$CPPFLAGS_save"])
|
||||
m4_undefine([XFT_REQUIRED_VERSION])dnl
|
||||
AS_IF([test "x$ac_cv_lib_xft_version_ok" != "xyes"], [$3], [$2])dnl
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
# wm_i18n.m4 - Macros to check and enable translations in WindowMaker
|
||||
#
|
||||
# Copyright (c) 2014-2015 Christophe CURIS
|
||||
# Copyright (c) 2015 The Window Maker Tean
|
||||
# Copyright (c) 2015-2021 The Window Maker Tean
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -198,9 +198,9 @@ AC_DEFUN_ONCE([WM_IMGFMT_CHECK_WEBP],
|
||||
dnl a symbol without first using the header to handle it
|
||||
wm_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lwebp"
|
||||
AC_TRY_LINK(
|
||||
[@%:@include <webp/decode.h>],
|
||||
[WebPGetFeatures(NULL, 1024, NULL);],
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([@%:@include <webp/decode.h>],
|
||||
[WebPGetFeatures(NULL, 1024, NULL);])],
|
||||
[wm_cv_imgfmt_webp="-lwebp"])
|
||||
LIBS="$wm_save_LIBS"
|
||||
AS_IF([test "x$enable_webp$wm_cv_imgfmt_webp" = "xyesno"],
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
# wm_libexif.m4 - Macros to check proper libexif
|
||||
#
|
||||
# Copyright (c) 2014 Window Maker Team
|
||||
# Copyright (c) 2014-2015 Window Maker Team
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -16,6 +16,33 @@
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
# WM_XEXT_CHECK_XRES
|
||||
# --------------------
|
||||
#
|
||||
# Check for the X Resource Window extension
|
||||
# The check depends on variable 'enable_xshape' being either:
|
||||
# yes - detect, fail if not found
|
||||
# no - do not detect, disable support
|
||||
# auto - detect, disable if not found
|
||||
#
|
||||
# When found, append appropriate stuff in XLIBS, and append info to
|
||||
# the variable 'supported_xext'
|
||||
# When not found, append info to variable 'unsupported'
|
||||
AC_DEFUN_ONCE([WM_XEXT_CHECK_XRES],
|
||||
[WM_LIB_CHECK([XRes], [-lXRes], [XResQueryClientIds], [$XLIBS],
|
||||
[wm_save_CFLAGS="$CFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([dnl
|
||||
@%:@include <X11/extensions/XRes.h>
|
||||
], [dnl
|
||||
|
||||
XResQueryClientIds(NULL, 0, NULL, NULL, NULL);])]
|
||||
[],
|
||||
[AC_MSG_ERROR([found $CACHEVAR but cannot compile using XRes header])])
|
||||
CFLAGS="$wm_save_CFLAGS"],
|
||||
[supported_xext], [XLIBS], [enable_res], [-])dnl
|
||||
]) dnl AC_DEFUN
|
||||
|
||||
|
||||
# WM_XEXT_CHECK_XSHAPE
|
||||
# --------------------
|
||||
#
|
||||
|
||||
+2
-1
@@ -7,7 +7,8 @@ CLEANFILES = $(CATALOGS) $(DOMAIN).pot
|
||||
# Please keep this sorted in alphabetic order!
|
||||
EXTRA_DIST = be.po bg.po bs.po ca.po cs.po da.po de.po el.po es.po et.po \
|
||||
fi.po fr.po fy.po gl.po hr.po hu.po hy.po it.po ja.po ko.po ms.po nl.po \
|
||||
no.po pl.po pt.po ro.po ru.po sk.po sv.po tr.po uk.po zh_CN.po zh_TW.po
|
||||
no.po pl.po pt.po ro.po ru.po sk.po sr.po sv.po tr.po uk.po zh_CN.po \
|
||||
zh_TW.po
|
||||
|
||||
POTFILES = \
|
||||
$(top_srcdir)/src/actions.c \
|
||||
|
||||
@@ -45,6 +45,7 @@ bs.po Bosnian Ahmet Mulalic <am@lugzdk.ba>
|
||||
hy.po Armenian Norayr Chilignaryan <chnorik@gmail.com>
|
||||
nl.po Dutch Alwin <translations@ziggo.nl>
|
||||
fy.po Frisian Alwin <translations@ziggo.nl>
|
||||
sr.po Serbian Strahinya Radich <contact@strahinja.org>
|
||||
|
||||
|
||||
Some translations are based on previous translations by other people.
|
||||
|
||||
@@ -10,6 +10,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2002-10-17 19:02+0300\n"
|
||||
"Last-Translator: Ihar Viarheichyk <iverg@mail.ru>\n"
|
||||
"Language-Team: Belarusian <be@li.org>\n"
|
||||
"Language: be\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -472,7 +473,7 @@ msgstr "Window Maker атрымаў сігнал %i."
|
||||
#: ../src/dialog.c:1632
|
||||
#, c-format
|
||||
msgid ""
|
||||
" This fatal error occured probably due to a bug. Please fill the included "
|
||||
" This fatal error occurred probably due to a bug. Please fill the included "
|
||||
"BUGFORM and report it to %s."
|
||||
msgstr ""
|
||||
" Гэты крытычны збой магчыма вызваны памылкамі ў WindowMaker."
|
||||
@@ -1433,7 +1434,7 @@ msgstr "не магчыма запусціць іншы ваконны мене
|
||||
|
||||
#: ../src/startup.c:419
|
||||
msgid ""
|
||||
"a fatal error has occured, probably due to a bug. Please fill the included "
|
||||
"a fatal error has occurred, probably due to a bug. Please fill the included "
|
||||
"BUGFORM and report it."
|
||||
msgstr ""
|
||||
" Гэты крытычны збой магчыма вызваны памылкамі ў WindowMaker."
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user