status area scrolled out infinitely (tmux-backend with libvte + VTE_CJK_WIDTH=1)

Bug #952724 reported by Fumihito YOSHIDA on 2012-03-12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
byobu (Ubuntu)
Vibhav Pant

Bug Description

When environment varibable "VTE_CJK_WIDTH=1" is set, byobu-tmux is scroll-out infinitely.

How to reproduce:

 1) install precise.
 2) open gnome-terminal
 3) exec:
    $ export VTE_CJK_WIDTH=1; gnome-terminal --disable-factory

    Notes: if you exec gnome-terminal without disable-factory, gnome-terminal will take over the environment variable of parents' initial condition, so VTE_CJK_WIDTH will be ignored.

 3') another aproach:
   create /etc/profile.d/ file as follows, and session restart(log-out and log-in)
   $ cat /etc/profile.d/
    export VTE_CJK_WIDTH=1

 4) exec:
    byobu-tmux (or byobu)

 disable "logo" indicator from byobu-config.
  (if you want edit config directoly, edit you .byobu/status::tmux_left : "logo" -> "#logo" )

Root cause:
 byobu-tmux(byobu with tmux backends) use the Ubuntu Logo character from Ubuntu Fonts. Ubuntu Logo char hits "East Asian Ambiguous" problem, that have ambigous-wide, so that switch the wide of rendering at run-time.

When VTE_CJK_WIDTH=0 or not set, the Ubuntu Logo wide is 1, but,
when VTE_CJK_WIDTH=1, the Ubuntu Logo wide is 2. So that cause the scrolling problem.

  For historical reason, "VTE_CJK_WIDTH=1" is libvte's workaround of Unicode::"East Asian Ambiguous width" problem, when VTE_CJK_WIDTH=0, the ambigous wide char's wide is 1, therefor VTE_CJK_WIDTH=1 is set, the ambigous wide char's wide is 2.
  In CJK environment(ESP Japanese), that workaround is important for CLI/terminal sessions. If that is not set, the ambigous wide char render without correctness wide. So, I believe that many CLI/terminal users enable the VTE_CJK_WIDTH=1 in their /etc/profile.d/ at Japan.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: byobu 5.16-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-18.28-generic-pae 3.2.9
Uname: Linux 3.2.0-18-generic-pae i686
ApportVersion: 1.94.1-0ubuntu2
Architecture: i386
Date: Mon Mar 12 13:20:24 2012
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
PackageArchitecture: all

SourcePackage: byobu
UpgradeStatus: Upgraded to precise on 2012-03-12 (0 days ago)

Related branches

Fumihito YOSHIDA (hito) wrote :
summary: - status are scrolled out infinitely (tmux-backend with libvte +
+ status area scrolled out infinitely (tmux-backend with libvte +
Fumihito YOSHIDA (hito) wrote :

Oops, this report does not include fully cases. You can reproduce with "VTE_CJK_WIDTH=wide" too.

Changed in byobu (Ubuntu):
status: New → Confirmed
Dustin Kirkland  (kirkland) wrote :

Committed revision 1937.


Changed in byobu:
status: New → Fix Committed
Changed in byobu (Ubuntu):
status: Confirmed → Fix Committed
Changed in byobu:
importance: Undecided → Low
Changed in byobu (Ubuntu):
importance: Undecided → Low
Vibhav Pant (vibhavp) on 2012-03-31
Changed in byobu (Ubuntu):
status: Fix Committed → Confirmed
Vibhav Pant (vibhavp) wrote :

The Bug is still present in precise, reopening.

Vibhav Pant (vibhavp) wrote :

Attached debdiff, subscribing sponsors.

Vibhav Pant (vibhavp) on 2012-04-01
Changed in byobu (Ubuntu):
assignee: nobody → Vibhav Pant (vibhavp)
Changed in byobu (Ubuntu):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package byobu - 5.17-0ubuntu1

byobu (5.17-0ubuntu1) precise; urgency=low

  [ Dustin Kirkland ]
  * usr/bin/byobu-status:
    - performance improvement, testing for directory existence before
      mkdir -p saves time
    - localize a couple of function variables
  * usr/bin/byobu: LP: #966686
    - ensure that the MOTD gets printed on byobu-tmux first launches
  * usr/lib/byobu/include/constants: LP: #940224
    - revert r1927

  [ Fumihito YOSHIDA (hito) ]
  * usr/lib/byobu/logo: LP: #952724
    - handle VTE_CJK_WIDTH=1 for asian locales
 -- Dustin Kirkland <email address hidden> Sun, 11 Mar 2012 07:23:06 -0500

Changed in byobu (Ubuntu):
status: Fix Committed → Fix Released
Changed in byobu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers