1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-07-11 16:36:38 +02:00

Compare commits

..

52 Commits

Author SHA1 Message Date
Torrance, Douglas ddacfa5d63 Include screen.h in dialog.h for definition of WScreen 2023-01-26 10:15:58 +00:00
Torrance, Douglas 0718297e9a Correctly draw window snapping hints on multi-head systems
Previously, the transparent frames that were drawn prior to snapping a
window assumed that there was only one head, i.e., that the new
position and dimensions of the window would be based on the dimensions
of the entire screen.

However, this is not the case on multi-head systems, and so we now
base the transparent frame's position and dimensions on the current
head of the window.

We also refactor the code so that the new dimensions are computed in
the switch statement and finish with one final call to
drawTransparentFrame.
2023-01-20 11:54:07 +00:00
Torrance, Douglas 9cc16182d3 Use dock to determine whether drawer is on right side when swapping
Previously, we assumed that it always switched from left to right or
vice versa when calling swapDrawer.  However, now we may also call
swapDrawer when changing the value of "KeepDockOnPrimaryHead", which
wouldn't actually switch which side of the screen it's on.

So instead, we determine which side of the screen it should be on
based on the dock.
2023-01-20 10:34:36 +00:00
Torrance, Douglas f6165d6e80 Use actual x position of dock when saving state
Previously, we either saved it as 0 or -ICON_SIZE, and then adjusted
it depending on the screen width when restoring the state.

But since the introduction of the "KeepDockOnPrimaryHead" option, the
state-restoring code has changed so that the dock will go on the left if the
x-coordinate of the position in WMState is to the left of the midpoint
of the screen and on the right otherwise.  But previously (unless the
user manually set the value in WMState) this would always send the
dock to the left, even if it had been on the right, since the x-coordinate
automatically saved to WMState in this case was negative.

We simplify things by saving the actual x position of the dock to WMState.
2023-01-20 10:34:36 +00:00
Torrance, Douglas 10c36d244e Use dock's position to determine position of dock menu
Previously, we assumed that if the dock was on the right, then the
menu should be on the far right of the entire screen, but this is no
longer the case with "KeepDockOnPrimaryHead" set to "YES".
2023-01-20 10:34:36 +00:00
Torrance, Douglas 515eb652c7 Update the dock position when "KeepDockOnPrimaryHead" is changed 2023-01-18 12:18:03 +00:00
Torrance, Douglas 8ed92efa3c Rename swapDock to wDockSwap and add to dock.h
We'll be calling it from defaults.c.
2023-01-18 12:18:03 +00:00
Torrance, Douglas cc839f8bc5 Add default value of "KeepDockOnPrimaryHead" to Defaults/WindowMaker 2023-01-18 12:18:03 +00:00
Torrance, Douglas 48d4820dee Support "KeepDockOnPrimaryHead" when restoring state
We use the new helper function getDockXPosition to determine where
to put the dock.  If WMState gives an x-coordinate less than the
center of the screen, we put it on the left, and otherwise we put it
on the right.
2023-01-18 12:18:03 +00:00
Torrance, Douglas d4f5f3ec7f Support "KeepDockOnPrimaryHead" when initially creating dock
We use the new "getDockXPosition" helper function to find the x
position of the main icon, whose position is used in "wDockCreate" to
get the position of the entire dock.

Previously, "KeepDockOnPrimaryHead" was only taken into account
when *moving* the dock and not when creating it.
2023-01-18 12:18:03 +00:00
Torrance, Douglas 83f7fa43ce Add helper function for computing the dock's x position
Avoid code duplication since we'll need to make this computation in
several places.
2023-01-18 12:18:03 +00:00
Torrance, Douglas 55a816bdbc Keep dock on primary head if KeepDockOnPrimaryHead is YES
This implements a feature request [1] to allow the possibility of
keeping the dock on the primary head on a multi-head system.

In particular, if the new KeepDockOnPrimaryHead option is set to YES,
the dock will either be on the left- or right-hand side of the primary
screen.  If it is NO, then we get the current behavior, i.e., the dock
will either be on the left-hand side of the leftmost head or the
right-hand side of the rightmost head.

[1] https://github.com/window-maker/wmaker/issues/24

