Skip to content

Commit 7baf540

Browse files
committed
Release 2.7.0
1 parent c67a427 commit 7baf540

18 files changed

+983
-9
lines changed

NEWS

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@ Note, the changes for the last STABLE release start with release
22
2.6.0.
33

44
-------------------------------------------------------------------
5-
Changes in stable release 2.6.9 (UNRELEASED)
5+
Changes in stable release 2.7.0 (19-Oct-2022)
66

77
* Bug fixes:
88

99
- Fix handling of configure's --enable-mandoc/--enable-htmldoc
1010
- Fix crash in FvwmPager when desk height or width is 0
11+
- Added DoubleClick time to man page.
12+
- Fix to FvwmIconMan to disable a SizeHint warning.
13+
- Allow for reproducible builds.
14+
- Increase the number of supported mouse buttons to 15.
15+
- Tweaks to configure.ac
1116

1217
* New fvwm features:
1318

configure.ac

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ dnl
33
AC_PREREQ(2.60)
44

55
dnl should be "yes" only within the released distribution
6-
ISRELEASED="no"
7-
if test $ISRELEASED = "no"; then
6+
ISRELEASED="yes"
7+
if test $ISRELEASED = "yes"; then
88
RELDATELONG=""
99
RELDATESHORT=""
1010
RELDATENUM=""
@@ -26,9 +26,9 @@ VERSIONINFO=""
2626
dnl date of the released version (please zero pad the day in the last 2 dates)
2727
dnl for example: "4 February 2003", "04 Feb 2003", "2003-02-04"
2828
dnl date format strings: "%e %B %Y", "%d-%b-%Y", "%Y-%m-%d"
29-
RELDATELONG="05 September 2019"
30-
RELDATESHORT="05-Sep-2019"
31-
RELDATENUM="2019-10-05"
29+
RELDATELONG="19 October 2022"
30+
RELDATESHORT="19-Oct-2022"
31+
RELDATENUM="2022-10-19"
3232

3333
# constant variable settings
3434
FVWMNAMELONG="F? Virtual Window Manager"

modules/FvwmCommandS/FvwmCommand.h

Lines changed: 0 additions & 1 deletion
This file was deleted.

modules/FvwmCommandS/FvwmCommand.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/* -*-c-*- */
2+
#include <unistd.h>
3+
#include <stdio.h>
4+
#include <sys/types.h>
5+
#include "libs/ftime.h"
6+
#include <sys/wait.h>
7+
8+
#if HAVE_GETOPT_H
9+
#include <getopt.h>
10+
#endif
11+
12+
#include <errno.h>
13+
14+
#include "libs/Module.h"
15+
#include "libs/fvwmlib.h"
16+
#include "fvwm/fvwm.h"
17+
#include "libs/vpacket.h"
18+
#include "libs/fvwm_sys_stat.h"
19+
20+
#define F_NAME "FvwmCommand-"
21+
22+
/* number of default arguments when invoked from fvwm */
23+
#define FARGS 6
24+
25+
#define SOL sizeof( unsigned long )
26+
27+
#ifndef HAVE_MKFIFO
28+
#define mkfifo(path, mode) ((errno = ENOSYS) - ENOSYS - 1)
29+
#endif
30+
31+
32+
char * fifos_get_default_name(void);

modules/FvwmCommandS/fifos.c

Lines changed: 0 additions & 1 deletion
This file was deleted.

