summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>2008-05-14 19:49:22 +0000
committerMichael Jennings <mej@kainx.org>2008-05-14 19:49:22 +0000
commit3df02b2205c960d4c18293a64fccb8b603480c39 (patch)
treeaa255fc43c4b0576cef74132df31733833648539
parentb9f3a99c5690cfd26f986cc1940275ad29714fb6 (diff)
downloadeterm-3df02b2205c960d4c18293a64fccb8b603480c39.tar.gz
Wed May 14 12:42:51 2008 Michael Jennings (mej)
Patch from Kim Woelders <kim@woelders.dk>: There is a race problem with Eterm during startup related to the shell LINES/COLUMNS env vars. If the WM changes the window size (e.g. due to saved settings) before mapping the window, sometimes the shell will set LINES and COLUMNS according to the old/incorrect size and sometimes to the new/correct size, depending on wheter the call to tt_winsize() at command.c line 2322 (by the shell child process) or the tt_resize() (by the Eterm process) due to the ConfigureNotify caused by the resize (or WM ICCCM ConfigureNotify) operation happens first. The call in question was added by Azundris for Escreen. So far Escreen seems to be behaving properly with this patch applied, but all my Eterm windows (Escreen and otherwise) are pre-sized with -g anyway. So I'm going to keep my eye on it for awhile. In case of trouble, change the "#if 0" to "#ifdef ESCREEN" to revert to previous behavior when in Escreen mode. Normal operation should not require the call in question. ---------------------------------------------------------------------- SVN revision: 34568
-rw-r--r--ChangeLog24
-rw-r--r--Eterm.spec24
-rw-r--r--configure.in2
-rw-r--r--src/command.c6
4 files changed, 42 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index d3a389b..798e997 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5531,3 +5531,27 @@ Tue Jul 3 20:48:46 2007 Michael Jennings (mej)
Remove some cruft from kEsetroot.
----------------------------------------------------------------------
+Wed May 14 12:42:51 2008 Michael Jennings (mej)
+
+Patch from Kim Woelders <kim@woelders.dk>:
+
+ There is a race problem with Eterm during startup related to the
+ shell LINES/COLUMNS env vars.
+
+ If the WM changes the window size (e.g. due to saved settings)
+ before mapping the window, sometimes the shell will set LINES and
+ COLUMNS according to the old/incorrect size and sometimes to the
+ new/correct size, depending on wheter the call to tt_winsize() at
+ command.c line 2322 (by the shell child process) or the
+ tt_resize() (by the Eterm process) due to the ConfigureNotify
+ caused by the resize (or WM ICCCM ConfigureNotify) operation
+ happens first.
+
+The call in question was added by Azundris for Escreen. So far
+Escreen seems to be behaving properly with this patch applied, but all
+my Eterm windows (Escreen and otherwise) are pre-sized with -g anyway.
+So I'm going to keep my eye on it for awhile. In case of trouble,
+change the "#if 0" to "#ifdef ESCREEN" to revert to previous behavior
+when in Escreen mode. Normal operation should not require the call in
+question.
+----------------------------------------------------------------------
diff --git a/Eterm.spec b/Eterm.spec
index 01875bb..4b071d0 100644
--- a/Eterm.spec
+++ b/Eterm.spec
@@ -9,18 +9,18 @@
Summary: Enlightened terminal emulator
Name: Eterm
-Version: 0.9.4
-Release: 1
-#Release: 0.%(date '+%Y%m%d')
+Version: 0.9.5
+#Release: 1
+Release: 0.%(date '+%Y%m%d')
License: BSD
Group: User Interface/X
Requires: imlib2, imlib2-loader_jpeg, imlib2-loader_png
-#BuildSuggests: xorg-x11-devel
-BuildRequires: libast imlib2-devel XFree86-devel
-Source0: ftp://ftp.eterm.org/pub/Eterm/%{name}-%{version}.tar.%{compression}
-Source1: ftp://ftp.eterm.org/pub/Eterm/%{name}-bg-%{version}.tar.%{compression}
+#BuildSuggests: xorg-x11-devel XFree86-devel xorg-x11-proto-devel libXext-devel libXt-devel freetype-devel
+BuildRequires: libast imlib2-devel
+Source0: http://www.eterm.org/download/%{name}-%{version}.tar.%{compression}
+Source1: http://www.eterm.org/download/%{name}-bg-%{version}.tar.%{compression}
URL: http://www.eterm.org/
-BuildRoot: /var/tmp/%{name}-%{version}-root
+BuildRoot: %{?_tmppath}%{!?_tmppath:/var/tmp}/%{name}-%{version}-root
%description
Eterm is a color vt102 terminal emulator with enhanced graphical
@@ -47,21 +47,21 @@ export CFLAGS
%{__make} %{?mflags}
%install
-rm -rf $RPM_BUILD_ROOT
+%{__rm} -rf $RPM_BUILD_ROOT
# If the configure macro is used above (which it is), there
# is NO reason to use the makeinstall macro here, so don't.
%{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install}
( cd $RPM_BUILD_ROOT
- mv .%{_bindir}/%{name} .%{_bindir}/%{name}-%{version}
+ %{__mv} .%{_bindir}/%{name} .%{_bindir}/%{name}-%{version}
cd $RPM_BUILD_ROOT%{_bindir}
- ln -f -s %{name}-%{version} %{name}
+ %{__ln_s} -f %{name}-%{version} %{name}
cd $RPM_BUILD_ROOT
chmod +x .%{_libdir}/lib*so* ||:
)
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Utilities
+%{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Utilities
cat > $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Utilities/Eterm.desktop <<EOF
[Desktop Entry]
Name=Eterm
diff --git a/configure.in b/configure.in
index 12114dd..465b878 100644
--- a/configure.in
+++ b/configure.in
@@ -22,7 +22,7 @@ SAVE_AUTOHEADER="$AUTOHEADER"
SAVE_AUTOMAKE="$AUTOMAKE"
AC_INIT(src/feature.h)
-AM_INIT_AUTOMAKE(Eterm, 0.9.4)
+AM_INIT_AUTOMAKE(Eterm, 0.9.5)
dnl# Set some basic variables
DATE="`date '+%d %B %Y'`"
diff --git a/src/command.c b/src/command.c
index 81cb386..7c13747 100644
--- a/src/command.c
+++ b/src/command.c
@@ -2319,7 +2319,11 @@ run_command(char **argv)
get_tty();
SET_TTYMODE(0, &tio);
- tt_winsize(0);
+#if 0
+ if (TermWin.screen_mode != NS_MODE_NONE) {
+ tt_winsize(0);
+ }
+#endif
/* become virtual console, fail silently */
if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_CONSOLE)) {