Closes: #24
2023-01-15 00:18:34 +00:00
Torrance, Douglas 7639fa1c15 Add "KeepDockOnPrimaryHead" checkbox to WPrefs experts panel 2023-01-15 00:18:34 +00:00
Torrance, Douglas 93b411f258 Document "KeepDockOnPrimaryHead" option in NEWS 2023-01-15 00:18:34 +00:00
Torrance, Douglas 326a67e18f Add new "KeepDockOnPrimaryHead" option
Once implemented, this will keep the dock on the primary head (when
there are multiple heads) when YES.  The default value is NO, the
current behavior, i.e., treat all monitors together as one large screen.
2023-01-15 00:18:34 +00:00
Petre Rodan c089c6aea4 Fix segfault on right-click sweep of menu
bug description: after menu is displayed I get a segfault when trying to hover over the last menu
entry. it looks like under some circumstances menu->entries[] gets accessed past the last valid
value (off by one).

how to reproduce:
right-click desktop to show menu and keep right mouse button pressed
sweep mouse up-down the menu a few times - it crashes all the time between 1-5 sweeps

this commit fixes the unwanted behaviour, in active use since december 2021.
2023-01-06 12:47:22 +00:00
Torrance, Douglas 66b0ee3c4d Add WPrefs to XDG desktop menu
We include a desktop entry file for WPrefs so that it will be included
in XDG-compatible menus.  See the specifications at:

https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
2022-02-17 22:31:18 +00:00
Torrance, Douglas a6c8577eb4 Include wmaker.desktop in distribution tarball
This fixes a bug where building from a tarball generated by "make
dist" would fail due to the absence of this file.
2022-02-17 22:31:18 +00:00
Doug Torrance 094001a53d Convert Slovak language manpages from ISO-8859-2 to UTF-8 2021-10-10 11:53:29 +01:00
Doug Torrance deba131857 Convert Czech language manpages from ISO-8859-2 to UTF-8 2021-10-10 11:53:11 +01:00
Doug Torrance a9bc9751a2 Use quotes around "Window Maker" in translated manpage title headers
This matches the English manpage and also prevents
wrong-manual-section Lintian warnings in the Debian package, as "Maker"
was being interpreted as the section of these manpages.
2021-10-09 13:53:34 +01:00
Torrance, Douglas 58b6728743 Add desktop file for display manager session configuration
Files in /usr/share/xsessions are used by some display managers (e.g.,
LightDM and GDM) to detect available sessions.  Such a file has been
shipped in the Debian Window Maker package for years.
2021-10-09 09:55:40 +01:00
Christophe CURIS 894d096d6e WINGs: in WText, do not re-query Atom value every time they are used
It is resource-consuming to query the server for an Atom, yet the protocol
ensures the values will stay unique, so we'd better ask them once and
retain the values for further use.
2021-09-04 19:03:53 +01:00
Christophe CURIS a41b0aa21d WINGs: Simplify function wstrconcat
Because we have allocated enough space, it is a waste of time to check the
size after copy and cat; beside the use of plain strxxx functions may allow
compiler to make a better job.
2021-09-04 19:03:53 +01:00
Christophe CURIS d4cc033379 Util: Rewrite error message generation to avoid potential problem
The call to 'snprintf' may change the value of 'errno', which means that
the 'perror' call would print a wrong error message, not the one from
'fopen'.
2021-09-04 19:03:53 +01:00
Christophe CURIS 308b9f4975 Configure: Fix non-working libbsd usage when explicitly requested
Due to a missing comma, in the AS_IF the action run-if-false is actually
merged with run-if-true action, which means that with_libbsd is always
empty when user provides --with[out]-libbsd.
2021-09-04 19:03:53 +01:00
Christophe CURIS 1d1c904126 Configure: Place the argument checks at the beginning of execution
The autotool provides a simple mechanism which allows us to move ("divert")
the checks we do on the user arguments to the beginning of the script, yet
without needing to scatter the code.

This is good because we can raise errors very fast, user do not have to
wait until many other checks have passed before knowing he has to correct
his argument list; yet on our side we can keep related things together.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2021-09-04 19:03:53 +01:00
Christophe CURIS ca4ae5068b WINGs: Simplify wglobaldefaultspathfordomain
The original code was over-complicated, it can be reduced to a one-line
call to a function that does the same thing, with the bonus that it will
behave better in the case where domain == NULL.
2021-08-10 09:42:43 +01:00
Christophe CURIS 26491867a3 WINGs: Fix incomplete prototypes for functions that take no argument 2021-08-10 09:42:43 +01:00
John D Pell dce34e926b wmaker.inst: remove all modification to ~/.xinitrc
I cannot imagine that modifying an existing ~/.xinitrc is ever wanted, and creating an ~/.xinitrc when none exists is much worse.

