mirror of
https://github.com/gryf/wmaker.git
synced 2026-07-10 12:46:36 +02:00
Compare commits
130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | |||
| ddacfa5d63 | |||
| 0718297e9a | |||
| 9cc16182d3 | |||
| f6165d6e80 | |||
| 10c36d244e | |||
| 515eb652c7 | |||
| 8ed92efa3c | |||
| cc839f8bc5 | |||
| 48d4820dee | |||
| d4f5f3ec7f | |||
| 83f7fa43ce | |||
| 55a816bdbc | |||
| 7639fa1c15 | |||
| 93b411f258 | |||
| 326a67e18f | |||
| c089c6aea4 | |||
| 66b0ee3c4d | |||
| a6c8577eb4 | |||
| 094001a53d | |||
| deba131857 | |||
| a9bc9751a2 | |||
| 58b6728743 | |||
| 894d096d6e | |||
| a41b0aa21d | |||
| d4cc033379 | |||
| 308b9f4975 | |||
| 1d1c904126 | |||
| ca4ae5068b | |||
| 26491867a3 | |||
| dce34e926b | |||
| a0b283a60f | |||
| 671db45007 | |||
| 0c6ad643c8 | |||
| 5076b6f496 | |||
| 54c8535365 | |||
| 24f5b32469 | |||
| 85169642ca | |||
| 9f9ef6417e | |||
| fb2a6d2e61 | |||
| 8219c36488 | |||
| bd38778bef | |||
| 1e45ff2305 | |||
| 7e1cdf2d59 | |||
| 43f0474013 | |||
| a079544647 | |||
| 03ec24502d | |||
| 5c90ed9d2d | |||
| 735651df55 | |||
| bfab769065 | |||
| c060477d57 | |||
| 75f133285f | |||
| a6ec6a30a3 |
@@ -120,6 +120,8 @@ WindowMaker/Defaults/WMWindowAttributes
|
||||
WindowMaker/Defaults/WindowMaker
|
||||
WindowMaker/IconSets/Default.iconset
|
||||
|
||||
WPrefs.app/WPrefs.desktop
|
||||
|
||||
# These files are generated by the i18n process
|
||||
/po/WindowMaker.pot
|
||||
/po/*.mo
|
||||
|
||||
+11
-2
@@ -19,10 +19,19 @@ config-paths.h: Makefile
|
||||
@echo '#define PIXMAPDIR "$(pixmapdir)"' >> $@
|
||||
@echo '' >> $@
|
||||
@echo '/* where shared data is stored */' >> $@
|
||||
@echo '#define PKGDATADIR "$(datadir)/WindowMaker"' >> $@
|
||||
@echo '#define PKGDATADIR "$(datadir)/$(PACKAGE_TARNAME)"' >> $@
|
||||
@echo '' >> $@
|
||||
@echo '/* where the global defaults are stored */' >> $@
|
||||
@echo '#define DEFSDATADIR "$(defsdatadir)"' >> $@
|
||||
@echo '#define PKGCONFDIR "$(pkgconfdir)"' >> $@
|
||||
@echo '' >> $@
|
||||
@echo '/* where the user data root is located */' >> $@
|
||||
@echo '#define GSUSER_SUBDIR "GNUstep"' >> $@
|
||||
@echo '' >> $@
|
||||
@echo '/* where the user defaults are stored */' >> $@
|
||||
@echo '#define DEFAULTS_SUBDIR "Defaults"' >> $@
|
||||
@echo '' >> $@
|
||||
@echo '/* where the user data are stored */' >> $@
|
||||
@echo '#define USERDATA_SUBDIR "Library"' >> $@
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
|
||||
@@ -1,6 +1,41 @@
|
||||
NEWS for veteran Window Maker users
|
||||
-----------------------------------
|
||||
|
||||
-- 0.96.0
|
||||
|
||||
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
|
||||
-------------------------
|
||||
|
||||
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
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
Changes since wmaker 0.96.0:
|
||||
............................
|
||||
|
||||
- added W_KeycodeToKeysym to replace XKeycodeToKeysym/XkbKeycodeToKeysym calls
|
||||
|
||||
|
||||
Changes since wmaker 0.92.0:
|
||||
............................
|
||||
|
||||
|
||||
+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];
|
||||
|
||||
+16
-16
@@ -26,7 +26,7 @@
|
||||
#include <WINGs/WUtil.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#define WINGS_H_VERSION 20150508
|
||||
#define WINGS_H_VERSION 20230226
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -736,7 +736,7 @@ Bool WMRequestSelection(WMView *view, Atom selection, Atom target,
|
||||
void *cdata);
|
||||
|
||||
|
||||
extern char *WMSelectionOwnerDidChangeNotification;
|
||||
extern const char *WMSelectionOwnerDidChangeNotification;
|
||||
|
||||
/* ---[ WINGs/dragcommon.c ]---------------------------------------------- */
|
||||
|
||||
@@ -977,11 +977,11 @@ WMPoint WMGetViewScreenPosition(WMView *view);
|
||||
WMWidget* WMWidgetOfView(WMView *view);
|
||||
|
||||
/* notifications */
|
||||
extern char *WMViewSizeDidChangeNotification;
|
||||
extern const char *WMViewSizeDidChangeNotification;
|
||||
|
||||
extern char *WMViewFocusDidChangeNotification;
|
||||
extern const char *WMViewFocusDidChangeNotification;
|
||||
|
||||
extern char *WMViewRealizedNotification;
|
||||
extern const char *WMViewRealizedNotification;
|
||||
|
||||
/* ---[ WINGs/wballoon.c ]------------------------------------------------ */
|
||||
|
||||
@@ -1190,9 +1190,9 @@ void WMSetTextFieldDelegate(WMTextField *tPtr, WMTextFieldDelegate *delegate);
|
||||
|
||||
WMTextFieldDelegate* WMGetTextFieldDelegate(WMTextField *tPtr);
|
||||
|
||||
extern char *WMTextDidChangeNotification;
|
||||
extern char *WMTextDidBeginEditingNotification;
|
||||
extern char *WMTextDidEndEditingNotification;
|
||||
extern const char *WMTextDidChangeNotification;
|
||||
extern const char *WMTextDidBeginEditingNotification;
|
||||
extern const char *WMTextDidEndEditingNotification;
|
||||
|
||||
/* ---[ WINGs/wscroller.c ]----------------------------------------------- */
|
||||
|
||||
@@ -1212,7 +1212,7 @@ void WMSetScrollerAction(WMScroller *sPtr, WMAction *action, void *clientData);
|
||||
void WMSetScrollerArrowsPosition(WMScroller *sPtr,
|
||||
WMScrollArrowPosition position);
|
||||
|
||||
extern char *WMScrollerDidScrollNotification;
|
||||
extern const char *WMScrollerDidScrollNotification;
|
||||
|
||||
/* ---[ WINGs/wlist.c ]--------------------------------------------------- */
|
||||
|
||||
@@ -1291,8 +1291,8 @@ Bool WMListAllowsMultipleSelection(WMList *lPtr);
|
||||
Bool WMListAllowsEmptySelection(WMList *lPtr);
|
||||
|
||||
|
||||
extern char *WMListDidScrollNotification;
|
||||
extern char *WMListSelectionDidChangeNotification;
|
||||
extern const char *WMListDidScrollNotification;
|
||||
extern const char *WMListSelectionDidChangeNotification;
|
||||
|
||||
/* ---[ WINGs/wbrowser.c ]------------------------------------------------ */
|
||||
|
||||
@@ -1324,7 +1324,7 @@ void WMSortBrowserColumnWithComparer(WMBrowser *bPtr, int column,
|
||||
WMCompareDataProc *func);
|
||||
|
||||
/* Don't free the returned string. */
|
||||
char* WMSetBrowserPath(WMBrowser *bPtr, char *path);
|
||||
const char* WMSetBrowserPath(WMBrowser *bPtr, const char *path);
|
||||
|
||||
/* free the returned string */
|
||||
char* WMGetBrowserPath(WMBrowser *bPtr);
|
||||
@@ -1496,7 +1496,7 @@ void WMSetColorPanelPickerMode(WMColorPanel *panel, WMColorPanelMode mode);
|
||||
|
||||
void WMSetColorPanelAction(WMColorPanel *panel, WMAction2 *action, void *data);
|
||||
|
||||
extern char *WMColorPanelColorChangedNotification;
|
||||
extern const char *WMColorPanelColorChangedNotification;
|
||||
|
||||
/* ---[ WINGs/wcolorwell.c ]---------------------------------------------- */
|
||||
|
||||
@@ -1509,7 +1509,7 @@ WMColor* WMGetColorWellColor(WMColorWell *cPtr);
|
||||
void WSetColorWellBordered(WMColorWell *cPtr, Bool flag);
|
||||
|
||||
|
||||
extern char *WMColorWellDidChangeNotification;
|
||||
extern const char *WMColorWellDidChangeNotification;
|
||||
|
||||
|
||||
/* ---[ WINGs/wscrollview.c ]--------------------------------------------- */
|
||||
@@ -1876,7 +1876,7 @@ void WMSetFilePanelCanChooseFiles(WMFilePanel *panel, Bool flag);
|
||||
|
||||
void WMSetFilePanelAutoCompletion(WMFilePanel *panel, Bool flag);
|
||||
|
||||
void WMSetFilePanelDirectory(WMFilePanel *panel, char *path);
|
||||
void WMSetFilePanelDirectory(WMFilePanel *panel, const char *path);
|
||||
|
||||
/* you can free the returned string */
|
||||
char* WMGetFilePanelFileName(WMFilePanel *panel);
|
||||
@@ -1884,7 +1884,7 @@ char* WMGetFilePanelFileName(WMFilePanel *panel);
|
||||
void WMFreeFilePanel(WMFilePanel *panel);
|
||||
|
||||
int WMRunModalFilePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
|
||||
char *path, const char *name, char **fileTypes);
|
||||
const char *path, const char *name, char **fileTypes);
|
||||
|
||||
void WMSetFilePanelAccessoryView(WMFilePanel *panel, WMView *view);
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ typedef struct _WINGsConfiguration {
|
||||
unsigned mouseWheelDown;
|
||||
} _WINGsConfiguration;
|
||||
|
||||
extern char *_WINGS_progname;
|
||||
extern const char *_WINGS_progname;
|
||||
extern _WINGsConfiguration WINGsConfiguration;
|
||||
extern struct W_Application WMApplication;
|
||||
|
||||
@@ -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
-1
@@ -249,7 +249,7 @@ char* wexpandpath(const char *path);
|
||||
int wcopy_file(const char *toPath, const char *srcFile, const char *destFile);
|
||||
|
||||
/* don't free the returned string */
|
||||
char* wgethomedir(void);
|
||||
const char* wgethomedir(void);
|
||||
|
||||
/* ---[ WINGs/proplist.c ]------------------------------------------------ */
|
||||
|
||||
@@ -864,6 +864,7 @@ Bool WMWritePropListToFile(WMPropList *plist, const char *path);
|
||||
|
||||
/* don't free the returned string */
|
||||
const char* wusergnusteppath(void);
|
||||
const char* wuserdatapath(void);
|
||||
|
||||
/* Free the returned string when you no longer need it */
|
||||
char* wdefaultspathfordomain(const char *domain);
|
||||
|
||||
@@ -599,7 +599,7 @@ static void dragSourceResponseTimeOut(void *destView)
|
||||
W_DragDestinationInfoClear(info);
|
||||
}
|
||||
|
||||
void W_DragDestinationStopTimer()
|
||||
void W_DragDestinationStopTimer(void)
|
||||
{
|
||||
if (dndDestinationTimer != NULL) {
|
||||
WMDeleteTimerHandler(dndDestinationTimer);
|
||||
|
||||
+1
-1
@@ -1080,7 +1080,7 @@ static void dragSourceResponseTimeOut(void *source)
|
||||
}
|
||||
}
|
||||
|
||||
void W_DragSourceStopTimer()
|
||||
void W_DragSourceStopTimer(void)
|
||||
{
|
||||
if (dndSourceTimer != NULL) {
|
||||
WMDeleteTimerHandler(dndSourceTimer);
|
||||
|
||||
+2
-6
@@ -39,7 +39,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
char *wgethomedir()
|
||||
const char *wgethomedir(void)
|
||||
{
|
||||
static char *home = NULL;
|
||||
char *tmp;
|
||||
@@ -48,11 +48,7 @@ char *wgethomedir()
|
||||
if (home)
|
||||
return home;
|
||||
|
||||
#ifdef HAVE_SECURE_GETENV
|
||||
tmp = secure_getenv("HOME");
|
||||
#else
|
||||
tmp = getenv("HOME");
|
||||
#endif
|
||||
tmp = GETENV("HOME");
|
||||
if (tmp) {
|
||||
home = wstrdup(tmp);
|
||||
return home;
|
||||
|
||||
+3
-3
@@ -536,7 +536,7 @@ found_end_define_fname:
|
||||
while (*src != '\0') {
|
||||
idx = 0;
|
||||
if (*src == '~') {
|
||||
char *home = wgethomedir();
|
||||
const char *home = wgethomedir();
|
||||
while (*home != '\0') {
|
||||
if (idx < sizeof(buffer) - 2)
|
||||
buffer[idx++] = *home;
|
||||
@@ -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;
|
||||
|
||||
+40
-16
@@ -1732,23 +1732,36 @@ 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
|
||||
* refuses to create anything outside $WMAKER_USER_ROOT/Defaults or $WMAKER_USER_ROOT/Library
|
||||
*
|
||||
* returns 1 on success, 0 on failure
|
||||
*/
|
||||
int wmkdirhier(const char *path)
|
||||
{
|
||||
const char *t;
|
||||
const char *libpath;
|
||||
char *udefpath;
|
||||
int cmp;
|
||||
char *thePath = NULL, buf[1024];
|
||||
size_t p, plen;
|
||||
struct stat st;
|
||||
|
||||
/* Only create directories under $WMAKER_USER_ROOT */
|
||||
if ((t = wusergnusteppath()) == NULL)
|
||||
return 0;
|
||||
if (strncmp(path, t, strlen(t)) != 0)
|
||||
return 0;
|
||||
/* 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;
|
||||
|
||||
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);
|
||||
@@ -1771,7 +1784,6 @@ int wmkdirhier(const char *path)
|
||||
}
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
strncpy(buf, t, sizeof(buf) - 1);
|
||||
p = strlen(buf);
|
||||
plen = strlen(thePath);
|
||||
|
||||
@@ -1782,7 +1794,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 component %s"), buf);
|
||||
werror(_("Could not create path component %s"), buf);
|
||||
wfree(thePath);
|
||||
return 0;
|
||||
}
|
||||
@@ -1824,7 +1836,7 @@ static int wrmdirhier_fn(const char *path, const struct stat *st,
|
||||
/*
|
||||
* remove a directory hierarchy
|
||||
*
|
||||
* refuses to remove anything outside $WMAKER_USER_ROOT
|
||||
* refuses to remove anything outside $WMAKER_USER_ROOT/Defaults or $WMAKER_USER_ROOT/Library
|
||||
*
|
||||
* returns 1 on success, 0 on failure
|
||||
*
|
||||
@@ -1834,15 +1846,27 @@ static int wrmdirhier_fn(const char *path, const struct stat *st,
|
||||
*/
|
||||
int wrmdirhier(const char *path)
|
||||
{
|
||||
const char *libpath;
|
||||
char *udefpath = NULL;
|
||||
struct stat st;
|
||||
int error;
|
||||
const char *t;
|
||||
|
||||
/* Only remove directories under $WMAKER_USER_ROOT */
|
||||
if ((t = wusergnusteppath()) == NULL)
|
||||
return EPERM;
|
||||
if (strncmp(path, t, strlen(t)) != 0)
|
||||
return EPERM;
|
||||
/* Only remove 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;
|
||||
|
||||
udefpath = wdefaultspathfordomain("");
|
||||
if (strncmp(path, udefpath, strlen(udefpath)) == 0)
|
||||
/* Note: by side effect, 'udefpath' already contains a final '/' */
|
||||
goto path_in_valid_tree;
|
||||
|
||||
wfree(udefpath);
|
||||
return EPERM;
|
||||
|
||||
path_in_valid_tree:
|
||||
wfree(udefpath);
|
||||
|
||||
/* Shortcut if it doesn't exist to begin with */
|
||||
if (stat(path, &st) == -1)
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
|
||||
#define MAX_PROPERTY_SIZE 8*1024
|
||||
|
||||
char *WMSelectionOwnerDidChangeNotification = "WMSelectionOwnerDidChange";
|
||||
const char *WMSelectionOwnerDidChangeNotification = "WMSelectionOwnerDidChange";
|
||||
|
||||
typedef struct SelectionHandler {
|
||||
WMView *view;
|
||||
|
||||
+5
-7
@@ -204,7 +204,7 @@ char *wstrndup(const char *str, size_t len)
|
||||
char *wstrconcat(const char *str1, const char *str2)
|
||||
{
|
||||
char *str;
|
||||
size_t slen;
|
||||
size_t slen, slen1;
|
||||
|
||||
if (!str1 && str2)
|
||||
return wstrdup(str2);
|
||||
@@ -213,13 +213,11 @@ char *wstrconcat(const char *str1, const char *str2)
|
||||
else if (!str1 && !str2)
|
||||
return NULL;
|
||||
|
||||
slen = strlen(str1) + strlen(str2) + 1;
|
||||
slen1 = strlen(str1);
|
||||
slen = slen1 + strlen(str2) + 1;
|
||||
str = wmalloc(slen);
|
||||
if (wstrlcpy(str, str1, slen) >= slen ||
|
||||
wstrlcat(str, str2, slen) >= slen) {
|
||||
wfree(str);
|
||||
return NULL;
|
||||
}
|
||||
strcpy(str, str1);
|
||||
strcpy(str + slen1, str2);
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
+21
-20
@@ -40,29 +40,25 @@ char *WMUserDefaultsDidChangeNotification = "WMUserDefaultsDidChangeNotification
|
||||
|
||||
static void synchronizeUserDefaults(void *foo);
|
||||
|
||||
#define DEFAULTS_DIR "/Defaults"
|
||||
#ifndef HAVE_INOTIFY
|
||||
/* Check defaults database for changes every this many milliseconds */
|
||||
/* XXX: this is shared with src/ stuff, put it in some common header */
|
||||
#define UD_SYNC_INTERVAL 2000
|
||||
#endif
|
||||
|
||||
const char *wusergnusteppath()
|
||||
const char *wusergnusteppath(void)
|
||||
{
|
||||
static const char subdir[] = "/GNUstep";
|
||||
static const char subdir[] = "/" GSUSER_SUBDIR;
|
||||
static char *path = NULL;
|
||||
char *gspath, *h;
|
||||
char *gspath;
|
||||
const char *h;
|
||||
int pathlen;
|
||||
|
||||
if (path)
|
||||
/* Value have been already computed, re-use it */
|
||||
return path;
|
||||
|
||||
#ifdef HAVE_SECURE_GETENV
|
||||
gspath = secure_getenv("WMAKER_USER_ROOT");
|
||||
#else
|
||||
gspath = getenv("WMAKER_USER_ROOT");
|
||||
#endif
|
||||
gspath = GETENV("WMAKER_USER_ROOT");
|
||||
if (gspath) {
|
||||
gspath = wexpandpath(gspath);
|
||||
if (gspath) {
|
||||
@@ -84,6 +80,19 @@ const char *wusergnusteppath()
|
||||
return path;
|
||||
}
|
||||
|
||||
const char *wuserdatapath(void)
|
||||
{
|
||||
static char *path = NULL;
|
||||
|
||||
if (path)
|
||||
/* Value have been already computed, re-use it */
|
||||
return path;
|
||||
|
||||
path = wstrconcat(wusergnusteppath(), "/" USERDATA_SUBDIR);
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
char *wdefaultspathfordomain(const char *domain)
|
||||
{
|
||||
char *path;
|
||||
@@ -91,12 +100,11 @@ char *wdefaultspathfordomain(const char *domain)
|
||||
size_t slen;
|
||||
|
||||
gspath = wusergnusteppath();
|
||||
slen = strlen(gspath) + strlen(DEFAULTS_DIR) + strlen(domain) + 4;
|
||||
slen = strlen(gspath) + strlen("/" DEFAULTS_SUBDIR "/") + strlen(domain) + 1;
|
||||
path = wmalloc(slen);
|
||||
|
||||
strcpy(path, gspath);
|
||||
strcat(path, DEFAULTS_DIR);
|
||||
strcat(path, "/");
|
||||
strcat(path, "/" DEFAULTS_SUBDIR "/");
|
||||
strcat(path, domain);
|
||||
|
||||
return path;
|
||||
@@ -105,14 +113,7 @@ char *wdefaultspathfordomain(const char *domain)
|
||||
/* XXX: doesn't quite belong to *user*defaults.c */
|
||||
char *wglobaldefaultspathfordomain(const char *domain)
|
||||
{
|
||||
char *t = NULL;
|
||||
size_t len;
|
||||
|
||||
len = strlen(DEFSDATADIR) + strlen(domain) + 2;
|
||||
t = wmalloc(len);
|
||||
snprintf(t, len, "%s/%s", DEFSDATADIR, domain);
|
||||
|
||||
return t;
|
||||
return wstrconcat(PKGCONFDIR "/", domain);
|
||||
}
|
||||
|
||||
void w_save_defaults_changes(void)
|
||||
|
||||
+31
-21
@@ -9,7 +9,7 @@
|
||||
|
||||
struct W_Application WMApplication;
|
||||
|
||||
char *_WINGS_progname = NULL;
|
||||
const char *_WINGS_progname = NULL;
|
||||
|
||||
Bool W_ApplicationInitialized(void)
|
||||
{
|
||||
@@ -83,7 +83,7 @@ void WMSetResourcePath(const char *path)
|
||||
WMApplication.resourcePath = wstrdup(path);
|
||||
}
|
||||
|
||||
char *WMGetApplicationName()
|
||||
char *WMGetApplicationName(void)
|
||||
{
|
||||
return WMApplication.applicationName;
|
||||
}
|
||||
@@ -131,7 +131,9 @@ error:
|
||||
|
||||
char *WMPathForResourceOfType(const char *resource, const char *ext)
|
||||
{
|
||||
const char *gslocapps, *gssysapps, *gsuserapps;
|
||||
char *path, *appdir;
|
||||
char buffer[PATH_MAX];
|
||||
size_t slen;
|
||||
|
||||
path = appdir = NULL;
|
||||
@@ -141,11 +143,11 @@ char *WMPathForResourceOfType(const char *resource, const char *ext)
|
||||
* - resourcePath/ext
|
||||
* - dirname(argv[0])/ext
|
||||
* - WMAKER_USER_ROOT/Applications/ApplicationName.app/ext
|
||||
* - ~/GNUstep/Applications/ApplicationName.app/ext
|
||||
* - GNUSTEP_LOCAL_ROOT/Applications/ApplicationName.app/ext
|
||||
* - /usr/local/GNUstep/Applications/ApplicationName.app/ext
|
||||
* - GNUSTEP_SYSTEM_ROOT/Applications/ApplicationName.app/ext
|
||||
* - /usr/GNUstep/Applications/ApplicationName.app/ext
|
||||
* - GNUSTEP_USER_APPS/ApplicationName.app/ext
|
||||
* - GNUSTEP_LOCAL_APPS/ApplicationName.app/ext
|
||||
* - /usr/local/lib/GNUstep/Applications/ApplicationName.app/ext
|
||||
* - GNUSTEP_SYSTEM_APPS/ApplicationName.app/ext
|
||||
* - /usr/lib/GNUstep/Applications/ApplicationName.app/ext
|
||||
*/
|
||||
|
||||
if (WMApplication.resourcePath) {
|
||||
@@ -170,32 +172,40 @@ char *WMPathForResourceOfType(const char *resource, const char *ext)
|
||||
}
|
||||
}
|
||||
|
||||
slen = strlen(WMApplication.applicationName) + sizeof("Applications/.app");
|
||||
snprintf(buffer, sizeof(buffer), "Applications/%s.app", WMApplication.applicationName);
|
||||
path = checkFile(GETENV("WMAKER_USER_ROOT"), buffer, ext, resource);
|
||||
if (path)
|
||||
goto out;
|
||||
|
||||
slen = strlen(WMApplication.applicationName) + sizeof("/.app");
|
||||
appdir = wmalloc(slen);
|
||||
if (snprintf(appdir, slen, "Applications/%s.app", WMApplication.applicationName) >= slen)
|
||||
if (snprintf(appdir, slen, "/%s.app", WMApplication.applicationName) >= slen)
|
||||
goto out;
|
||||
|
||||
path = checkFile(getenv("WMAKER_USER_ROOT"), appdir, ext, resource);
|
||||
gsuserapps = GETENV("GNUSTEP_USER_APPS");
|
||||
if (!gsuserapps) {
|
||||
snprintf(buffer, sizeof(buffer), "%s/Applications", wusergnusteppath());
|
||||
gsuserapps = buffer;
|
||||
}
|
||||
path = checkFile(gsuserapps, appdir, ext, resource);
|
||||
if (path)
|
||||
goto out;
|
||||
|
||||
path = checkFile(wusergnusteppath(), appdir, ext, resource);
|
||||
gslocapps = GETENV("GNUSTEP_LOCAL_APPS");
|
||||
if (!gslocapps)
|
||||
gslocapps = "/usr/local/lib/GNUstep/Applications";
|
||||
path = checkFile(gslocapps, appdir, ext, resource);
|
||||
if (path)
|
||||
goto out;
|
||||
|
||||
path = checkFile(getenv("GNUSTEP_LOCAL_ROOT"), appdir, ext, resource);
|
||||
gssysapps = GETENV("GNUSTEP_SYSTEM_APPS");
|
||||
if (!gssysapps)
|
||||
gssysapps = "/usr/lib/GNUstep/Applications";
|
||||
path = checkFile(gssysapps, appdir, ext, resource);
|
||||
if (path)
|
||||
goto out;
|
||||
|
||||
path = checkFile("/usr/local/GNUstep", appdir, ext, resource);
|
||||
if (path)
|
||||
goto out;
|
||||
|
||||
path = checkFile(getenv("GNUSTEP_SYSTEM_ROOT"), appdir, ext, resource);
|
||||
if (path)
|
||||
goto out;
|
||||
|
||||
path = checkFile("/usr/GNUstep", appdir, ext, resource); /* falls through */
|
||||
path = checkFile("/usr/GNUstep/System/Applications", appdir, ext, resource); /* falls through */
|
||||
|
||||
out:
|
||||
if (appdir)
|
||||
|
||||
+3
-2
@@ -619,11 +619,12 @@ void WMSetBrowserHasScroller(WMBrowser * bPtr, int hasScroller)
|
||||
bPtr->flags.hasScroller = hasScroller;
|
||||
}
|
||||
|
||||
char *WMSetBrowserPath(WMBrowser * bPtr, char *path)
|
||||
const char *WMSetBrowserPath(WMBrowser * bPtr, const char *path)
|
||||
{
|
||||
int i;
|
||||
char *str;
|
||||
char *tmp, *retPtr = NULL;
|
||||
char *tmp;
|
||||
const char *retPtr = NULL;
|
||||
int item;
|
||||
WMListItem *listItem;
|
||||
|
||||
|
||||
+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;
|
||||
}
|
||||
|
||||
+15
-18
@@ -44,7 +44,7 @@
|
||||
# include <X11/extensions/shape.h>
|
||||
#endif
|
||||
|
||||
char *WMColorPanelColorChangedNotification = "WMColorPanelColorChangedNotification";
|
||||
const char *WMColorPanelColorChangedNotification = "WMColorPanelColorChangedNotification";
|
||||
|
||||
/*
|
||||
* Bitmaps for magnifying glass cursor
|
||||
@@ -394,7 +394,7 @@ static WMColorPanel *makeColorPanel(WMScreen * scrPtr, const char *name)
|
||||
panel->mode = WMWheelModeColorPanel;
|
||||
panel->lastChanged = 0;
|
||||
panel->slidersmode = WMRGBModeColorPanel;
|
||||
panel->configurationPath = wstrconcat(wusergnusteppath(), "/Library/Colors/");
|
||||
panel->configurationPath = wstrconcat(wuserdatapath(), "/Colors/");
|
||||
|
||||
/* Some General Purpose Widgets */
|
||||
panel->colorWell = WMCreateColorWell(panel->win);
|
||||
@@ -1159,21 +1159,18 @@ static void readConfiguration(W_ColorPanel * panel)
|
||||
|
||||
DIR *dPtr;
|
||||
struct dirent *dp;
|
||||
struct stat stat_buf;
|
||||
int item;
|
||||
|
||||
if (stat(panel->configurationPath, &stat_buf) != 0) {
|
||||
if (mkdir(panel->configurationPath, S_IRWXU | S_IRGRP | S_IROTH | S_IXGRP | S_IXOTH) != 0) {
|
||||
werror(_("Color Panel: Could not create directory %s needed"
|
||||
" to store configurations"), panel->configurationPath);
|
||||
WMSetPopUpButtonEnabled(panel->customPaletteMenuBtn, False);
|
||||
WMSetPopUpButtonEnabled(panel->colorListColorMenuBtn, False);
|
||||
WMSetPopUpButtonEnabled(panel->colorListListMenuBtn, False);
|
||||
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
|
||||
_("File Error"),
|
||||
_("Could not create ColorPanel configuration directory"),
|
||||
_("OK"), NULL, NULL);
|
||||
}
|
||||
if (!wmkdirhier(panel->configurationPath)) {
|
||||
werror(_("Color Panel: Could not create directory %s needed"
|
||||
" to store configurations"), panel->configurationPath);
|
||||
WMSetPopUpButtonEnabled(panel->customPaletteMenuBtn, False);
|
||||
WMSetPopUpButtonEnabled(panel->colorListColorMenuBtn, False);
|
||||
WMSetPopUpButtonEnabled(panel->colorListListMenuBtn, False);
|
||||
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
|
||||
_("File Error"),
|
||||
_("Could not create ColorPanel configuration directory"),
|
||||
_("OK"), NULL, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2262,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;
|
||||
@@ -2607,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;
|
||||
@@ -2643,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;
|
||||
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
|
||||
#define XDND_COLOR_DATA_TYPE "application/X-color"
|
||||
|
||||
char *WMColorWellDidChangeNotification = "WMColorWellDidChangeNotification";
|
||||
const char *WMColorWellDidChangeNotification = "WMColorWellDidChangeNotification";
|
||||
|
||||
typedef struct W_ColorWell {
|
||||
W_Class widgetClass;
|
||||
@@ -173,10 +173,10 @@ WMColorWell *WMCreateColorWell(WMWidget * parent)
|
||||
|
||||
void WMSetColorWellColor(WMColorWell * cPtr, WMColor * color)
|
||||
{
|
||||
if (cPtr->color)
|
||||
if (cPtr->color && cPtr->color != color) {
|
||||
WMReleaseColor(cPtr->color);
|
||||
|
||||
cPtr->color = WMRetainColor(color);
|
||||
cPtr->color = WMRetainColor(color);
|
||||
}
|
||||
|
||||
if (cPtr->colorView->flags.realized && cPtr->colorView->flags.mapped)
|
||||
paintColorWell(cPtr);
|
||||
|
||||
@@ -29,6 +29,12 @@
|
||||
# define _(text) (text)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SECURE_GETENV
|
||||
#define GETENV(x) secure_getenv((x))
|
||||
#else
|
||||
#define GETENV(x) getenv((x))
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WINGS_CONFIG_H_ */
|
||||
|
||||
|
||||
+4
-4
@@ -343,7 +343,7 @@ void WMFreeFilePanel(WMFilePanel * panel)
|
||||
}
|
||||
|
||||
int
|
||||
WMRunModalFilePanelForDirectory(WMFilePanel * panel, WMWindow * owner, char *path, const char *name, char **fileTypes)
|
||||
WMRunModalFilePanelForDirectory(WMFilePanel * panel, WMWindow * owner, const char *path, const char *name, char **fileTypes)
|
||||
{
|
||||
WMScreen *scr = WMWidgetScreen(panel->win);
|
||||
|
||||
@@ -387,12 +387,12 @@ WMRunModalFilePanelForDirectory(WMFilePanel * panel, WMWindow * owner, char *pat
|
||||
return (panel->flags.canceled ? False : True);
|
||||
}
|
||||
|
||||
void WMSetFilePanelDirectory(WMFilePanel * panel, char *path)
|
||||
void WMSetFilePanelDirectory(WMFilePanel * panel, const char *path)
|
||||
{
|
||||
WMList *list;
|
||||
WMListItem *item;
|
||||
int col;
|
||||
char *rest;
|
||||
const char *rest;
|
||||
|
||||
rest = WMSetBrowserPath(panel->browser, path);
|
||||
if (strcmp(path, "/") == 0)
|
||||
@@ -761,7 +761,7 @@ static void goFloppy(WMWidget *widget, void *p_panel)
|
||||
static void goHome(WMWidget *widget, void *p_panel)
|
||||
{
|
||||
WMFilePanel *panel = p_panel;
|
||||
char *home;
|
||||
const char *home;
|
||||
|
||||
/* Parameter not used, but tell the compiler that it is ok */
|
||||
(void) widget;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
|
||||
#include "WINGsP.h"
|
||||
|
||||
char *WMListDidScrollNotification = "WMListDidScrollNotification";
|
||||
char *WMListSelectionDidChangeNotification = "WMListSelectionDidChangeNotification";
|
||||
const char *WMListDidScrollNotification = "WMListDidScrollNotification";
|
||||
const char *WMListSelectionDidChangeNotification = "WMListSelectionDidChangeNotification";
|
||||
|
||||
typedef struct W_List {
|
||||
W_Class widgetClass;
|
||||
|
||||
+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) {
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
|
||||
#define AUTOSCROLL_DELAY 40
|
||||
|
||||
char *WMScrollerDidScrollNotification = "WMScrollerDidScrollNotification";
|
||||
const char *WMScrollerDidScrollNotification = "WMScrollerDidScrollNotification";
|
||||
|
||||
typedef struct W_Scroller {
|
||||
W_Class widgetClass;
|
||||
|
||||
+25
-11
@@ -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
|
||||
|
||||
@@ -215,6 +218,11 @@ static char *default_bullet[] = {
|
||||
" ooo "
|
||||
};
|
||||
|
||||
/* These id are used when sharing the selected text between applications */
|
||||
static Atom XA_Targets = None;
|
||||
static Atom XA_Format_Text = None;
|
||||
static Atom XA_Format_Compound_Text = None;
|
||||
|
||||
static void handleEvents(XEvent * event, void *data);
|
||||
static void layOutDocument(Text * tPtr);
|
||||
static void updateScrollers(Text * tPtr);
|
||||
@@ -617,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;
|
||||
@@ -2036,17 +2044,13 @@ static void releaseSelection(Text * tPtr)
|
||||
static WMData *requestHandler(WMView * view, Atom selection, Atom target, void *cdata, Atom * type)
|
||||
{
|
||||
Text *tPtr = view->self;
|
||||
Display *dpy = tPtr->view->screen->display;
|
||||
Atom _TARGETS;
|
||||
Atom TEXT = XInternAtom(dpy, "TEXT", False);
|
||||
Atom COMPOUND_TEXT = XInternAtom(dpy, "COMPOUND_TEXT", False);
|
||||
WMData *data = NULL;
|
||||
|
||||
/* Parameter not used, but tell the compiler that it is ok */
|
||||
(void) selection;
|
||||
(void) cdata;
|
||||
|
||||
if (target == XA_STRING || target == TEXT || target == COMPOUND_TEXT) {
|
||||
if (target == XA_STRING || target == XA_Format_Text || target == XA_Format_Compound_Text) {
|
||||
char *text = WMGetTextSelectedStream(tPtr);
|
||||
|
||||
if (text) {
|
||||
@@ -2059,14 +2063,13 @@ static WMData *requestHandler(WMView * view, Atom selection, Atom target, void *
|
||||
} else
|
||||
printf("didn't get it\n");
|
||||
|
||||
_TARGETS = XInternAtom(dpy, "TARGETS", False);
|
||||
if (target == _TARGETS) {
|
||||
if (target == XA_Targets) {
|
||||
Atom array[4];
|
||||
|
||||
array[0] = _TARGETS;
|
||||
array[0] = XA_Targets;
|
||||
array[1] = XA_STRING;
|
||||
array[2] = TEXT;
|
||||
array[3] = COMPOUND_TEXT;
|
||||
array[2] = XA_Format_Text;
|
||||
array[3] = XA_Format_Compound_Text;
|
||||
|
||||
data = WMCreateDataWithBytes(&array, sizeof(array));
|
||||
WMSetDataFormat(data, 32);
|
||||
@@ -2974,6 +2977,17 @@ WMText *WMCreateTextForDocumentType(WMWidget * parent, WMAction * parser, WMActi
|
||||
dpy = tPtr->view->screen->display;
|
||||
scr = tPtr->view->screen;
|
||||
|
||||
if (XA_Targets == None) {
|
||||
/*
|
||||
* Because the X protocol guaranties that the value will never change in
|
||||
* the lifespan of the server, we query the values only the first time a
|
||||
* widget is created
|
||||
*/
|
||||
XA_Targets = XInternAtom(dpy, "TARGETS", False);
|
||||
XA_Format_Text = XInternAtom(dpy, "TEXT", False);
|
||||
XA_Format_Compound_Text = XInternAtom(dpy, "COMPOUND_TEXT", False);
|
||||
}
|
||||
|
||||
tPtr->view->self = tPtr;
|
||||
tPtr->view->attribs.cursor = scr->textCursor;
|
||||
tPtr->view->attribFlags |= CWOverrideRedirect | CWCursor;
|
||||
|
||||
+5
-5
@@ -10,9 +10,9 @@
|
||||
#define CURSOR_BLINK_ON_DELAY 600
|
||||
#define CURSOR_BLINK_OFF_DELAY 300
|
||||
|
||||
char *WMTextDidChangeNotification = "WMTextDidChangeNotification";
|
||||
char *WMTextDidBeginEditingNotification = "WMTextDidBeginEditingNotification";
|
||||
char *WMTextDidEndEditingNotification = "WMTextDidEndEditingNotification";
|
||||
const char *WMTextDidChangeNotification = "WMTextDidChangeNotification";
|
||||
const char *WMTextDidBeginEditingNotification = "WMTextDidBeginEditingNotification";
|
||||
const char *WMTextDidEndEditingNotification = "WMTextDidEndEditingNotification";
|
||||
|
||||
typedef struct W_TextField {
|
||||
W_Class widgetClass;
|
||||
@@ -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)
|
||||
@@ -942,7 +942,7 @@ static void handleTextFieldKeyPress(TextField * tPtr, XEvent * event)
|
||||
{
|
||||
char buffer[64];
|
||||
KeySym ksym;
|
||||
char *textEvent = NULL;
|
||||
const char *textEvent = NULL;
|
||||
void *data = NULL;
|
||||
int count, refresh = 0;
|
||||
int control_pressed = 0;
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "WINGsP.h"
|
||||
|
||||
void WHandleEvents()
|
||||
void WHandleEvents(void)
|
||||
{
|
||||
/* Check any expired timers */
|
||||
W_CheckTimerHandlers();
|
||||
|
||||
+3
-3
@@ -5,9 +5,9 @@
|
||||
|
||||
/* the notifications about views */
|
||||
|
||||
char *WMViewSizeDidChangeNotification = "WMViewSizeDidChangeNotification";
|
||||
char *WMViewFocusDidChangeNotification = "WMViewFocusDidChangeNotification";
|
||||
char *WMViewRealizedNotification = "WMViewRealizedNotification";
|
||||
const char *WMViewSizeDidChangeNotification = "WMViewSizeDidChangeNotification";
|
||||
const char *WMViewFocusDidChangeNotification = "WMViewFocusDidChangeNotification";
|
||||
const char *WMViewRealizedNotification = "WMViewRealizedNotification";
|
||||
|
||||
#define EVENT_MASK \
|
||||
KeyPressMask|KeyReleaseMask|ButtonPressMask|ButtonReleaseMask| \
|
||||
|
||||
@@ -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;
|
||||
|
||||
+18
-6
@@ -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]);
|
||||
|
||||
@@ -1828,10 +1840,10 @@ static void createPanel(Panel * p)
|
||||
char *tmp;
|
||||
Bool ok = True;
|
||||
|
||||
panel->fprefix = wstrconcat(wusergnusteppath(), "/Library/WindowMaker");
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
+18
-2
@@ -25,7 +25,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 */
|
||||
@@ -119,7 +119,9 @@ static const struct {
|
||||
/* default: */ False, OPTION_WMAKER, "DbClickFullScreen" },
|
||||
|
||||
{ N_("Close rootmenu when mouse (left or right) is clicked outside focus."),
|
||||
/* default: */ False, OPTION_WMAKER, "CloseRootMenuByLeftOrRightMouseClick" }
|
||||
/* default: */ False, OPTION_WMAKER, "CloseRootMenuByLeftOrRightMouseClick" },
|
||||
{ N_("Keep dock on primary head."),
|
||||
/* default: */ False, OPTION_WMAKER, "KeepDockOnPrimaryHead"},
|
||||
|
||||
};
|
||||
|
||||
@@ -170,6 +172,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;
|
||||
@@ -193,6 +208,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);
|
||||
|
||||
@@ -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[] = {
|
||||
@@ -156,8 +156,12 @@ static const struct {
|
||||
{ "WindowRelaunchKey", N_("Launch new instance of application") },
|
||||
{ "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 +320,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 +369,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 +413,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 +544,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 = strcmp(opt1->title, opt2->title)) < 0)
|
||||
return -1;
|
||||
else if (rc > 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void createPanel(Panel * p)
|
||||
{
|
||||
_Panel *panel = (_Panel *) p;
|
||||
@@ -538,6 +597,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));
|
||||
}
|
||||
|
||||
+12
-1
@@ -10,9 +10,20 @@ wpdatadir = @wprefs_datadir@
|
||||
|
||||
wpdata_DATA = WPrefs.tiff WPrefs.xpm
|
||||
|
||||
applicationsdir = @datadir@/applications
|
||||
|
||||
applications_DATA = WPrefs.desktop
|
||||
|
||||
WPrefs.desktop: WPrefs.desktop.in
|
||||
$(AM_V_GEN)sed -e "s:#wprefs_bindir#:${wprefs_bindir}:" \
|
||||
-e "s:#wprefs_datadir#:${wprefs_datadir}:" $< > $@
|
||||
|
||||
EXTRA_DIST = $(wpdata_DATA) \
|
||||
KeyboardSettings.c \
|
||||
Themes.c
|
||||
Themes.c \
|
||||
WPrefs.desktop.in
|
||||
|
||||
DISTCLEANFILES = WPrefs.desktop
|
||||
|
||||
WPrefs_SOURCES = \
|
||||
main.c \
|
||||
|
||||
+15
-11
@@ -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]);
|
||||
|
||||
@@ -507,7 +509,7 @@ static void createPanel(_Panel * p)
|
||||
WMSetScrollViewContentView(sview, WMWidgetView(pad));
|
||||
|
||||
data = putNewItem(panel, pad, ExternalInfo, _("Debian Menu"));
|
||||
data->param.pipe.command = "/etc/GNUstep/Defaults/menu.hook";
|
||||
data->param.pipe.command = "/etc/" GSUSER_SUBDIR "/" DEFAULTS_SUBDIR "/menu.hook";
|
||||
|
||||
data = putNewItem(panel, pad, PipeInfo, _("RedHat Menu"));
|
||||
data->param.pipe.command = "wmconfig --output wmaker";
|
||||
@@ -518,19 +520,25 @@ static void createPanel(_Panel * p)
|
||||
data = putNewItem(panel, pad, DirectoryInfo, _("Themes"));
|
||||
data->param.directory.command = "setstyle";
|
||||
data->param.directory.directory =
|
||||
"/usr/share/WindowMaker/Themes /usr/local/share/WindowMaker/Themes $HOME/GNUstep/Library/WindowMaker/Themes";
|
||||
"/usr/share/" PACKAGE_TARNAME "/Themes"
|
||||
" /usr/local/share/" PACKAGE_TARNAME "/Themes"
|
||||
" $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Themes";
|
||||
data->param.directory.stripExt = 1;
|
||||
|
||||
data = putNewItem(panel, pad, DirectoryInfo, _("Bg Images (scale)"));
|
||||
data->param.directory.command = "wmsetbg -u -s";
|
||||
data->param.directory.directory =
|
||||
"/opt/kde2/share/wallpapers /usr/share/WindowMaker/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds";
|
||||
"/opt/kde2/share/wallpapers"
|
||||
" /usr/share/" PACKAGE_TARNAME "/Backgrounds"
|
||||
" $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Backgrounds";
|
||||
data->param.directory.stripExt = 1;
|
||||
|
||||
data = putNewItem(panel, pad, DirectoryInfo, _("Bg Images (tile)"));
|
||||
data->param.directory.command = "wmsetbg -u -t";
|
||||
data->param.directory.directory =
|
||||
"/opt/kde2/share/wallpapers /usr/share/WindowMaker/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds";
|
||||
"/opt/kde2/share/wallpapers"
|
||||
" /usr/share/" PACKAGE_TARNAME "/Backgrounds"
|
||||
" $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Backgrounds";
|
||||
data->param.directory.stripExt = 1;
|
||||
|
||||
smenu = putNewSubmenu(pad, _("Assorted XTerms"));
|
||||
@@ -619,7 +627,8 @@ static void createPanel(_Panel * p)
|
||||
WMSetLabelText(label, _("Enter the path for a file containing a menu\n"
|
||||
"or a list of directories with the programs you\n"
|
||||
"want to have listed in the menu. Ex:\n"
|
||||
"~/GNUstep/Library/WindowMaker/menu\n" "or\n" "/usr/bin ~/xbin"));
|
||||
"~/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/menu\n"
|
||||
"or\n" "/usr/bin ~/xbin"));
|
||||
|
||||
WMMapSubwidgets(panel->pathF);
|
||||
|
||||
@@ -1493,16 +1502,11 @@ static WMPropList *getDefaultMenu(_Panel * panel)
|
||||
|
||||
static void showData(_Panel * panel)
|
||||
{
|
||||
const char *gspath;
|
||||
char *menuPath, *labelText;
|
||||
char buf[1024];
|
||||
WMPropList *pmenu;
|
||||
|
||||
gspath = wusergnusteppath();
|
||||
|
||||
menuPath = wmalloc(strlen(gspath) + 32);
|
||||
strcpy(menuPath, gspath);
|
||||
strcat(menuPath, "/Defaults/WMRootMenu");
|
||||
menuPath = wdefaultspathfordomain("WMRootMenu");
|
||||
|
||||
pmenu = WMReadPropListFromFile(menuPath);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -650,7 +647,7 @@ static void storeCommandInScript(const char *cmd, const char *line)
|
||||
umask(permissions);
|
||||
permissions = (S_IRWXU | S_IRWXG | S_IRWXO) & (~permissions);
|
||||
|
||||
path = wstrconcat(wusergnusteppath(), "/Library/WindowMaker/autostart");
|
||||
path = wstrconcat(wuserdatapath(), "/" PACKAGE_TARNAME "/autostart");
|
||||
|
||||
f = fopen(path, "rb");
|
||||
if (!f) {
|
||||
@@ -668,7 +665,7 @@ static void storeCommandInScript(const char *cmd, const char *line)
|
||||
char *tmppath;
|
||||
FILE *fo;
|
||||
|
||||
tmppath = wstrconcat(wusergnusteppath(), "/Library/WindowMaker/autostart.tmp");
|
||||
tmppath = wstrconcat(wuserdatapath(), "/" PACKAGE_TARNAME "/autostart.tmp");
|
||||
fo = fopen(tmppath, "wb");
|
||||
if (!fo) {
|
||||
werror(_("could not create temporary file %s"), tmppath);
|
||||
@@ -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
|
||||
|
||||
+6
-6
@@ -77,11 +77,11 @@ static void showData(_Panel * panel)
|
||||
if (array)
|
||||
wwarning(_("bad value in option IconPath. Using default path list"));
|
||||
addPathToList(panel->icoL, -1, "~/pixmaps");
|
||||
addPathToList(panel->icoL, -1, "~/GNUstep/Library/Icons");
|
||||
addPathToList(panel->icoL, -1, "~/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/Icons");
|
||||
addPathToList(panel->icoL, -1, "/usr/include/X11/pixmaps");
|
||||
addPathToList(panel->icoL, -1, "/usr/local/share/WindowMaker/Icons");
|
||||
addPathToList(panel->icoL, -1, "/usr/local/share/WindowMaker/Pixmaps");
|
||||
addPathToList(panel->icoL, -1, "/usr/share/WindowMaker/Icons");
|
||||
addPathToList(panel->icoL, -1, "/usr/local/share/" PACKAGE_TARNAME "/Icons");
|
||||
addPathToList(panel->icoL, -1, "/usr/local/share/" PACKAGE_TARNAME "/Pixmaps");
|
||||
addPathToList(panel->icoL, -1, "/usr/share/" PACKAGE_TARNAME "/Icons");
|
||||
} else {
|
||||
for (i = 0; i < WMGetPropListItemCount(array); i++) {
|
||||
val = WMGetFromPLArray(array, i);
|
||||
@@ -94,8 +94,8 @@ static void showData(_Panel * panel)
|
||||
if (array)
|
||||
wwarning(_("bad value in option PixmapPath. Using default path list"));
|
||||
addPathToList(panel->pixL, -1, "~/pixmaps");
|
||||
addPathToList(panel->pixL, -1, "~/GNUstep/Library/WindowMaker/Pixmaps");
|
||||
addPathToList(panel->pixL, -1, "/usr/local/share/WindowMaker/Pixmaps");
|
||||
addPathToList(panel->pixL, -1, "~/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Pixmaps");
|
||||
addPathToList(panel->pixL, -1, "/usr/local/share/" PACKAGE_TARNAME "/Pixmaps");
|
||||
} else {
|
||||
for (i = 0; i < WMGetPropListItemCount(array); i++) {
|
||||
val = WMGetFromPLArray(array, i);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.5
|
||||
Type=Application
|
||||
Name=WPrefs
|
||||
Comment=Window Maker Preferences
|
||||
TryExec=#wprefs_bindir#/WPrefs
|
||||
Exec=WPrefs
|
||||
Icon=#wprefs_datadir#/WPrefs.xpm
|
||||
Categories=Settings;DesktopSettings;
|
||||
+1
-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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 } } } } } } } } ",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
defsdatadir = $(pkgdatadir)/Backgrounds
|
||||
bgdatadir = $(pkgdatadir)/Backgrounds
|
||||
|
||||
defsdata_DATA = BlueImage.jpeg
|
||||
bgdata_DATA = BlueImage.jpeg
|
||||
|
||||
EXTRA_DIST = $(defsdata_DATA)
|
||||
EXTRA_DIST = $(bgdata_DATA)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
defsdata_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
|
||||
pkgconf_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
|
||||
|
||||
wpexecbindir = @wprefs_bindir@
|
||||
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
SwitchPanelOnlyOpen = NO;
|
||||
MiniPreviewSize = 128;
|
||||
IgnoreGtkHints = NO;
|
||||
KeepDockOnPrimaryHead = NO;
|
||||
MenuStyle = normal;
|
||||
WidgetColor = (solid, gray);
|
||||
WorkspaceSpecificBack = ();
|
||||
@@ -231,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);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
defsdatadir = $(pkgdatadir)/IconSets
|
||||
iconsetdatadir = $(pkgdatadir)/IconSets
|
||||
|
||||
defsdata_DATA = Default.iconset
|
||||
iconsetdata_DATA = Default.iconset
|
||||
|
||||
EXTRA_DIST =
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
defsdatadir = $(pkgdatadir)/Icons
|
||||
icondatadir = $(pkgdatadir)/Icons
|
||||
|
||||
|
||||
defsdata_DATA = \
|
||||
icondata_DATA = \
|
||||
BitchX.tiff\
|
||||
BitchX.xpm\
|
||||
clip.tiff\
|
||||
@@ -74,5 +74,5 @@ defsdata_DATA = \
|
||||
xv.xpm
|
||||
|
||||
|
||||
EXTRA_DIST = $(defsdata_DATA)
|
||||
EXTRA_DIST = $(icondata_DATA)
|
||||
|
||||
|
||||
@@ -74,7 +74,10 @@ dist_prefsdata_DATA =\
|
||||
|
||||
nodist_prefsdata_DATA = $(GENERATED_MENUS)
|
||||
|
||||
EXTRA_DIST = $(addsuffix .in, $(GENERATED_MENUS))
|
||||
xsessionsdir = @datadir@/xsessions
|
||||
xsessions_DATA = wmaker.desktop
|
||||
|
||||
EXTRA_DIST = $(addsuffix .in, $(GENERATED_MENUS)) wmaker.desktop
|
||||
|
||||
CLEANFILES = $(GENERATED_MENUS)
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
defsdatadir = $(pkgdatadir)/Pixmaps
|
||||
pixmapdatadir = $(pkgdatadir)/Pixmaps
|
||||
|
||||
defsdata_DATA = tile.tiff \
|
||||
pixmapdata_DATA = tile.tiff \
|
||||
tile.xpm \
|
||||
swtile.png \
|
||||
swback.png \
|
||||
swback2.png
|
||||
|
||||
EXTRA_DIST = $(defsdata_DATA)
|
||||
EXTRA_DIST = $(pixmapdata_DATA)
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
prefsdatadir = $(pkgdatadir)/Styles
|
||||
styledatadir = $(pkgdatadir)/Styles
|
||||
|
||||
prefsdata_DATA =\
|
||||
styledata_DATA =\
|
||||
Adwaita.style\
|
||||
Autumn.style\
|
||||
Black.style\
|
||||
@@ -39,6 +39,6 @@ prefsdata_DATA =\
|
||||
Traditional.style\
|
||||
VioletBlue.style
|
||||
|
||||
EXTRA_DIST = $(prefsdata_DATA)
|
||||
EXTRA_DIST = $(styledata_DATA)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
defsdatadir = $(pkgdatadir)/Themes
|
||||
themesdatadir = $(pkgdatadir)/Themes
|
||||
|
||||
defsdata_DATA = Default.style OpenStep.style Pastel.style SteelBlueSilk.style Blau.style
|
||||
themesdata_DATA = Default.style OpenStep.style Pastel.style SteelBlueSilk.style Blau.style
|
||||
|
||||
EXTRA_DIST = $(defsdata_DATA)
|
||||
EXTRA_DIST = $(themesdata_DATA)
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Window Maker
|
||||
Comment=This session logs you into Window Maker
|
||||
Exec=wmaker
|
||||
TryExec=wmaker
|
||||
DesktopNames=WindowMaker
|
||||
X-GDM-SessionRegisters=true
|
||||
+99
-19
@@ -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
|
||||
@@ -103,6 +103,7 @@ LT_INIT
|
||||
|
||||
dnl Debugging Options
|
||||
dnl =================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([debug],
|
||||
[AS_HELP_STRING([--enable-debug], [enable debugging options, @<:@default=no@:>@])],
|
||||
[AS_CASE(["$enableval"],
|
||||
@@ -110,6 +111,7 @@ AC_ARG_ENABLE([debug],
|
||||
[no], [debug=no],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-debug])] )],
|
||||
[debug=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
AS_IF([test "x$debug" = "xyes"],
|
||||
[dnl This flag should have already been detected and added, but if user
|
||||
dnl provided an explicit CFLAGS it may not be the case
|
||||
@@ -234,6 +236,7 @@ AS_IF([test "x$debug" = "xyes"],
|
||||
|
||||
dnl To upload documentation to the Website
|
||||
dnl ======================================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_WITH([web-repo],
|
||||
[AS_HELP_STRING([--with-web-repo=PATH], [path to your git repository for the Web home page (maintainer stuff)])],
|
||||
[AS_CASE([$withval],
|
||||
@@ -241,6 +244,7 @@ AC_ARG_WITH([web-repo],
|
||||
[no], [WEB_REPO_ROOT=""],
|
||||
[WEB_REPO_ROOT=$withval])],
|
||||
[WEB_REPO_ROOT=""])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_CHECK_WEBREPODIR
|
||||
|
||||
|
||||
@@ -266,8 +270,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"],
|
||||
@@ -308,24 +312,30 @@ AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags t
|
||||
|
||||
dnl Features Configuration
|
||||
dnl ======================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([animations],
|
||||
[AS_HELP_STRING([--disable-animations], [disable permanently animations @<:@default=enabled@:>@])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-animations])])],
|
||||
[enable_animations="yes"])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_animations" = "xno"],
|
||||
[unsupported="$unsupported Animations"],
|
||||
[AC_DEFINE([USE_ANIMATIONS], [1], [Defined when user did not request to disable animations])
|
||||
supported_core="$supported_core Animations"])
|
||||
|
||||
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([mwm-hints],
|
||||
[AS_HELP_STRING([--disable-mwm-hints], [disable support for Motif WM hints @<:@default=enabled@:>@])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-mwm-hints])])],
|
||||
[enable_mwm_hints="yes"])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_mwm_hints" = "xno"],
|
||||
[unsupported="$unsupported MWMHints"],
|
||||
[AC_DEFINE([USE_MWM_HINTS], [1], [Defined when used did not request to disable Motif WM hints])
|
||||
@@ -335,6 +345,7 @@ AM_CONDITIONAL([USE_MWM_HINTS], [test "x$enable_mwm_hints" != "xno"])
|
||||
|
||||
dnl Boehm GC
|
||||
dnl ========
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([boehm-gc],
|
||||
[AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
|
||||
[AS_CASE(["$enableval"],
|
||||
@@ -342,6 +353,8 @@ AC_ARG_ENABLE([boehm-gc],
|
||||
[no], [with_boehm_gc=no],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-boehm-gc])] )],
|
||||
[with_boehm_gc=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$with_boehm_gc" = "xyes"],
|
||||
AC_SEARCH_LIBS([GC_malloc], [gc],
|
||||
[AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
|
||||
@@ -350,10 +363,12 @@ AS_IF([test "x$with_boehm_gc" = "xyes"],
|
||||
|
||||
dnl LCOV
|
||||
dnl ====
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([lcov],
|
||||
[AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
|
||||
[],
|
||||
[enable_lcov=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_lcov" != "xno"],
|
||||
[AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
|
||||
@@ -372,7 +387,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
|
||||
@@ -386,13 +401,15 @@ WM_FUNC_OPEN_NOFOLLOW
|
||||
|
||||
dnl Check for strlcat/strlcpy
|
||||
dnl =========================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_WITH([libbsd],
|
||||
[AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
|
||||
[AS_IF([test "x$with_libbsd" != "xno"],
|
||||
[with_libbsd=bsd]
|
||||
[with_libbsd=bsd],
|
||||
[with_libbsd=]
|
||||
)],
|
||||
[with_libbsd=bsd])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
tmp_libs=$LIBS
|
||||
AC_SEARCH_LIBS([strlcat],[$with_libbsd],
|
||||
@@ -516,24 +533,30 @@ AC_CHECK_LIB([X11], [XConvertCase],
|
||||
|
||||
dnl XKB keyboard language status
|
||||
dnl ============================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([modelock],
|
||||
[AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support])],
|
||||
[AS_CASE([$enableval],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value '$enableval' for --enable-modelock])])],
|
||||
[enable_modelock=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_modelock" = "xyes"],
|
||||
[AC_DEFINE([XKB_MODELOCK], [1], [whether XKB language MODELOCK should be enabled]) ])
|
||||
|
||||
|
||||
dnl XDND Drag-nd-Drop support
|
||||
dnl =========================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([xdnd],
|
||||
[AS_HELP_STRING([--disable-xdnd], [disable support for Drag-and-Drop on the dock @<:@default=enabled@:>@])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --disable-xdnd]) ]) ],
|
||||
[enable_xdnd=yes])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_xdnd" = "xyes"],
|
||||
[supported_core="$supported_core XDnD"
|
||||
AC_DEFINE([USE_DOCK_XDND], [1], [whether Drag-and-Drop on the dock should be enabled])],
|
||||
@@ -543,37 +566,57 @@ AM_CONDITIONAL([USE_DOCK_XDND], [test "x$enable_xdnd" != "xno"])
|
||||
|
||||
dnl Support for ICCCM 2.0 Window Manager replacement
|
||||
dnl ================================================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([wmreplace],
|
||||
[AS_HELP_STRING([--enable-wmreplace], [support for ICCCM window manager replacement])],
|
||||
[AS_CASE([$enableval],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value '$enableval' for --enable-wmreplace])])],
|
||||
[enable_wmreplace=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_wmreplace" = "xyes"],
|
||||
[AC_DEFINE([USE_ICCCM_WMREPLACE], [1],
|
||||
[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 ==============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([shape],
|
||||
[AS_HELP_STRING([--disable-shape], [disable shaped window extension support])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-shape]) ]) ],
|
||||
[enable_shape=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
WM_XEXT_CHECK_XSHAPE
|
||||
|
||||
|
||||
dnl MIT-SHM support
|
||||
dnl ===============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([shm],
|
||||
[AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-shm]) ]) ],
|
||||
[enable_shm=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_XEXT_CHECK_XSHM
|
||||
|
||||
|
||||
@@ -585,23 +628,27 @@ WM_EXT_CHECK_XMU
|
||||
|
||||
dnl XINERAMA support
|
||||
dnl ================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([xinerama],
|
||||
[AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-xinerama]) ]) ],
|
||||
[enable_xinerama=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_XEXT_CHECK_XINERAMA
|
||||
|
||||
|
||||
dnl RandR support
|
||||
dnl =============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([randr],
|
||||
[AS_HELP_STRING([--enable-randr], [enable RandR extension support (NOT recommended, buggy)])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-randr]) ]) ],
|
||||
[enable_randr=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_XEXT_CHECK_XRANDR
|
||||
|
||||
|
||||
@@ -649,12 +696,14 @@ AC_SUBST(XFT_LIBS)
|
||||
dnl PANGO support
|
||||
dnl =============
|
||||
dnl The libray can be used by WINGs to get better support on UTF-8 for i18n
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([pango],
|
||||
[AS_HELP_STRING([--disable-pango], [disable Pango text layout support @<:@default=auto@:>@])],
|
||||
[AS_CASE([$enableval],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --disable-pango])] )],
|
||||
[enable_pango=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_CHECK_LIBPANGO
|
||||
|
||||
|
||||
@@ -664,12 +713,14 @@ dnl ==============================================
|
||||
|
||||
dnl XPM Support
|
||||
dnl ===========
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([xpm],
|
||||
[AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-xpm])] )],
|
||||
[enable_xpm=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_XPM
|
||||
|
||||
|
||||
@@ -693,67 +744,79 @@ AS_IF([test "x$LIBEXIF" != "x"],
|
||||
|
||||
dnl PNG Support
|
||||
dnl ===========
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([png],
|
||||
[AS_HELP_STRING([--disable-png], [disable PNG support through libpng])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-png])] )],
|
||||
[enable_png=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_PNG
|
||||
|
||||
|
||||
dnl JPEG Support
|
||||
dnl ============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([jpeg],
|
||||
[AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-jpeg])] )],
|
||||
[enable_jpeg=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_JPEG
|
||||
|
||||
|
||||
dnl GIF Support
|
||||
dnl ============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE(gif,
|
||||
[AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-gif])] )],
|
||||
[enable_gif=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_GIF
|
||||
|
||||
|
||||
dnl TIFF Support
|
||||
dnl ============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([tiff],
|
||||
[AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-tiff])] )],
|
||||
[enable_tiff=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_TIFF
|
||||
|
||||
|
||||
dnl WEBP Support
|
||||
dnl ============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([webp],
|
||||
[AS_HELP_STRING([--disable-webp], [disable WEBP support through libwebp])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-webp])] )],
|
||||
[enable_webp=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_WEBP
|
||||
|
||||
|
||||
dnl MagicK Support
|
||||
dnl ==============
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([magick],
|
||||
[AS_HELP_STRING([--disable-magick], [disable MAGICK support through libMagickWand])],
|
||||
[AS_CASE(["$enableval"],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value $enableval for --enable-magick])] )],
|
||||
[enable_magick=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
WM_IMGFMT_CHECK_MAGICK
|
||||
|
||||
|
||||
@@ -795,6 +858,7 @@ AC_CHECK_HEADERS(stdlib.h)
|
||||
|
||||
dnl Support for PIXMAPDIR option
|
||||
dnl ============================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_WITH([pixmapdir],
|
||||
[AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]])],
|
||||
[AS_CASE([$withval],
|
||||
@@ -803,6 +867,7 @@ AC_ARG_WITH([pixmapdir],
|
||||
[\$*], [], dnl Assumes it starts with a reference to $prefix or a similar variable, ok
|
||||
[AC_MSG_ERROR([bad path '$withval' for pixmapdir, expecting an absolute path])])],
|
||||
[with_pixmapdir=""])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$with_pixmapdir" != "x"],
|
||||
[pixmapdir="$with_pixmapdir"],
|
||||
@@ -812,6 +877,7 @@ AC_SUBST([pixmapdir])dnl
|
||||
|
||||
dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
|
||||
dnl ==============================================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_WITH([gnustepdir],
|
||||
[AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications])],
|
||||
[AS_CASE([$withval],
|
||||
@@ -821,6 +887,7 @@ AC_ARG_WITH([gnustepdir],
|
||||
[AC_MSG_ERROR([bad path '$withval' for gnustepdir, expecting an absolute path])])],
|
||||
[dnl If no command-line option was given, we use $GNUSTEP_LOCAL_ROOT if it was set
|
||||
with_gnustepdir="$GNUSTEP_LOCAL_ROOT"])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$with_gnustepdir" = "x"],
|
||||
[dnl No path specified, use default
|
||||
@@ -834,30 +901,43 @@ AS_IF([test "x$with_gnustepdir" = "x"],
|
||||
AC_SUBST([wprefs_datadir])dnl
|
||||
AC_SUBST([wprefs_bindir])dnl
|
||||
|
||||
dnl Support for DEFSDATADIR option
|
||||
dnl ============================
|
||||
AC_ARG_WITH([defsdatadir],
|
||||
[AS_HELP_STRING([--with-defsdatadir=PATH], [specify where global defaults are located [SYSCONFDIR/WindowMaker]])],
|
||||
|
||||
dnl Support for PKGCONFDIR option
|
||||
dnl =============================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_WITH([pkgconfdir],
|
||||
[AS_HELP_STRING([--with-pkgconfdir=PATH], [specify where global defaults are located [SYSCONFDIR/WindowMaker]])],
|
||||
[AS_CASE([$withval],
|
||||
[yes|no], [AC_MSG_ERROR([bad value '$withval' for --with-defsdatadir, expected a path]) ],
|
||||
[yes|no], [AC_MSG_ERROR([bad value '$withval' for --with-pkgconfdir, expected a path]) ],
|
||||
[/*], [], dnl Absolute path, ok
|
||||
[\$*], [], dnl Assumes it starts with a reference to $prefix or a similar variable, ok
|
||||
[AC_MSG_ERROR([bad path '$withval' for defsdatadir, expecting an absolute path])])],
|
||||
[with_defsdatadir=""])
|
||||
[AC_MSG_ERROR([bad path '$withval' for pkgconfdir, expecting an absolute path])])],
|
||||
[with_pkgconfdir=""])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
dnl Provide a message when trying to use "--with-defsdatadir" so that user can update its
|
||||
dnl arguments. Otherwise only a warning is issued, which is likely to be missed, which will
|
||||
dnl lead to perceived misbehaviour much later (and hard to debug).
|
||||
WM_DENY_ARG_WITH([defsdatadir],
|
||||
[AC_MSG_ERROR([option "--with-defsdatadir" have been replaced by "--with-pkgconfdir"])])
|
||||
|
||||
AS_IF([test "x$with_pkgconfdir" != "x"],
|
||||
[pkgconfdir="$with_pkgconfdir"],
|
||||
[pkgconfdir='${sysconfdir}/${PACKAGE_TARNAME}'])
|
||||
AC_SUBST([pkgconfdir])dnl
|
||||
|
||||
AS_IF([test "x$with_defsdatadir" != "x"],
|
||||
[defsdatadir="$with_defsdatadir"],
|
||||
[defsdatadir='${sysconfdir}/WindowMaker'])
|
||||
AC_SUBST([defsdatadir])dnl
|
||||
|
||||
dnl Enable User Defined Menu thing
|
||||
dnl ==============================
|
||||
m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([usermenu],
|
||||
[AS_HELP_STRING([--enable-usermenu], [user defined menus for applications])],
|
||||
[AS_CASE([$enableval],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value '$enableval' for --enable-usermenu])])],
|
||||
[enable_usermenu=no])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
|
||||
AS_IF([test "x$enable_usermenu" = "xyes"],
|
||||
[AC_DEFINE([USER_MENU], [1],
|
||||
[define if you want user defined menus for applications])])
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ wmaker.1: wmaker.in Makefile $(top_builddir)/config.h
|
||||
--header "$(top_builddir)/config.h" --filter "HAVE_INOTIFY" \
|
||||
--filter "USE_ICCCM_WMREPLACE" \
|
||||
-D"pkgdatadir=$(pkgdatadir)" --replace "pkgdatadir" \
|
||||
-D"defsdatadir=$(defsdatadir)" --replace "defsdatadir" \
|
||||
-D"pkgconfdir=$(pkgconfdir)" --replace "pkgconfdir" \
|
||||
-o "wmaker.1" "$(srcdir)/wmaker.in"
|
||||
|
||||
wmsetbg.1: wmsetbg.in Makefile $(top_builddir)/config.h
|
||||
|
||||
Vendored
+5
-1
@@ -449,7 +449,7 @@ Specific to @sc{Window Maker}, this option defines an additional path where @emp
|
||||
searched. Nothing will be installed there; the default path taken is @file{@emph{DATADIR}/pixmaps},
|
||||
where @var{DATADIR} is the path defined from @option{--datadir}.
|
||||
|
||||
@item --with-defsdatadir=@i{DIR}
|
||||
@item --with-pkgconfdir=@i{DIR}
|
||||
Specific to @sc{Window Maker}, defines the directory where system configuration
|
||||
files, e.g., @file{WindowMaker}, @file{WMRootMenu}, etc., are installed. The
|
||||
default value is @file{@emph{SYSCONFDIR}/WindowMaker}, where @var{SYSCONFDIR} is
|
||||
@@ -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.).
|
||||
|
||||
|
||||
+14
-14
@@ -1,36 +1,36 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH geticonset 1 "Leden 1999"
|
||||
.SH JMÉNO
|
||||
geticonset \- extrahuje aktuální sadu ikon Window Makera
|
||||
.SH JMÉNO
|
||||
geticonset \- extrahuje aktuální sadu ikon Window Makera
|
||||
.SH SYNTAXE
|
||||
.B geticonset
|
||||
.I [volby] [soubor]
|
||||
.SH POPIS
|
||||
.B geticonset
|
||||
načíta doménu WMWindowAttributes a zapíše sadu nalezených ikon
|
||||
buď na standardtní výstup nebo do
|
||||
načíta doménu WMWindowAttributes a zapíše sadu nalezených ikon
|
||||
buď na standardtní výstup nebo do
|
||||
.I souboru.
|
||||
.SH VOLBY
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše nápovědu
|
||||
vypíše nápovědu
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verze
|
||||
.SH PROMĚNNÉ PROSTŘEDÍ
|
||||
vypíše číslo verze
|
||||
.SH PROMĚNNÉ PROSTŘEDÍ
|
||||
.IP WMAKER_USER_ROOT
|
||||
specifikuje cestu k adresáři Defaults. Řetězec "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Jakmile proměnná není nastavená,
|
||||
tak její implicitní hodnota je "~/GNUstep"
|
||||
specifikuje cestu k adresáři Defaults. Řetězec "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Jakmile proměnná není nastavená,
|
||||
tak její implicitní hodnota je "~/GNUstep"
|
||||
.SH SOUBORY
|
||||
.IP WMAKER_USER_ROOT/Defaults/WMWindowAttributes
|
||||
Toto je soubor, který se zapíše.
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
Toto je soubor, který se zapíše.
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.BR seticons (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorem Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
|
||||
+16
-16
@@ -1,38 +1,38 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH seticons 1 "Březen 1998"
|
||||
.SH JMÉNO
|
||||
seticons \- nastaví ikony pro Window Maker
|
||||
.TH seticons 1 "Březen 1998"
|
||||
.SH JMÉNO
|
||||
seticons \- nastaví ikony pro Window Maker
|
||||
.SH SYNTAXe
|
||||
.B seticons
|
||||
.I soubor
|
||||
.SH POPIS
|
||||
.B seticons
|
||||
načíta
|
||||
načíta
|
||||
.I soubor
|
||||
a zapíše jeho obsah do domény WMWindowAttributes, čímž se nastaví ikony,
|
||||
které používá Window Maker pro dané třídy (například XTerm, "xterm.XTerm",
|
||||
a zapíše jeho obsah do domény WMWindowAttributes, čímž se nastaví ikony,
|
||||
které používá Window Maker pro dané třídy (například XTerm, "xterm.XTerm",
|
||||
"pine.XTerm", atd.)
|
||||
.SH VOLBY
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše nápovědu
|
||||
vypíše nápovědu
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verze
|
||||
.SH PROMĚNNÉ PROSTŘEDÍ
|
||||
vypíše číslo verze
|
||||
.SH PROMĚNNÉ PROSTŘEDÍ
|
||||
.IP WMAKER_USER_ROOT
|
||||
specifikuje cestu k adresáři Defaults. Řetězec "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Jakmile proměnná není nastavená,
|
||||
tak její implicitní hodnota je "~/GNUstep"
|
||||
specifikuje cestu k adresáři Defaults. Řetězec "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Jakmile proměnná není nastavená,
|
||||
tak její implicitní hodnota je "~/GNUstep"
|
||||
.SH SOUBORY
|
||||
.IP WMAKER_USER_ROOT/Defaults/WMWindowAttributes
|
||||
Toto je soubor, který se zapíše.
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
Toto je soubor, který se zapíše.
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.BR geticonset (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorem Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
|
||||
+16
-16
@@ -1,39 +1,39 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wdwrite 1 "Leden 1999"
|
||||
.SH JMÉNO
|
||||
wdwrite \- zapíše klíče a hodnoty do databáze standardních nastavení
|
||||
.SH JMÉNO
|
||||
wdwrite \- zapíše klíče a hodnoty do databáze standardních nastavení
|
||||
.SH SYNTAXE
|
||||
.B wdwrite
|
||||
.I doména
|
||||
.I doména
|
||||
.I volba
|
||||
.I hodnota
|
||||
.SH POPIS
|
||||
.B wdwrite
|
||||
zapíše
|
||||
zapíše
|
||||
.I volbu
|
||||
a
|
||||
.I hodnotu
|
||||
do dané
|
||||
.I domény.
|
||||
do dané
|
||||
.I domény.
|
||||
.SH VOLBY
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše nápovědu
|
||||
vypíše nápovědu
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verze
|
||||
.SH PROMĚNNÉ PROSTŘEDÍ
|
||||
vypíše číslo verze
|
||||
.SH PROMĚNNÉ PROSTŘEDÍ
|
||||
.IP WMAKER_USER_ROOT
|
||||
specifikuje cestu k adresáři Defaults. Řetězec "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Jakmile proměnná není nastavená,
|
||||
tak její implicitní hodnota je "~/GNUstep"
|
||||
specifikuje cestu k adresáři Defaults. Řetězec "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Jakmile proměnná není nastavená,
|
||||
tak její implicitní hodnota je "~/GNUstep"
|
||||
.SH SOUBORY
|
||||
Domény se nacházejí v WMAKER_USER_ROOT/Defaults/
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
Domény se nacházejí v WMAKER_USER_ROOT/Defaults/
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorem Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>
|
||||
|
||||
+64
-64
@@ -1,133 +1,133 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH Window\ Maker 1 "Srpen 1998"
|
||||
.SH JMÉNO
|
||||
wmaker \- okenní manažer pro X11 se vzhledem NEXTSTEPu
|
||||
.TH "Window Maker" 1 "Srpen 1998"
|
||||
.SH JMÉNO
|
||||
wmaker \- okenní manažer pro X11 se vzhledem NEXTSTEPu
|
||||
.SH SYNTAXE
|
||||
.B wmaker
|
||||
.I "[-volby]"
|
||||
.SH "POPIS"
|
||||
Window Maker je okenní manažer pro X11 se vzhledem NEXTSTEPu. Snaží se
|
||||
napodobit vzhled NeXTu jak jen to je možné, ale v případě potřeby tento
|
||||
trend nedodržuje.
|
||||
Window Maker je okenní manažer pro X11 se vzhledem NEXTSTEPu. Snaží se
|
||||
napodobit vzhled NeXTu jak jen to je možné, ale v případě potřeby tento
|
||||
trend nedodržuje.
|
||||
.SH "VOLBY"
|
||||
.TP
|
||||
.B \-\-no\-cpp
|
||||
zakázat preprocessing konfiguračních souborů
|
||||
zakázat preprocessing konfiguračních souborů
|
||||
.TP
|
||||
.B \-\-no\-dock
|
||||
neotvírat Dok aplikací
|
||||
neotvírat Dok aplikací
|
||||
.TP
|
||||
.B \-\-no\-clip
|
||||
neotvírat Sponku pracovních ploch
|
||||
neotvírat Sponku pracovních ploch
|
||||
.TP
|
||||
.B \-display host:display.screen
|
||||
použít danou obrazovku.
|
||||
Na strojích s více obrazovkami bude Window Maker automaticky spravovat
|
||||
všechny obrazovky. Pokud chcete, aby Window Maker spravoval jen specifickou
|
||||
obrazovku, musíte zadat číslo obrazovky pomocí argumentu příkazové řádky
|
||||
použít danou obrazovku.
|
||||
Na strojích s více obrazovkami bude Window Maker automaticky spravovat
|
||||
všechny obrazovky. Pokud chcete, aby Window Maker spravoval jen specifickou
|
||||
obrazovku, musíte zadat číslo obrazovky pomocí argumentu příkazové řádky
|
||||
.B \-display.
|
||||
Například, pokud chcete, aby Window Maker spravoval jen obrazovku 1, spusťte ho
|
||||
Například, pokud chcete, aby Window Maker spravoval jen obrazovku 1, spusťte ho
|
||||
takto:
|
||||
.B wmaker -display :0.1
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše verzi a ukončí se
|
||||
vypíše verzi a ukončí se
|
||||
.TP
|
||||
.B \-\-visual\-id
|
||||
určí čísla obrazového režimu. Spusťte
|
||||
určí čísla obrazového režimu. Spusťte
|
||||
.BR xdpyinfo (1)
|
||||
pro seznam obrazových režimů dostupných na vašem displeji.
|
||||
pro seznam obrazových režimů dostupných na vašem displeji.
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše krátký pomocný text
|
||||
vypíše krátký pomocný text
|
||||
.PP
|
||||
.SH SOUBORY
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WindowMaker
|
||||
všeobecné nastavení Window Makera.
|
||||
všeobecné nastavení Window Makera.
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WMState
|
||||
informace o Doku a Sponce. Neditujte za běhu Window Makera. Bude
|
||||
přepsaný.
|
||||
informace o Doku a Sponce. Neditujte za běhu Window Makera. Bude
|
||||
přepsaný.
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WMRootMenu
|
||||
Obsahuje jméno souboru, z kterého se má načíst hlavní menu nebo
|
||||
menu samotné ve formátu proplist.
|
||||
Obsahuje jméno souboru, z kterého se má načíst hlavní menu nebo
|
||||
menu samotné ve formátu proplist.
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WMWindowAttributes
|
||||
Atributy pro různé třídy a instance aplikací. Použijte editor nastavení
|
||||
(stiskněte pravé tlačítko myši na horní liště aplikace, zvolte Atributy)
|
||||
namísto přímého editování tohoto souboru. Je jen málo nastavení, která
|
||||
nejsou dostupná z editora nastavení.
|
||||
Atributy pro různé třídy a instance aplikací. Použijte editor nastavení
|
||||
(stiskněte pravé tlačítko myši na horní liště aplikace, zvolte Atributy)
|
||||
namísto přímého editování tohoto souboru. Je jen málo nastavení, která
|
||||
nejsou dostupná z editora nastavení.
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Defaults/
|
||||
Všechny výše uvedené soubory se NAčÍTAJÍ odtud. Pokud se je nepodaří
|
||||
najít, kromě WMState, který se odtud ZKOPÍRUJE. Nezáleží na tom, odkud
|
||||
jsou načítané. Pokud je potřeba zapsat změnu konfigurace zpět do těchto
|
||||
souborů, zapíšou se do uživatelských souborů.
|
||||
Všechny výše uvedené soubory se NAčÍTAJÍ odtud. Pokud se je nepodaří
|
||||
najít, kromě WMState, který se odtud ZKOPÍRUJE. Nezáleží na tom, odkud
|
||||
jsou načítané. Pokud je potřeba zapsat změnu konfigurace zpět do těchto
|
||||
souborů, zapíšou se do uživatelských souborů.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/autostart
|
||||
Tento skript se automaticky vykoná pri startu Window Makera.
|
||||
Tento skript se automaticky vykoná pri startu Window Makera.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/exitscript
|
||||
Tento skript se automaticky vykoná bezprostředně před ukončením Window Makera.
|
||||
.B Poznámka:
|
||||
Když potřebujete spustit z tohoto skriptu něco, co vyžaduje spuštěný X server,
|
||||
tak nepoužívejte na ukončení Window Makera příkaz
|
||||
Tento skript se automaticky vykoná bezprostředně před ukončením Window Makera.
|
||||
.B Poznámka:
|
||||
Když potřebujete spustit z tohoto skriptu něco, co vyžaduje spuštěný X server,
|
||||
tak nepoužívejte na ukončení Window Makera příkaz
|
||||
.I SHUTDOWN
|
||||
z hlavního menu. Jinak se může stát, že X server se ukončí dřív než se vykoná
|
||||
z hlavního menu. Jinak se může stát, že X server se ukončí dřív než se vykoná
|
||||
tento skript.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/
|
||||
Soubor menu, jehož název je uveden v souboru WMRootMenu, se hledá zde...
|
||||
Soubor menu, jehož název je uveden v souboru WMRootMenu, se hledá zde...
|
||||
.TP
|
||||
.B /etc/X11/WindowMaker/
|
||||
a zde, v tomto pořadí, pokud název není absolutní cesta.
|
||||
a zde, v tomto pořadí, pokud název není absolutní cesta.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Pixmaps/
|
||||
Zde hledá Window Maker obrázky
|
||||
Zde hledá Window Maker obrázky
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Backgrounds/
|
||||
Zde hledá Window Maker pozadí
|
||||
Zde hledá Window Maker pozadí
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Styles/
|
||||
Zde hledá Window Maker soubory se styly (ne úplně... vypadá to tak, ale
|
||||
i tak musíte zadat úplnou cestu. Je to jen vyhrazené místo, aby byly
|
||||
věci pěkně uspořádané)
|
||||
Zde hledá Window Maker soubory se styly (ne úplně... vypadá to tak, ale
|
||||
i tak musíte zadat úplnou cestu. Je to jen vyhrazené místo, aby byly
|
||||
věci pěkně uspořádané)
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Themes/
|
||||
Zde hledá Window Maker soubory s tématy (viz. výše)
|
||||
Zde hledá Window Maker soubory s tématy (viz. výše)
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Pixmaps/
|
||||
Obrázky spoločné pro celý systém se nacházejí zde...
|
||||
Obrázky spoločné pro celý systém se nacházejí zde...
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Pixmaps/
|
||||
a zde.
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Styles/
|
||||
Styly spoločné pro celý systém se nacházejí zde
|
||||
Styly spoločné pro celý systém se nacházejí zde
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Themes/
|
||||
A teď to zkuste sami... ;-)
|
||||
.SH PROMĚNNÉ PROSŘEDÍ
|
||||
A teď to zkuste sami... ;-)
|
||||
.SH PROMĚNNÉ PROSŘEDÍ
|
||||
.IP WMAKER_USER_ROOT
|
||||
specifikuje cestu k adresáři Defaults. "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Pokud proměnná není nastavená,
|
||||
ta její implicitní hodnota je "~/GNUstep"
|
||||
specifikuje cestu k adresáři Defaults. "Defaults/" je přidán k této
|
||||
proměnné, čímž se určí umístění databází. Pokud proměnná není nastavená,
|
||||
ta její implicitní hodnota je "~/GNUstep"
|
||||
.IP GNUSTEP_LOCAL_ROOT
|
||||
specifikuje umístění systémového \fBlokálního\fP GNUstep adresáře (to
|
||||
je užitečné v případě, že umístění adresáře společného pro celý systém je
|
||||
ve skutečnosti společné pro celou síť). Když je tato proměnná prázdna, použije
|
||||
specifikuje umístění systémového \fBlokálního\fP GNUstep adresáře (to
|
||||
je užitečné v případě, že umístění adresáře společného pro celý systém je
|
||||
ve skutečnosti společné pro celou síť). Když je tato proměnná prázdna, použije
|
||||
se GNUSTEP_SYSTEM_ROOT.
|
||||
.IP GNUSTEP_SYSTEM_ROOT
|
||||
specifikuje umístění systémového GNUstep adresáře. Pokud je tato proměnná
|
||||
prázdna, tak její implicitní hodnota je /etc/GNUstep
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
specifikuje umístění systémového GNUstep adresáře. Pokud je tato proměnná
|
||||
prázdna, tak její implicitní hodnota je /etc/GNUstep
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
The Window Maker User Guide
|
||||
(Uživatelská příručka Window Makera)
|
||||
(Uživatelská příručka Window Makera)
|
||||
.PP
|
||||
The Window Maker FAQ
|
||||
(Často kladené dotazy)
|
||||
(Často kladené dotazy)
|
||||
.PP
|
||||
.BR X (7),
|
||||
.BR wdwrite (1),
|
||||
@@ -140,9 +140,9 @@ The Window Maker FAQ
|
||||
.BR setstyle (1),
|
||||
.BR wmsetbg (1)
|
||||
.SH AUTOR
|
||||
Autoři Window Makera jsou Alfredo K. Kojima <kojima@windowmaker.info>,
|
||||
Dan Pascu <dan@windowmaker.info> a mnoho dalších lidí z celého světa.
|
||||
Autoři Window Makera jsou Alfredo K. Kojima <kojima@windowmaker.info>,
|
||||
Dan Pascu <dan@windowmaker.info> a mnoho dalších lidí z celého světa.
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo E. Magallon, <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo E. Magallon, <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>
|
||||
|
||||
+24
-24
@@ -1,67 +1,67 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wmsetbg 1 "Leden 1999"
|
||||
.SH JMÉNO
|
||||
wmsetbg \- nastaví pozadí hlavního okna v X11
|
||||
.SH JMÉNO
|
||||
wmsetbg \- nastaví pozadí hlavního okna v X11
|
||||
.SH SYNTAXE
|
||||
.B wmsetbg
|
||||
[\-display] [\-\-version] [\-\-help] [{\-b|\-\-back\-color} \fIbarva\fP]
|
||||
[{\-t|\-\-tile}|{\-e|\-\-center}|{\-s|\-\-scale}|{\-a|\-\-maxscale} \fIobrázek\fP]
|
||||
[{\-t|\-\-tile}|{\-e|\-\-center}|{\-s|\-\-scale}|{\-a|\-\-maxscale} \fIobrázek\fP]
|
||||
[{\-d|\-\-dither}|{\-m|\-\-match}] [\-u|\-\-update\-wmaker]
|
||||
[{\-D|\-\-update\-domain} \fIdoména\fP] [{\-c|\-\-colors} \fIcpc\fP]
|
||||
[{\-p|\-\-parse} \fItextura\fP] [{\-w|\-\-workspace} \fIpracovní plocha\fP]
|
||||
[{\-D|\-\-update\-domain} \fIdoména\fP] [{\-c|\-\-colors} \fIcpc\fP]
|
||||
[{\-p|\-\-parse} \fItextura\fP] [{\-w|\-\-workspace} \fIpracovní plocha\fP]
|
||||
.SH POPIS
|
||||
.B wmsetbg
|
||||
načítá daný
|
||||
.I obrázek
|
||||
(XPM, PNG, jpeg, Tiff, raw PPM) a vloží ho do hlavního okna. Obrázek je možné
|
||||
zvětšit, nebo ho opakovat aby vyplnil hlavní okno. Window Maker používa
|
||||
tento příkaz interně na nastavení pozadí při startu.
|
||||
načítá daný
|
||||
.I obrázek
|
||||
(XPM, PNG, jpeg, Tiff, raw PPM) a vloží ho do hlavního okna. Obrázek je možné
|
||||
zvětšit, nebo ho opakovat aby vyplnil hlavní okno. Window Maker používa
|
||||
tento příkaz interně na nastavení pozadí při startu.
|
||||
.SH VOLBY
|
||||
.TP
|
||||
.B \-a|\-\-maxscale
|
||||
zvětší daný \fIobrázek\fP při dodržení poměru stran
|
||||
zvětší daný \fIobrázek\fP při dodržení poměru stran
|
||||
.TP
|
||||
.B \-e|\-\-center
|
||||
vloží \fIobrázek\fP do středu okna
|
||||
vloží \fIobrázek\fP do středu okna
|
||||
.TP
|
||||
.B \-t|\-\-tile
|
||||
vytvoří z \fIobrázku\fP dlaždice
|
||||
vytvoří z \fIobrázku\fP dlaždice
|
||||
.TP
|
||||
.B \-s|\-\-scale
|
||||
roztáhne daný \fIobrázek\fP (standartně)
|
||||
roztáhne daný \fIobrázek\fP (standartně)
|
||||
.TP
|
||||
.B \-d|\-\-dither
|
||||
rezervuje barvy
|
||||
.TP
|
||||
.B \-m|\-\-match
|
||||
shodné barvy
|
||||
shodné barvy
|
||||
.TP
|
||||
.B \-u|\-\-update\-wmaker
|
||||
zapíše změnu do databáze nastavení Window Makera
|
||||
zapíše změnu do databáze nastavení Window Makera
|
||||
.TP
|
||||
.B \-D|\-\-update\-domain
|
||||
zapíše změnu do databáze \fIdomény\fP
|
||||
zapíše změnu do databáze \fIdomény\fP
|
||||
.TP
|
||||
.B \-c|\-\-colors
|
||||
použíje určitý počet barev na kanál
|
||||
použíje určitý počet barev na kanál
|
||||
.TP
|
||||
.B \-p|\-\-parse
|
||||
parsuje danou \fItexturu\fP jako \fIproplist stylu textur\fP
|
||||
.TP
|
||||
.B \-w|\-\-workspace
|
||||
nastaví pozadí jen na dané \fIpracovní ploše\fP
|
||||
nastaví pozadí jen na dané \fIpracovní ploše\fP
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše nápovědu
|
||||
vypíše nápovědu
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verze
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
vypíše číslo verze
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorem Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
wmsetbg napsal Dan Pascu <dan@windowmaker.info>
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
|
||||
+20
-20
@@ -1,45 +1,45 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wxcopy 1 "Září 1998"
|
||||
.SH JMÉNO
|
||||
wxcopy \- kopíruje standartní vstup do vyrovnávací paměti
|
||||
.TH wxcopy 1 "Září 1998"
|
||||
.SH JMÉNO
|
||||
wxcopy \- kopíruje standartní vstup do vyrovnávací paměti
|
||||
.SH SYNOPSIS
|
||||
.B wxcopy
|
||||
[volby]
|
||||
[soubor]
|
||||
.SH POPIS
|
||||
.B wxcopy
|
||||
kopíruje standartní vstup nebo
|
||||
kopíruje standartní vstup nebo
|
||||
.I soubor
|
||||
do vyrovnávací paměti. Jakmile není dáná nějaká vyrovnávací paměť, tak se
|
||||
data kopírují do vyrovnávací paměti 0 a ostaní vyrovnávací paměti rotují,
|
||||
jestliže ovšem existují. Pokud je dáná vyrovnávací paměť, tak se data
|
||||
kopírují do ní a nevykoná se žádné rotování.
|
||||
do vyrovnávací paměti. Jakmile není dáná nějaká vyrovnávací paměť, tak se
|
||||
data kopírují do vyrovnávací paměti 0 a ostaní vyrovnávací paměti rotují,
|
||||
jestliže ovšem existují. Pokud je dáná vyrovnávací paměť, tak se data
|
||||
kopírují do ní a nevykoná se žádné rotování.
|
||||
.SH VOLBY
|
||||
.TP
|
||||
.B \-cutbuffer číslo
|
||||
Specifikuje číslo vyrovnávací paměti, do které se budou kopírovat data.
|
||||
.B \-cutbuffer číslo
|
||||
Specifikuje číslo vyrovnávací paměti, do které se budou kopírovat data.
|
||||
.TP
|
||||
.B \-display displej
|
||||
Data se budou kopírovat do vyrovnávací paměti daného displeje/obrazovky.
|
||||
Data se budou kopírovat do vyrovnávací paměti daného displeje/obrazovky.
|
||||
.TP
|
||||
.B \-nolimit
|
||||
Vypne normální limit velikosti dat 64kb, čímž se umožní zvětšování vyrovnávací
|
||||
paměti podla potřeby.
|
||||
Vypne normální limit velikosti dat 64kb, čímž se umožní zvětšování vyrovnávací
|
||||
paměti podla potřeby.
|
||||
.TP
|
||||
.B \-clearselection
|
||||
Vyprázdní vlastníka PRIMARY selekce. V praxi to znamená, že když se pokusíte
|
||||
vložit data prostředním tlačítkem (například), tak vloží se data z vyrovnávací
|
||||
paměti 0, namísto případného spuštění selelekce myši.
|
||||
Vyprázdní vlastníka PRIMARY selekce. V praxi to znamená, že když se pokusíte
|
||||
vložit data prostředním tlačítkem (například), tak vloží se data z vyrovnávací
|
||||
paměti 0, namísto případného spuštění selelekce myši.
|
||||
.PP
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.BR wxpaste (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorem Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
.PP
|
||||
Kompatibilitu s binárními daty a \-nolimit implementoval Luke Kendall
|
||||
Kompatibilitu s binárními daty a \-nolimit implementoval Luke Kendall
|
||||
<luke@research.canon.com.au>.
|
||||
|
||||
+18
-18
@@ -1,40 +1,40 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wxpaste 1 "Březen 1998"
|
||||
.SH JMÉNO
|
||||
wxpaste \- zapíše vyrovnávací paměť na standardní výstup
|
||||
.TH wxpaste 1 "Březen 1998"
|
||||
.SH JMÉNO
|
||||
wxpaste \- zapíše vyrovnávací paměť na standardní výstup
|
||||
.SH SYNTAXE
|
||||
.B wxpaste
|
||||
[volby]
|
||||
.SH POPIS
|
||||
.B wxpaste
|
||||
vypíše obsah dané vyrovnávací paměti na standardní výstup. Jakmile není
|
||||
zadána žádná vyrovnávací paměť, tak se použije vyrovnávací paměť 0.
|
||||
vypíše obsah dané vyrovnávací paměti na standardní výstup. Jakmile není
|
||||
zadána žádná vyrovnávací paměť, tak se použije vyrovnávací paměť 0.
|
||||
.PP
|
||||
.SH VOLBY
|
||||
.TP
|
||||
.B \-cutbuffer číslo
|
||||
Data budou vložena z dané vyrovnávací paměti namísto standardní 0.
|
||||
.B \-cutbuffer číslo
|
||||
Data budou vložena z dané vyrovnávací paměti namísto standardní 0.
|
||||
.TP
|
||||
.B \-display displej
|
||||
Data se budou kopírovat z vyrovnávací paměti daného displeje/obrazovky.
|
||||
Data se budou kopírovat z vyrovnávací paměti daného displeje/obrazovky.
|
||||
.TP
|
||||
.B \-selection [selekcia]
|
||||
Data budou kopírované z dané selekce. Jakmile se výběr ze selekce nepodaří,
|
||||
tak se použije vyrovnávací paměť. Implicitní hodnota pro selekci je PRIMARY.
|
||||
Data budou kopírované z dané selekce. Jakmile se výběr ze selekce nepodaří,
|
||||
tak se použije vyrovnávací paměť. Implicitní hodnota pro selekci je PRIMARY.
|
||||
.PP
|
||||
.SH CHYBY
|
||||
\-selection musí být poslední volba. Syntaxe může být upravená, ale
|
||||
brání tomu špatná kompatibilita.
|
||||
\-selection musí být poslední volba. Syntaxe může být upravená, ale
|
||||
brání tomu špatná kompatibilita.
|
||||
|
||||
Typy selekcí INCR a MULTIPLE nejsou podporované. Ve skutečnosti je
|
||||
podporovaný jen jednoduchý text, což by mělo stačit pro většinu uživatelů
|
||||
takovéto jednoduché utilitky.
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
Typy selekcí INCR a MULTIPLE nejsou podporované. Ve skutečnosti je
|
||||
podporovaný jen jednoduchý text, což by mělo stačit pro většinu uživatelů
|
||||
takovéto jednoduché utilitky.
|
||||
.SH PODÍVEJTE SE TAKÉ
|
||||
.BR wxcopy (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorem Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Tuto manuálovou stránku napsal Marcelo Magallon <mmagallo@debian.org>.
|
||||
.PP
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
Do češtiny přeložil Jiří Hnídek <jiri.hnidek@vslib.cz>.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH Window\ Maker 1 "August 1998"
|
||||
.TH "Window Maker" 1 "August 1998"
|
||||
.SH "НАИМЕНОВАНИЕ"
|
||||
wmaker \- оконный менеджер для X11 эмулирующий интерфейс NEXTSTEP.
|
||||
.SH "СИНТАКСИС"
|
||||
|
||||
+16
-16
@@ -1,34 +1,34 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH geticonset 1 "January 1999"
|
||||
.SH MENO
|
||||
geticonset \- extrahuje aktuálnu sadu ikon Window Makera
|
||||
geticonset \- extrahuje aktuálnu sadu ikon Window Makera
|
||||
.SH SYNTAX
|
||||
.B geticonset
|
||||
.I [voľby] [súbor]
|
||||
.I [voľby] [súbor]
|
||||
.SH POPIS
|
||||
.B geticonset
|
||||
načíta doménu WMWindowAttributes a zapíše sadu nájdených ikon
|
||||
buď na štandardný výstup alebo do
|
||||
.I súboru.
|
||||
.SH VOĽBY
|
||||
načíta doménu WMWindowAttributes a zapíše sadu nájdených ikon
|
||||
buď na štandardný výstup alebo do
|
||||
.I súboru.
|
||||
.SH VOĽBY
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše pomocný text
|
||||
vypíše pomocný text
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verzie
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
vypíše číslo verzie
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
.IP WMAKER_USER_ROOT
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.SH SÚBORY
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.SH SÚBORY
|
||||
.IP WMAKER_USER_ROOT/Defaults/WMWindowAttributes
|
||||
Toto je súbor, ktorý sa zapíše.
|
||||
.SH POZRI TIEŽ
|
||||
Toto je súbor, ktorý sa zapíše.
|
||||
.SH POZRI TIEŽ
|
||||
.BR seticons (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorom Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
|
||||
+18
-18
@@ -1,36 +1,36 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH seticons 1 "March 1998"
|
||||
.SH MENO
|
||||
seticons \- nastaví obrázky ikon pre Window Maker
|
||||
seticons \- nastaví obrázky ikon pre Window Maker
|
||||
.SH SYNTAX
|
||||
.B seticons
|
||||
.I súbor
|
||||
.I súbor
|
||||
.SH POPIS
|
||||
.B seticons
|
||||
načíta
|
||||
.I súbor
|
||||
a zapíše jeho obsah do domény WMWindowAttributes, čím sa nastavia ikony,
|
||||
ktoré používa Window Maker pre dané triedy (napríklad XTerm, "xterm.XTerm",
|
||||
"pine.XTerm", atď.)
|
||||
.SH VOĽBY
|
||||
načíta
|
||||
.I súbor
|
||||
a zapíše jeho obsah do domény WMWindowAttributes, čím sa nastavia ikony,
|
||||
ktoré používa Window Maker pre dané triedy (napríklad XTerm, "xterm.XTerm",
|
||||
"pine.XTerm", atď.)
|
||||
.SH VOĽBY
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše pomocný text
|
||||
vypíše pomocný text
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verzie
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
vypíše číslo verzie
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
.IP WMAKER_USER_ROOT
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.SH SÚBORY
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.SH SÚBORY
|
||||
.IP WMAKER_USER_ROOT/Defaults/WMWindowAttributes
|
||||
Toto je súbor, ktorý sa zapíše.
|
||||
.SH POZRI TIEŽ
|
||||
Toto je súbor, ktorý sa zapíše.
|
||||
.SH POZRI TIEŽ
|
||||
.BR geticonset (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorom Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
|
||||
+17
-17
@@ -1,37 +1,37 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wdwrite 1 "January 1999"
|
||||
.SH MENO
|
||||
wdwrite \- zapíše kľúče a hodnoty do databázy štandardných nastavení
|
||||
wdwrite \- zapíše kľúče a hodnoty do databázy štandardných nastavení
|
||||
.SH SYNTAX
|
||||
.B wdwrite
|
||||
.I doména
|
||||
.I voľba
|
||||
.I doména
|
||||
.I voľba
|
||||
.I hodnota
|
||||
.SH POPIS
|
||||
.B wdwrite
|
||||
zapíše
|
||||
.I voľbu
|
||||
zapíše
|
||||
.I voľbu
|
||||
a
|
||||
.I hodnotu
|
||||
do danej
|
||||
.I domény.
|
||||
.SH VOĽBY
|
||||
.I domény.
|
||||
.SH VOĽBY
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše pomocný text
|
||||
vypíše pomocný text
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verzie
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
vypíše číslo verzie
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
.IP WMAKER_USER_ROOT
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.SH SÚBORY
|
||||
Domény sa nachádzajú v WMAKER_USER_ROOT/Defaults/
|
||||
.SH POZRI TIEŽ
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.SH SÚBORY
|
||||
Domény sa nachádzajú v WMAKER_USER_ROOT/Defaults/
|
||||
.SH POZRI TIEŽ
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorom Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
|
||||
+63
-63
@@ -1,128 +1,128 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH Window\ Maker 1 "August 1998"
|
||||
.TH "Window Maker" 1 "August 1998"
|
||||
.SH MENO
|
||||
wmaker \- manažér okien pre X11 so vzhľadom NEXTSTEP
|
||||
wmaker \- manažér okien pre X11 so vzhľadom NEXTSTEP
|
||||
.SH SYNTAX
|
||||
.B wmaker
|
||||
.I "[-voľby]"
|
||||
.I "[-voľby]"
|
||||
.SH "POPIS"
|
||||
Window Maker je manažér okien pre X11 so vzhľadom NEXTSTEP. Snaží sa
|
||||
napodobniť vzhľad NeXT ako je to len možné, ale v prípade potreby tento
|
||||
trend nedodržuje.
|
||||
.SH "VOĽBY"
|
||||
Window Maker je manažér okien pre X11 so vzhľadom NEXTSTEP. Snaží sa
|
||||
napodobniť vzhľad NeXT ako je to len možné, ale v prípade potreby tento
|
||||
trend nedodržuje.
|
||||
.SH "VOĽBY"
|
||||
.TP
|
||||
.B \-\-no\-cpp
|
||||
zakázať preprocessing konfiguračných súborov
|
||||
zakázať preprocessing konfiguračných súborov
|
||||
.TP
|
||||
.B \-\-no\-dock
|
||||
neotvárať Dok aplikácií
|
||||
neotvárať Dok aplikácií
|
||||
.TP
|
||||
.B \-\-no\-clip
|
||||
neotvárať Spinku pracovných plôch
|
||||
neotvárať Spinku pracovných plôch
|
||||
.TP
|
||||
.B \-display host:display.screen
|
||||
použiť daný display.
|
||||
Na strojoch s viacerými obrazovkami bude Window Maker automaticky spravovať
|
||||
všetky obrazovky. Ak chcete, aby Window Maker spravoval len špecifickú
|
||||
obrazovku, musíte zadať číslo obrazovky pomocou argumentu príkazového riadku
|
||||
použiť daný display.
|
||||
Na strojoch s viacerými obrazovkami bude Window Maker automaticky spravovať
|
||||
všetky obrazovky. Ak chcete, aby Window Maker spravoval len špecifickú
|
||||
obrazovku, musíte zadať číslo obrazovky pomocou argumentu príkazového riadku
|
||||
.B \-display.
|
||||
Napríklad, ak chcete, aby Window Maker spravoval len obrazovku 1, spustite ho
|
||||
Napríklad, ak chcete, aby Window Maker spravoval len obrazovku 1, spustite ho
|
||||
takto:
|
||||
.B wmaker -display :0.1
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše verziu a ukončí sa
|
||||
vypíše verziu a ukončí sa
|
||||
.TP
|
||||
.B \-\-visual\-id
|
||||
určenie čísla obrazového režimu. Viď
|
||||
určenie čísla obrazového režimu. Viď
|
||||
.BR xdpyinfo (1)
|
||||
pre zoznam obrazových režimov dostupných na vašom display-i.
|
||||
pre zoznam obrazových režimov dostupných na vašom display-i.
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše krátky pomocný text
|
||||
vypíše krátky pomocný text
|
||||
.PP
|
||||
.SH SÚBORY
|
||||
.SH SÚBORY
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WindowMaker
|
||||
všeobecné nastavenia Window Makera.
|
||||
všeobecné nastavenia Window Makera.
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WMState
|
||||
informácie o Doku a Spinke. NEeditujte za behu Window Makeru. Bude
|
||||
prepísaný.
|
||||
informácie o Doku a Spinke. NEeditujte za behu Window Makeru. Bude
|
||||
prepísaný.
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WMRootMenu
|
||||
Obsahuje meno súboru, z ktorého sa má načítať hlavné menu alebo
|
||||
menu samotné vo formáte proplist.
|
||||
Obsahuje meno súboru, z ktorého sa má načítať hlavné menu alebo
|
||||
menu samotné vo formáte proplist.
|
||||
.TP
|
||||
.B ~/GNUstep/Defaults/WMWindowAttributes
|
||||
Atribúty pre rôzne triedy a inštancie aplikácií. Použite editor nastavení
|
||||
(ťahajte pravé tlačítko na hornej lište aplikácie, zvoľte Nastavenia)
|
||||
namiesto priameho editovania tohto súboru. Je len málo nastavení, ktoré
|
||||
nie sú dostupné z editora nastavení.
|
||||
Atribúty pre rôzne triedy a inštancie aplikácií. Použite editor nastavení
|
||||
(ťahajte pravé tlačítko na hornej lište aplikácie, zvoľte Nastavenia)
|
||||
namiesto priameho editovania tohto súboru. Je len málo nastavení, ktoré
|
||||
nie sú dostupné z editora nastavení.
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Defaults/
|
||||
Všetky spomenuté súbory sa NAČÍTAJÚ odtiaľto ak sa nepodarí nájsť ich,
|
||||
okrem WMState, ktorý sa odtiaľto SKOPÍRUJE. Nezáleží na tom, odkiaľ
|
||||
sú načítané, ak je potrebné zapísať zmenu konfigurácie späť do týchto
|
||||
súborov, zapíšu sa do užívateľských súborov.
|
||||
Všetky spomenuté súbory sa NAČÍTAJÚ odtiaľto ak sa nepodarí nájsť ich,
|
||||
okrem WMState, ktorý sa odtiaľto SKOPÍRUJE. Nezáleží na tom, odkiaľ
|
||||
sú načítané, ak je potrebné zapísať zmenu konfigurácie späť do týchto
|
||||
súborov, zapíšu sa do užívateľských súborov.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/autostart
|
||||
Tento skript sa automaticky vykoná pri štarte Window Makera.
|
||||
Tento skript sa automaticky vykoná pri štarte Window Makera.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/exitscript
|
||||
Tento skript sa automaticky vykoná bezprostredne pred ukončením Window Makera.
|
||||
.B Poznámka:
|
||||
Ak potrebujete spustiť z tohto skriptu niečo, čo vyžaduje spustený X server,
|
||||
nepoužívajte na ukončenie Window Makera príkaz
|
||||
Tento skript sa automaticky vykoná bezprostredne pred ukončením Window Makera.
|
||||
.B Poznámka:
|
||||
Ak potrebujete spustiť z tohto skriptu niečo, čo vyžaduje spustený X server,
|
||||
nepoužívajte na ukončenie Window Makera príkaz
|
||||
.I SHUTDOWN
|
||||
z hlavného menu. Inak sa môže stať, že X server sa ukončí skôr než sa vykoná
|
||||
z hlavného menu. Inak sa môže stať, že X server sa ukončí skôr než sa vykoná
|
||||
skript.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/
|
||||
Súbor menu, ktorého názov je vo WMRootMenu, sa hľadá tu...
|
||||
Súbor menu, ktorého názov je vo WMRootMenu, sa hľadá tu...
|
||||
.TP
|
||||
.B /etc/X11/WindowMaker/
|
||||
a tu, v tomto poradí, pokiaľ nie je názov absolútna cesta.
|
||||
a tu, v tomto poradí, pokiaľ nie je názov absolútna cesta.
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Pixmaps/
|
||||
Tu hľadá Window Maker obrázky
|
||||
Tu hľadá Window Maker obrázky
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Backgrounds/
|
||||
Tu hľadá Window Maker pozadia
|
||||
Tu hľadá Window Maker pozadia
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Styles/
|
||||
Tu hľadá Window Maker súbory so štýlmi (nie celkom... vyzerá to tak, ale
|
||||
aj tak musíte zadať úplnú cestu. Je to len vyhradené miesto, aby boli
|
||||
veci pekne usporiadané)
|
||||
Tu hľadá Window Maker súbory so štýlmi (nie celkom... vyzerá to tak, ale
|
||||
aj tak musíte zadať úplnú cestu. Je to len vyhradené miesto, aby boli
|
||||
veci pekne usporiadané)
|
||||
.TP
|
||||
.B ~/GNUstep/Library/WindowMaker/Themes/
|
||||
Tu hľadá Window Maker súbory s témami (viď vyššie)
|
||||
Tu hľadá Window Maker súbory s témami (viď vyššie)
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Pixmaps/
|
||||
Obrázky spoločné pre celý systém sa nachádzajú tu...
|
||||
Obrázky spoločné pre celý systém sa nachádzajú tu...
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Pixmaps/
|
||||
a tu.
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Styles/
|
||||
Štýly spoločné pre celý systém sa nachádzajú tu
|
||||
Štýly spoločné pre celý systém sa nachádzajú tu
|
||||
.TP
|
||||
.B /usr/share/WindowMaker/Themes/
|
||||
Teraz to skús sám... ;-)
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
Teraz to skús sám... ;-)
|
||||
.SH PREMENNÉ PROSTREDIA
|
||||
.IP WMAKER_USER_ROOT
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
špecifikuje cestu k adresáru Defaults. "Defaults/" je pridané k tejto
|
||||
premennej, čím sa určí umiestnenie databáz. Ak premenná nie je nastavená,
|
||||
jej implicitná hodnota je "~/GNUstep"
|
||||
.IP GNUSTEP_LOCAL_ROOT
|
||||
špecifikuje umiestnenie systémového \fBlokálneho\fP GNUstep adresára (toto
|
||||
je užitočné v prípade, že umiestnenie adresára spoločného pre celý systém je
|
||||
v skutočnosti spoločné pre celú sieť). Ak je táto premenná prázdna, použije
|
||||
špecifikuje umiestnenie systémového \fBlokálneho\fP GNUstep adresára (toto
|
||||
je užitočné v prípade, že umiestnenie adresára spoločného pre celý systém je
|
||||
v skutočnosti spoločné pre celú sieť). Ak je táto premenná prázdna, použije
|
||||
sa GNUSTEP_SYSTEM_ROOT.
|
||||
.IP GNUSTEP_SYSTEM_ROOT
|
||||
špecifikuje umiestnenie systémového GNUstep adresára. Ak je táto premenná
|
||||
prázdna, jej implicitná hodnota je /etc/GNUstep
|
||||
.SH POZRI TIEŽ
|
||||
špecifikuje umiestnenie systémového GNUstep adresára. Ak je táto premenná
|
||||
prázdna, jej implicitná hodnota je /etc/GNUstep
|
||||
.SH POZRI TIEŽ
|
||||
The Window Maker User Guide
|
||||
.PP
|
||||
The Window Maker FAQ
|
||||
@@ -138,9 +138,9 @@ The Window Maker FAQ
|
||||
.BR setstyle (1),
|
||||
.BR wmsetbg (1)
|
||||
.SH AUTOR
|
||||
Autormi Window Makera sú Alfredo K. Kojima <kojima@windowmaker.info>,
|
||||
Dan Pascu <dan@windowmaker.info> s pomocou mnohých ľudí z celého Internetu.
|
||||
Autormi Window Makera sú Alfredo K. Kojima <kojima@windowmaker.info>,
|
||||
Dan Pascu <dan@windowmaker.info> s pomocou mnohých ľudí z celého Internetu.
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo E. Magallon, <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo E. Magallon, <mmagallo@debian.org>.
|
||||
|
||||
|
||||
|
||||
+25
-25
@@ -1,66 +1,66 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wmsetbg 1 "January 1999"
|
||||
.SH MENO
|
||||
wmsetbg \- nastaví pozadie hlavného okna v X11
|
||||
wmsetbg \- nastaví pozadie hlavného okna v X11
|
||||
.SH SYNTAX
|
||||
.B wmsetbg
|
||||
[\-display] [\-\-version] [\-\-help] [{\-b|\-\-back\-color} \fIfarba\fP]
|
||||
[{\-t|\-\-tile}|{\-e|\-\-center}|{\-s|\-\-scale}|{\-a|\-\-maxscale} \fIobrázok\fP]
|
||||
[{\-t|\-\-tile}|{\-e|\-\-center}|{\-s|\-\-scale}|{\-a|\-\-maxscale} \fIobrázok\fP]
|
||||
[{\-d|\-\-dither}|{\-m|\-\-match}] [\-u|\-\-update\-wmaker]
|
||||
[{\-D|\-\-update\-domain} \fIdoména\fP] [{\-c|\-\-colors} \fIcpc\fP]
|
||||
[{\-p|\-\-parse} \fItextúra\fP] [{\-w|\-\-workspace} \fIpracovná plocha\fP]
|
||||
[{\-D|\-\-update\-domain} \fIdoména\fP] [{\-c|\-\-colors} \fIcpc\fP]
|
||||
[{\-p|\-\-parse} \fItextúra\fP] [{\-w|\-\-workspace} \fIpracovná plocha\fP]
|
||||
.SH POPIS
|
||||
.B wmsetbg
|
||||
načíta daný
|
||||
.I obrázok
|
||||
(XPM, PNG, jpeg, Tiff, raw PPM) a vloží ho do hlavného okna. Obrázok možno
|
||||
zväčšiť, alebo ho opakovať aby vyplnil hlavné okno. Window Maker používa
|
||||
tento príkaz interne na nastavenie pozadia pri štarte.
|
||||
.SH VOĽBY
|
||||
načíta daný
|
||||
.I obrázok
|
||||
(XPM, PNG, jpeg, Tiff, raw PPM) a vloží ho do hlavného okna. Obrázok možno
|
||||
zväčšiť, alebo ho opakovať aby vyplnil hlavné okno. Window Maker používa
|
||||
tento príkaz interne na nastavenie pozadia pri štarte.
|
||||
.SH VOĽBY
|
||||
.TP
|
||||
.B \-a|\-\-maxscale
|
||||
zväčší daný \fIobrázok\fP pri dodržaní pomeru strán
|
||||
zväčší daný \fIobrázok\fP pri dodržaní pomeru strán
|
||||
.TP
|
||||
.B \-e|\-\-center
|
||||
vloží \fIobrázok\fP do stredu okna
|
||||
vloží \fIobrázok\fP do stredu okna
|
||||
.TP
|
||||
.B \-t|\-\-tile
|
||||
vytvára z \fIobrázku\fP dlaždice
|
||||
vytvára z \fIobrázku\fP dlaždice
|
||||
.TP
|
||||
.B \-s|\-\-scale
|
||||
roztiahne daný \fIobrázok\fP (štandardne)
|
||||
roztiahne daný \fIobrázok\fP (štandardne)
|
||||
.TP
|
||||
.B \-d|\-\-dither
|
||||
rezervuje farby
|
||||
.TP
|
||||
.B \-m|\-\-match
|
||||
zhodné farby
|
||||
zhodné farby
|
||||
.TP
|
||||
.B \-u|\-\-update\-wmaker
|
||||
zapíše zmenu do databázy nastavení Window Makera
|
||||
zapíše zmenu do databázy nastavení Window Makera
|
||||
.TP
|
||||
.B \-D|\-\-update\-domain
|
||||
zapíše zmenu do databázy \fIdoména\fP
|
||||
zapíše zmenu do databázy \fIdoména\fP
|
||||
.TP
|
||||
.B \-c|\-\-colors
|
||||
použiť počet farieb na kanál
|
||||
použiť počet farieb na kanál
|
||||
.TP
|
||||
.B \-p|\-\-parse
|
||||
parsuje danú \fItextúru\fP ako \fIproplist style textúru\fP
|
||||
parsuje danú \fItextúru\fP ako \fIproplist style textúru\fP
|
||||
.TP
|
||||
.B \-w|\-\-workspace
|
||||
nastaví pozadie len na danej \fIpracovnej ploche\fP
|
||||
nastaví pozadie len na danej \fIpracovnej ploche\fP
|
||||
.TP
|
||||
.B \-\-help
|
||||
vypíše pomocný text
|
||||
vypíše pomocný text
|
||||
.TP
|
||||
.B \-\-version
|
||||
vypíše číslo verzie
|
||||
.SH POZRI TIEŽ
|
||||
vypíše číslo verzie
|
||||
.SH POZRI TIEŽ
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorom Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
wmsetbg napísal Dan Pascu <dan@windowmaker.info>
|
||||
wmsetbg napísal Dan Pascu <dan@windowmaker.info>
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
|
||||
|
||||
+20
-20
@@ -1,42 +1,42 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wxcopy 1 "September 1998"
|
||||
.SH NAME
|
||||
wxcopy \- kopíruje ¹tandardný vstup do cutbuffera
|
||||
wxcopy \- kopíruje štandardný vstup do cutbuffera
|
||||
.SH SYNOPSIS
|
||||
.B wxcopy
|
||||
[voµby]
|
||||
[súbor]
|
||||
[voľby]
|
||||
[súbor]
|
||||
.SH DESCRIPTION
|
||||
.B wxcopy
|
||||
kopíruje ¹tandardný vstup alebo
|
||||
.I súbor
|
||||
do cutbuffera. Ak nie je daný cutbuffer, dáta sa kopírujú do cutbuffera 0
|
||||
a ostané cutbuffery rotujú, ak existujú. Ak je daný cutbuffer, dáta sa
|
||||
kopírujú do toho cutbuffera a nevykoná sa ¾iadne rotovanie.
|
||||
.SH VO¥BY
|
||||
kopíruje štandardný vstup alebo
|
||||
.I súbor
|
||||
do cutbuffera. Ak nie je daný cutbuffer, dáta sa kopírujú do cutbuffera 0
|
||||
a ostané cutbuffery rotujú, ak existujú. Ak je daný cutbuffer, dáta sa
|
||||
kopírujú do toho cutbuffera a nevykoná sa žiadne rotovanie.
|
||||
.SH VOĽBY
|
||||
.TP
|
||||
.B \-cutbuffer èíslo
|
||||
©pecifikuje èíslo cutbuffera, do ktorého sa budú kopírova» dáta.
|
||||
.B \-cutbuffer číslo
|
||||
Špecifikuje číslo cutbuffera, do ktorého sa budú kopírovať dáta.
|
||||
.TP
|
||||
.B \-display displej
|
||||
Dáta sa budú kopírova» do cutbufferov daného displeja/obrazovky.
|
||||
Dáta sa budú kopírovať do cutbufferov daného displeja/obrazovky.
|
||||
.TP
|
||||
.B \-nolimit
|
||||
Vypne normálny limit veµkosti dát 64kb, èím sa umo¾ní zväè¹ovanie buffera
|
||||
podµa potreby.
|
||||
Vypne normálny limit veľkosti dát 64kb, čím sa umožní zväčšovanie buffera
|
||||
podľa potreby.
|
||||
.TP
|
||||
.B \-clearselection
|
||||
Vyprázdni vlastníka PRIMARY selekcie. V praxi to znamená, ¾e keï sa pokúsite
|
||||
vlo¾i» dáta stredným tlaèítkom (napríklad), vlo¾ia sa dáta z cutbuffera 0,
|
||||
namiesto prípadnej existujúcej selelekcie my¹i.
|
||||
Vyprázdni vlastníka PRIMARY selekcie. V praxi to znamená, že keď sa pokúsite
|
||||
vložiť dáta stredným tlačítkom (napríklad), vložia sa dáta z cutbuffera 0,
|
||||
namiesto prípadnej existujúcej selelekcie myši.
|
||||
.PP
|
||||
.SH POZRI TIE®
|
||||
.SH POZRI TIEŽ
|
||||
.BR wxpaste (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorom Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
|
||||
Kompatibilitu s binárnymi dátami a \-nolimit implementoval Luke Kendall
|
||||
Kompatibilitu s binárnymi dátami a \-nolimit implementoval Luke Kendall
|
||||
<luke@research.canon.com.au>.
|
||||
|
||||
+16
-16
@@ -1,39 +1,39 @@
|
||||
.\" Hey, Emacs! This is an -*- nroff -*- source file.
|
||||
.TH wxpaste 1 "March 1998"
|
||||
.SH MENO
|
||||
wxpaste \- zapíše cutbuffer na štandardný výstup
|
||||
wxpaste \- zapíše cutbuffer na štandardný výstup
|
||||
.SH SYNTAX
|
||||
.B wxpaste
|
||||
[voľby]
|
||||
[voľby]
|
||||
.SH POPIS
|
||||
.B wxpaste
|
||||
vypíše obsah daného cutbuffera na štandardný výstup. Ak nie je daný žiadny
|
||||
cutbuffer, použije sa cutbuffer 0.
|
||||
vypíše obsah daného cutbuffera na štandardný výstup. Ak nie je daný žiadny
|
||||
cutbuffer, použije sa cutbuffer 0.
|
||||
.PP
|
||||
.SH VOĽBY
|
||||
.SH VOĽBY
|
||||
.TP
|
||||
.B \-cutbuffer číslo
|
||||
Dáta budú vložené do daného cutbuffera namiesto štandardného 0.
|
||||
.B \-cutbuffer číslo
|
||||
Dáta budú vložené do daného cutbuffera namiesto štandardného 0.
|
||||
.TP
|
||||
.B \-display displej
|
||||
Dáta sa budú kopírovať do cutbufferov daného displeja/obrazovky.
|
||||
Dáta sa budú kopírovať do cutbufferov daného displeja/obrazovky.
|
||||
.TP
|
||||
.B \-selection [selekcia]
|
||||
Dáta budú kopírované z danej selekcie. Ak sa výber zo selekcie nepodarí,
|
||||
použije sa cutbuffer. Implicitná hodnota pre selekciu je PRIMARY.
|
||||
Dáta budú kopírované z danej selekcie. Ak sa výber zo selekcie nepodarí,
|
||||
použije sa cutbuffer. Implicitná hodnota pre selekciu je PRIMARY.
|
||||
.PP
|
||||
.SH CHYBY
|
||||
.TP
|
||||
\-selection musí byť posledá voľba. Syntax môže byť upravená, ale
|
||||
bráni tomu spätná kompatibilita.
|
||||
\-selection musí byť posledá voľba. Syntax môže byť upravená, ale
|
||||
bráni tomu spätná kompatibilita.
|
||||
|
||||
Typy selekcií INCR a MULTIPLE nie sú podporované. V skutočnosti je
|
||||
podporovaný len jednoduchý text, čo by malo stačiť pre väčšinu užívateľov
|
||||
Typy selekcií INCR a MULTIPLE nie sú podporované. V skutočnosti je
|
||||
podporovaný len jednoduchý text, čo by malo stačiť pre väčšinu užívateľov
|
||||
takejto jednoduchej utilitky.
|
||||
.SH POZRI TIEŽ
|
||||
.SH POZRI TIEŽ
|
||||
.BR wxcopy (1),
|
||||
.BR wmaker (1)
|
||||
.SH AUTOR
|
||||
Autorom Window Makera je Alfredo K. Kojima <kojima@windowmaker.info>.
|
||||
.PP
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
Túto manuálovú stránku napísal Marcelo Magallon <mmagallo@debian.org>.
|
||||
|
||||
+10
-7
@@ -85,7 +85,7 @@ Attribute Editor (right drag the application's title bar, select
|
||||
Attributes) instead of modifying this file directly. There are just a
|
||||
few options not available using the Attributes Editor.
|
||||
.TP
|
||||
.B @defsdatadir@/
|
||||
.B @pkgconfdir@/
|
||||
All the above-mentioned files are READ from here if not found except
|
||||
for WMState, which is COPIED from here. No matter where they are read
|
||||
from, if it's necessary to write configuration changes back into this
|
||||
@@ -140,14 +140,17 @@ Guess... ;-)
|
||||
specifies the initial path for the Defaults directory. "Defaults/" is
|
||||
appended to this variable to determine the actual location of the
|
||||
databases. If the variable is not set, it defaults to "~/GNUstep"
|
||||
.IP GNUSTEP_LOCAL_ROOT
|
||||
specifies the location of the system-wide \fBlocal\fP GNUstep
|
||||
.IP GNUSTEP_USER_APPS
|
||||
specifies the location of the user's GNUstep Apps directory. If this
|
||||
variable is empty, it defaults to ~/GNUstep/Applications.
|
||||
.IP GNUSTEP_LOCAL_APPS
|
||||
specifies the location of the system-wide \fBlocal\fP GNUstep Apps
|
||||
directory (this is useful, for example, in those cases where the
|
||||
system-wide location is really a network wide location). If this
|
||||
variable is empty, GNUSTEP_SYSTEM_ROOT is looked for.
|
||||
.IP GNUSTEP_SYSTEM_ROOT
|
||||
specifies the location of the system-wide GNUstep directory. If this
|
||||
variable is empty, it defaults to /etc/GNUstep
|
||||
variable is empty, it defaults to /usr/local/GNUstep/Local/Applications.
|
||||
.IP GNUSTEP_SYSTEM_APPS
|
||||
specifies the location of the system-wide GNUstep Apps directory. If this
|
||||
variable is empty, it defaults to /usr/GNUstep/System/Applications.
|
||||
.SH SEE ALSO
|
||||
The Window Maker User Guide
|
||||
.PP
|
||||
|
||||
@@ -24,6 +24,17 @@ m4_pattern_forbid([^_?WM_])
|
||||
m4_pattern_allow([^WM_OSDEP(_[A-Z]*)?$])
|
||||
|
||||
|
||||
# WM_DENY_ARG_WITH(PACKAGE, ACTION-IF-GIVEN)
|
||||
#
|
||||
# Check if the argument "--with-PACKAGE" was used, and if it is the case
|
||||
# execute ACTION-IF-GIVEN which is supposed to call AC_MSG_ERROR to
|
||||
# stop any further processing and tell the user its arguments are bad
|
||||
AC_DEFUN([WM_DENY_ARG_WITH],
|
||||
[m4_divert_push([INIT_PREPARE])dnl
|
||||
AS_IF([test "${[with_]m4_translit([$1], [-+.], [___])+set}" = set], [$2])
|
||||
m4_divert_pop([INIT_PREPARE])])
|
||||
|
||||
|
||||
# WM_CHECK_XFT_VERSION(MIN_VERSION, [ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]])
|
||||
#
|
||||
# $XFT_CFLAGS should be defined before calling this macro,
|
||||
|
||||
+6
-2
@@ -147,7 +147,8 @@ AM_CONDITIONAL([HAVE_XGETTEXT], [test "x$XGETTEXT" != "x"])dnl
|
||||
# wish to customize the menus, and thus can make them translatable
|
||||
# with their own po/mo files without having to touch WMaker's stuff.
|
||||
AC_DEFUN_ONCE([WM_I18N_MENUTEXTDOMAIN],
|
||||
[AC_ARG_WITH([menu-textdomain],
|
||||
[m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_WITH([menu-textdomain],
|
||||
[AS_HELP_STRING([--with-menu-textdomain=DOMAIN],
|
||||
[specify gettext domain used for menu translations])],
|
||||
[AS_CASE([$withval],
|
||||
@@ -155,6 +156,7 @@ AC_DEFUN_ONCE([WM_I18N_MENUTEXTDOMAIN],
|
||||
[no], [menutextdomain=""],
|
||||
[menutextdomain="$withval"])],
|
||||
[menutextdomain=""])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
AS_IF([test "x$menutextdomain" != "x"],
|
||||
[AC_DEFINE_UNQUOTED([MENU_TEXTDOMAIN], ["$menutextdomain"],
|
||||
[gettext domain to be used for menu translations]) ])
|
||||
@@ -167,13 +169,15 @@ dnl
|
||||
dnl X11 needs to redefine the function 'setlocale' to properly initialize itself,
|
||||
dnl we check if user wants to disable this behaviour or if it is not supported
|
||||
AC_DEFUN_ONCE([WM_I18N_XLOCALE],
|
||||
[AC_ARG_ENABLE([xlocale],
|
||||
[m4_divert_push([INIT_PREPARE])dnl
|
||||
AC_ARG_ENABLE([xlocale],
|
||||
[AS_HELP_STRING([--disable-xlocale],
|
||||
[disable initialization of locale for X])],
|
||||
[AS_CASE([$enableval],
|
||||
[yes|no], [],
|
||||
[AC_MSG_ERROR([bad value '$enableval' for --disable-xlocale])])],
|
||||
[enable_xlocale=auto])
|
||||
m4_divert_pop([INIT_PREPARE])dnl
|
||||
AS_IF([test "x$enable_xlocale" != "xno"],
|
||||
[AC_CHECK_LIB([X11], [_Xsetlocale],
|
||||
[AC_DEFINE([X_LOCALE], [1],
|
||||
|
||||
@@ -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
|
||||
# --------------------
|
||||
#
|
||||
|
||||
@@ -119,6 +119,7 @@ typedef enum {
|
||||
WCUR_QUESTION,
|
||||
WCUR_TEXT,
|
||||
WCUR_SELECT,
|
||||
WCUR_CAPTURE,
|
||||
WCUR_ROOT,
|
||||
WCUR_EMPTY,
|
||||
|
||||
@@ -405,6 +406,7 @@ extern struct WPreferences {
|
||||
char ignore_gtk_decoration_hints;
|
||||
|
||||
char dont_blink; /* do not blink icon selection */
|
||||
char keep_dock_on_primary_head; /* keep dock on primary head */
|
||||
|
||||
/* Appearance options */
|
||||
char new_style; /* Use newstyle buttons */
|
||||
|
||||
@@ -912,6 +912,54 @@ void wUnmaximizeWindow(WWindow *wwin)
|
||||
WMPostNotificationName(WMNChangedState, wwin, "maximize");
|
||||
}
|
||||
|
||||
#ifdef USE_XINERAMA
|
||||
void wFullscreenMonitorsWindow(WWindow *wwin, unsigned long top, unsigned long bottom,
|
||||
unsigned long left, unsigned long right)
|
||||
{
|
||||
int i;
|
||||
long monitor;
|
||||
WMRect rect1, rect2;
|
||||
|
||||
if ((int)top < wwin->screen_ptr->xine_info.count &&
|
||||
(int)bottom < wwin->screen_ptr->xine_info.count &&
|
||||
(int)left < wwin->screen_ptr->xine_info.count &&
|
||||
(int)right < wwin->screen_ptr->xine_info.count) {
|
||||
wwin->flags.fullscreen_monitors[0] = top;
|
||||
wwin->flags.fullscreen_monitors[1] = bottom;
|
||||
wwin->flags.fullscreen_monitors[2] = left;
|
||||
wwin->flags.fullscreen_monitors[3] = right;
|
||||
} else {
|
||||
wwin->flags.fullscreen_monitors[0] = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
wwin->flags.fullscreen = True;
|
||||
wWindowConfigureBorders(wwin);
|
||||
ChangeStackingLevel(wwin->frame->core, WMFullscreenLevel);
|
||||
|
||||
wwin->bfs_geometry.x = wwin->frame_x;
|
||||
wwin->bfs_geometry.y = wwin->frame_y;
|
||||
wwin->bfs_geometry.width = wwin->frame->core->width;
|
||||
wwin->bfs_geometry.height = wwin->frame->core->height;
|
||||
|
||||
i = 0;
|
||||
monitor = wwin->flags.fullscreen_monitors[i];
|
||||
rect1 = wwin->screen_ptr->xine_info.screens[monitor];
|
||||
|
||||
for (i = 1; i <= 3; i++) {
|
||||
monitor = wwin->flags.fullscreen_monitors[i];
|
||||
rect2 = wwin->screen_ptr->xine_info.screens[monitor];
|
||||
wGetRectUnion(&rect1, &rect2, &rect1);
|
||||
}
|
||||
wWindowConfigure(wwin, rect1.pos.x, rect1.pos.y, rect1.size.width, rect1.size.height);
|
||||
|
||||
wwin->screen_ptr->bfs_focused_window = wwin->screen_ptr->focused_window;
|
||||
wSetFocusTo(wwin->screen_ptr, wwin);
|
||||
|
||||
WMPostNotificationName(WMNChangedState, wwin, "fullscreen");
|
||||
}
|
||||
#endif
|
||||
|
||||
void wFullscreenWindow(WWindow *wwin)
|
||||
{
|
||||
int head;
|
||||
|
||||
@@ -75,6 +75,9 @@ void wArrangeIcons(WScreen *scr, Bool arrangeAll);
|
||||
|
||||
void wMakeWindowVisible(WWindow *wwin);
|
||||
|
||||
void wFullscreenMonitorsWindow(WWindow *wwin, unsigned long top, unsigned long bottom,
|
||||
unsigned long left, unsigned long right);
|
||||
|
||||
void wFullscreenWindow(WWindow *wwin);
|
||||
void wUnfullscreenWindow(WWindow *wwin);
|
||||
|
||||
|
||||
@@ -244,6 +244,7 @@ void wClientConfigure(WWindow * wwin, XConfigureRequestEvent * xcre)
|
||||
if (nheight != wwin->old_geometry.height)
|
||||
wwin->flags.maximized &= ~(MAX_VERTICAL | MAX_LEFTHALF | MAX_RIGHTHALF | MAX_MAXIMUS);
|
||||
|
||||
wWindowConstrainSize(wwin, (unsigned int *)&nwidth, (unsigned int *)&nheight);
|
||||
wWindowConfigure(wwin, nx, ny, nwidth, nheight);
|
||||
wwin->old_geometry.x = nx;
|
||||
wwin->old_geometry.y = ny;
|
||||
|
||||
+29
-3
@@ -154,6 +154,7 @@ static WDECallbackUpdate setModifierKeyLabels;
|
||||
|
||||
static WDECallbackConvert getCursor;
|
||||
static WDECallbackUpdate setCursor;
|
||||
static WDECallbackUpdate updateDock;
|
||||
|
||||
/*
|
||||
* Tables to convert strings to enumeration values.
|
||||
@@ -521,6 +522,9 @@ WDefaultEntry optionList[] = {
|
||||
&wPreferences.minipreview_size, getInt, NULL, NULL, NULL},
|
||||
{"IgnoreGtkHints", "NO", NULL,
|
||||
&wPreferences.ignore_gtk_decoration_hints, getBool, NULL, NULL, NULL},
|
||||
{"KeepDockOnPrimaryHead", "NO", NULL,
|
||||
&wPreferences.keep_dock_on_primary_head, getBool, updateDock,
|
||||
NULL, NULL},
|
||||
|
||||
/* style options */
|
||||
|
||||
@@ -784,6 +788,14 @@ WDefaultEntry optionList[] = {
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"RunKey", "None", (void *)WKBD_RUN,
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"ExitKey", "None", (void *)WKBD_EXIT,
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"ScreenCaptureKey", "None", (void *)WKBD_PRINTS,
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"WindowCaptureKey", "None", (void *)WKBD_PRINTW,
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
{"PartialCaptureKey", "None", (void *)WKBD_PRINTP,
|
||||
NULL, getKeybind, setKeyGrab, NULL, NULL},
|
||||
|
||||
#ifdef KEEP_XKB_LOCK_STATUS
|
||||
{"ToggleKbdModeKey", "None", (void *)WKBD_TOGGLE,
|
||||
@@ -820,6 +832,8 @@ WDefaultEntry optionList[] = {
|
||||
NULL, getCursor, setCursor, NULL, NULL},
|
||||
{"SelectCursor", "(builtin, cross)", (void *)WCUR_SELECT,
|
||||
NULL, getCursor, setCursor, NULL, NULL},
|
||||
{"CaptureCursor", "(builtin, crosshair)", (void *)WCUR_CAPTURE,
|
||||
NULL, getCursor, setCursor, NULL, NULL},
|
||||
{"DialogHistoryLines", "500", NULL,
|
||||
&wPreferences.history_lines, getInt, NULL, NULL, NULL},
|
||||
{"CycleActiveHeadOnly", "NO", NULL,
|
||||
@@ -866,7 +880,7 @@ static WMPropList *readGlobalDomain(const char *domainName, Bool requireDictiona
|
||||
char path[PATH_MAX];
|
||||
struct stat stbuf;
|
||||
|
||||
snprintf(path, sizeof(path), "%s/%s", DEFSDATADIR, domainName);
|
||||
snprintf(path, sizeof(path), "%s/%s", PKGCONFDIR, domainName);
|
||||
if (stat(path, &stbuf) >= 0) {
|
||||
globalDict = WMReadPropListFromFile(path);
|
||||
if (globalDict && requireDictionary && !WMIsPLDictionary(globalDict)) {
|
||||
@@ -916,7 +930,7 @@ void wDefaultsMergeGlobalMenus(WDDomain * menuDomain)
|
||||
return;
|
||||
|
||||
#ifdef GLOBAL_PREAMBLE_MENU_FILE
|
||||
submenu = WMReadPropListFromFile(DEFSDATADIR "/" GLOBAL_PREAMBLE_MENU_FILE);
|
||||
submenu = WMReadPropListFromFile(PKGCONFDIR "/" GLOBAL_PREAMBLE_MENU_FILE);
|
||||
|
||||
if (submenu && !WMIsPLArray(submenu)) {
|
||||
wwarning(_("invalid global menu file %s"), GLOBAL_PREAMBLE_MENU_FILE);
|
||||
@@ -930,7 +944,7 @@ void wDefaultsMergeGlobalMenus(WDDomain * menuDomain)
|
||||
#endif
|
||||
|
||||
#ifdef GLOBAL_EPILOGUE_MENU_FILE
|
||||
submenu = WMReadPropListFromFile(DEFSDATADIR "/" GLOBAL_EPILOGUE_MENU_FILE);
|
||||
submenu = WMReadPropListFromFile(PKGCONFDIR "/" GLOBAL_EPILOGUE_MENU_FILE);
|
||||
|
||||
if (submenu && !WMIsPLArray(submenu)) {
|
||||
wwarning(_("invalid global menu file %s"), GLOBAL_EPILOGUE_MENU_FILE);
|
||||
@@ -3483,3 +3497,15 @@ static int setCursor(WScreen * scr, WDefaultEntry * entry, void *tdata, void *ex
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int updateDock(WScreen * scr, WDefaultEntry * entry,
|
||||
void *tdata, void *extra_data) {
|
||||
(void) entry;
|
||||
(void) tdata;
|
||||
(void) extra_data;
|
||||
|
||||
if (scr->dock)
|
||||
wDockSwap(scr->dock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+114
-21
@@ -36,6 +36,8 @@
|
||||
#include <dirent.h>
|
||||
#include <limits.h>
|
||||
#include <errno.h>
|
||||
#include <time.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#ifdef HAVE_MALLOC_H
|
||||
#include <malloc.h>
|
||||
@@ -182,8 +184,12 @@ static char *HistoryFileName(const char *name)
|
||||
{
|
||||
char *filename = NULL;
|
||||
|
||||
filename = wstrdup(wusergnusteppath());
|
||||
filename = wstrappend(filename, "/.AppInfo/WindowMaker/History");
|
||||
filename = getenv("XDG_STATE_HOME");
|
||||
if (filename)
|
||||
filename = wstrappend(wexpandpath(filename), "/" PACKAGE_TARNAME "/History");
|
||||
else
|
||||
filename = wstrconcat(wusergnusteppath(), "/.AppInfo/" PACKAGE_TARNAME "/History");
|
||||
|
||||
if (name && strlen(name)) {
|
||||
filename = wstrappend(filename, ".");
|
||||
filename = wstrappend(filename, name);
|
||||
@@ -1097,14 +1103,16 @@ Bool wIconChooserDialog(WScreen *scr, char **file, const char *instance, const c
|
||||
} else {
|
||||
defaultPath = FindImage(wPreferences.icon_path, *file);
|
||||
wantedPath = WMGetTextFieldText(panel->fileField);
|
||||
/* if the file is not the default, use full path */
|
||||
if (strcmp(wantedPath, defaultPath) != 0) {
|
||||
*file = wantedPath;
|
||||
} else {
|
||||
*file = wstrdup(*file);
|
||||
wfree(wantedPath);
|
||||
if (defaultPath) {
|
||||
/* if the file is not the default, use full path */
|
||||
if (strcmp(wantedPath, defaultPath) != 0) {
|
||||
*file = wstrdup(wantedPath);
|
||||
} else {
|
||||
*file = wstrdup(*file);
|
||||
}
|
||||
wfree(defaultPath);
|
||||
}
|
||||
wfree(defaultPath);
|
||||
wfree(wantedPath);
|
||||
}
|
||||
} else {
|
||||
*file = NULL;
|
||||
@@ -1149,7 +1157,7 @@ typedef struct {
|
||||
#define COPYRIGHT_TEXT \
|
||||
"Copyright \xc2\xa9 1997-2006 Alfredo K. Kojima\n"\
|
||||
"Copyright \xc2\xa9 1998-2006 Dan Pascu\n"\
|
||||
"Copyright \xc2\xa9 2013-2020 Window Maker Developers Team"
|
||||
"Copyright \xc2\xa9 2013-%hu Window Maker Developers Team"
|
||||
|
||||
static InfoPanel *infoPanel = NULL;
|
||||
|
||||
@@ -1167,6 +1175,57 @@ static void destroyInfoPanel(WCoreWindow *foo, void *data, XEvent *event)
|
||||
infoPanel = NULL;
|
||||
}
|
||||
|
||||
char *getPrettyOSName(void)
|
||||
{
|
||||
char line[200];
|
||||
char *token;
|
||||
char *posn = NULL;
|
||||
const char s[2] = "=";
|
||||
FILE *fp;
|
||||
|
||||
fp = fopen("/etc/os-release", "r");
|
||||
if (!fp) {
|
||||
fp = fopen("/usr/lib/os-release", "r");
|
||||
if (!fp) {
|
||||
wwarning(_("no os-release file on the system"));
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
while (fgets(line, sizeof(line), fp) != NULL) {
|
||||
if (strncmp(line, "PRETTY_NAME", strlen("PRETTY_NAME")) == 0) {
|
||||
line[strcspn(line, "\r\n")] = 0;
|
||||
token = strtok(line, s);
|
||||
if (token) {
|
||||
//get straight to the second part of the line
|
||||
token = strtok(NULL, s);
|
||||
if (token) {
|
||||
//removing potential quotes
|
||||
char *dst = token;
|
||||
char *src = token;
|
||||
char c;
|
||||
|
||||
while ((c = *src++) != '\0') {
|
||||
if (c == '\\') {
|
||||
*dst++ = c;
|
||||
if ((c = *src++) == '\0')
|
||||
break;
|
||||
*dst++ = c;
|
||||
} else if (c != '"' && c != '\'')
|
||||
*dst++ = c;
|
||||
}
|
||||
*dst = '\0';
|
||||
posn = wmalloc(strlen(token) + 1);
|
||||
strcpy(posn, token);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
fclose(fp);
|
||||
return posn;
|
||||
}
|
||||
|
||||
void wShowInfoPanel(WScreen *scr)
|
||||
{
|
||||
InfoPanel *panel;
|
||||
@@ -1190,6 +1249,17 @@ void wShowInfoPanel(WScreen *scr)
|
||||
};
|
||||
int wmScaleWidth, wmScaleHeight;
|
||||
int pwidth, pheight;
|
||||
int current_year = 2020;
|
||||
time_t s;
|
||||
struct tm *current_time;
|
||||
struct utsname uts;
|
||||
|
||||
s = time(NULL);
|
||||
if (s) {
|
||||
current_time = localtime(&s);
|
||||
if (current_time->tm_year > (current_year - 1900))
|
||||
current_year = current_time->tm_year + 1900;
|
||||
}
|
||||
|
||||
if (infoPanel) {
|
||||
if (infoPanel->scr == scr) {
|
||||
@@ -1205,8 +1275,12 @@ void wShowInfoPanel(WScreen *scr)
|
||||
|
||||
panel->win = WMCreateWindow(scr->wmscreen, "info");
|
||||
WMGetScaleBaseFromSystemFont(scr->wmscreen, &wmScaleWidth, &wmScaleHeight);
|
||||
#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO2) && defined(DEBUG)
|
||||
pwidth = WMScaleX(412);
|
||||
#else
|
||||
pwidth = WMScaleX(382);
|
||||
pheight = WMScaleY(250);
|
||||
#endif
|
||||
pheight = WMScaleY(270);
|
||||
WMResizeWidget(panel->win, pwidth, pheight);
|
||||
|
||||
logo = WMCreateApplicationIconBlendedPixmap(scr->wmscreen, (RColor *) NULL);
|
||||
@@ -1270,9 +1344,11 @@ void wShowInfoPanel(WScreen *scr)
|
||||
|
||||
panel->copyrL = WMCreateLabel(panel->win);
|
||||
WMResizeWidget(panel->copyrL, WMScaleX(360), WMScaleY(60));
|
||||
WMMoveWidget(panel->copyrL, WMScaleX(15), WMScaleY(190));
|
||||
WMMoveWidget(panel->copyrL, WMScaleX(15), WMScaleY(210));
|
||||
WMSetLabelTextAlignment(panel->copyrL, WALeft);
|
||||
WMSetLabelText(panel->copyrL, COPYRIGHT_TEXT);
|
||||
|
||||
snprintf(buffer, sizeof(buffer), COPYRIGHT_TEXT, current_year);
|
||||
WMSetLabelText(panel->copyrL, buffer);
|
||||
font = WMSystemFontOfSize(scr->wmscreen, WMScaleY(11));
|
||||
if (font) {
|
||||
WMSetLabelFont(panel->copyrL, font);
|
||||
@@ -1281,9 +1357,19 @@ void wShowInfoPanel(WScreen *scr)
|
||||
}
|
||||
|
||||
strbuf = NULL;
|
||||
if (uname(&uts) != -1) {
|
||||
char *posn = getPrettyOSName();
|
||||
if (posn) {
|
||||
snprintf(buffer, sizeof(buffer), _("Running on: %s (%s)\n"), posn, uts.machine);
|
||||
free(posn);
|
||||
}
|
||||
else
|
||||
snprintf(buffer, sizeof(buffer), _("Running on: %s (%s)\n"), uts.sysname, uts.machine);
|
||||
strbuf = wstrappend(strbuf, buffer);
|
||||
}
|
||||
|
||||
snprintf(buffer, sizeof(buffer), _("Using visual 0x%x: %s %ibpp "),
|
||||
(unsigned)scr->w_visual->visualid, visuals[scr->w_visual->class], scr->w_depth);
|
||||
|
||||
strbuf = wstrappend(strbuf, buffer);
|
||||
|
||||
switch (scr->w_depth) {
|
||||
@@ -1303,14 +1389,14 @@ void wShowInfoPanel(WScreen *scr)
|
||||
break;
|
||||
}
|
||||
|
||||
#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
|
||||
#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO2)
|
||||
{
|
||||
struct mallinfo ma = mallinfo();
|
||||
struct mallinfo2 ma = mallinfo2();
|
||||
snprintf(buffer, sizeof(buffer),
|
||||
#ifdef DEBUG
|
||||
_("Total memory allocated: %i kB (in use: %i kB, %d free chunks).\n"),
|
||||
_("Total memory allocated: %lu kB (in use: %lu kB, %lu free chunks)\n"),
|
||||
#else
|
||||
_("Total memory allocated: %i kB (in use: %i kB).\n"),
|
||||
_("Total memory allocated: %lu kB (in use: %lu kB)\n"),
|
||||
#endif
|
||||
(ma.arena + ma.hblkhd) / 1024,
|
||||
(ma.uordblks + ma.hblkhd) / 1024
|
||||
@@ -1349,6 +1435,10 @@ void wShowInfoPanel(WScreen *scr)
|
||||
strbuf = wstrappend(strbuf, ", XDnD");
|
||||
#endif
|
||||
|
||||
#ifdef USE_XRES
|
||||
strbuf = wstrappend(strbuf, ", XRes");
|
||||
#endif
|
||||
|
||||
#ifdef USE_MAGICK
|
||||
strbuf = wstrappend(strbuf, ", ImageMagick");
|
||||
#endif
|
||||
@@ -1361,7 +1451,7 @@ void wShowInfoPanel(WScreen *scr)
|
||||
strbuf = wstrappend(strbuf, _("Xinerama: "));
|
||||
{
|
||||
char tmp[128];
|
||||
snprintf(tmp, sizeof(tmp) - 1, _("%d head(s) found."), scr->xine_info.count);
|
||||
snprintf(tmp, sizeof(tmp) - 1, _("%d head(s) found"), scr->xine_info.count);
|
||||
strbuf = wstrappend(strbuf, tmp);
|
||||
}
|
||||
#endif
|
||||
@@ -1373,11 +1463,14 @@ void wShowInfoPanel(WScreen *scr)
|
||||
strbuf = wstrappend(strbuf, _("supported"));
|
||||
else
|
||||
strbuf = wstrappend(strbuf, _("unsupported"));
|
||||
strbuf = wstrappend(strbuf, ".");
|
||||
#endif
|
||||
|
||||
panel->infoL = WMCreateLabel(panel->win);
|
||||
WMResizeWidget(panel->infoL, WMScaleX(350), WMScaleY(80));
|
||||
#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO2) && defined(DEBUG)
|
||||
WMResizeWidget(panel->infoL, WMScaleX(380), WMScaleY(100));
|
||||
#else
|
||||
WMResizeWidget(panel->infoL, WMScaleX(350), WMScaleY(100));
|
||||
#endif
|
||||
WMMoveWidget(panel->infoL, WMScaleX(15), WMScaleY(115));
|
||||
WMSetLabelText(panel->infoL, strbuf);
|
||||
font = WMSystemFontOfSize(scr->wmscreen, WMScaleY(11));
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#ifndef WMDIALOG_H_
|
||||
#define WMDIALOG_H_
|
||||
|
||||
#include "screen.h"
|
||||
|
||||
enum {
|
||||
WMAbort=0,
|
||||
|
||||
+43
-13
@@ -814,6 +814,29 @@ static void unhideHereCallback(WMenu *menu, WMenuEntry *entry)
|
||||
wUnhideApplication(wapp, False, True);
|
||||
}
|
||||
|
||||
static int getDockXPosition(WScreen *scr, Bool on_right_side)
|
||||
{
|
||||
int x;
|
||||
|
||||
if (wPreferences.keep_dock_on_primary_head) {
|
||||
WMRect rect;
|
||||
|
||||
rect = wGetRectForHead(scr, scr->xine_info.primary_head);
|
||||
x = rect.pos.x;
|
||||
if (on_right_side)
|
||||
x += rect.size.width - ICON_SIZE - DOCK_EXTRA_SPACE;
|
||||
else
|
||||
x += DOCK_EXTRA_SPACE;
|
||||
} else {
|
||||
if (on_right_side)
|
||||
x = scr->scr_width - ICON_SIZE - DOCK_EXTRA_SPACE;
|
||||
else
|
||||
x = DOCK_EXTRA_SPACE;
|
||||
}
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
/* Name is only used when type == WM_DRAWER and when restoring a specific
|
||||
* drawer, with a specific name. When creating a drawer, leave name to NULL
|
||||
* and mainIconCreate will find the first unused unique name */
|
||||
@@ -836,7 +859,7 @@ static WAppIcon *mainIconCreate(WScreen *scr, int type, const char *name)
|
||||
btn = wAppIconCreateForDock(scr, NULL, "Logo", "WMDock", TILE_NORMAL);
|
||||
if (wPreferences.flags.clip_merged_in_dock)
|
||||
btn->icon->core->descriptor.handle_expose = clipIconExpose;
|
||||
x_pos = scr->scr_width - ICON_SIZE - DOCK_EXTRA_SPACE;
|
||||
x_pos = getDockXPosition(scr, True);
|
||||
break;
|
||||
case WM_DRAWER:
|
||||
if (name == NULL)
|
||||
@@ -1545,7 +1568,7 @@ static WMPropList *dockSaveState(WDock *dock)
|
||||
WMPutInPLDictionary(dock_state, key, list);
|
||||
WMReleasePropList(key);
|
||||
|
||||
snprintf(buffer, sizeof(buffer), "%i,%i", (dock->on_right_side ? -ICON_SIZE : 0), dock->y_pos);
|
||||
snprintf(buffer, sizeof(buffer), "%i,%i", dock->x_pos, dock->y_pos);
|
||||
value = WMCreatePLString(buffer);
|
||||
WMPutInPLDictionary(dock_state, dPosition, value);
|
||||
WMReleasePropList(value);
|
||||
@@ -1823,11 +1846,17 @@ WDock *wDockRestoreState(WScreen *scr, WMPropList *dock_state, int type)
|
||||
dock->x_pos = scr->scr_width - ICON_SIZE;
|
||||
}
|
||||
} else {
|
||||
if (dock->x_pos >= 0) {
|
||||
dock->x_pos = DOCK_EXTRA_SPACE;
|
||||
int left, right, midpoint;
|
||||
|
||||
left = getDockXPosition(scr, False);
|
||||
right = getDockXPosition(scr, True);
|
||||
midpoint = (left + right) / 2;
|
||||
|
||||
if (dock->x_pos < midpoint) {
|
||||
dock->x_pos = left;
|
||||
dock->on_right_side = 0;
|
||||
} else {
|
||||
dock->x_pos = scr->scr_width - DOCK_EXTRA_SPACE - ICON_SIZE;
|
||||
dock->x_pos = right;
|
||||
dock->on_right_side = 1;
|
||||
}
|
||||
}
|
||||
@@ -3003,18 +3032,16 @@ static void moveDock(WDock *dock, int new_x, int new_y)
|
||||
}
|
||||
}
|
||||
|
||||
static void swapDock(WDock *dock)
|
||||
void wDockSwap(WDock *dock)
|
||||
{
|
||||
WScreen *scr = dock->screen_ptr;
|
||||
WAppIcon *btn;
|
||||
int x, i;
|
||||
|
||||
if (dock->on_right_side)
|
||||
x = dock->x_pos = scr->scr_width - ICON_SIZE - DOCK_EXTRA_SPACE;
|
||||
else
|
||||
x = dock->x_pos = DOCK_EXTRA_SPACE;
|
||||
|
||||
x = getDockXPosition(scr, dock->on_right_side);
|
||||
swapDrawers(scr, x);
|
||||
dock->x_pos = x;
|
||||
|
||||
for (i = 0; i < dock->max_icons; i++) {
|
||||
btn = dock->icon_array[i];
|
||||
@@ -3595,7 +3622,10 @@ static void openDockMenu(WDock *dock, WAppIcon *aicon, XEvent *event)
|
||||
x_pos = scr->scr_width - dock->menu->frame->core->width - 4;
|
||||
}
|
||||
} else {
|
||||
x_pos = dock->on_right_side ? scr->scr_width - dock->menu->frame->core->width - 3 : 0;
|
||||
x_pos = dock->x_pos;
|
||||
if (dock->on_right_side)
|
||||
x_pos += ICON_SIZE + DOCK_EXTRA_SPACE
|
||||
- dock->menu->frame->core->width - 3;
|
||||
}
|
||||
|
||||
wMenuMapAt(dock->menu, x_pos, event->xbutton.y_root + 2, False);
|
||||
@@ -3751,7 +3781,7 @@ static void handleDockMove(WDock *dock, WAppIcon *aicon, XEvent *event)
|
||||
if (now_on_right != dock->on_right_side)
|
||||
{
|
||||
dock->on_right_side = now_on_right;
|
||||
swapDock(dock);
|
||||
wDockSwap(dock);
|
||||
wArrangeIcons(scr, False);
|
||||
}
|
||||
// Also perform the vertical move
|
||||
@@ -4580,7 +4610,7 @@ static void swapDrawer(WDock *drawer, int new_x)
|
||||
{
|
||||
int i;
|
||||
|
||||
drawer->on_right_side = !drawer->on_right_side;
|
||||
drawer->on_right_side = drawer->screen_ptr->dock->on_right_side;
|
||||
drawer->x_pos = new_x;
|
||||
|
||||
for (i = 0; i < drawer->max_icons; i++) {
|
||||
|
||||
@@ -91,6 +91,7 @@ void wDockTrackWindowLaunch(WDock *dock, Window window);
|
||||
WAppIcon *wDockFindIconForWindow(WDock *dock, Window window);
|
||||
void wDockDoAutoLaunch(WDock *dock, int workspace);
|
||||
void wDockLaunchWithState(WAppIcon *btn, WSavedState *state);
|
||||
void wDockSwap(WDock *dock);
|
||||
|
||||
#ifdef USE_DOCK_XDND
|
||||
int wDockReceiveDNDDrop(WScreen *scr, XEvent *event);
|
||||
|
||||
+22
-11
@@ -1852,21 +1852,32 @@ static void handleKeyPress(XEvent * event)
|
||||
|
||||
case WKBD_RUN:
|
||||
{
|
||||
char *cmdline;
|
||||
ExecuteInputCommand(scr, _("exec %A(Run, Type command:)"));
|
||||
break;
|
||||
}
|
||||
|
||||
cmdline = ExpandOptions(scr, _("exec %A(Run,Type command to run:)"));
|
||||
case WKBD_EXIT:
|
||||
{
|
||||
/* quick mode is not allowed to prevent inadvertently call */
|
||||
ExecuteExitCommand(scr, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (cmdline) {
|
||||
XGrabPointer(dpy, scr->root_win, True, 0,
|
||||
GrabModeAsync, GrabModeAsync, None, wPreferences.cursor[WCUR_WAIT], CurrentTime);
|
||||
XSync(dpy, False);
|
||||
case WKBD_PRINTS:
|
||||
{
|
||||
ScreenCapture(scr, PRINT_SCREEN);
|
||||
break;
|
||||
}
|
||||
|
||||
ExecuteShellCommand(scr, cmdline);
|
||||
wfree(cmdline);
|
||||
case WKBD_PRINTW:
|
||||
{
|
||||
ScreenCapture(scr, PRINT_WINDOW);
|
||||
break;
|
||||
}
|
||||
|
||||
XUngrabPointer(dpy, CurrentTime);
|
||||
XSync(dpy, False);
|
||||
}
|
||||
case WKBD_PRINTP:
|
||||
{
|
||||
ScreenCapture(scr, PRINT_PARTIAL);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -1003,7 +1003,7 @@ void wFrameWindowPaint(WFrameWindow * fwin)
|
||||
int titlelen;
|
||||
int allButtons = 1;
|
||||
|
||||
if (!wPreferences.new_style == TS_NEW) {
|
||||
if (wPreferences.new_style != TS_NEW) {
|
||||
if (fwin->left_button && !fwin->flags.hide_left_button && !fwin->flags.lbutton_dont_fit)
|
||||
lofs += fwin->left_button->width + 3;
|
||||
else
|
||||
@@ -1266,7 +1266,7 @@ static void checkTitleSize(WFrameWindow * fwin)
|
||||
width = fwin->titlebar->width - 6 - 6;
|
||||
}
|
||||
|
||||
if (!wPreferences.new_style == TS_NEW) {
|
||||
if (wPreferences.new_style != TS_NEW) {
|
||||
if (fwin->left_button && !fwin->flags.hide_left_button && !fwin->flags.lbutton_dont_fit)
|
||||
width -= fwin->left_button->width + 3;
|
||||
|
||||
@@ -1352,7 +1352,7 @@ static void paintButton(WCoreWindow * button, WTexture * texture, unsigned long
|
||||
x = (button->width - width) / 2 + d;
|
||||
y = (button->height - image->height) / 2 + d;
|
||||
XSetClipOrigin(dpy, copy_gc, x - left, y);
|
||||
if (!wPreferences.new_style == TS_NEW) {
|
||||
if (wPreferences.new_style != TS_NEW) {
|
||||
XSetForeground(dpy, copy_gc, scr->black_pixel);
|
||||
if (!pushed) {
|
||||
if (image->depth == 1)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user