Hello community,

here is the log from the commit of package fbterm for openSUSE:Factory checked 
in at 2020-10-12 13:58:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fbterm (Old)
 and      /work/SRC/openSUSE:Factory/.fbterm.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fbterm"

Mon Oct 12 13:58:30 2020 rev:5 rq:840945 version:1.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/fbterm/fbterm.changes    2016-06-20 
11:06:59.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fbterm.new.3486/fbterm.changes  2020-10-12 
13:59:38.106224112 +0200
@@ -1,0 +2,10 @@
+Fri Oct  2 23:03:35 UTC 2020 - Jan Engelhardt <jeng...@inai.de>
+
+- Update to release 1.8
+  * The default TERM environment variable value is now "fbterm".
+  * Allow to choose between "fbterm" or "linux" for TERM
+    using the "term-is-linux" config directive.
+  * Added short versions for most command line options.
+- Add 0002-Initialize-mTermIsLinux-variable.patch
+
+-------------------------------------------------------------------
@@ -55 +64,0 @@
-

Old:
----
  fbterm-1.7.0.tar.gz

New:
----
  1.8.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fbterm.spec ++++++
--- /var/tmp/diff_new_pack.YFHE1B/_old  2020-10-12 13:59:38.954224466 +0200
+++ /var/tmp/diff_new_pack.YFHE1B/_new  2020-10-12 13:59:38.958224467 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package fbterm
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,33 +12,28 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           fbterm
+Version:        1.8
+Release:        0
 Summary:        A fast framebuffer-based terminal emulator
-License:        GPL-2.0+
+License:        GPL-2.0-or-later
 Group:          System/Console
-Version:        1.7
-Release:        0
-Url:            http://code.google.com/p/fbterm/
+URL:            https://github.com/sfzhi/fbterm
 
-Source:         https://fbterm.googlecode.com/files/%name-1.7.0.tar.gz
+Source:         https://github.com/sfzhi/fbterm/archive/%version.tar.gz
 Patch1:         fbterm-gcc6-fixes.patch
-BuildRequires:  fontconfig-devel
-BuildRequires:  freetype2-devel
-BuildRequires:  gcc-c++
-BuildRequires:  gpm
-BuildRequires:  ncurses-devel
-BuildRequires:  pkg-config
-%if 0%{?suse_version} > 1210
-# Fix build for openSUSE 12.2
 BuildRequires:  autoconf
 BuildRequires:  automake
+BuildRequires:  gcc-c++
+BuildRequires:  gpm
 BuildRequires:  libtool
-%endif
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  ncurses-devel
+BuildRequires:  pkgconfig(fontconfig)
+BuildRequires:  pkgconfig(freetype2)
 
 %description
 FbTerm is a fast terminal emulator for linux with frame buffer device.
@@ -59,28 +54,21 @@
   * change the orientation of screen display, a.k.a. screen rotation
   * lightweight input method framework with client-server architecture
 
-
-Authors:
---------
-   dragchan <zgchan...@gmail.com>
-
 %prep
-%setup -q
-%patch1 -p1
+%autosetup -p1
 
 %build
 autoreconf -fi
 export CFLAGS="%optflags -fno-strict-aliasing"
 %configure
-make %{?_smp_mflags}
+%make_build
 
 %install
 %make_install
 # disallow setuid bit for now...
-chmod 0755 $RPM_BUILD_ROOT%{_bindir}/fbterm
+chmod 0755 %{buildroot}/%{_bindir}/fbterm
 
 %files