modules/FvwmCommandS/fifos.c

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
/* -*-c-*- */
2+
/*
3+
* Fvwm command input interface.
4+
*
5+
* Copyright 1998, Toshi Isogai.
6+
* Use this program at your own risk.
7+
* Permission to use this program for any purpose is given,
8+
* as long as the copyright is kept intact.
9+
*
10+
*/
11+
12+
/* This program is free software; you can redistribute it and/or modify
13+
* it under the terms of the GNU General Public License as published by
14+
* the Free Software Foundation; either version 2 of the License, or
15+
* (at your option) any later version.
16+
*
17+
* This program is distributed in the hope that it will be useful,
18+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+
* GNU General Public License for more details.
21+
*
22+
* You should have received a copy of the GNU General Public License
23+
* along with this program; if not, see: <http://www.gnu.org/licenses/>
24+
*/
25+
26+
#include "config.h"
27+
#include "FvwmCommand.h"
28+
29+
#define MAXHOSTNAME 32
30+
31+
char * fifos_get_default_name(void)
32+
{
33+
char file_suffix[] = { 'R', 'C', 'M', '\0' };
34+
char *f_stem;
35+
char *dpy_name;
36+
char dpy_name_add[3];
37+
char *c;
38+
int i;
39+
struct stat stat_buf;
40+
char hostname[MAXHOSTNAME];
41+
int type_pos;
42+
uid_t owner;
43+
Bool is_path_valid;
44+
45+
/* default name */
46+
dpy_name = getenv("DISPLAY");
47+
if (!dpy_name || *dpy_name == 0)
48+
{
49+
dpy_name = ":0.0";
50+
}
51+
if (strncmp(dpy_name, "unix:", 5) == 0)
52+
{
53+
dpy_name += 4;
54+
}
55+
dpy_name_add[0] = 0;
56+
c = strrchr(dpy_name, '.');
57+
i = 0;
58+
if (c != NULL)
59+
{
60+
if (*(c + 1) != 0)
61+
{
62+
for (c++, i = 0; isdigit(*c); c++, i++)
63+
{
64+
/* nothing */
65+
}
66+
}
67+
else
68+
{
69+
/* cut off trailing period */
70+
*c = 0;
71+
}
72+
}
73+
if (i == 0)
74+
{
75+
/* append screen number */
76+
strcpy(dpy_name_add, ".0");
77+
}
78+
f_stem = safemalloc(11 + strlen(F_NAME) + MAXHOSTNAME +
79+
strlen(dpy_name) + strlen(dpy_name_add));
80+
81+
if (
82+
(stat("/var/tmp", &stat_buf) == 0) &&
83+
(stat_buf.st_mode & S_IFDIR))
84+
{
85+
strcpy (f_stem, "/var/tmp/");
86+
}
87+
else
88+
{
89+
strcpy (f_stem, "/tmp/");
90+
}
91+
strcat(f_stem, F_NAME);
92+
93+
/* Make it unique */
94+
if (!dpy_name[0] || ':' == dpy_name[0])
95+
{
96+
/* Put hostname before dpy if not there */
97+
gethostname(hostname, MAXHOSTNAME);
98+
strcat(f_stem, hostname);
99+
}
100+
strcat(f_stem, dpy_name);
101+
strcat(f_stem, dpy_name_add);
102+
103+
/* Verify that all files are either non-symlinks owned by the current
104+
* user or non-existing. If not: use FVWM_USERDIR as base instead. */
105+
106+
type_pos = strlen(f_stem);
107+
owner = geteuid();
108+
is_path_valid = True;
109+
110+
f_stem[type_pos+1] = 0;
111+
112+
for (c = file_suffix; *c != 0 && is_path_valid; c++)
113+
{
114+
int rc;
115+
116+
f_stem[type_pos] = *c;
117+
if (DO_USE_LSTAT)
118+
{
119+
rc = fvwm_lstat(f_stem, &stat_buf);
120+
}
121+
else
122+
{
123+
rc = stat(f_stem, &stat_buf);
124+
}
125+
if (rc == 0)
126+
{
127+
/* stat successful */
128+
if (
129+
stat_buf.st_uid != owner ||
130+
stat_buf.st_nlink > 1 ||
131+
S_ISDIR(stat_buf.st_mode) ||
132+
FVWM_S_ISLNK(stat_buf.st_mode) ||
133+
(stat_buf.st_mode & FVWM_S_IFLNK) != 0)
134+
{
135+
is_path_valid = False;
136+
}
137+
break;
138+
}
139+
else if (errno != ENOENT)
140+
{
141+
is_path_valid = False;
142+
}
143+
}
144+
f_stem[type_pos] = 0;
145+
if (!is_path_valid)
146+
{
147+
char *userdir;
148+
char *tailname;
149+
char *tmp;
150+
tmp = f_stem;
151+
152+
if (f_stem[1] == 't') /* /tmp/ */
153+
{
154+
tailname = f_stem + 4;
155+
}
156+
else /* /var/tmp/ */
157+
{
158+
tailname = f_stem + 8;
159+
}
160+
161+
userdir = getenv("FVWM_USERDIR");
162+
if (userdir == NULL)
163+
{
164+
free(tmp);
165+
return NULL;
166+
}
167+
f_stem = safemalloc(strlen(userdir) + strlen(tailname) + 1);
168+
strcpy(f_stem, userdir);
169+
strcat(f_stem, tailname);
170+
free(tmp);
171+
}
172+
173+
return f_stem;
174+
}

po/FvwmScript.ar.gmo

-30 Bytes
Binary file not shown.

po/FvwmScript.de.gmo

-30 Bytes
Binary file not shown.

po/FvwmScript.fr.gmo

-41 Bytes
Binary file not shown.

po/FvwmScript.ru.gmo

-30 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)