If a user created their own ~/.xinitrc, then don't modify it.
The user will modify it if they like.

If the user did not create their own ~/.xinitrc, then creating one will short-circuit X startup as `startx` will *replace* the system's version with the user's version.
Literally ~/.Xresources won't be loaded.
There's no way this is expected behavior.
2021-08-10 09:42:43 +01:00
John D Pell a0b283a60f WUtil: Be more strict about base directory for wmkdirhier()
The original code refused to create anything not in $WMAKER_USER_ROOT, now
we go one step further and limit creation inside its 'Library' or
'Defaults' sub-directories.
2021-08-10 09:42:43 +01:00
John D Pell 671db45007 WUtil: Be more strict about base directory for wrmdirhier()
The original code refused to delete anything not in $WMAKER_USER_ROOT, now
we go one step further and limit deletion inside 'Library' or 'Defaults'.
2021-08-10 09:42:43 +01:00
John D Pell 0c6ad643c8 Change generation of Data Dir in the global header
It has become common practice in previous patches to use PACKAGE_TARNAME
instead of hard-coding "WindowMaker" when working with paths, so let's be
as consistent in the generated header.
2021-08-10 09:42:43 +01:00
John D Pell 5076b6f496 Default Files: Replace misleading variables 'defsdatadir' in Makefiles
The parameter name 'defsdatadir' was copied in to many sub-Makefiles; for
all of them give a unique name for clarity.
2021-08-10 09:42:43 +01:00
Christophe CURIS 54c8535365 Configure: Add an error message when using deprecated "--with-defsdatadir" 2021-08-10 09:42:43 +01:00
John D Pell 24f5b32469 Configure: Rename setting DEFSDATADIR to PKGCONFDIR
Directory /etc/WindowMaker is for global defaults configuration, it is not
a "data" folder which is $PREFIX/share/WindowMaker.

The name change make it more consistent with other names.
2021-08-10 09:42:43 +01:00
John D Pell 85169642ca WMaker: Store history in $XDG_STATE_HOME if defined
The FreeDesktop XDG standard suggests storing history in the directory
pointed by $XDG_STATE_HOME; so if we find it is defined we prefer to use
it over the default path. If undefined, keep the old behaviour.

This may introduce a loss of history for users that had some in the legacy
place but have the variable, we consider this very unlikely to be a problem
but if user complains we can suggest them to move the legacy file over the
empty new one.
2021-08-10 09:42:43 +01:00
Christophe CURIS 9f9ef6417e Utils: Use the constants added in config-paths.h for paths
Replace hard-coded directory names by the constants that have been
previously added to the common header.
2021-08-10 09:42:43 +01:00
Christophe CURIS fb2a6d2e61 WPrefs: Use the constants added in config-paths.h for paths
Replace hard-coded directory names by the constants that have been
previously added to the common header.
2021-08-10 09:42:43 +01:00
John D Pell 8219c36488 WINGs: Use the constants added in config-paths.h for paths
Replace hard-coded directory names by the constants that have been
previously added to the common header.
2021-08-10 09:42:43 +01:00
John D Pell bd38778bef Use wuserdatapath() everytime it is applicable
Replace calls to wusergnusteppath() which just append "/Library" by calls
to wuserdatapath().
Take opportunity to replace hardcoded "/WindowMaker" directories with
the existing PACKAGE_TARNAME macro (which comes from autotools).