-%defattr(-, root, root)
 %doc README AUTHORS ChangeLog COPYING
 %doc %{_mandir}/man1/*
 %{_bindir}/*

++++++ fbterm-1.7.0.tar.gz -> 1.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/.gitignore new/fbterm-1.8/.gitignore
--- old/fbterm-1.7/.gitignore   1970-01-01 01:00:00.000000000 +0100
+++ new/fbterm-1.8/.gitignore   2015-02-21 13:27:24.000000000 +0100
@@ -0,0 +1,15 @@
+*.o
+*.a
+*.swp
+.deps
+Makefile
+/config.h
+/config.log
+/config.status
+/stamp-h1
+/fbterm.txt
+/doc/fbterm.1
+/im/immessage.h
+/im/input_key.h
+/im/imexample
+/src/fbterm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/ChangeLog new/fbterm-1.8/ChangeLog
--- old/fbterm-1.7/ChangeLog    2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/ChangeLog    2015-02-21 13:27:24.000000000 +0100
@@ -1,4 +1,23 @@
-2010-10-5 version 1.7
+2015-02-21 version 1.8
+       * doc/fbterm.1.in:
+       escape '-' (minus) with backslash in the man page
+       
+       * lib/shell.h lib/shell.cpp fbshell.cpp fbconfig.cpp doc/fbterm.1.in:
+       allow to choose 'fbterm' or 'linux' for TERM
+       
+       * lib/shell.cpp doc/fbterm.1.in:
+       changed the default value of TERM to 'fbterm'
+       
+       * fbconfig.cpp doc/fbterm.1.in:
+       added short versions for most command line options
+       
+       * font.h font.cpp fbconfig.cpp doc/fbterm.1.in:
+       added configuration option to adjust font baseline
+       
+       * font.cpp:
+       getGlyph(): fixed incorrect glyph bitmap positioning
+
+2010-10-05 version 1.7
        * vterm.cpp charsetmap.cpp:
        improved escape sequences support, now curses h/v lines should be 
drawed correctly 
        
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/configure new/fbterm-1.8/configure
--- old/fbterm-1.7/configure    2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/configure    2015-02-21 13:27:24.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for FbTerm 1.7.
+# Generated by GNU Autoconf 2.65 for FbTerm 1.8.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -549,8 +549,8 @@
 # Identity of this package.
 PACKAGE_NAME='FbTerm'
 PACKAGE_TARNAME='fbterm'
-PACKAGE_VERSION='1.7'
-PACKAGE_STRING='FbTerm 1.7'
+PACKAGE_VERSION='1.8'
+PACKAGE_STRING='FbTerm 1.8'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1259,7 +1259,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures FbTerm 1.7 to adapt to many kinds of systems.
+\`configure' configures FbTerm 1.8 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1325,7 +1325,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of FbTerm 1.7:";;
+     short | recursive ) echo "Configuration of FbTerm 1.8:";;
    esac
   cat <<\_ACEOF
 
@@ -1423,7 +1423,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-FbTerm configure 1.7
+FbTerm configure 1.8
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1880,7 +1880,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by FbTerm $as_me 1.7, which was
+It was created by FbTerm $as_me 1.8, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -2691,7 +2691,7 @@
 
 # Define the identity of the package.
  PACKAGE='fbterm'
- VERSION='1.7'
+ VERSION='1.8'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2735,7 +2735,7 @@
 ac_config_headers="$ac_config_headers config.h"
 
 
-RELEASE_DATE="October 2010"
+RELEASE_DATE="February 2015"
 
 
 # Checks for programs.
@@ -6321,7 +6321,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by FbTerm $as_me 1.7, which was
+This file was extended by FbTerm $as_me 1.8, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6391,7 +6391,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-FbTerm config.status 1.7
+FbTerm config.status 1.8
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/configure.ac new/fbterm-1.8/configure.ac
--- old/fbterm-1.7/configure.ac 2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/configure.ac 2015-02-21 13:27:24.000000000 +0100
@@ -2,12 +2,12 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.61])
-AC_INIT([FbTerm], [1.7])
+AC_INIT([FbTerm], [1.8])
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([src/fbterm.cpp])
 AC_CONFIG_HEADERS([config.h])
 
-AC_SUBST([RELEASE_DATE], "October 2010")
+AC_SUBST([RELEASE_DATE], "February 2015")
 
 # Checks for programs.
 AC_PROG_CXX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/doc/fbterm.1.in 
new/fbterm-1.8/doc/fbterm.1.in
--- old/fbterm-1.7/doc/fbterm.1.in      2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/doc/fbterm.1.in      2015-02-21 13:27:24.000000000 +0100
@@ -1,8 +1,8 @@
 .TH "FbTerm" "1" "@RELEASE_DATE@" "FbTerm @VERSION@" "FbTerm User Manual"
 .SH "NAME"
-FbTerm - a fast Frame Buffer based TERMinal emulator for linux
+FbTerm \- a fast Frame Buffer based TERMinal emulator for linux
 .SH "SYNOPSIS"
-\fBfbterm\fR [\fIoptions\fR] [--] [\fIcommand\fR [\fIarguments\fR]]
+\fBfbterm\fR [\fIoptions\fR] [\-\-] [\fIcommand\fR [\fIarguments\fR]]
 .SH "DESCRIPTION"
 FbTerm is a fast terminal emulator for linux with frame buffer device or VESA 
video card. Features include:
   
@@ -19,61 +19,67 @@
 .SH "OPTIONS"
 \fIcommand\fR [\fIarguments\fR] may be given to override the built-in choice 
of shell program. Normally FbTerm
 checks the \fISHELL\fR variable. If that is not set, it tries to use the 
user's login shell program specified in the password
-file. If that is not set, /bin/sh will be used. You should use the \fI--\fR 
argument to separate FbTerm's options from
+file. If that is not set, /bin/sh will be used. You should use the \fI\-\-\fR 
argument to separate FbTerm's options from
 the arguments supplied to the \fIcommand\fR.
 
 FbTerm first uses option value specified in command line arguments, then in 
the configure file \fI$HOME/.fbtermrc\fR.
 If that file doesn't exist, FbTerm will create it with default options on 
startup.
 .TP
-\fB-h, --help\fR
+\fB\-h, \-\-help\fR
 display the help and exit
 .TP
-\fB-V, --version\fR
+\fB\-V, \-\-version\fR
 display FbTerm version and exit
 .TP
-\fB-v, --verbose\fR
+\fB\-v, \-\-verbose\fR
 display extra FbTerm's information
 .TP
-\fB-n, --font-names=\fR\fItext\fR
+\fB\-n, \-\-font\-names=\fR\fItext\fR
 specify font family names
 .TP
-\fB-s, --font-size=\fR\fInum\fR
+\fB\-s, \-\-font\-size=\fR\fInum\fR
 specify font pixel size
 .TP
-\fB--font-width=\fR\fInum\fR
+\fB\-W, \-\-font\-width=\fR\fInum\fR
 force font width
 .TP
-\fB--font-height=\fR\fInum\fR
+\fB\-H, \-\-font\-height=\fR\fInum\fR
 force font height
 .TP
-\fB-f, --color-foreground=\fR\fInum\fR
+\fB\-B, \-\-font\-baseline=\fR\fInum\fR
+force font baseline
+.TP
+\fB\-f, \-\-color\-foreground=\fR\fInum\fR
 specify foreground color
 .TP
-\fB-b, --color-background=\fR\fInum\fR
+\fB\-b, \-\-color\-background=\fR\fInum\fR
 specify background color
 .TP
-\fB-e, --text-encodings=\fR\fItext\fR
+\fB\-e, \-\-text\-encodings=\fR\fItext\fR
 specify additional text encodings
 .TP
-\fB-a, --ambiguous-wide
+\fB\-a, \-\-ambiguous\-wide\fR
 treat ambiguous width characters as wide
 .TP
-\fB-r, --screen-rotate=\fR\fInum\fR
+\fB\-r, \-\-screen\-rotate=\fR\fInum\fR
 specify the orientation of screen display
 .TP
-\fB-i, --input-method=\fR\fItext\fR
+\fB\-i, \-\-input\-method=\fR\fItext\fR
 specify input method program
 .TP
-\fB--cursor-shape=\fR\fInum\fR
+\fB\-c, \-\-cursor\-shape=\fR\fInum\fR
 specify default cursor shape
 .TP
-\fB--cursor-interval=\fR\fInum\fR
+\fB\-C, \-\-cursor\-interval=\fR\fInum\fR
 specify cursor flash interval
 .TP
-\fB--vesa-mode=\fR\fInum\fR
+\fB\-l, \-\-term\-is\-linux\fR
+set TERM variable to "linux"
+.TP
+\fB\-\-vesa\-mode=\fR\fInum\fR
 specify VESA video mode
 .TP
-\fB--vesa-mode=list\fR
+\fB\-\-vesa\-mode=list\fR
 display available VESA video modes
 
 .TP
@@ -114,27 +120,27 @@
 built-in behavior.
 .SH "VESA VIDEO DEVICE"
 From version 1.6, FbTerm adds VESA video card support. By default, FbTerm 
tries frame buffer device first, if failure, 
-then tries to use VESA device with highest resolution and color depth. option 
"\fIvesa-mode\fR" may be given to force only open
-VESA device with the specified video mode. To see available video modes for 
your VESA card, execute "\fBfbterm --vesa-mode=list\fR".
+then tries to use VESA device with highest resolution and color depth. option 
"\fIvesa\-mode\fR" may be given to force only open
+VESA device with the specified video mode. To see available video modes for 
your VESA card, execute "\fBfbterm \-\-vesa\-mode=list\fR".
 
 Attention: 1) VESA support requires root privilege to work; 2) do not force to 
use VESA device on the system with frame buffer device
 enabled, they maybe conflict with each other.
 .SH "FONT"
 FbTerm invokes fontconfig to get a font list, if the first font doesn't 
contain the glyph for the rendering character,
-it will try second font, then the third, ... and so on, user can see this 
ordered font list with "\fBfbterm -v\fR".
+it will try second font, then the third, ... and so on, user can see this 
ordered font list with "\fBfbterm \-v\fR".
 
-If you don't like the fonts selected by FbTerm, execute "fc-list" to get 
available fonts, choose favorites as
-the value of option "\fIfont-names\fR". You may also modify the configure file 
of fontconfig, which will
+If you don't like the fonts selected by FbTerm, execute "fc\-list" to get 
available fonts, choose favorites as
+the value of option "\fIfont\-names\fR". You may also modify the configure 
file of fontconfig, which will
 change the behavior of all programs based on fontconfig!
 .SH "TEXT ENCODING"
 By using iconv, FbTerm converts other encodings to internal encoding UTF-8. On 
startup, FbTerm checks variable
 \fILC_CTYPE\fR to determine the default text encoding, which is binded to 
shortcut CTRL_ALT_F1.
-User can specify up to 5 additional encodings with option 
"\fItext-encodings\fR", for example, as a Chinese user,
-you set "text-encodings=gbk,big5", shortcut CTRL_ALT_F2 will bind to gbk, and 
CTRL_ALT_F3 bind to big5.
+User can specify up to 5 additional encodings with option 
"\fItext\-encodings\fR", for example, as a Chinese user,
+you set "text\-encodings=gbk,big5", shortcut CTRL_ALT_F2 will bind to gbk, and 
CTRL_ALT_F3 bind to big5.
 
 In a number of CJK encodings there are ambiguous width characters which have a 
width of either narrow or wide
 depending on the context of their use. By default, FbTerm treats them as 
narrow width characters,
-option "\fIambiguous-wide\fR" may be used to change the behavior.
+option "\fIambiguous\-wide\fR" may be used to change the behavior.
 .SH "BACKGROUND IMAGE"
 FbTerm doesn't load and parse any image file with various formats directly, 
instead it takes a screen shot of
 frame buffer device on startup if variable \fIFBTERM_BACKGROUND_IMAGE\fR is 
defined, then uses this screen shot as
@@ -145,12 +151,12 @@
 
     #!/bin/bash
 
-    # fbterm-bi: a wrapper script to enable background image with fbterm
-    # usage: fbterm-bi /path/to/image fbterm-options
+    # fbterm\-bi: a wrapper script to enable background image with fbterm
+    # usage: fbterm\-bi /path/to/image fbterm-options
 
-    echo -ne "\\e[?25l" # hide cursor
+    echo \-ne "\\e[?25l" # hide cursor
 
-    fbv -ciuker "$1" << EOF
+    fbv \-ciuker "$1" << EOF
     q
     EOF
 
@@ -174,12 +180,13 @@
 \fR
 
 A new terminfo database entry named "fbterm" was added to use these private 
sequences, all program based on terminfo should work with it.
-By default, FbTerm sets environment variable "TERM" to value "linux", user 
need run "TERM=fbterm /path/to/program" to enable 256 color mode.
+By default, FbTerm sets environment variable "TERM" to value "fbterm". 
Alternatively, the "TERM" variable can be set to "linux",
+in which case the 256 color mode will be unavailable.
 .SH "INPUT METHOD"
 Instead of adding input method directly in FbTerm, a client-server based input 
method framework is designed to do
 this work. FbTerm acts as a client, standalone IM program as a server, and 
they run in separated processes.
 
-As a normal IM user, you should install a IM program written for FbTerm, and 
specify it as the value of option "\fIinput-method\fR".
+As a normal IM user, you should install a IM program written for FbTerm, and 
specify it as the value of option "\fIinput\-method\fR".
 CTRL_SPACE is the shortcut to activate/deactivate input method. And CTRL_ALT_K 
may be used to kill the IM program when it has freezed. 
 
 .SH "SECURITY NOTES"
@@ -215,7 +222,7 @@
     kernel /boot/vmlinuz ro root=LABEL=UBUNTU splash vga=0x317 
\fBvideo=vesafb:ywrap,mtrr:3\fR
     initrd /boot/initrd.img
     
-You may check fast scrolling status with "\fBfbterm -v\fR", a message with 
"scrolling: redraw" means fast scrolling
+You may check fast scrolling status with "\fBfbterm \-v\fR", a message with 
"scrolling: redraw" means fast scrolling
 is disabled, otherwise enabled.
 .SH "AUTHOR"
 Written by dragchan.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/src/fbconfig.cpp 
new/fbterm-1.8/src/fbconfig.cpp
--- old/fbterm-1.7/src/fbconfig.cpp     2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/src/fbconfig.cpp     2015-02-21 13:27:24.000000000 +0100
@@ -173,10 +173,11 @@
                "font-names=mono\n"
                "font-size=12\n"
                "\n"
-               "# force font width (and/or height), usually for non-fixed 
width fonts\n"
+               "# force font width/height/baseline, usually for non-fixed 
width fonts\n"
                "# legal value format: n (fw_new = n), +n (fw_new = fw_old + 
n), -n (fw_new = fw_old - n)\n"
                "#font-width=\n"
                "#font-height=\n"
+               "#font-baseline=\n"
                "\n"
                "# default color of foreground/background text\n"
                "# available colors: 0 = black, 1 = red, 2 = green, 3 = brown, 
4 = blue, 5 = magenta, 6 = cyan, 7 = white\n"
@@ -207,6 +208,9 @@
                "\n"
                "# treat ambiguous width characters as wide\n"
                "#ambiguous-wide=yes\n"
+               "\n"
+               "# set TERM to 'linux' instead of the default 'fbterm'\n"
+               "#term-is-linux=no\n"
                ;
 
        struct stat cstat;
@@ -232,19 +236,21 @@
                { "text-encodings", required_argument, 0, 'e' },
                { "screen-rotate", required_argument, 0, 'r' },
                { "input-method", required_argument, 0, 'i' },
-               { "cursor-shape", required_argument, 0, 0 },
-               { "cursor-interval", required_argument, 0, 1 },
-               { "font-width", required_argument, 0, 2 },
-               { "font-height", required_argument, 0, 4 },
+               { "cursor-shape", required_argument, 0, 'c' },
+               { "cursor-interval", required_argument, 0, 'C' },
+               { "font-width", required_argument, 0, 'W' },
+               { "font-height", required_argument, 0, 'H' },
+               { "font-baseline", required_argument, 0, 'B' },
                { "ambiguous-wide", no_argument, 0, 'a' },
+               { "term-is-linux", no_argument, 0, 'l' },
 #ifdef ENABLE_VESA
-               { "vesa-mode", required_argument, 0, 3 },
+               { "vesa-mode", required_argument, 0, 0 },
 #endif
                { 0, 0, 0, 0 }
        };
 
        s32 index;
-       while ((index = getopt_long(argc, argv, "Vvhn:s:f:b:e:r:i:a", options, 
0)) != -1) {
+       while ((index = getopt_long(argc, argv, 
"Vvhn:s:f:b:e:r:i:c:C:W:H:B:al", options, 0)) != -1) {
                switch (index) {
                case 'V':
                        printf("FbTerm version " VERSION "\n");
@@ -261,16 +267,17 @@
                                "  -v, --verbose                   display 
extra information\n"
                                "  -n, --font-names=TEXT           specify font 
family names\n"
                                "  -s, --font-size=NUM             specify font 
pixel size\n"
-                               "      --font-width=NUM            force font 
width\n"
-                               "      --font-height=NUM           force font 
height\n"
+                               "  -W, --font-width=NUM            force font 
width\n"
+                               "  -H, --font-height=NUM           force font 
height\n"
+                               "  -B, --font-baseline=NUM         force font 
baseline\n"
                                "  -f, --color-foreground=NUM      specify 
foreground color\n"
                                "  -b, --color-background=NUM      specify 
background color\n"
                                "  -e, --text-encodings=TEXT       specify 
additional text encodings\n"
                                "  -r, --screen-rotate=NUM         specify 
orientation of screen display\n"
                                "  -a, --ambiguous-wide            treat 
ambiguous width characters as wide\n"
                                "  -i, --input-method=TEXT         specify 
input method program\n"
-                               "      --cursor-shape=NUM          specify 
default cursor shape\n"
-                               "      --cursor-interval=NUM       specify 
cursor flash interval\n"
+                               "  -c, --cursor-shape=NUM          specify 
default cursor shape\n"
+                               "  -C, --cursor-interval=NUM       specify 
cursor flash interval\n"
 #ifdef ENABLE_VESA
                                "      --vesa-mode=NUM             force VESA 
video mode\n"
                                "                  list            display 
available VESA video modes\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/src/fbshell.cpp 
new/fbterm-1.8/src/fbshell.cpp
--- old/fbterm-1.7/src/fbshell.cpp      2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/src/fbshell.cpp      2015-02-21 13:27:24.000000000 +0100
@@ -349,6 +349,7 @@
        mImProxy = 0;
        mPaletteChanged = false;
        mPalette = 0;
+       Config::instance()->getOption("term-is-linux", mTermIsLinux);
        createShellProcess(Config::instance()->getShellCommand());
        resize(screen->cols(), screen->rows());
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/src/font.cpp new/fbterm-1.8/src/font.cpp
--- old/fbterm-1.7/src/font.cpp 2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/src/font.cpp 2015-02-21 13:27:24.000000000 +0100
@@ -141,6 +141,7 @@
                mHeight = sizes[index].height;
                mWidth = sizes[index].width;
        }
+       mBaseline = face->size->metrics.ascender >> 6;
 
        if (!(face->face_flags & FT_FACE_FLAG_FIXED_WIDTH)) mWidth = 
MIN(mWidth, (mHeight + 1) / 2);
 
@@ -165,6 +166,17 @@
                if (buf[0] == '+' || buf[0] == '-') mHeight += (s32)height;
                else mHeight = height;
        }
+
+       u32 baseline = 0;
+       Config::instance()->getOption("font-baseline", baseline);
+
+       if (baseline) {
+               s8 buf[64];
+               Config::instance()->getOption("font-baseline", buf, 
sizeof(buf));
+
+               if (buf[0] == '+' || buf[0] == '-') mBaseline += (s32)baseline;
+               else mBaseline = baseline;
+       }
 }
 
 Font::~Font()
@@ -304,16 +316,22 @@
        x = y = 0;
        w = nw = bitmap.width;
        h = nh = bitmap.rows;
+       u8 *buf = bitmap.buffer;
+       s32 top = (s32)mBaseline - face->glyph->bitmap_top;
+       if (top < 0) {
+               buf -= top * bitmap.pitch;
+               h = nh += top;
+               top = 0;
+       }
        Screen::instance()->rotateRect(x, y, nw, nh);
 
        Glyph *glyph = (Glyph *)new u8[OFFSET(Glyph, pixmap) + nw * nh];
-       glyph->left = face->glyph->metrics.horiBearingX >> 6;
-       glyph->top = mHeight - 1 + (face->size->metrics.descender >> 6) - 
(face->glyph->metrics.horiBearingY >> 6);
-       glyph->width = face->glyph->metrics.width >> 6;
-       glyph->height = face->glyph->metrics.height >> 6;
+       glyph->left = face->glyph->bitmap_left;
+       glyph->top = top;
+       glyph->width = w;
+       glyph->height = h;
        glyph->pitch = nw;
 
-       u8 *buf = bitmap.buffer;
        for (y = 0; y < h; y++, buf += bitmap.pitch) {
                for (x = 0; x < w; x++) {
                        nx = x, ny = y;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/src/font.h new/fbterm-1.8/src/font.h
--- old/fbterm-1.7/src/font.h   2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/src/font.h   2015-02-21 13:27:24.000000000 +0100
@@ -46,7 +46,7 @@
        void showInfo(bool verbose);
 
 private:
-       u32 mWidth, mHeight;
+       u32 mWidth, mHeight, mBaseline;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/src/lib/shell.cpp 
new/fbterm-1.8/src/lib/shell.cpp
--- old/fbterm-1.7/src/lib/shell.cpp    2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/src/lib/shell.cpp    2015-02-21 13:27:24.000000000 +0100
@@ -79,7 +79,7 @@
 
        case 0:  // child process
                initShellProcess();
-               setenv("TERM", "linux", 1);
+               setenv("TERM", mTermIsLinux? "linux": "fbterm", 1);
 
                if (command) {
                        execvp(command[0], command);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fbterm-1.7/src/lib/shell.h 
new/fbterm-1.8/src/lib/shell.h
--- old/fbterm-1.7/src/lib/shell.h      2010-10-06 06:23:08.000000000 +0200
+++ new/fbterm-1.8/src/lib/shell.h      2015-02-21 13:27:24.000000000 +0100
@@ -57,6 +57,8 @@
        virtual void initShellProcess() {}
        virtual void readyRead(s8 *buf, u32 len);
 
+       bool mTermIsLinux;
+
 private:
        static void initWordChars(s8 *buf, u32 len);
        virtual void sendBack(const s8 *data);

++++++ fbterm-gcc6-fixes.patch ++++++
--- /var/tmp/diff_new_pack.YFHE1B/_old  2020-10-12 13:59:39.046224504 +0200
+++ /var/tmp/diff_new_pack.YFHE1B/_new  2020-10-12 13:59:39.050224506 +0200
@@ -1,10 +1,22 @@
+From 206df42bb9026a93fecf3ed515e90fe5b21533e7 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <ti...@suse.de>
+Date: Fri, 17 Jun 2016 12:24:38 +0200
+Subject: [PATCH 1/2] Fix -Wnarrowing compiler warnings/errors
+Upstream: https://github.com/sfzhi/fbterm/pull/1
+
+Fix the following compiler warnings new in gcc 6.x and onwards:
+
+vterm_states.cpp:136:1: error: narrowing conversion of "-1" from "int"
+to "u16" {aka "short unsigned int"} [-Wnarrowing]
 ---
- src/lib/vterm_states.cpp |   18 +++++++++---------
+ src/lib/vterm_states.cpp | 18 +++++++++---------
  1 file changed, 9 insertions(+), 9 deletions(-)
 
+diff --git a/src/lib/vterm_states.cpp b/src/lib/vterm_states.cpp
+index 49e7588..91413d0 100644
 --- a/src/lib/vterm_states.cpp
 +++ b/src/lib/vterm_states.cpp
-@@ -39,14 +39,14 @@ const VTerm::Sequence VTerm::control_seq
+@@ -39,14 +39,14 @@ const VTerm::Sequence VTerm::control_sequences[] = {
        { 0x1B, 0,      ESesc },
        { 0x7F, 0,      ESkeep },
        { 0x9B, 0,      ESsquare },
@@ -21,7 +33,7 @@
  
        // ESesc
        { '[', &VTerm::clear_param,     ESsquare },
-@@ -65,7 +65,7 @@ const VTerm::Sequence VTerm::escape_sequ
+@@ -65,7 +65,7 @@ const VTerm::Sequence VTerm::escape_sequences[] = {
        { '8', &VTerm::restore_cursor,  ESnormal },
        { '>', &VTerm::keypad_numeric,  ESnormal },
        { '=', &VTerm::keypad_application,      ESnormal },
@@ -30,7 +42,7 @@
  
        // ESsquare
        { '[', 0,       ESfunckey },
-@@ -104,7 +104,7 @@ const VTerm::Sequence VTerm::escape_sequ
+@@ -104,7 +104,7 @@ const VTerm::Sequence VTerm::escape_sequences[] = {
        { '`', &VTerm::cursor_position_col,     ESnormal },
        { ']', &VTerm::linux_specific, ESnormal },
        { '}', &VTerm::fbterm_specific, ESnormal },
@@ -39,7 +51,7 @@
  
        // ESnonstd
        { '0' | ADDSAME(9), &VTerm::set_palette,    ESkeep },
-@@ -112,25 +112,25 @@ const VTerm::Sequence VTerm::escape_sequ
+@@ -112,25 +112,25 @@ const VTerm::Sequence VTerm::escape_sequences[] = {
        { 'a' | ADDSAME(5), &VTerm::set_palette,    ESkeep },
        { 'P', &VTerm::begin_set_palette, ESkeep },
        { 'R', &VTerm::reset_palette, ESnormal },
@@ -70,3 +82,6 @@
 -      { -1 },
 +      { (u16)-1 },
  };
+-- 
+2.28.0
+


Reply via email to