From owner-freebsd-hackers@FreeBSD.ORG Fri Jan 16 01:58:12 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5A023C14 for ; Fri, 16 Jan 2015 01:58:12 +0000 (UTC) Received: from know-smtprelay-omc-3.server.virginmedia.net (know-smtprelay-omc-3.server.virginmedia.net [80.0.253.67]) by mx1.freebsd.org (Postfix) with ESMTP id B7B2913C for ; Fri, 16 Jan 2015 01:58:11 +0000 (UTC) Received: from [192.168.1.100] ([86.20.122.200]) by know-smtprelay-3-imp with bizsmtp id gRx01p01h4KXVwe01Rx0AN; Fri, 16 Jan 2015 01:57:01 +0000 X-Originating-IP: [86.20.122.200] X-Spam: 0 X-Authority: v=2.1 cv=N7qnFgNB c=1 sm=1 tr=0 a=WByauD8lJrWvBFCNrxRoEQ==:117 a=WByauD8lJrWvBFCNrxRoEQ==:17 a=eyG8AT_ZZ_QA:10 a=N659UExz7-8A:10 a=NLZqzBF-AAAA:8 a=ECOha3hJE2g-2iAa_B8A:9 a=pILNOxqGKmIA:10 a=XdyKOaxJwVsA:10 a=CJS5E0KSweAA:10 Message-ID: <54B86FD5.3090203@NTLWorld.com> Date: Fri, 16 Jan 2015 01:56:37 +0000 From: Jonathan de Boyne Pollard User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: FreeBSD Hackers Subject: nosh version 1.12 References: <54430B41.3010301@NTLWorld.com> In-Reply-To: <54430B41.3010301@NTLWorld.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2015 01:58:12 -0000 nosh is now up to version 1.12 * http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html As I wrote before: If you also read the worked example, make sure that you read all of the way to the bottom. (-: If you want to read more, there's a whole Guide in the package, and lots of manual pages. I missed out the annoucements for 1.10 and 1.11. There have been quite a lot of additions, but concentrated in some very specific areas of the package. The developers of the "vt" subsystem in the kernel might be pleased to learn that the console-fb-realizer in nosh uses the same font format, and can use the supplied vt fonts. I myself use the 9x15 and 9x15B "misc fixed" fonts published by Markus Kuhn, as converted from BDF by "vtfontcvt". The keyboard map compiler, similarly, compiles kbdmap(5) files. Of course, there aren't the constraints in applications mode programming that there are in kernel mode programming. So console-fb-realizer can load multiple fonts, can do true italics (SGR 3), distinguishes italic from oblique, can use a true italic font (as long as it is monospace of course), does 24-bit RGB colour, overlays the BSD kbdmaps on top of an ISO 9995-3 "common secondary group", does Unicode dead keys, and does ISO 9993-5 so-called "peculiar" dead keys. If at this point you are wondering what console-fb-realizer is, crank up your favourite HTML viewer, point it at the nosh Guide, and read about user-space virtual terminals, made up of console-fb-realizer, console-terminal-emulator, console-multiplexor, and your choice of tty login program. Yes, it's intentionally decomposable. Yes, you can change realizers on the fly without affecting running programs. Yes, the number of multiplexed virtual terminals can be changed on the fly. Yes, it does UTF-8. Yes, it's BSD licensed. Yes, it's designed so that one can do interesting things like plug in BRLTTY and not need screen. * http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/brltty.html As well as being compatible with the control sequences for the FreeBSD and Linux consoles (minus some highly device-specific stuff that really only applies if one is using real PC hardware with things like VGA registers and whatnot), console-terminal-emulator understands the DECSCPP and DECSNLS control sequences for changing screen sizes, has programmable background-colour erase, and has the DECBKM mode switch. In support of the latter, the compiler provides a "bspace" extension to kbdmap(5) files for doing the right thing when the backspace key is pressed. In other news: The previously FreeBSD-specific VirtualBox guest services services (sic!) are now more platform-agnostic. The fact that some of these services are kernel modules inspired the creation of a simple, minimal, but (importantly) portable load-kernel-module tool. Other new services include a set of OpenStack service bundles. And the convert-ttys-presets tool allows one to import from /etc/ttys to a set of ttylogin service bundles. Have some free bug reports that resulted from this: * kbdmap(5) documents 35 ASCII control characters. It uses the name "np" for Form Feed, which is a bit confusing when one is in the ECMA-48 world of terminals, since NP is the name of a quite different control sequence in ECMA-48. ECMA-48 uses FF for Form Feed. None of the FreeBSD 10 keymaps that I've looked at actually use "np". Meanwhile, 32 C0 control characters plus SPACE and DEL is of course 34. I'll leave it as an exercise to the reader to discover the extra bogus 35th ASCII control character that the FreeBSD manual just invents from whole cloth. The answer can be found in the source for the console-convert-kbdmap tool. (-: * In contrast, many of the keymaps use "nop", but that's not documented in the man page at all. * For some reason, the higher numbered function keys (F13 and above) on the FreeBSD kernel terminal emulator still generate the SCO XENIX control sequences, even when the lower numbered function keys generate the DEC VT sequences. I didn't replicate this behaviour, because it looks like a simple bug where the higher numbered function keys have been overlooked during DECification. console-terminal-emulator generates DEC VT sequences for all function keys from F1 to F22 when in DEC VT mode. * It turns out that clang++ lets one static_cast<> away constness sometimes when it shouldn't. You'll need to use syscons for console-fb-realizer until I get to the bottom of the ioctl() problem that it encounters with vt. And I know about the keyboard LEDs.