The choice of 'TARNAME' is because it meant to be used in filename, thus
less likely to have problematic characters than PACKAGE_NAME (meant for
display purpose) and PACKAGE which is there for historical reason.
2021-08-10 09:42:43 +01:00
John D Pell 1e45ff2305 WUtil: New function wuserdatapath() to get path for application data
Returns the path in the user's GNUstep library: ~/GNUstep/Library
2021-08-10 09:42:43 +01:00
John D Pell 7e1cdf2d59 Add definition of directory names used for building paths in common header
The organisation of the file tree for storing application files depends on
a number of directories with a specific name.
This patch puts these names in the generated "config-paths.h" so they can
be shared between WINGs and WindowMaker, and could be user-configured in
the future.
2021-08-10 09:42:43 +01:00
Christophe CURIS 43f0474013 WINGs: Properly mark 'const' more 'char*' in the public API
Because the previous patch brought a (welcome) change in the public API,
seize the opportunity to go further in the improvement.
2021-08-10 09:42:43 +01:00
John D Pell a079544647 WINGs: Properly mark 'const' some 'char*' in the public API
Update all the callers in our code to deal with the const qualifier
where the compiler reports an issue.
2021-08-10 09:42:43 +01:00
John D Pell 03ec24502d WMaker: Fix logical-not operator in framewin.c
As reported by clang, (!wPreferences.new_style == TS_NEW) inverts the
"wPreferences.new_style" and not the whole expression. Use the appropriate
comparison operator to avoid misunderstanding.
2021-08-10 09:42:43 +01:00
John D Pell 5c90ed9d2d WPrefs: Use wdefaultspathfordomain() to build path to the root menu file
For the Menu edition tab, when building the path to the file that contains
the menu data, rely on wdefaultspathfordomain instead of constructing the
path with many hard-coded names.
2021-08-10 09:42:43 +01:00
John D Pell 735651df55 WMaker: Use wdefaultspathfordomain() to get path for Defaults directory
Instead of constructing path to user's defaults directory with hard-coded
names, just query wdefaultspathfordomain with a blank domain: this returns
the equivalent of "~/GNUstep/Defaults/", yet avoiding problems related to
duplicating strings.
2021-08-10 09:42:43 +01:00
John D Pell bfab769065 WINGs: Improve search path logic in WMPathForResourceOfType
The man page says environment variables are used, and if they don't exist
it falls back to defaults, yet this was not true in WINGS.

This changes implements the checks for the default paths used when the env
variables are not defined; these default paths have been fixed (+lib) to
match the GNUstep layout ('fhs'), expect for the very last path which keeps
the legacy layout.

For the user Apps folder, rely on wusergnusteppath() (~/GNUstep) to build
the path.

The previous code was only partially functional as the hard-coded paths
did not exist in any of GNUstep standard file system layout and the
GNUSTEP_*_ROOT environment variables were not provided by GNUstep for a
while. This means it would never work no matter how environment variables
were set when using layouts: 'debian', 'fhs', 'next', 'Apple', 'mac',
'fhs-system', or 'standalone'.
2021-08-10 09:42:43 +01:00
John D Pell c060477d57 WINGs: Simplify use of HAVE_SECURE_GETENV
Define the macro GETENV(x) instead of sprinkling code with #ifdef HAVE_SECURE_GETENV
everytime we want to use it.
2021-08-10 09:42:43 +01:00
Torrance, Douglas 75f133285f Fix segfault in color picker
Previously, we released the color well's color even if it was the same
as the new color.  This eventually resulted in a segfault when calling
WMPaintColorSwatch because we tried calling XFillRectangle with no
display.

