Sat Mar 18 18:24:29 CET 2000

(Christian)

Well, I'm committing the area wraparound stuff, since people
keep asking me for updated versons of the patch. I've moved
the config option to the areas dialog, where it fits better.
Feel free to revert if this is inappropriate.


SVN revision: 2277
This commit is contained in:
Christian Kreibich 2000-03-18 17:23:33 +00:00
parent 98e36674b0
commit 78aa3fbf69
8 changed files with 1103 additions and 1049 deletions

View File

@ -4347,3 +4347,13 @@ would be a good idea to set minimum width/height equal to the base
width/height if no *maximum* size was specified. I think they meant to
check for *minimum* size. Anyway, I fixed that and added a more robust
check for that kind of thing.
-------------------------------------------------------------------------------
Sat Mar 18 18:24:29 CET 2000
(Christian)
Well, I'm committing the area wraparound stuff, since people
keep asking me for updated versons of the patch. I've moved
the config option to the areas dialog, where it fits better.
Feel free to revert if this is inappropriate.

1947
src/E.h

File diff suppressed because it is too large Load Diff

View File

@ -27,13 +27,33 @@ static int area_h = 3;
#define AREA_FIX(ax, ay) \
if (ax < 0) \
ax = 0; \
else if (ax >= area_w) \
{ \
if (mode.area_wraparound) \
ax = area_w - 1; \
else \
ax = 0; \
} \
else if (ax >= area_w) \
{ \
if (mode.area_wraparound) \
ax = 0; \
else \
ax = area_w - 1; \
} \
if (ay < 0) \
{ \
if (mode.area_wraparound) \
ay = area_h - 1; \
else \
ay = 0; \
} \
else if (ay >= area_h) \
ay = area_h - 1;
{ \
if (mode.area_wraparound) \
ay = 0; \
else \
ay = area_h - 1; \
}
void
SetNewAreaSize(int ax, int ay)
@ -171,9 +191,9 @@ SlideWindowsBy(Window * win, int num, int dx, int dy, int speed)
int dsec, dusec;
double tm;
struct _xy
{
int x, y;
}
{
int x, y;
}
*xy;
EDBUG(5, "SlideWindowsBy");
@ -449,11 +469,11 @@ SetCurrentArea(int ax, int ay)
if (mode.movemode == 5)
DrawEwinShape(lst[i], mode.movemode,
x, y,
lst[i]->client.w, lst[i]->client.h,
lst[i]->client.w, lst[i]->client.h,
4);
else
DrawEwinShape(lst[i], mode.movemode, x, y,
lst[i]->client.w, lst[i]->client.h,
lst[i]->client.w, lst[i]->client.h,
0);
if (mode.flipp)
{

View File

@ -109,6 +109,7 @@
#define CONTROL_PAGER_SNAP 349
#define CONTROL_ANIMATESHADING 350
#define CONTROL_MENUONSCREEN 351
#define CONTROL_AREA_WRAPAROUND 352
#define CONTROL_WARPMENUS 666
#define CONTROL_USER_BG 1350
#define CONTROL_PAGER_ZOOM 1351

View File

@ -737,6 +737,9 @@ Config_Control(FILE * ConfigFile)
sscanf(s, "%i %i %i", &i1, &i2, &i3);
SetAreaSize(i2, i3);
break;
case CONTROL_AREA_WRAPAROUND:
mode.area_wraparound = i2;
break;
case CONTROL_SLIDESPEEDMAP:
mode.slidespeedmap = i2;
break;
@ -1174,7 +1177,7 @@ BorderPartLoad(FILE * ConfigFile, char type, Border * b)
int flags = FLAG_BUTTON;
char isregion = 0, keepshade = 1;
int wmin = 0, wmax = 0, hmin = 0, hmax = 0, torigin = 0,
txp = 0, txa = 0, typ = 0, tya = 0, borigin = 0;
txp = 0, txa = 0, typ = 0, tya = 0, borigin = 0;
int bxp = 0, bxa = 0, byp = 0, bya = 0;
int fields;
@ -1444,7 +1447,7 @@ Config_Button(FILE * ConfigFile)
{
bt = CreateButton(name, ic, ac, tc, label, ontop, flags,
minw, maxw, minh, maxh, xo, yo, xa, xr, ya,
yr, xsr, xsa, ysr, ysa, simg, desk, sticky);
yr, xsr, xsa, ysr, ysa, simg, desk, sticky);
bt->default_show = show;
bt->internal = internal;
AddItem(bt, bt->name, 0, LIST_TYPE_BUTTON);
@ -2240,7 +2243,7 @@ Config_ActionClass(FILE * ConfigFile)
{
action_tooltipstring = Erealloc(action_tooltipstring,
(strlen(action_tooltipstring)
+ strlen(atword(s, 2)) + 2));
+ strlen(atword(s, 2)) + 2));
action_tooltipstring = strcat(action_tooltipstring, "\n");
action_tooltipstring =
strcat(action_tooltipstring, atword(s, 2));
@ -2278,7 +2281,7 @@ Config_ActionClass(FILE * ConfigFile)
RecoverUserConfig();
Alert(_
("Warning: Configuration appears to have ended before we were\n"
"Done loading an Action Class block. Outcome is likely not good.\n"));
"Done loading an Action Class block. Outcome is likely not good.\n"));
}
void
@ -3140,7 +3143,7 @@ Config_WindowMatch(FILE * ConfigFile)
}
}
Alert(_("Warning: Configuration appears to have ended before we were\n"
"Done loading an WindowMatch block. Outcome is likely not good.\n"));
"Done loading an WindowMatch block. Outcome is likely not good.\n"));
}
int
@ -3192,7 +3195,7 @@ OpenConfigFileForReading(char *path, char preprocess)
"Enlightenment is looking for epp here:\n"
"%s\n"
"This is a FATAL ERROR.\n"
"This is probably due to either the program not existing or\n"
"This is probably due to either the program not existing or\n"
"it not being able to be executed by you.\n"), epp_path);
doExit(_("error"));
}
@ -3420,7 +3423,7 @@ LoadOpenConfigFile(FILE * ConfigFile)
"Enlightenment's\n"
"it may be that you haven't upgraded "
"Enlightenment for\n"
"a while and this theme takes advantages of new\n"
"a while and this theme takes advantages of new\n"
"features in Enlightenment in new versions.\n"),
e_cfg_ver, min_e_cfg_ver);
RESET_ALERT;
@ -3442,8 +3445,8 @@ LoadOpenConfigFile(FILE * ConfigFile)
"be compatible.\n"
"\n"
"If you just upgraded to a new version of E\n"
"Restarting with Defaults will remove your current\n"
"user preferences and start cleanly with system\n"
"Restarting with Defaults will remove your current\n"
"user preferences and start cleanly with system\n"
"defaults. You can then modify your "
"configuration to\n"
"your liking again safely.\n"),
@ -3686,7 +3689,7 @@ LoadEConfig(char *themelocation)
"permissions or lack of disk space. It also could be that the\n"
"config directory has been inadvertently deleted since\n"
"installation.\n"
"This is a serious problem and should be rectified immediately\n"
"This is a serious problem and should be rectified immediately\n"
"Please contact your system administrator or package "
"maintainer.\n"
"If you are the administrator of your own system please\n"
@ -3700,7 +3703,8 @@ LoadEConfig(char *themelocation)
{
Progressbar *p = NULL;
int i;
char *config_files[] = {
char *config_files[] =
{
"init.cfg",
"control.cfg",
"textclasses.cfg",
@ -3838,6 +3842,7 @@ SaveUserControlConfig(FILE * autosavefile)
fprintf(autosavefile, "349 %i\n", (int)mode.pager_snap);
fprintf(autosavefile, "350 %i\n", (int)mode.animate_shading);
fprintf(autosavefile, "351 %i\n", (int)mode.menusonscreen);
fprintf(autosavefile, "352 %i\n", (int)mode.area_wraparound);
fprintf(autosavefile, "666 %i\n", (int)mode.warpmenus);
fprintf(autosavefile, "667 %i\n", (int)mode.warpsticky);
fprintf(autosavefile, "668 %i\n", (int)mode.warpshaded);
@ -4169,12 +4174,12 @@ RecoverUserConfig(void)
_("Yes, Attempt recovery"),
_("Restart and try again"), _("Quit and give up"));
Alert(_
("Enlightenment has encountered parsing errors in your autosaved\n"
"configuration.\n" "\n"
"This may be due to filing system errors, Minor bugs or"
" unforeseen\n" "system shutdowns.\n" "\n"
"Do you wish Enlightenment to recover its original system\n"
"configuration and try again?\n"));
("Enlightenment has encountered parsing errors in your autosaved\n"
"configuration.\n" "\n"
"This may be due to filing system errors, Minor bugs or"
" unforeseen\n" "system shutdowns.\n" "\n"
"Do you wish Enlightenment to recover its original system\n"
"configuration and try again?\n"));
RESET_ALERT;
mode.autosave = 0;
MapUnmap(1);

View File

@ -38,15 +38,16 @@ BlumFlimFrub(void)
char s[1024];
char *bins[3] =
#ifndef __EMX__
{ "dox", "eesh", "epp" };
{"dox", "eesh", "epp"};
#else
{ "dox.exe", "eesh.exe", "epp.exe" };
{"dox.exe", "eesh.exe", "epp.exe"};
#endif
char *docs[4] =
{ "E-docs/MAIN", "E-docs/Edoc_bg.png", "E-docs/E_logo.png" };
char *thms[1] = { "themes/DEFAULT/epplets/epplets.cfg" };
{"E-docs/MAIN", "E-docs/Edoc_bg.png", "E-docs/E_logo.png"};
char *thms[1] =
{"themes/DEFAULT/epplets/epplets.cfg"};
for (i = 0; i < 3; i++)
{
@ -63,12 +64,12 @@ BlumFlimFrub(void)
"Enlightenment's utility executable cannot be found at:\n"
"\n"
"%s\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure it is installed\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure it is installed\n"
"correctly.\n"
"\n"
"The reason this could be missing is due to badly created\n"
"packages, someone manually deleting that program or perhaps\n"
"The reason this could be missing is due to badly created\n"
"packages, someone manually deleting that program or perhaps\n"
"an error in installing Enlightenment.\n"), s);
EExit(NULL);
}
@ -76,11 +77,11 @@ BlumFlimFrub(void)
{
Alert(_("!!!!!!!! ERROR ERROR ERROR ERROR !!!!!!!!\n"
"\n"
"Enlightenment's dox executable is not able to be executed:\n"
"Enlightenment's dox executable is not able to be executed:\n"
"\n"
"%s\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure dox is installed\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure dox is installed\n"
"correctly.\n"), s);
EExit(NULL);
}
@ -100,12 +101,12 @@ BlumFlimFrub(void)
"\n"
"Enlightenment's documentation is not present or correctly installed\n"
"\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure it is installed\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure it is installed\n"
"correctly.\n"
"\n"
"The reason this could be missing is due to badly created\n"
"packages, someone manually deleting those files or perhaps\n"
"The reason this could be missing is due to badly created\n"
"packages, someone manually deleting those files or perhaps\n"
"an error in installing Enlightenment.\n"));
EExit(NULL);
}
@ -125,9 +126,9 @@ BlumFlimFrub(void)
"Enlightenment's DEFAULT installed theme is missing or inadequately\n"
"configured to be a useful DEFAULT theme.\n"
"\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure it is installed\n"
"correctly. The DEFAULT theme Enlightenment comes with normally\n"
"This is a fatal error and Enlightenment will cease to run.\n"
"Please rectify this situation and ensure it is installed\n"
"correctly. The DEFAULT theme Enlightenment comes with normally\n"
"is BrushedMetal-Tigert and this theme is adequate for a DEFAULT\n"
"theme.\n"));
EExit(NULL);
@ -271,19 +272,19 @@ ShowEdgeWindows(void)
GetCurrentArea(&cx, &cy);
GetAreaSize(&ax, &ay);
if (cx == 0)
if (cx == 0 && !mode.area_wraparound)
EUnmapWindow(disp, w1);
else
EMapRaised(disp, w1);
if (cx == (ax - 1))
if (cx == (ax - 1) && !mode.area_wraparound)
EUnmapWindow(disp, w2);
else
EMapRaised(disp, w2);
if (cy == 0)
if (cy == 0 && !mode.area_wraparound)
EUnmapWindow(disp, w3);
else
EMapRaised(disp, w3);
if (cy == (ay - 1))
if (cy == (ay - 1) && !mode.area_wraparound)
EUnmapWindow(disp, w4);
else
EMapRaised(disp, w4);
@ -391,25 +392,25 @@ EdgeTimeout(int val, void *data)
switch (val)
{
case 0:
if (ax == 0)
if (ax == 0 && !mode.area_wraparound)
return;
dx = root.w - 2;
dax = -1;
break;
case 1:
if (ax == (aw - 1))
if (ax == (aw - 1) && !mode.area_wraparound)
return;
dx = -(root.w - 2);
dax = 1;
break;
case 2:
if (ay == 0)
if (ay == 0 && !mode.area_wraparound)
return;
dy = root.h - 2;
day = -1;
break;
case 3:
if (ay == (ah - 1))
if (ay == (ah - 1) && !mode.area_wraparound)
return;
dy = -(root.h - 2);
day = 1;
@ -420,6 +421,10 @@ EdgeTimeout(int val, void *data)
mode.flipp = 1;
MoveCurrentAreaBy(dax, day);
mode.flipp = 0;
if (aw == 1)
dx = 0;
if (ah == 1)
dy = 0;
XWarpPointer(disp, None, None, 0, 0, 0, 0, dx, dy);
data = NULL;
}

