1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 12:28:22 +01:00

- Fixed a bug that crashed wmaker when selecting the "Start alternate window

manager" option in the crashing dialog panel.
- Window Maker will now use the WINDOWMAKER_ALT_WM environment variable (if
  it is defined) to overwrite the default hardcoded fallback window manager.
This commit is contained in:
dan
2002-02-01 01:20:15 +00:00
parent 06f1bf91a9
commit f37b4cf5d0
4 changed files with 26 additions and 9 deletions

View File

@@ -27,6 +27,10 @@ Changes since version 0.80.0:
option for a window using the window Inspector.
- Let XRender transparent window be see-through to desktop
- Added Greek (el) language pixmap (Michalis Kabrianis <Michalis@bigfoot.com>)
- Fixed a bug that crashed wmaker when selecting the "Start alternate window
manager" option in the crashing dialog panel.
- Window Maker will now use the WINDOWMAKER_ALT_WM environment variable (if
it is defined) to overwrite the default hardcoded fallback window manager.
Changes since version 0.70.0:

View File

@@ -321,7 +321,8 @@ typedef struct WPreferences {
/* paths to find pixmaps */
char *icon_path; /* : separated list of */
/* paths to find icons */
WMArray *fallbackWMs; /* fallback window manager list */
char *logger_shell; /* shell to log child stdi/o */
RImage *button_images; /* titlebar button images */

View File

@@ -582,7 +582,7 @@ int
main(int argc, char **argv)
{
int i, restart=0;
char *str;
char *str, *alt;
int d, s;
#ifdef DEBUG
Bool doSync = False;
@@ -610,9 +610,21 @@ main(int argc, char **argv)
restart = 0;
memset(&wPreferences, 0, sizeof(WPreferences));
wPreferences.fallbackWMs = WMCreateArray(8);
alt = getenv("WINDOWMAKER_ALT_WM");
if (alt != NULL)
WMAddToArray(wPreferences.fallbackWMs, wstrdup(alt));
WMAddToArray(wPreferences.fallbackWMs, wstrdup(FALLBACK_WINDOWMANAGER));
WMAddToArray(wPreferences.fallbackWMs, wstrdup("fvwm"));
WMAddToArray(wPreferences.fallbackWMs, wstrdup("twm"));
WMAddToArray(wPreferences.fallbackWMs, NULL);
WMAddToArray(wPreferences.fallbackWMs, wstrdup("rxvt"));
WMAddToArray(wPreferences.fallbackWMs, wstrdup("xterm"));
if (argc>1) {
for (i=1; i<argc; i++) {
#ifdef USECPP

View File

@@ -313,7 +313,7 @@ handleSig(int sig)
static int already_crashed = 0;
int dumpcore = 0;
#ifndef NO_EMERGENCY_AUTORESTART
int crashAction;
int crashAction, i;
char *argv[2];
argv[1] = NULL;
@@ -362,7 +362,6 @@ handleSig(int sig)
if (dpy) {
CARD32 data[2];
WWindow *wwin;
int i;
XGrabServer(dpy);
crashAction = wShowCrashingDialogPanel(sig);
@@ -411,9 +410,10 @@ handleSig(int sig)
wmessage(_("trying to start alternate window manager..."));
Restart(FALLBACK_WINDOWMANAGER, False);
Restart("fvwm", False);
Restart("twm", False);
for (i=0; i<WMGetArrayItemCount(wPreferences.fallbackWMs); i++) {
Restart(WMGetFromArray(wPreferences.fallbackWMs, i), False);
}
wfatal(_("failed to start alternate window manager. Aborting."));
#else
wfatal(_("a fatal error has occured, probably due to a bug. "