We fix this by only releasing/updating the color well's if it differs
from the new color.
2021-06-29 22:32:31 +01:00
Torrance, Douglas a6ec6a30a3 Use wmkdirhier instead of mkdir to create color config directory
Otherwise, if ~/GNUstep/Library doesn't already exist, then creating
~/GNUstep/Library/Colors will fail.
2021-06-29 22:32:31 +01:00
81 changed files with 873 additions and 660 deletions
+2
View File
@@ -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
View File
@@ -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
+9
View File
@@ -1,6 +1,15 @@
NEWS for veteran Window Maker users
-----------------------------------
-- 0.95.10
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
+16 -16
View File
@@ -26,7 +26,7 @@
#include <WINGs/WUtil.h>
#include <X11/Xlib.h>
#define WINGS_H_VERSION 20150508
#define WINGS_H_VERSION 20210726
#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);
+1 -1
View File
@@ -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;
+2 -1
View File
@@ -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);
+1 -1
View File
@@ -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
View File
@@ -1080,7 +1080,7 @@ static void dragSourceResponseTimeOut(void *source)
}
}
void W_DragSourceStopTimer()
void W_DragSourceStopTimer(void)
{
if (dndSourceTimer != NULL) {
WMDeleteTimerHandler(dndSourceTimer);
+2 -6
View File
@@ -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;
+1 -1
View File
@@ -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;
+38 -14
View File
@@ -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)
/* 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,16 +1846,28 @@ 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)
/* 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)
return ENOENT;
+1 -1
View File
@@ -7,7 +7,7 @@
#define MAX_PROPERTY_SIZE 8*1024
char *WMSelectionOwnerDidChangeNotification = "WMSelectionOwnerDidChange";
const char *WMSelectionOwnerDidChangeNotification = "WMSelectionOwnerDidChange";
typedef struct SelectionHandler {
WMView *view;
+5 -7
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 -6
View File
@@ -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,11 +1159,9 @@ 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) {
if (!wmkdirhier(panel->configurationPath)) {
werror(_("Color Panel: Could not create directory %s needed"
" to store configurations"), panel->configurationPath);
WMSetPopUpButtonEnabled(panel->customPaletteMenuBtn, False);
@@ -1173,7 +1171,6 @@ static void readConfiguration(W_ColorPanel * panel)
_("File Error"),
_("Could not create ColorPanel configuration directory"),
_("OK"), NULL, NULL);
}
return;
}
+3 -3
View File
@@ -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);
}
if (cPtr->colorView->flags.realized && cPtr->colorView->flags.mapped)
paintColorWell(cPtr);
+6
View File
@@ -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
View File
@@ -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;
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -20,7 +20,7 @@
#define AUTOSCROLL_DELAY 40
char *WMScrollerDidScrollNotification = "WMScrollerDidScrollNotification";
const char *WMScrollerDidScrollNotification = "WMScrollerDidScrollNotification";
typedef struct W_Scroller {
W_Class widgetClass;
+21 -10
View File
@@ -215,6 +215,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);
@@ -2036,17 +2041,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 +2060,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 +2974,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;
+4 -4
View File
@@ -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;
@@ -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
View File
@@ -5,7 +5,7 @@
#include "WINGsP.h"
void WHandleEvents()
void WHandleEvents(void)
{
/* Check any expired timers */
W_CheckTimerHandlers();
+3 -3
View File
@@ -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| \
+1 -1
View File
@@ -1828,7 +1828,7 @@ 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) {
+3 -1
View File
@@ -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"},
};
+12 -1
View File
@@ -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 \
+13 -11
View File
@@ -507,7 +507,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 +518,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 +625,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 +1500,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);
+2 -2
View File
@@ -650,7 +650,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 +668,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);
+6 -6
View File
@@ -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);
+9
View File
@@ -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;
+3 -3
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
defsdata_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
pkgconf_DATA = WMRootMenu WMWindowAttributes WindowMaker WMState WMGLOBAL
wpexecbindir = @wprefs_bindir@
+1
View File
@@ -106,6 +106,7 @@
SwitchPanelOnlyOpen = NO;
MiniPreviewSize = 128;
IgnoreGtkHints = NO;
KeepDockOnPrimaryHead = NO;
MenuStyle = normal;
WidgetColor = (solid, gray);
WorkspaceSpecificBack = ();
+2 -2
View File
@@ -1,7 +1,7 @@
defsdatadir = $(pkgdatadir)/IconSets
iconsetdatadir = $(pkgdatadir)/IconSets
defsdata_DATA = Default.iconset
iconsetdata_DATA = Default.iconset
EXTRA_DIST =
+3 -3
View File
@@ -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)
+4 -1
View File
@@ -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)
+3 -3
View File
@@ -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)
+3 -3
View File
@@ -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)
+3 -3
View File
@@ -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)
+7
View File
@@ -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
+80 -12
View File
@@ -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
@@ -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)
@@ -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,12 +566,15 @@ 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])
@@ -557,23 +583,28 @@ AS_IF([test "x$enable_wmreplace" = "xyes"],
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 +616,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 +684,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 +701,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 +732,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 +846,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 +855,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 +865,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 +875,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 +889,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
View File
@@ -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
+1 -1
View File
@@ -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
+14 -14
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+11
View File
@@ -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
View File
@@ -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],
+1
View File
@@ -405,6 +405,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 */
+19 -3
View File
@@ -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 */
@@ -866,7 +870,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 +920,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 +934,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 +3487,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;
}
+6 -2
View File
@@ -182,8 +182,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);
+1
View File
@@ -22,6 +22,7 @@
#ifndef WMDIALOG_H_
#define WMDIALOG_H_
#include "screen.h"
enum {
WMAbort=0,
+43 -13
View File
@@ -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++) {
+1
View File
@@ -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);
+3 -3
View File
@@ -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)
+4 -6
View File
@@ -51,7 +51,7 @@
/**** Global varianebles ****/
#define MOD_MASK wPreferences.modifier_mask
#define CACHE_ICON_PATH "/Library/WindowMaker/CachedPixmaps"
#define CACHE_ICON_PATH "/" PACKAGE_TARNAME "/CachedPixmaps"
#define ICON_BORDER 3
static void miniwindowExpose(WObjDescriptor *desc, XEvent *event);
@@ -424,17 +424,15 @@ static char *get_icon_cache_path(void)
char *path;
int len, ret;
prefix = wusergnusteppath();
len = strlen(prefix) + strlen(CACHE_ICON_PATH) + 2;
path = wmalloc(len);
snprintf(path, len, "%s%s/", prefix, CACHE_ICON_PATH);
prefix = wuserdatapath();
path = wstrconcat(prefix, CACHE_ICON_PATH "/");
/* If the folder exists, exit */
if (access(path, F_OK) == 0)
return path;
/* Create the folder */
ret = wmkdirhier((const char *) path);
ret = wmkdirhier(path);
/* Exit 1 on success, 0 on failure */
if (ret == 1)
+4 -4
View File
@@ -488,7 +488,7 @@ static void inotifyWatchConfig(void)
" Changes to the defaults database will require"
" a restart to take effect. Check your kernel!"));
} else {
watchPath = wstrconcat(wusergnusteppath(), "/Defaults");
watchPath = wdefaultspathfordomain("");
/* Add the watch; really we are only looking for modify events
* but we might want more in the future so check all events for now.
* The individual events are checked for in event.c.
@@ -510,7 +510,7 @@ static void execInitScript(void)
{
char *file, *paths;
paths = wstrconcat(wusergnusteppath(), "/Library/WindowMaker");
paths = wstrconcat(wuserdatapath(), "/" PACKAGE_TARNAME);
paths = wstrappend(paths, ":" DEF_CONFIG_PATHS);
file = wfindfile(paths, DEF_INIT_SCRIPT);
@@ -528,7 +528,7 @@ void ExecExitScript(void)
{
char *file, *paths;
paths = wstrconcat(wusergnusteppath(), "/Library/WindowMaker");
paths = wstrconcat(wuserdatapath(), "/" PACKAGE_TARNAME);
paths = wstrappend(paths, ":" DEF_CONFIG_PATHS);
file = wfindfile(paths, DEF_EXIT_SCRIPT);
@@ -658,7 +658,7 @@ static int real_main(int argc, char **argv)
printf("Window Maker %s\n", VERSION);
exit(0);
} else if (strcmp(argv[i], "--global_defaults_path") == 0) {
printf("%s\n", DEFSDATADIR);
printf("%s\n", PKGCONFDIR);
exit(0);
} else if (strcmp(argv[i], "-locale") == 0 || strcmp(argv[i], "--locale") == 0) {
i++;
+2 -2
View File
@@ -1764,7 +1764,7 @@ static void menuMouseDown(WObjDescriptor * desc, XEvent * event)
goto byebye;
}
entry_no = getEntryAt(menu, x, y);
if (entry_no >= 0) {
if ((entry_no >= 0) && (entry_no < menu->entry_no)) {
entry = menu->entries[entry_no];
if (!close_on_exit && (bev->state & ControlMask) && smenu && entry->flags.editable) {
@@ -1940,7 +1940,7 @@ static void menuMouseDown(WObjDescriptor * desc, XEvent * event)
if (!delayed_select) {
entry_no = getEntryAt(menu, x, y);
if (entry_no >= 0) {
if ((entry_no >= 0) && (entry_no < menu->entry_no)) {
entry = menu->entries[entry_no];
if (entry->flags.enabled && entry->cascade >= 0 && menu->cascades) {
WMenu *submenu = menu->cascades[entry->cascade];
+1 -1
View File
@@ -1017,7 +1017,7 @@ Bool UpdateDomainFile(WDDomain * domain)
dict = domain->dictionary;
if (WMIsPLDictionary(domain->dictionary)) {
/* retrieve global system dictionary */
snprintf(path, sizeof(path), "%s/%s", DEFSDATADIR, domain->domain_name);
snprintf(path, sizeof(path), "%s/%s", PKGCONFDIR, domain->domain_name);
if (stat(path, &stbuf) >= 0) {
shared_dict = WMReadPropListFromFile(path);
if (shared_dict) {
+31 -12
View File
@@ -1199,46 +1199,65 @@ updateWindowPosition(WWindow * wwin, MoveData * data, Bool doResistance,
static void draw_snap_frame(WWindow *wwin, int direction)
{
WScreen *scr;
int head, x, y;
unsigned int width, height;
WMRect rect;
scr = wwin->screen_ptr;
head = wGetHeadForWindow(wwin);
rect = wGetRectForHead(scr, head);
x = rect.pos.x;
y = rect.pos.y;
width = rect.size.width;
height = rect.size.height;
switch (direction) {
case SNAP_LEFT:
drawTransparentFrame(wwin, 0, 0, scr->scr_width/2, scr->scr_height);
width /= 2;
break;
case SNAP_RIGHT:
drawTransparentFrame(wwin, scr->scr_width/2, 0, scr->scr_width/2, scr->scr_height);
width /= 2;
x += width;
break;
case SNAP_TOP:
if (wPreferences.snap_to_top_maximizes_fullscreen)
drawTransparentFrame(wwin, 0, 0, scr->scr_width, scr->scr_height);
else
drawTransparentFrame(wwin, 0, 0, scr->scr_width, scr->scr_height/2);
if (!wPreferences.snap_to_top_maximizes_fullscreen)
height /= 2;
break;
case SNAP_BOTTOM:
drawTransparentFrame(wwin, 0, scr->scr_height/2, scr->scr_width, scr->scr_height/2);
height /= 2;
y += height;
break;
case SNAP_TOPLEFT:
drawTransparentFrame(wwin, 0, 0, scr->scr_width/2, scr->scr_height/2);
width /= 2;
height /= 2;
break;
case SNAP_TOPRIGHT:
drawTransparentFrame(wwin, scr->scr_width/2, 0, scr->scr_width/2, scr->scr_height/2);
width /= 2;
height /= 2;
x += width;
break;
case SNAP_BOTTOMLEFT:
drawTransparentFrame(wwin, 0, scr->scr_height/2, scr->scr_width/2, scr->scr_height/2);
width /= 2;
height /= 2;
y += height;
break;
case SNAP_BOTTOMRIGHT:
drawTransparentFrame(wwin, scr->scr_width/2, scr->scr_height/2,
scr->scr_width/2, scr->scr_height/2);
width /= 2;
height /= 2;
x += width;
y += height;
break;
}
drawTransparentFrame(wwin, x, y, width, height);
}
static int get_snap_direction(WScreen *scr, int x, int y)
-1
View File
@@ -122,7 +122,6 @@
/* name of the script to execute at startup */
#define DEF_INIT_SCRIPT "autostart"
#define DEF_EXIT_SCRIPT "exitscript"
#define DEFAULTS_DIR "Defaults"
#ifdef USE_TIFF
#define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
+11 -9
View File
@@ -55,6 +55,9 @@
#include "../src/wconfig.h"
#define THEME_SUBPATH "/" PACKAGE_TARNAME "/Themes/"
#define THEME_EXTDIR ".themed/"
/* table of style related options */
static char *options[] = {
"TitleJustify",
@@ -137,7 +140,9 @@ static noreturn void print_help(int print_usage, int exitval)
{
printf("Usage: %s [-t] [-p] [-h] [-v] [file]\n", prog_name);
if (print_usage) {
puts("Retrieves style/theme configuration and outputs to ~/GNUstep/Library/WindowMaker/Themes/file.themed/style or to stdout");
puts("Retrieves style/theme configuration and outputs to "
"~/" GSUSER_SUBDIR "/" USERDATA_SUBDIR THEME_SUBPATH "file" THEME_EXTDIR "style"
" or to stdout");
puts("");
puts(" -h, --help display this help and exit");
puts(" -v, --version output version information and exit");
@@ -175,9 +180,6 @@ static void findCopyFile(const char *dir, const char *file)
wfree(fullPath);
}
#define THEME_SUBPATH "/Library/WindowMaker/Themes/"
#define THEME_EXTDIR ".themed/"
static void makeThemePack(WMPropList * style, const char *themeName)
{
WMPropList *keys;
@@ -186,16 +188,16 @@ static void makeThemePack(WMPropList * style, const char *themeName)
int i;
size_t themeNameLen;
char *themeDir;
const char *user_base;
const char *user_library;
user_base = wusergnusteppath();
if (user_base == NULL)
user_library = wuserdatapath();
if (user_library == NULL)
return;
themeNameLen = strlen(user_base) + sizeof(THEME_SUBPATH) + strlen(themeName) + sizeof(THEME_EXTDIR) + 1;
themeNameLen = strlen(user_library) + sizeof(THEME_SUBPATH) + strlen(themeName) + sizeof(THEME_EXTDIR) + 1;
themeDir = wmalloc(themeNameLen);
snprintf(themeDir, themeNameLen,
"%s" THEME_SUBPATH "%s" THEME_EXTDIR,
user_base, themeName);
user_library, themeName);
ThemePath = themeDir;
if (!wmkdirhier(themeDir)) {
-40
View File
@@ -31,26 +31,6 @@ make_dir() {
chmod +rwx "$1"
}
make_script() {
ISCRIPT="$1"
cat << EOF >> "$ISCRIPT"
# Window Maker default X session startup script
PATH="\$PATH:$BINDIR"
# If you login from xdm, uncomment this to make error messages appear
# in the console window.
#
# tail -f "$HOME"/.xsession-errors > /dev/console &
exec wmaker
EOF
chmod +rx "$ISCRIPT"
}
#
# Copy files considering special cases
#
@@ -293,24 +273,4 @@ fi
trap "show_end_message;exit" 2
echo
echo "Now the .xinitrc, .Xclients or .xsession script must be updated so that"
echo "it calls wmaker when you start an X session."
echo "Type the name of the file that must be changed (normally .xinitrc)."
echo "If the file already exists, it will be backed up with a .old.$DATE "
echo "extension"
echo "If you want to edit it by hand, hit <Control>-C now."
read file
if test "x$file" = "x"; then
echo "Using .xinitrc as a default value"
file=.xinitrc
fi
if [ -f "$USERDIR/$file" ]; then
mv "$USERDIR/$file" "$USERDIR/$file.old.$DATE"
fi
make_script "$USERDIR/$file"
show_end_message
+6 -6
View File
@@ -44,9 +44,9 @@ int main(int argc, char *argv[])
char *tmp, *theme_paths, *style_paths, *icon_paths;
tmp = wstrconcat("-noext ", PKGDATADIR);
theme_paths = wstrconcat(tmp, "/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle");
style_paths = wstrconcat(tmp, "/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle");
icon_paths = wstrconcat(tmp, "/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons");
theme_paths = wstrconcat(tmp, "/Themes $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Themes WITH setstyle");
style_paths = wstrconcat(tmp, "/Styles $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Styles WITH setstyle");
icon_paths = wstrconcat(tmp, "/IconSets $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/IconSets WITH seticons");
struct option longopts[] = {
{ "version", no_argument, NULL, 'v' },
@@ -245,7 +245,7 @@ int main(int argc, char *argv[])
L3Menu = WMCreatePLArray(
WMCreatePLString(_("Images")),
WMCreatePLString("OPEN_MENU"),
WMCreatePLString("-noext $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t"),
WMCreatePLString("-noext $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/Backgrounds WITH wmsetbg -u -t"),
NULL
);
WMAddToPLArray(L2Menu, L3Menu);
@@ -265,7 +265,7 @@ int main(int argc, char *argv[])
L2Menu = WMCreatePLArray(
WMCreatePLString(_("Save IconSet")),
WMCreatePLString("SHEXEC"),
WMCreatePLString("geticonset $HOME/GNUstep/Library/WindowMaker/IconSets/"
WMCreatePLString("geticonset $HOME/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/" PACKAGE_TARNAME "/IconSets/"
"\"%a(IconSet name,Name to save icon set as)\""),
NULL
);
@@ -503,7 +503,7 @@ noreturn void print_help(int print_usage, int exitval)
{
printf("Usage: %s [-h] [-v]\n", prog_name);
if (print_usage) {
puts("Writes a menu structure usable as ~/GNUstep/Defaults/WMRootMenu to stdout");
puts("Writes a menu structure usable as ~/" GSUSER_SUBDIR "/" USERDATA_SUBDIR "/WMRootMenu to stdout");
puts("");
puts(" -h, --help display this help and exit");
puts(" -v, --version output version information and exit");
+2 -6
View File
@@ -121,12 +121,8 @@ int main(int argc, char **argv)
if (filename) {
file = fopen(filename, "rb");
if (!file) {
char line[1024];
snprintf(line, sizeof(line),
"%s: could not open \"%s\"",
prog_name, filename);
perror(line);
fprintf(stderr, "%s: could not open \"%s\", %s\n",
prog_name, filename, strerror(errno));
exit(1);
}
}