Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Apr 2011 10:33:03 -0700 (PDT)
From:      "David O'Brien" <obrien@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/156521: Omnitty does not work with "Sun Function-Keys" Xterm
Message-ID:  <201104201733.p3KHX3Cm082072@dragon.nuxi.org>
Resent-Message-ID: <201104201740.p3KHe8oC029936@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         156521
>Category:       ports
>Synopsis:       Omnitty does not work with "Sun Function-Keys" Xterm
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 20 17:40:07 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     David O'Brien
>Release:        FreeBSD 9.0-CURRENT i386
>Organization:
The FreeBSD Project
>Environment:
System: FreeBSD dragon.NUXI.org 9.0-CURRENT FreeBSD 9.0-CURRENT #662 r218815:218845M: Tue Feb 22 00:13:31 PST 2011 rootk@dragon.NUXI.org:/sys/i386/compile/DRAGON i386

===================================================================
File: Makefile         	Status: Up-to-date
   Working file:	Makefile
   Working revision:	1.7	Sat Aug 22 12:43:22 2009
   Repository revision:	1.7	/home/ncvs/ports/net/omnitty/Makefile,v
===================================================================
File: patch-main.c     	Status: Up-to-date
   Working file:	files/patch-main.c
   Working revision:	1.1	Wed Feb 20 02:06:11 2008
   Repository revision:	1.1	/home/ncvs/ports/net/omnitty/files/patch-main.c,v
===================================================================

>Description:
	If one has "XTerm.sunFunctionKeys: True" in ~/.Xdefaults, then
	Omnitty will not recognize any function-key press.

>How-To-Repeat:
	Try it.
>Fix:

Updated patch-main.c:

--- main.c.orig	2005-10-25 15:08:25.000000000 -0700
+++ main.c	2011-04-20 09:21:32.000000000 -0700
@@ -89,6 +89,13 @@ void curses_init() {
    define_key("\e[18~", KEY_F(7)); define_key("\e[19~", KEY_F(8));
    define_key("\e[20~", KEY_F(9)); define_key("\e[21~", KEY_F(10));
 
+   /* If "Sun Function-Keys" is enabled in your Xterm: */
+   define_key("\e[224z", KEY_F(1)); define_key("\e[225z", KEY_F(2));
+   define_key("\e[226z", KEY_F(3)); define_key("\e[227z", KEY_F(4));
+   define_key("\e[228z", KEY_F(5)); define_key("\e[229z", KEY_F(6));
+   define_key("\e[230z", KEY_F(7)); define_key("\e[231z", KEY_F(8));
+   define_key("\e[232z", KEY_F(9)); define_key("\e[233z", KEY_F(10));
+
    getmaxyx(stdscr, h, w);
    if (h < MIN_REQUIRED_HEIGHT || w < MIN_REQUIRED_WIDTH) {
       endwin();
@@ -335,9 +342,10 @@ int main(int argc, char **argv) {
 
    while (!quit) {
       if (zombie_count) {
-         zombie_count--;
-         chldpid = wait(NULL);
-         machmgr_handle_death(chldpid);
+         if ((chldpid = waitpid(-1, NULL, WNOHANG)) > 0) {
+            zombie_count--;
+            machmgr_handle_death(chldpid);
+         }
       }
 
       machmgr_update();
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104201733.p3KHX3Cm082072>