View File

@ -151,7 +151,7 @@ SettingsPager(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Smooth high quality snapshots in snapshot mode"));
("Smooth high quality snapshots in snapshot mode"));
DialogItemCheckButtonSetState(di, tmp_pager_hiq);
DialogItemCheckButtonSetPtr(di, &tmp_pager_hiq);
@ -161,7 +161,7 @@ SettingsPager(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Zoom in on pager windows when mouse is over them"));
("Zoom in on pager windows when mouse is over them"));
DialogItemCheckButtonSetState(di, tmp_pager_zoom);
DialogItemCheckButtonSetPtr(di, &tmp_pager_zoom);
@ -171,7 +171,7 @@ SettingsPager(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Pop up window title when mouse is over the window"));
("Pop up window title when mouse is over the window"));
DialogItemCheckButtonSetState(di, tmp_pager_title);
DialogItemCheckButtonSetPtr(di, &tmp_pager_title);
@ -474,7 +474,7 @@ SettingsFocus(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Only new dialogs whose owner is focused get the focus"));
("Only new dialogs whose owner is focused get the focus"));
DialogItemCheckButtonSetState(di, tmp_owner_popup_focus);
DialogItemCheckButtonSetPtr(di, &tmp_owner_popup_focus);
@ -492,7 +492,7 @@ SettingsFocus(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Send mouse pointer to window on focus switch"));
("Send mouse pointer to window on focus switch"));
DialogItemCheckButtonSetState(di, tmp_warp_focus);
DialogItemCheckButtonSetPtr(di, &tmp_warp_focus);
@ -550,7 +550,7 @@ SettingsFocus(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Send mouse pointer to window after focus switch"));
("Send mouse pointer to window after focus switch"));
DialogItemCheckButtonSetState(di, tmp_warp_after_focus);
DialogItemCheckButtonSetPtr(di, &tmp_warp_after_focus);
#endif /* WITH_TARTY_WARP */
@ -920,6 +920,7 @@ static int tmp_edge_resist;
static char tmp_edge_flip;
static DItem *tmp_area_text;
static Dialog *tmp_area_dialog;
static char tmp_area_wraparound;
static void CB_ConfigureAreas(int val, void *data);
static void
@ -928,6 +929,7 @@ CB_ConfigureAreas(int val, void *data)
if (val < 2)
{
SetNewAreaSize(tmp_area_x, 9 - tmp_area_y);
mode.area_wraparound = tmp_area_wraparound;
if (tmp_edge_flip)
{
if (tmp_edge_resist < 1)
@ -1014,6 +1016,7 @@ SettingsArea(void)
}
AUDIO_PLAY("SOUND_SETTINGS_AREA");
tmp_area_wraparound = mode.area_wraparound;
tmp_edge_resist = mode.edge_flip_resistance;
if (tmp_edge_resist == 0)
tmp_edge_flip = 0;
@ -1100,6 +1103,13 @@ SettingsArea(void)
DialogItemSetFill(di, 1, 0);
DialogItemSeparatorSetOrientation(di, 0);
di = DialogAddItem(table, DITEM_CHECKBUTTON);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemCheckButtonSetText(di, _("Wrap virtual desktops around"));
DialogItemCheckButtonSetState(di, tmp_area_wraparound);
DialogItemCheckButtonSetPtr(di, &tmp_area_wraparound);
di = DialogAddItem(table, DITEM_CHECKBUTTON);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
@ -1203,7 +1213,7 @@ SettingsPlacement(void)
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di,
_
("Dialog windows appear together with their owner"));
("Dialog windows appear together with their owner"));
DialogItemCheckButtonSetState(di, tmp_with_leader);
DialogItemCheckButtonSetPtr(di, &tmp_with_leader);
@ -1267,8 +1277,8 @@ SettingsAutoRaise(void)
DItem *table, *di;
if (
(d =
FindItem("CONFIGURE_AUTORAISE", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
(d =
FindItem("CONFIGURE_AUTORAISE", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
{
AUDIO_PLAY("SOUND_SETTINGS_ACTIVE");
ShowDialog(d);
@ -1365,8 +1375,8 @@ SettingsTooltips(void)
DItem *table, *di;
if (
(d =
FindItem("CONFIGURE_TOOLTIPS", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
(d =
FindItem("CONFIGURE_TOOLTIPS", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
{
AUDIO_PLAY("SOUND_SETTINGS_ACTIVE");
ShowDialog(d);
@ -1699,7 +1709,7 @@ SettingsSpecialFX(void)
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemTextSetText(di,
"Enlightenment Special Effects\n" "Settings Dialog\n");
"Enlightenment Special Effects\n" "Settings Dialog\n");
di = DialogAddItem(table, DITEM_NONE);
@ -1811,7 +1821,7 @@ SettingsSpecialFX(void)
DialogItemSetFill(di, 1, 0);
DialogItemSetColSpan(di, 4);
DialogItemCheckButtonSetText(di,
_("Use saveunders to reduce window exposures"));
_("Use saveunders to reduce window exposures"));
DialogItemCheckButtonSetState(di, tmp_saveunders);
DialogItemCheckButtonSetPtr(di, &tmp_saveunders);
@ -2627,7 +2637,7 @@ CB_BGAreaEvent(int val, void *data)
stmp = duplicate(_("-NONE-"));
Esnprintf(s, sizeof(s),
_
("Background definition information:\nName: %s\nFile: %s\n"),
("Background definition information:\nName: %s\nFile: %s\n"),
tmp_bg->name, stmp);
Efree(stmp);
DialogItemTextSetText(bg_filename, s);
@ -3450,7 +3460,7 @@ SettingsIconbox(char *name)
Iconbox *ib;
if (
(d =
(d =
FindItem("CONFIGURE_ICONBOX", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
{
AUDIO_PLAY("SOUND_SETTINGS_ACTIVE");
@ -3559,7 +3569,7 @@ SettingsIconbox(char *name)
DialogItemSetAlign(di, 0, 0);
DialogItemTextSetText(di,
_
("Alignment of anchoring when automatically resizing:"));
("Alignment of anchoring when automatically resizing:"));
di = DialogAddItem(table, DITEM_SLIDER);
DialogItemSetPadding(di, 2, 2, 2, 2);
@ -3581,14 +3591,14 @@ SettingsIconbox(char *name)
DialogItemSetAlign(di, 0, 0);
DialogItemTextSetText(di,
_
("Icon image display policy (if one operation fails, try the next):"));
("Icon image display policy (if one operation fails, try the next):"));
radio4 = di = DialogAddItem(table, DITEM_RADIOBUTTON);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemRadioButtonSetText(di,
_
("Snapshot Windows, Use application icon, Use Enlightenment Icon"));
("Snapshot Windows, Use application icon, Use Enlightenment Icon"));
DialogItemRadioButtonSetFirst(di, radio4);
DialogItemRadioButtonGroupSetVal(di, 0);
@ -3597,7 +3607,7 @@ SettingsIconbox(char *name)
DialogItemSetFill(di, 1, 0);
DialogItemRadioButtonSetText(di,
_
("Use application icon, Use Enlightenment Icon, Snapshot Window"));
("Use application icon, Use Enlightenment Icon, Snapshot Window"));
DialogItemRadioButtonSetFirst(di, radio4);
DialogItemRadioButtonGroupSetVal(di, 1);
@ -3850,7 +3860,7 @@ SettingsGroups(EWin * ewin)
{
DIALOG_OK(_("Window Group Error"),
_
("\n This window currently does not belong to any groups. \n\n"));
("\n This window currently does not belong to any groups. \n\n"));
return;
}
if ((d = FindItem("CONFIGURE_GROUP", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))

View File

@ -222,10 +222,10 @@ SetupX()
("Enlightenment cannot connect to the display nominated by\n"
"your shell's DISPLAY environment variable. You may set this\n"
"variable to indicate which display name Enlightenment is to\n"
"connect to. It may be that you do not have an Xserver already\n"
"connect to. It may be that you do not have an Xserver already\n"
"running to serve that Display connection, or that you do not\n"
"have permission to connect to that display. Please make sure\n"
"all is correct before trying again. Run an Xserver by running\n"
"all is correct before trying again. Run an Xserver by running\n"
"xdm or startx first, or contact your local system\n"
"administrator, or Xserver vendor, or read the X, xdm and\n"
"startx manual pages before proceeding.\n"));
@ -402,7 +402,7 @@ SetupX()
ASSIGN_ALERT(_("X server version error"),
_("Ignore this error"), "", _("Quit Enlightenment"));
Alert(_("WARNING:\n"
"This is not an X11 Xserver. It in fact talks the X%i protocol.\n"
"This is not an X11 Xserver. It in fact talks the X%i protocol.\n"
"This may mean Enlightenment will either not function, or\n"
"function incorrectly. If it is later than X11, then your\n"
"server is one the author of Enlightenment neither have\n"
@ -433,7 +433,8 @@ SetupX()
XModifierKeymap *mod;
KeyCode nl, sl;
int i;
int masks[8] = {
int masks[8] =
{
ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
Mod4Mask, Mod5Mask
};
@ -596,6 +597,7 @@ SetupX()
mode.group_config.stick = 1;
mode.group_config.shade = 1;
mode.group_config.mirror = 1;
mode.area_wraparound = 0;
mode.clickalways = 0;
mode.keybinds_changed = 0;
@ -621,7 +623,7 @@ ChkDir(char *d)
if (!isdir(d))
{
Alert(_("The directory %s is apparently not a directory\n"
"This is a fatal condition.\n" "Please remove this file\n"), d);
"This is a fatal condition.\n" "Please remove this file\n"), d);
EExit((void *)1);
}
if (!canexec(d))